Skip to main content

 Advanced

Advanced topics

Word DOCX - export config schema reference

Version: 0.8.28

This documentation is under development.

The Export Schema controls the configuration file for the companion process to the Word Import Schema.

Overview

The Microsoft Word Export Config (word-export-config.xml) together with the Word Export Template (word-export-template.dotx) make it possible to transform PSML documents into the DOCX file format for use with Microsoft Word, Google Docs, Adobe InDesign and other word processing and publishing tools.

Schema header

<xs:schema elementFormDefault="unqualified"
           version="0.8.27"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:xml="http://www.w3.org/XML/1998/namespace" />

<config>

The root element for the config instances.

version a value for checking the version of an instance against the version of a processor.

<xs:element  name="config">
    <xs:complexType>
        <xs:sequence>
            <xs:element ref="core"
                        minOccurs="0"
                        maxOccurs="1" />
            <xs:element ref="toc"
                        minOccurs="0"
                        maxOccurs="1" />
            <xs:element ref="default"
                        minOccurs="0"
                        maxOccurs="1" />
            <xs:element ref="elements"
                        minOccurs="0"
                        maxOccurs="unbounded" />
        </xs:sequence>
        <xs:attribute name="version"
                      type="xs:string" />
    </xs:complexType>
</xs:element>

<core>

Defines the properties of the exported DOCX file.

title is mapped to the title property in the Word document. In PSML, it is known as the Document title. This “title” is not to be confused with the first <heading level="1"> element in a PSML References document type. This element is typically mapped to the Title style in a Word template. Mapping this element to the title style stops it from being included in the DOCX Table of Contents.

keywords The PSML document labels.

created The current date.

modified The PSML document modified date.

select  use token [ps-document-title]

select use token [ps-document-labels]

select use token [ps-current-date]

select use token [ps-document-modified]

<xs:element  name="core">
  <xs:complexType>
    <xs:all>
      <xs:element ref="creator"     minOccurs="0" maxOccurs="1" />
      <xs:element ref="description" minOccurs="0" maxOccurs="1" />
      <xs:element ref="subject"     minOccurs="0" maxOccurs="1" />                                
      <xs:element ref="category"    minOccurs="0" maxOccurs="1" />
      <xs:element ref="version"     minOccurs="0" maxOccurs="1" />
      <xs:element ref="revision"    minOccurs="0" maxOccurs="1" />
      <xs:element name="title"      minOccurs="0" maxOccurs="1" />
      <xs:element name="keywords"   minOccurs="0" maxOccurs="1" />
      <xs:element name="created"    minOccurs="0" maxOccurs="1" />
      <xs:element name="modified"   minOccurs="0" maxOccurs="1" />
    </xs:all>
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <core>
      <title select="[ps-document-title]" />
    </core>
  </config>

See use of:

core-properties-partial 

See use of:

core-properties-tokens 

core-properties 

<creator>

is mapped to the Author property in Word. The full name of the current user.

select use token [ps-current-user]

<xs:element name="creator">
  <xs:complexType>                  
    <xs:attribute name="select" type="xs:string" />
  </xs:complexType>
</xs:element>

See use of:

core-properties-tokens 

core-properties 

<description>

is mapped to the Comment property in Word. The PSML document description.

select use token [ps-document-description]

<xs:element  name="description">
  <xs:complexType>                  
    <xs:attribute  name="select" type="xs:string" />
  </xs:complexType>
</xs:element>

See use of:

core-properties-tokens 

core-properties 

<subject>

is mapped to the Subject property in Word.

select [Insert description]

<xs:element   name="subject">
  <xs:complexType>                  
    <xs:attribute name="select" type="xs:string" />
  </xs:complexType>
</xs:element>

See use of:

core-properties-tokens 

core-properties 

<category>

is mapped to the Category property in Word.

select [Insert description]

<xs:element name="category">
  <xs:complexType>                  
    <xs:attribute name="select" type="xs:string" />
  </xs:complexType>
</xs:element>

See use of:

core-properties-tokens 

core-properties 

<version>

is mapped to the Version property which is not visible in Word unless the template has a custom property named Version. Requires pso-docx version 0.8.21 or higher.

select [Insert description]

<xs:element name="version">
  <xs:complexType>                  
    <xs:attribute name="select" type="xs:string" />
  </xs:complexType>
</xs:element>

See use of:

core-properties-tokens 

core-properties 

<revision>

is mapped to the Revision property which is not visible in Word.

select [Insert description]

<xs:element   name="revision">
  <xs:complexType>                  
    <xs:attribute name="select" type="xs:string" />
  </xs:complexType>
</xs:element>

See use of:

core-properties-tokens 

core-properties 

<toc>

This value is not transformed from PSML. Word generates the  Table of Contents (ToC) values after it has paginated the content. This element acts as a placeholder and configuration for the DOCX file. In pso-docx version 0.8.28 or higher <toc> can also appear under <elements> to output multiple ToCs.

generate true or false – whether to instruct Word to generate a Table of Contents.

style decrepcate as of pso-docx version 0.8.28 or higher.

<xs:element name="toc">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="headings" minOccurs="0" maxOccurs="unbounded" />
      <xs:element ref="outline" minOccurs="0" maxOccurs="unbounded" />
      <xs:element ref="paragraph" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="generate" type="xs:boolean" />
    <xs:attribute name="style" type="xs:string" />
  </xs:complexType>
</xs:element>

Example

<?xml  version="1.0"?>
  <config>
    <toc generate="false">
      <outline generate="true" select="1-9" />
    </toc>
  </config>

See use of:

toc-false 

toc-true 

<headings>

Instructs Word whether to create the ToC from heading styles. Headings 1-9 are the default Word values. Decrepcate as of pso-docx version 0.8.28 or higher, use <outline> instead.

generate true or false – whether Word headings are used to generate the ToC entries.

select use an integer range from 1 to 9.

<xs:element name="headings">
  <xs:complexType>
    <xs:attribute name="generate" type="xs:boolean" />
    <xs:attribute name="select">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="[0-9]-[0-9]" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <toc generate="true">
      <headings generate="true" select="1" />
    </toc>
  </config>

See use of:

toc-true-heading-true 

toc-true-heading-true-multiple 

toc-true-heading-paragraph-outline 

<?xml version="1.0"?>
  <config>
    <toc generate="true">
      <headings generate="false" />
    </toc>
  </config>

See use of:

toc-true-heading-false 

<keep-paragraph-with-next>

Used to keep particular content on the same line as the next content (also known as Style separator).

<xs:element name="keep-paragraph-with-next">
  <xs:complexType />
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <elements>
      <block>
        <label value="heading1" wordstyle="heading 1" />
        <label value="heading2" wordstyle="heading 2">
          <keep-paragraph-with-next />
        </label>
      </block>
      <heading>
        <level value="1" wordstyle="heading 1" />
        <level value="2" wordstyle="heading 2" />
        <level value="3" wordstyle="heading 3" />
        <level value="4" wordstyle="heading 4">
          <keep-paragraph-with-next />
        </level>
        <level value="5" wordstyle="heading 5">
          <keep-paragraph-with-next />
        </level>
        <level value="6" wordstyle="heading 6" />
            
        <level value="1"
               numbered="true"
               wordstyle="Heading Numbered 1"/>
        <level value="2"
               numbered="true"
               wordstyle="Heading Numbered 2" />
        <level value="3"
               numbered="true"
               wordstyle="Heading Numbered 3" />
        <level value="4"
               numbered="true"
               wordstyle="Heading Numbered 4">
          <keep-paragraph-with-next />
        </level>
        <level value="5"
               numbered="true"
               wordstyle="Heading Numbered 5">
          <keep-paragraph-with-next />
        </level>
        <level value="6"
               numbered="true"
               wordstyle="Heading Numbered 6" />
      </heading>
      <para>
        <indent level="1" wordstyle="heading 1" />
        <indent level="2" wordstyle="heading 2">
          <keep-paragraph-with-next />
        </indent>
      </para>  
    </elements>
  </config>


See use of:
headings-block-para-keep-with-next 

<outline>

Native Word Style outline levels, numbered 1 to 9, that are used to generate entries in a Word Table of Contents (ToC).

generate use a value of true or false to determine whether or not PSML objects are used to generate entries in a Word Table of Contents.

select use an integer from 1 to 9, including groupings separated by a pipe character (regular expression syntax eg “1|1-2|5-9|”).

<xs:element name="outline">
  <xs:complexType>
    <xs:attribute name="generate" type="xs:boolean" />
    <xs:attribute name="select">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="[0-9]" />
          <xs:pattern value="[0-9]-[0-9]" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <toc generate="true" style="TOC1">
      <outline generate="false" />
    </toc>
  </config>

See use of:

toc-true-outline-false 

<?xml version="1.0"?>
  <config>
    <toc generate="true" style="TOC1">
      <outline generate="true" select="1" />
    </toc>
  </config>

See use of:

toc-true-outline-true 

toc-true-outline-true-multiple 

toc-true-heading-paragraph-outline 

<paragraph>

Word paragraph styles which can be used to generate entries in a Table of Contents (ToC) 

generate use a value of true or false to determine whether or not the PSML objects are used to generate entries in a Table of Contents.

<xs:element name="paragraph">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="style" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="generate" type="xs:boolean" />
  </xs:complexType>
</xs:element>

<style>

Declares which Word paragraph styles are used to generate the Word Table of Contents (ToC)

value name of the Word style to be used in the ToC.

indent sets the level for the Word style in the ToC hierarchy.

<xs:element name="style">
  <xs:complexType>
    <xs:attribute name="value" type="xs:string" />
    <xs:attribute name="indent" type="xs:string" />
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>  
    <toc generate="false" style="TOC1">
    </toc>
  </config>

See use of:

toc-false 

<?xml version="1.0"?>
  <config>
    <toc generate="true" style="TOC1">
      <paragraph generate="false" />
    </toc>
  </config>

See use of:

toc-true-paragraph-false 

toc-true-paragraph-true 

toc-true-paragraph-true-multiple 

toc-true-heading-paragraph-outline 

<default>

Contains the settings for general transformations of PSML to DOCX.

<xs:element name="default">
  <xs:complexType>
    <xs:all>
      <xs:element ref="defaultparagraphstyle"
                  minOccurs="0"
                  maxOccurs="1" />
      <xs:element ref="defaultcharacterstyle"
                  minOccurs="0"
                  maxOccurs="1" />
      <xs:element ref="comments"  minOccurs="0" maxOccurs="1" />
      <xs:element ref="mathml"    minOccurs="0" maxOccurs="1" />
      <xs:element ref="citations" minOccurs="0" maxOccurs="1" />
      <xs:element ref="endnotes"  minOccurs="0" maxOccurs="1" />
      <xs:element ref="footnotes" minOccurs="0" maxOccurs="1" />
      <xs:element ref="xrefs"     minOccurs="0" maxOccurs="1" />
      <xs:element ref="placeholders"
                  minOccurs="0"
                  maxOccurs="1" />
      <xs:element ref="indexdoc"  minOccurs="0" maxOccurs="1" />
    </xs:all>
  </xs:complexType>
</xs:element>

<defaultparagraphstyle>

Defines a mapping for a paragraph style not mapped by <elements>.

wordstyle the Word style name that the PSML is being transformed to.

<xs:element name="defaultparagraphstyle">
  <xs:complexType>
    <xs:attribute name="wordstyle" type="xs:string" default="Body Text" />
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <default>
      <defaultparagraphstyle wordstyle="none" />
    </default>
  </config>

See use of:

defaultparagraphstyle-none 

<?xml version="1.0"?>
  <config>
    <default>
      <defaultparagraphstyle wordstyle="Balloon Text" />
    </default>
  </config>

See use of:

defaultparagraphstyle-set 

<defaultcharacterstyle>

Defines general rule for any character style not mapped by <elements>.

wordstyle the Word Character style name that the PSML is being transformed to.

<xs:element name="defaultcharacterstyle">
  <xs:complexType>
    <xs:attribute name="wordstyle"
                  type="xs:string"
                  default="Default Paragraph Font" />
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <default>
      <defaultcharacterstyle wordstyle="none" />
    </default>
  </config>

See use of:

defaultcharacterstyle-none 

<?xml version="1.0"?>
  <config>
    <default>
      <defaultcharacterstyle wordstyle="Body Text Char" />
    </default>
  </config>

See use of:

defaultcharacterstyle-set 

<comments>

Used to add a comment to each fragment with a link to add comments to PageSeeder by the users’ default email application. By default, this value is set to false.

generate use a value of true or false to determine whether or not the PSML objects are used to generate comments.

<xs:element name="comments">
  <xs:complexType>
    <xs:attribute name="generate" type="xs:boolean" />
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <default>
      <comments generate="false" />
    </default>
  </config>

See use of:

comments-false 

<?xml version="1.0"?>
  <config>
    <default>
      <comments generate="true" />
    </default>
  </config>

See use of:

comments-true 

<mathml>

Converts any Math ML object that is referenced by the exported psml document. These are converted back to Open Office math ml objects in Word. By default, this value is set to false.

generate use a value of true or false to determine whether or not the PSML objects are used to generate mathml.

<xs:element name="mathml">
  <xs:complexType>
    <xs:attribute name="generate" type="xs:boolean" />
  </xs:complexType>
</xs:element>

Example

<default>
  <defaultparagraphstyle wordstyle="ps-body-text" />
  <defaultcharacterstyle wordstyle="Default Paragraph Font" />
  <mathml generate="true" />
</default>

<citations>

Converts certain xrefs to DOCX citations. Requires additional post-processing and pso-docx version 0.7.4 or higher.

documenttype xrefs to properties fragments in a document with type @documenttype become DOCX citations and a DOCX bibliography is inserted after this document’s <section id="title"> content.

pageslabel If this inline label is directly after the xref, its content becomes the citation page or page range, for example:

<xref documenttype="bibliography" ... >...</xref>
  <inline label="pages">10 - 20</inline>
<xs:element name="citations">
  <xs:complexType>
    <xs:attribute name="documenttype" type="xs:string" />
    <xs:attribute name="pageslabel" type="xs:string" /> 
  </xs:complexType>
</xs:element>

Example

<default>
  <defaultparagraphstyle wordstyle="Body Text" />
  <defaultcharacterstyle wordstyle="Default Paragraph Font" />
  <citations documenttype="bibliography"
             pageslabel="pages" />
</default>

<endnotes>

Converts certain xrefs to DOCX endnotes. Requires pso-docx version 0.7.4 or higher.

documenttype xrefs to fragments under <section id="content"> in a document with this type become DOCX endnotes. This document must be embedded in the publication but are ignored.

<xs:element name="endnotes">
  <xs:complexType>
    <xs:attribute name="documenttype" type="xs:string" />
  </xs:complexType>
</xs:element>

Example

<default>
  <defaultparagraphstyle wordstyle="Body Text" />
  <defaultcharacterstyle wordstyle="Default Paragraph Font" />
  <endnotes documenttype="endnotes" />
</default>

<footnotes>

Converts certain xrefs to DOCX footnotes. Requires pso-docx version 0.7.4 or higher.

documenttype xrefs to fragments under <section id="content"> in a document with this type become DOCX footnotes. This document must be embedded in the publication but are ignored.

<xs:element name="footnotes">
   <xs:complexType>
     <xs:attribute name="documenttype" type="xs:string" />
   </xs:complexType>
 </xs:element>

Example

<default>
   <defaultparagraphstyle wordstyle="Body Text" />
   <defaultcharacterstyle wordstyle="Default Paragraph Font" />
   <footnotes documenttype="footnotes" />
</default>

<xrefs>

Use to process cross references.

type If type="cross-reference", the xrefs become DOCX REF instead of HYPERLINK. This allows the ‘Update field’ option in Word to be used so that the link text can be updated when pointing to numbered list items. As of version 0.7.0, xrefs with @display="template and @title containing {parentnumber} or {prefix} become DOCX REF even without setting @type.

hyperlinkstyle The word style for xrefs pointing outside the document (default PS Hyperlink) - version 0.7.0 and higher only.

referencestyle The word style for xrefs pointing within the document (default PS Reference) - version 0.7.0 and higher only.

<xs:element name="xrefs">
  <xs:complexType>     
    <xs:attribute name="type" type="xs:string" fixed="cross-reference" />
    <xs:attribute name="hyperlinkstyle" type="xs:string" />
    <xs:attribute name="referencestyle" type="xs:string" />
  </xs:complexType>
</xs:element>

Example

<default>
  <defaultparagraphstyle wordstyle="wd-body-text" />
  <defaultcharacterstyle wordstyle="Default Paragraph Font" />
  <xrefs type="cross-reference"
         hyperlinkstyle="My Hyperlink"
         referencestyle="My Reference" />
</default>

See use of:

xref-type-cross-reference 

<placeholders>

Defines the word styles for PSML <placeholder> elements. Requires pso-docx version 0.8.8 or higher.

resolvedstyle The Word style for resolved placeholders (default DefaultParagraphFont).

unresolvedstyle The Word style for unresolved placeholders - no corresponding metadata property (default DefaultParagraphFont).

<xs:element name="placeholders">
  <xs:complexType>
    <xs:attribute name="resolvedstyle" type="xs:string" />
    <xs:attribute name="unresolvedstyle" type="xs:string" />
  </xs:complexType>
</xs:element>

Example

<default>
   <placeholders resolvedstyle="My Placeholder"
                 unresolvedstyle="My Unresolved" />
</default>

<indexdoc>

Defines an index document where a DOCX index is inserted after the document’s <section id="title"> content. Requires pso-docx version 0.8.8 or higher.

documentlabel The label that identifies the index document.

columns The number of columns in the index - from 1 to 4 (default 2).

<xs:element name="indexdoc">
  <xs:complexType>
    <xs:attribute name="documentlabel" type="xs:string" />
    <xs:attribute name="columns">
      <xs:simpleType>
        <xs:restriction base="xs:integer">
          <xs:minInclusive value="1"/>
          <xs:maxInclusive value="4"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<default>
   <indexdoc documentlabel="myindex" columns="1" />
</default>

<elements>

Groups the options available to PSML elements when transforming from PSML to DOCX. They can be transformed specifically for a document with a certain  label by setting the @label attribute inside a separate <elements> element.

label use to differently transform a document that has a specific label.

blocklabel use to differently transform the elements under a specific block label. Requires pso-docx version 0.8.20 or higher.

fragmentlabel use to differently transform the elements under a fragment that has this label. Requires pso-docx version 0.8.27 or higher.

  • The only options supported under <elements> that have @blocklabel or @fragmentlabel are <heading>, <para>, <list> and <nlist>.
  • Having both @blocklabel and @fragmentlabel on the same <elements> is not supported.
  • The elements/@blocklabel options will override elements/@fragmentlabel options.
<xs:element name="elements">
  <xs:complexType>
    <xs:all>
      <xs:element ref="document"     minOccurs="0" maxOccurs="1" />
      <xs:element ref="block"     minOccurs="0" maxOccurs="1" />
      <xs:element ref="inline"    minOccurs="0" maxOccurs="1" />
      <xs:element ref="tables"    minOccurs="0" maxOccurs="1" />
      <xs:element ref="preformat" minOccurs="0" maxOccurs="1" />
      <xs:element ref="properties-fragment" minOccurs="0" maxOccurs="1" />
      <xs:element ref="heading"   minOccurs="0" maxOccurs="1" />
      <xs:element ref="para"      minOccurs="0" maxOccurs="1" />
      <xs:element ref="title"     minOccurs="0" maxOccurs="1" />
      <xs:element ref="nlist"     minOccurs="0" maxOccurs="1" />
      <xs:element ref="list"      minOccurs="0" maxOccurs="1" />
      <xs:element ref="listpara"  minOccurs="0" maxOccurs="1" />
      <xs:element ref="xref"      minOccurs="0" maxOccurs="1" />
    </xs:all>
    <xs:attribute name="label"         type="xs:string" />
    <xs:attribute name="blocklabel"    type="xs:string" />
    <xs:attribute name="fragmentlabel" type="xs:string" />
  </xs:complexType>
</xs:element>

Example

<elements blocklabel="info" label="front">

<document>

Defines which section in the word template each PSML document will use. When no word section number is defined the first section in the template is used by default. Requires pso-docx version 0.8.23 or higher.

wordsection a number referring to a section in the word-export-template.docx where 1=first section, 2=second section and so on.

<xs:element name="document">
  <xs:complexType>
    <xs:attribute name="wordsection" type="xs:integer"/>
  </xs:complexType>
</xs:element>

Example

<config>
  <elements>
    <document wordsection="3" />
  </elements>
  <elements label="appendix">
    <document wordsection="1" />
  </elements>
  <elements label="landscape">
    <document wordsection="2" />
  </elements>
</config>

<block>

Container for transformations of specified blocks of content into a wanted Word style.

default  Use generate-ps-style to generate Word Paragraph Styles named ps_blk_[name-of-label].  If a specific Word Style name is specified then that will be used.

<xs:element name="block">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="label"   minOccurs="0" maxOccurs="unbounded" />
      <xs:element ref="ignore"  minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="default"
                  type="xs:string"
                  default="generate-ps-style" />
  </xs:complexType>
</xs:element>

Example

<image>

Transforms the image into the specified Word style. Requires pso-docx version 0.8.19 or higher.

wordstyle use the Word style name that you want to export to. Since images are inline objects in PageSeeder it must correspond to a character style in DOCX (not a paragraph style).

maxwidth the width in pixels that a larger image will be re-sized to (default 620). Requires pso-docx version 0.8.20 or higher.

widelabel defines an image label that allows an image to ignore the max width (can be used for A3 size images for example). Requires pso-docx version 0.8.20 or higher.

<xs:element name="image">
  <xs:complexType>
    <xs:attribute name="wordstyle" type="xs:string" />
    <xs:attribute name="maxwidth"  type="xs:integer" />
    <xs:attribute name="widelabel" type="xs:string" />
   </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <elements>
      <image wordstyle="Image" maxwidth="400" widelabel="big" />
    </elements>
  </config>

<inline>

Container for transformations of specified content into a wanted Word style.

default generate-ps-style generates a Word character Style named ps_inl_[name-of-label]. If a specific Word Style name is specified then that will be used.

<xs:element name="inline">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="label"     minOccurs="0" maxOccurs="unbounded" />
      <xs:element ref="ignore"    minOccurs="0" maxOccurs="unbounded" />
      <xs:element ref="tab"       minOccurs="0" maxOccurs="unbounded" />
      <xs:element ref="fieldcode" minOccurs="0" maxOccurs="unbounded" />
      <xs:element ref="index"     minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="default"
                  type="xs:string"
                  default="generate-ps-style" />
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <elements>
      <inline default="generate-ps-style"/>
    </elements>
  </config>

See use of:

inline-default-psstyle 

<?xml version="1.0"?>
  <config>
    <elements>
      <inline default="TitleChar"/>
    </elements>
  </config>

See use of:

inline-default-style 

See use of:
inline-default-none 

<ignore>

Means the content with the specified label is not transformed on export.

label Insert the name of the label that is to be ignored.

<xs:element name="ignore">
  <xs:complexType>
    <xs:attribute name="label" type="xs:string" />
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <elements>
      <inline default="generate-ps-style">
        <label wordstyle="annotation reference"
               value="Test3" />
        <ignore label="Test2" />
      </inline>
    </elements>
  </config>

See use of:

inline-default-psstyle-with-inline-generation-ignore 

<?xml version="1.0"?>
  <config>
    <elements>
      <inline default="Title Char">
        <label wordstyle="annotation reference"
               value="Test3" />
        <ignore label="Test2" />
      </inline>
    </elements>
  </config>

See use of:

inline-default-style-with-inline-generation-ignore 

inline-default-none-with-inline-generation-ignore 

<preformat>

Transforms the contained PSML content into the specified Word style.

wordstyle use the Word style name that you want to export to.

<xs:element name="preformat">
  <xs:complexType>
    <xs:attribute name="wordstyle" type="xs:string" />
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <elements>
      <preformat wordstyle="heading 4"/>
    </elements>
  </config>

See use of:

preformat-set 

<label>

Transforms the specified name contents into the declared Word style.

value Use a label name. Label characters are restricted to [a-zA-Z0-9_\-]

wordstyle Use a Word style name that exists in the Word export template.

<xs:element name="label">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="keep-paragraph-with-next"
                  minOccurs="0"
                  maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="value"
                  type="xs:string" />
    <xs:attribute name="wordstyle"
                  type="xs:string"
                  default="generate-ps-style" />
  </xs:complexType>
</xs:element>

 

See use of labels within a <block> element:

See use of:

block-default-psstyle 

block-default-psstyle-with-block-generation 

block-default-psstyle-with-block-generation-ignore 

See use of:

block-default-style 

block-default-style-with-block-generation 

block-default-style-with-block-psstyle 

block-default-style-with-block-generation-ignore 

See use of:

block-default-none-with-block-psstyle 

block-default-none-with-block-generation 

block-default-none-with-block-generation-ignore 

block-whitespace 

See use of :

custom-template-headings 

See use of labels within an <inline> element:

See use of:

inline-default-psstyle 

inline-default-psstyle-with-inline-generation-ignore 

inline-default-psstyle-with-inline-generation 

inline-default-psstyle-with-inline-generation-tab 

inline-default-psstyle-with-fieldcode 

See use of:

inline-default-style 

inline-default-style-with-inline-generation-ignore 

inline-default-style-with-inline-generation 

inline-default-psstyle-with-inline-generation-tab 

inline-default-style-with-inline-psstyle 

inline-default-style-with-fieldcode 

See use of:
inline-default-none 

inline-default-none-with-inline-generation-ignore 

inline-default-none-with-inline-generation 

inline-default-none-with-inline-generation-tab 

inline-default-none-with-inline-psstyle 

inline-default-none-with-fieldcode 

<tab>

The contents of the specified inline @label name is transformed to a Word tab on output.

label [Insert description]

<xs:element name="tab">
  <xs:complexType>
    <xs:attribute name="label" type="xs:string" />
  </xs:complexType>
</xs:element>

<fieldcode>

Transforms the contents of an inline @label name into a Word fieldcode on output.

If a <heading> or <para> is numbered, or has a prefix, the number/prefix can be transformed into a fieldcode in the output.

Used in <inline>:

label Use an inline label name.

value The field code value, for example: “LISTNUM LegalDefault \\l 1 \\s 2 ”.

Used in <heading> or <para>:

regexp Regular expression to identify the number in the prefix.

type Type of field code (e.g. SEQ).

<xs:element name="fieldcode">
  <xs:complexType>
    <xs:attribute  name="label"  type="xs:string" />
    <xs:attribute  name="value"  type="xs:string" />
    <xs:attribute  name="regexp" type="xs:string" default="%arabic%" />
    <xs:attribute  name="type"   type="xs:string" default="SEQ" />
  </xs:complexType>
</xs:element>

<index>

Transforms the contents of an inline @label name into a Word index entry on output. A : in the content indicates a sub-entry, for example <inline label="ind">speed</inline> or <inline label="ind">speed:fast</inline>. Requires pso-docx version 0.8.8 or higher.

label The inline label name.

<xs:element name="index">
  <xs:complexType>
    <xs:attribute name="label" type="xs:string" />
  </xs:complexType>
</xs:element>

Example

<default>
   <index label="myindex" />
</default>

<properties-fragments>

Used to define table styles for PageSeeder properties fragments. Requires pso-docx version 0.8.21 or higher.

<xs:element name="properties-fragments">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="properties-fragment" minOccurs="0" maxOccurs="unbounded" />
      <xs:element ref="ignore" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
</xs:element>

Using  <ignore> requires pso-docx version 1.1.0 or higher.

<properties-fragment>

Defines formatting for a PSML properties fragment.

type apply this formatting to a particular PSML fragment type.

tablestyle use a particular Word table style name.

titlestyle use a particular Word paragraph style name for property titles.

valuestyle use a particular Word paragraph style name for property values.

<xs:element name="properties-fragment">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="width" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute  name="type"        type="xs:string" /> 
    <xs:attribute  name="tablestyle"  type="xs:string" />
    <xs:attribute  name="titlestyle"  type="xs:string" />
    <xs:attribute  name="valuestyle"  type="xs:string" />
  </xs:complexType>
</xs:element>

Example

<properties-fragments>
  <properties-fragment tablestyle="Table Grid"
                       titlestyle="PS Table Header"
                       valuestyle="PS Table Body" >
    <width type="pct" value="100%"/>
  </properties-fragment>
  <properties-fragment type="detail"
                       tablestyle="My Table"
                       titlestyle="My Table Header"
                       valuestyle="My Table Body"/>
  <properties-fragment type="citation"
                       tablestyle="Table Grid 2" >
    <width type="dxa" value="5000"/>
  </properties-fragment>
</properties-fragments>

<tables>

Used to define table styles for each PageSeeder table.

table  col  row  hcell  cell 
<xs:element name="tables">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="table" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="col" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="row" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="hcell" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="cell" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Using  <col>, <row>, <hcell> or <cell> requires pso-docx version 0.8.21 or higher.

<table>

Defines formatting for a PSML table.

default use a table style name to default to when not otherwise specified.

role apply this formatting to a PSML table that has a particular role.

tablestyle use a particular Word table style name.

headstyle use a particular Word style name.

bodystyle use a particular Word style name.

@layout allowed values are fixed if the column widths are fixed or autofit if they adjust to the content (default autofit). Requires pso-docx version 0.8.21 or higher.

The @headstyle and @bodystyle can be overridden by wrapping content in a block label.

<xs:element name="table">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="width" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute  name="default"    type="xs:string" />
    <xs:attribute  name="role"       type="xs:string" /> 
    <xs:attribute  name="tablestyle" type="xs:string" />
    <xs:attribute  name="headstyle"  type="xs:string" />
    <xs:attribute  name="bodystyle"  type="xs:string" />
    <xs:attribute name="layout">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="fixed|autofit"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
<config>
  <elements>
    <tables>
      <table default="PS Table"
             headstyle="PS Table Header"
             bodystyle="PS Table Body" >
        <width type="pct" value="100%"/>
      </table>
      <table role="mytable"
             tablestyle="Table Grid"
             headstyle="My Table Header"
             bodystyle="My Table Body"/>
      <table role="mytable2"
             tablestyle="Table Grid 2"
             layout="fixed">
        <width type="dxa" value="5000"/>
      </table>
    </tables>
  </elements>
</config>

See use of:

tables-default-set-with-role 

See use of:

tables-default-empty 

tables-default-empty-with-role 

tables-default-empty-with-role-multiple 

See use of:

tables-default-set 

tables-default-set-with-role-multiple 

table-cell-whitespace 

<col>

Defines table column properties. Requires pso-docx version 0.8.21 or higher.

role apply this formatting to a particular PSML column role. If no @role this is the default formatting.

<xs:element name="col">
  <xs:complexType>
    <xs:all>
      <xs:element ref="shading" minOccurs="0" />
      <xs:element ref="borders" minOccurs="0" />
    </xs:all>
    <xs:attribute name="role" type="xs:string"/>
  </xs:complexType>
</xs:element>

Example

<tables>
  <col role="mycol1">
    <shading fill="00FF00" />
  </col>
  <col role="mycol2">
    <borders>
      <top type="single" color="000000" size="48" />
      <bottom type="double" color="FF0000" size="32" />
      <start type="dashed" color="00FF00" size="16" />
      <end type="wave" color="0000FF" size="2" />
    </borders>
  </col> 
</tables>

<row>

Defines table row properties. Requires pso-docx version 0.8.21 or higher.

role apply this formatting to a particular PSML row role. If no @role this is the default formatting.

cantsplit if true the row can't be split across a page break (default false).

align horizontal alignment with allowed values center, start or end.

<xs:element name="row">
  <xs:complexType>
    <xs:all>
      <xs:element ref="height" minOccurs="0" />
      <xs:element ref="shading" minOccurs="0" />
      <xs:element ref="borders" minOccurs="0" />
    </xs:all>
    <xs:attribute name="role" type="xs:string"/>
    <xs:attribute name="cantsplit" type="xs:boolean"/>
    <xs:attribute name="align">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="center|start|end"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<tables>
  <row align="start" />
  <row role="myrow1" align="center" cantsplit="true">
    <shading fill="FF0000" />
    <borders>
      <top type="single" color="000000" size="60" />
    </borders>
    <height type="atleast" value="1000"/>
  </row>
</tables>

<hcell>

Defines table header cell properties. Requires pso-docx version 0.8.21 or higher.

role apply this formatting to a particular PSML header cell role. If no @role this is the default formatting.

valign vertical alignment with allowed values center, top or bottom.

<xs:element name="hcell">
   <xs:complexType>
     <xs:all>
       <xs:element ref="width" minOccurs="0" />
       <xs:element ref="shading" minOccurs="0" />
       <xs:element ref="borders" minOccurs="0" />
     </xs:all>
     <xs:attribute name="role" type="xs:string"/>
     <xs:attribute name="valign">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="bottom|center|top"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<tables>
  <hcell role="myheader1" valign="top" />
  <hcell role="myheader2" valign="bottom">
    <shading fill="0000FF" />
    <borders>
      <top type="double" color="000000" size="48" />
    </borders>
    <width type="pct" value="20%"/>
  </hcell>
</tables>

<cell>

Defines table cell properties. Requires pso-docx version 0.8.21 or higher.

role apply this formatting to a particular PSML cell role. If no @role this is the default formatting.

valign vertical alignment with allowed values center, top or bottom.

<xs:element name="cell">
   <xs:complexType>
     <xs:all>
       <xs:element ref="width" minOccurs="0" />
       <xs:element ref="shading" minOccurs="0" />
       <xs:element ref="borders" minOccurs="0" />
     </xs:all>
     <xs:attribute name="role" type="xs:string"/>
     <xs:attribute name="valign">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="bottom|center|top"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<tables>
  <hcell role="mycell1" valign="top" />
  <hcell role="mycell2" valign="bottom">
    <shading fill="1152CC" />
    <borders>
      <bottom type="single" color="123456" size="32" />
    </borders>
    <width type="dbx" value="500"/>
  </hcell> 
</tables>
<width>

Defines a width.

type use pct (percent) or autodxa (twentieth-of-point) or auto (default).

value Insert an integer with % suffix if pct. In Word, 100% is 5000 and 1 dxa is 15 twentieths-of-point.

<xs:element name="width">
  <xs:complexType>
    <xs:attribute name="type"  type="xs:string"  default="pct" />
    <xs:attribute name="value" type="xs:string"  default="5000" />
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <elements>
      <tables>
        <table default="Table Grid">
          <width type="pct" value="100%" />
        </table>
      </tables>
    </elements>
  </config>

See use of:

tables-default-with-width-auto 

tables-default-with-width-dxa 

tables-default-with-width-pct 

See use of:

tables-role-with-width-auto 

tables-role-with-width-dxa 

tables-role-with-width-pct 

See use of:

custom-template-tables 

<height>

Defines a height. Requires pso-docx version 0.8.21 or higher. 

type allowed values are atleast (height must be at least this value) or fixed (height is fixed).

value The height, in twentieths of a point (dxa).



<xs:element name="height">
  <xs:complexType>
    <xs:attribute name="type" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="atleast|exact"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="value" type="xs:integer" use="required" />
  </xs:complexType>
</xs:element>
<shading>

Defines table cell shading. Requires pso-docx version 0.8.21 or higher. 

fill the background fill color as 6 hexadecimal digits or auto, for example aabb99.

<xs:element name="shading">
  <xs:complexType>
    <xs:attribute name="fill">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="[A-Fa-f0-9]{6}|auto"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

<borders>

Defines table cell borders. Requires pso-docx version 0.8.21 or higher.

<xs:element name="borders">
  <xs:complexType>
    <xs:all>
      <xs:element name="top"    type="border" minOccurs="0" />
      <xs:element name="bottom" type="border" minOccurs="0" />
      <xs:element name="start"  type="border" minOccurs="0" />
      <xs:element name="end"    type="border" minOccurs="0" />
    </xs:all>
   </xs:complexType>
</xs:element>

<top> <bottom> <start> <end>

These elements define table cell border formatting. Requires pso-docx version 0.8.21 or higher.

type allowed values are single, dashDotStroked, dashed, dashSmallGap, dotDash, dotDotDash, dotted, double, doubleWave, inset, none, outset, thick, thickThinLargeGap, thickThinMediumGap, thickThinSmallGap, thinThickLargeGap, thinThickMediumGap, thinThickSmallGap, thinThickThinLargeGap, thinThickThinMediumGap, thinThickThinSmallGap, threeDEmboss, threeDEngrave, triple or wave (required).

color The border color as 6 hexadecimal digits or auto, for example aabb99.

size The border width in eighths of a point (minimum 2, maximum 96).



<xs:complexType name="border">
  <xs:attribute name="type" use="required">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:enumeration value="single" />
        <xs:enumeration value="dashDotStroked" />
        <xs:enumeration value="dashed" />
        <xs:enumeration value="dashSmallGap" />
        <xs:enumeration value="dotDash" />
        <xs:enumeration value="dotDotDash" />
        <xs:enumeration value="dotted" />
        <xs:enumeration value="double" />
        <xs:enumeration value="doubleWave" />
        <xs:enumeration value="inset" />
        <xs:enumeration value="none" />
        <xs:enumeration value="outset" />
        <xs:enumeration value="thick" />
        <xs:enumeration value="thickThinLargeGap" />
        <xs:enumeration value="thickThinMediumGap" />
        <xs:enumeration value="thickThinSmallGap" />
        <xs:enumeration value="thinThickLargeGap" />
        <xs:enumeration value="thinThickMediumGap" />
        <xs:enumeration value="thinThickSmallGap" />
        <xs:enumeration value="thinThickThinLargeGap" />
        <xs:enumeration value="thinThickThinMediumGap" />
        <xs:enumeration value="thinThickThinSmallGap" />
        <xs:enumeration value="threeDEmboss" />
        <xs:enumeration value="threeDEngrave" />
        <xs:enumeration value="triple" />
        <xs:enumeration value="wave" />
      </xs:restriction>
    </xs:simpleType>
  </xs:attribute>
  <xs:attribute name="color">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:pattern value="[A-Fa-f0-9]{6}|auto"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:attribute>
  <xs:attribute name="size">
    <xs:simpleType>
      <xs:restriction base="xs:integer">
        <xs:minInclusive value="2"/>
        <xs:maxInclusive value="96"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:attribute>
</xs:complexType>

<heading>

Maps each level of heading in PageSeeder to each heading style in Word. By default , each level is mapped to the corresponding heading in Word (so level 1 to heading 1, level 2 to heading 2, etc.). Each PSML heading level can also be transformed into a unique style in the DOCX file.

<xs:element name="heading">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="level" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
</xs:element>

<level>

Controls the processing of each level of content.

value use an integer from 1 up to 9.

wordstyle use a Word style name.

numbered use a value of true or false to specify whether the PSML heading is numbered or not.

prefixed use a value of true or false to specify whether the PSML heading has a prefix or not.

<xs:element  name="level">
  <xs:complexType>
    <xs:all>
      <xs:element ref="prefix"    minOccurs="0"  maxOccurs="1" />
      <xs:element ref="numbered"  minOccurs="0"  maxOccurs="1" />
      <xs:element ref="keep-paragraph-with-next"
                  minOccurs="0"
                  maxOccurs="1" />
    </xs:all>
    <xs:attribute name="value">
      <xs:simpleType>
        <xs:restriction base="xs:integer">
          <xs:minInclusive value="1" />
          <xs:maxInclusive value="9" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="wordstyle" type="xs:string" />
    <xs:attribute name="numbered" type="xs:boolean" />
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <elements>
      <heading>
        <level value="1" wordstyle="heading 1" />
        <level value="2" wordstyle="heading 2" />
        <level value="3" wordstyle="heading 3" />
        <level value="4" wordstyle="heading 4" />
        <level value="5" wordstyle="heading 5" />
        <level value="6" wordstyle="heading 6" />
       
        <level value="1"
               numbered="true"
               wordstyle="Heading Numbered 1" />
        <level value="2"
               numbered="true"
               wordstyle="Heading Numbered 2" />
        <level value="3"
               numbered="true"
               wordstyle="Heading Numbered 3" />
        <level value="4"
               numbered="true"
               wordstyle="Heading Numbered 4" />
        <level value="5"
               numbered="true"
               wordstyle="Heading Numbered 5" />
        <level value="6"
               numbered="true"
               wordstyle="Heading Numbered 6" />
      </heading>
      <block>
        <label value="heading1"
               wordstyle="My" />
        <label value="heading2"
               wordstyle="My&quot;Headingx 2" />
        <label value="heading3"
               wordstyle="My(Headingx 3" />
      </block>
    </elements>
  </config>


See use of @value, @numbered and @wordstyle within <level>:

custom-template-headings 

<prefix>

[Insert description]

select use a value of true or false to determine whether the content of the PSML @prefix  attribute is output or not. This would only be done in the context of a Word style that is sympathetic to a prefix being put in front.

separator use tab or space or none to define the character between the prefix and the text that follows it (tab is the default).

<xs:element  name="prefix">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="fieldcode" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="select" type="xs:boolean" />
    <xs:attribute name="separator">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="tab" />
          <xs:enumeration value="space" />
          <xs:enumeration value="none" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <elements>
      <heading>
        <level value="1" wordstyle="heading 1"/>
        <level value="2" wordstyle="heading 2">
          <prefix select="true" separator="space"/>
        </level>
        <level value="3" wordstyle="heading 3">
          <prefix select="false"/>
        </level>
        <level value="4" wordstyle="heading 4">
          <prefix select="true" separator="none"/>
        </level>
        <level value="5" wordstyle="heading 5">
          <prefix select="false"/>
        </level>
        <level value="6" wordstyle="heading 6">
          <prefix select="true"/>
        </level>

        <level value="1" numbered="true" wordstyle="Heading Numbered 1"/>
        <level value="2" numbered="true" wordstyle="Heading Numbered 2"/>
        <level value="3" numbered="true" wordstyle="Heading Numbered 3"/>
        <level value="4" numbered="true" wordstyle="Heading Numbered 4"/>
        <level value="5" numbered="true" wordstyle="Heading Numbered 5"/>
        <level value="6" numbered="true" wordstyle="Heading Numbered 6"/>
      </heading>
    </elements>
  </config>

See use of:

headings-style-set 

<numbered>

[Insert description]

select use a value of true or false to determine whether the content of the PSML @numbering attribute is output or not. This would only be done in the context of a Word style that is sympathetic to a number being put in front.

<xs:element name="numbered">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="fieldcode" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="select" type="xs:boolean" />
  </xs:complexType>
</xs:element>

Example

See use of:

<para>

Used to define the style for each indent level of a paragraph in PageSeeder. 

indent 

<xs:element name="para">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="indent" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
</xs:element>

<indent>

[Insert description]

level use an integer from 1 to 9.

wordstyle use a Word style name.

numbered use a value of true or false to specify whether the PSML para is numbered or not.

prefixed use a value of true or false to specify whether the PSML para has a prefix or not.

<xs:element name="indent">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="prefix" minOccurs="0" maxOccurs="unbounded" /> 
      <xs:element ref="numbered" minOccurs="0" maxOccurs="unbounded" />
      <xs:element ref="keep-paragraph-with-next"
                  minOccurs="0"
                  maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="level">
      <xs:simpleType>
        <xs:restriction base="xs:integer">
          <xs:minInclusive value="0" />
          <xs:maxInclusive value="9" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="wordstyle" type="xs:string" default="Body Text" />
    <xs:attribute name="numbered" type="xs:boolean" />
    <xs:attribute name="prefixed" type="xs:boolean" />
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <elements>
      <para>
        <indent level="0" wordstyle="Body Text" />
        <indent level="1" wordstyle="List Continue" />
        <indent level="2" wordstyle="List Continue 2" />
        <indent level="3" wordstyle="List Continue 3" />
        <indent level="4" wordstyle="List Continue 4" />
        <indent level="5" wordstyle="List Continue 5" />
        <indent level="6" wordstyle="List Continue 6" />
        <indent level="7" wordstyle="List Continue 7" />
        <indent level="8" wordstyle="List Continue 8" />
        <indent level="9" wordstyle="List Continue 9" />

        <indent level="1" prefixed="true" wordstyle="List Manual" />
        <indent level="2" prefixed="true" wordstyle="List Manual 2">
          <prefix select="true" separator="none" />
        </indent>
        <indent level="3" prefixed="true" wordstyle="List Manual 3">
          <prefix select="false" />
        </indent>
        <indent level="4" prefixed="true" wordstyle="List Manual 4">
          <prefix select="true" separator="space" />
        </indent>
        <indent level="5" prefixed="true" wordstyle="List Manual 5">
          <prefix select="true" />
        </indent>
        <indent level="6" prefixed="true" wordstyle="List Manual 6" />
        <indent level="7" prefixed="true" wordstyle="List Manual 7" />
        <indent level="8" prefixed="true" wordstyle="List Manual 8" />
        <indent level="9" prefixed="true" wordstyle="List Manual 9" />

        <indent level="1" numbered="true" wordstyle="List Number" />
        <indent level="2" numbered="true" wordstyle="List Number 2" />
        <indent level="3" numbered="true" wordstyle="List Number 3" />
        <indent level="4" numbered="true" wordstyle="List Number 4" />
        <indent level="5" numbered="true" wordstyle="List Number 5" />
        <indent level="6" numbered="true" wordstyle="List Number 6" />
        <indent level="7" numbered="true" wordstyle="List Number 7" />
        <indent level="8" numbered="true" wordstyle="List Number 8" />
        <indent level="9" numbered="true" wordstyle="List Number 9" />
      </para>
    </elements>
  </config>

See use of:

paragraph-indent-style-set 

<title>

Used to define the Paragraph Style of each section title.

By default title is set to heading 1. It can be transformed into any value that exists in the word export template.

wordstyle use a Word style name.

<xs:element name="title">
  <xs:complexType>      
    <xs:attribute name="wordstyle" type="xs:string" />
  </xs:complexType>
</xs:element>

Example

<nlist>

Contains the list definitions for numbered lists inside of Word.

liststyle use a specific Word list style name.

<xs:element  name="nlist">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="role" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="liststyle" type="xs:string" />
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <elements>
      <nlist liststyle="Numbered List" />
      <list liststyle="Bulleted List" />
    </elements>
  </config>

See use of:

list-default-with-type-set 

<list>

Contains the list definitions for unnumbered lists inside of Word.

liststyle use a specific Word list style name.

<xs:element name="list">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="role" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="liststyle" type="xs:string" />
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <elements>
      <nlist liststyle="Numbered List" />
      <list liststyle="Bulleted List" />
    </elements>
  </config>

See use of:

list-default-with-type-set 

<role>

Differentiates list formats.

value use the needed value from the PSML that you want to map to a particular @liststyle.

liststyle use a specific Word list style name.

<xs:element name="role">
  <xs:complexType>
    <xs:attribute name="value" type="xs:string" />
    <xs:attribute name="liststyle" type="xs:string" />
  </xs:complexType>
</xs:element>

Example

<?xml version="1.0"?>
  <config>
    <elements>
      <nlist liststyle="Numbered List">
        <role  value="bulletlist"  liststyle="Bulleted List" />
      </nlist>
      <list liststyle="Bulleted List">
        <role  value="numberlist"  liststyle="Numbered List" />
      </list>
    </elements>
  </config>

See use of:

list-default-with-role-set 

See use of:

custom-template-lists-with-role 

<listpara>

Contains style for a <para> inside a <list> or <nlist> that is not the first <para>. The @value corresponds to the nesting level of the <list> or <nlist>. Requires pso-docx version 0.7.5 or higher.

<xs:element name="listpara">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="level"  minOccurs="0"  maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
</xs:element>

Example

<listpara>
  <level  value="1"  wordstyle="List Continue" />
  <level  value="2"  wordstyle="List Continue 2" />
  <level  value="3"  wordstyle="List Continue 3" />
  <level  value="4"  wordstyle="List Continue 4" />
  <level  value="5"  wordstyle="List Continue 5" />
  <level  value="6"  wordstyle="List Continue 6" />
</listpara>

 

<xref>

Contains styles for specific types of cross-references. Requires pso-docx version 0.7.4 or higher.

<?xml version="1.0"?>
  <xs:element name="xref">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="footnote" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="endnote" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="citation" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="citation" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

Example

<xref>
  <citation referencestyle="My Citation Reference" />
  <endnote textstyle="My Endnote Text" 
           referencestyle="My Endnote Reference" />
  <footnote textstyle="My Footnote Text"
            referencestyle="My Footnote Reference" />
  <xrefconfig name="field"
              hyperlinkstyle="My Field Link"
              referencestyle="My Field Reference" />
  <xrefconfig name="term" 
              hyperlinkstyle="My Term Link" />
</xref>

<citation>

Contains styles for citations. Requires pso-docx version 0.7.4 or higher.

referencestyle the word style for a citation reference, the bibliography text style is always Bibliography (default is the default character style - see <default> above).

<xs:element name="citation">
   <xs:complexType>
     <xs:attribute name="referencestyle" type="xs:string"/>
     </xs:complexType>
   </xs:element> 

<endnote>

Contains styles for endnotes. Requires pso-docx version 0.7.4 or higher.

textstyle the word style for endnote text (default is Endnote Text).

referencestyle the word style for an endnote reference (default is Endnote Reference).

<xs:element name="endnote">
  <xs:complexType>
    <xs:attribute name="textstyle" type="xs:string" />
    <xs:attribute name="referencestyle" type="xs:string" />
  </xs:complexType>
</xs:element> 

<footnote>

Contains styles for footnotes. Requires pso-docx version 0.7.4 or higher.

textstyle the word style for footnote text (default is Footnote Text).

referencestyle the word style for a footnote reference (default is Footnote Reference).

<xs:element name="footnote">
   <xs:complexType>
     <xs:attribute name="textstyle" type="xs:string" />
     <xs:attribute name="referencestyle" type="xs:string" />
   </xs:complexType>
 </xs:element> 

<xrefconfig>

Contains styles for xrefs with different configs. Requires pso-docx version 0.7.6 or higher.

name the @config attribute on the xref.

hyperlinkstyle the word style for external links (default is from <xrefs> element above).

referencestyle the word style for internal links (default is from <xrefs> element above).

<xs:element name="xrefconfig">
   <xs:complexType>
     <xs:attribute name="name" type="xs:string" /> 
     <xs:attribute name="hyperlinkstyle" type="xs:string" />
     <xs:attribute name="referencestyle" type="xs:string" />
   </xs:complexType>
 </xs:element> 
Created on , last edited on