Skip to main content

 Advanced

Advanced topics

Word docx – import config schema reference

Version: 1.1.0

This file determines the conversion of files in the Word docx format to PSML. There are a number of ways to access it for editing. For users with at least project manager rights on the server, the best option is through the document types tab on the template configuration page:

Project administration menu > Template > Template configuration.

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

<config>

The root element of the instance, <config> is a container for the three key elements.

version provides a value that can be used for configuration management or technical support. 

<xs:element  name="config">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="split" minOccurs="0" maxOccurs="1" />
      <xs:element ref="lists" minOccurs="0" maxOccurs="1" />
      <xs:element ref="styles" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="version" type="xs:string" />
  </xs:complexType>
</xs:element>

<split>

In the import config, the <split> element relates only to mathml, footnotes, and endnotes, to control the conversion of these into files or fragments.

The import process for a Word document involves two configuration files. First is the conversion of the docx styles by processing the word-import-config.xml, then the resulting PSML content, other than that content already processed by the <split> element, is separated into files and fragments through the psml-split-config.xml file.

For more detail, see:

The <main>, <document> and <section> elements previously under <split> are obsolete as of PageSeeder v6.

<xs:element  name="split">
 <xs:complexType>
   <xs:sequence>
     <xs:element  ref="mathml"
                  minOccurs="0"
                  maxOccurs="1" />
     <xs:element ref="footnotes"
                  minOccurs="0"
                  maxOccurs="1" />
     <xs:element ref="endnotes"
                  minOccurs="0"
                  maxOccurs="1" />
   </xs:sequence>
 </xs:complexType>
</xs:element>

<mathml>

Controls the processing of any MathML objects in the Word file.

select use a value of true or false to determine if MathML content is processed or ignored (default true).

convert-to-mml use a value of true or false to determine whether MathML objects are converted to the original math ml (mml) syntax or left as OfficeOpenXML syntax (default true and always true for generate-fragments option).

output use a value of generate-files or generate-fragments to determine whether each MathML object is placed in a separate file, under a mathml folder or in a fragment inside it’s own document with the path mathml/mathml-[n].psml (default generate-fragments, requires pso-docx version 0.7.8 or higher).

<xs:element name="mathml">
  <xs:complexType>
    <xs:attribute  name="select"         type="xs:boolean" />
    <xs:attribute  name="convert-to-mml" type="xs:boolean" />
    <xs:attribute  name="output">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="generate-files" />
          <xs:enumeration value="generate-fragments" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<mathml select="true" output="generate-files" convert-to-mml="true"/>

See use of:

mathml-generate-files 

mathml-generate-fragments 

mathml-mathtype-plugin 

<footnotes>

Controls the processing of Word footnote markers.

select use a value of true or false to determine if Word footnotes are processed or ignored (default true).

output use a value of generate-files or generate-fragments to determine whether each footnote object is placed in a separate file, under a footnotes folder or in a fragment in a footnotes/footnotes.psml file (default generate-fragments).

<xs:element name="footnotes">
  <xs:complexType>
    <xs:attribute name="select" type="xs:boolean" />
    <xs:attribute name="output">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="generate-files" />
          <xs:enumeration value="generate-fragments" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<footnotes select="true" output="generate-files"/>

See use of:

footnotes-generate-files 

empty-configuration-footnotes 

footnotes-disabled 

<endnotes>

Controls the processing of Word endnote markers.

select use a value of true or false to determine if Word endnotes are processed or ignored (default true).

output use a value of generate-files or generate-fragments to determine whether each endnote object is placed in a separate file, under a endnotes folder or in a fragment in a endnotes/endnotes.psml file (default generate-fragments).

<xs:element name="endnotes">
  <xs:complexType>
    <xs:attribute name="select" type="xs:boolean" />
    <xs:attribute name="output">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="generate-files" />
          <xs:enumeration value="generate-fragments" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<endnotes select="true" output="generate-files"/>

See use of:

endnotes-generate-files 

empty-configuration-endnotes 

endnotes-disabled 

<lists>

Interprets list numbering.

<xs:element name="lists">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="convert-to-list-roles"
                  minOccurs="0"
                  maxOccurs="1" />
      <xs:element ref="convert-to-numbered-paragraphs"
                  minOccurs="0"
                  maxOccurs="1" />
      <xs:element ref="convert-manual-numbering"
                  minOccurs="0"
                  maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>
</xs:element>

<convert-to-list-roles>

Converting the value of a Word style to the value of a @role attribute on a PSML list, enables semantically meaningful lists, like “procedures” or "guidance".

select use a value of true or false to determine whether PSML lists inherit the name of the Word list style as a @role or not. By default, this value is false.

<xs:element name="convert-to-list-roles">
  <xs:complexType>
    <xs:attribute name="select" type="xs:boolean" />
  </xs:complexType>
</xs:element>

Example

<convert-to-list-roles select="false" />

See use of:

lists-default-list-role-false 

lists-multilevel-list-role-false 

lists-numbered-paragraphs-role-false 

<convert-to-list-roles select="true" />

See use of:

lists-default-list-role-true 

lists-multilevel-list-role-true 

lists-numbered-paragraphs-role-true 

<convert-to-numbered-paragraphs>

Converts numbered paragraph styles in docx to numbered paragraphs or lists in PageSeeder. To process numbered paragraphs, set the @select attribute to true. Any other value converts numbered paragraphs to <list> or <nlist> depending on the type of numbered value.

select use a value of true or false to determine whether numbered Word paragraph styles are converted to numbered paragraphs or lists.

<xs:element  name="convert-to-numbered-paragraphs">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="level" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="select" type="xs:boolean" />
  </xs:complexType>
</xs:element>

Example

<convert-to-numbered-paragraphs select="false" />

See use of:

numbered-paragraphs-false 

Because the GitHub example is select="false", any numbered Word styles in a list, will lose the numbering on import.

<convert-to-numbered-paragraphs select="true" />

If select="true", any numbered Word styles in a list will preserve the numbering attribute on import.

See use of:

Numbering output as an inline label in: 
numbered-paragraphs-true-output-inline 

The GitHub example has select="true". Only Word styles with:

  • numbering,
  • in a list, and
  • at level 1,

 will preserve numbering on import. The number will be in a label with the following attribute inline="level1".

<convert-manual-numbering>

To convert non-automated numbering values that can exist in a Word document.

select use a value of true or false to determine whether manual numbering in the Word document is converted or not.

<xs:element name="convert-manual-numbering">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="value" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="select" type="xs:boolean" />
  </xs:complexType>
</xs:element>

Example

<convert-manual-numbering select="false" />

See use of:

manual-numbering-false 

The GitHub example has select="false". Any manual numbering on Word styles that are in a list, are imported as plain text.

<convert-manual-numbering select="true" />

Using  select="true", any manual numbering on Word styles is imported. 

See use of:

<autonumbering> in manual-numbering-true-autonumbering 

The GitHub example has select="true".  Any manual numbering on Word styles that are in a list, are imported according to the search match regular expressions specified in the <value>  elements.
The first match search is for: the word “Schedule” followed by non-breaking space (indicated by the HTML format code &#160;), followed by any number inclusive of 0 to 9 occurring one or more times. If found, the text is imported into a paragraph with a numbered attribute.
For example: <para numbered="true">.

<inline> in manual-numbering-true-inline 

Using select="true".  Any manual numbering on Word styles that are in a list, are imported according to the search match regular expressions specified in the <value> elements.
The third match search is for: zero or one character space followed by any number inclusive of 0 to 9 occurring one or more times then followed by a single character space. If found, the text is imported into an inline label with label name numbering-subdivision at the start of a paragraph.
For example,  <para><inline label="numbering-subdivision">1 </inline>

<prefix> in manual-numbering-true-prefix 

Using select="true".  Any manual numbering on Word styles that are in a list, are imported according to the search match regular expressions specified in the <value> elements.
The first match search is for:  the word “Schedule” followed by non-breaking space (indicated by the HTML format code &#160;), followed by any number inclusive of 0 to 9 occurring one or more times. If found, the text is imported into a paragraph with the found text as the value of a prefix attribute.
For example: <para prefix="Schedule 1">

<inline> and <prefix> in manual-numbering-true-prefix-inline 

Using select="true".  Any manual numbering on Word styles that are in a list, are imported according to the search match regular expressions specified in the <value> elements.
The first and second match searches, if found, the text is imported into paragraphs with the found text as the value of a prefix attribute.
For example, <para prefix="Schedule 1">, <para prefix="Part 1">
The third, fourth and fifth match searches, if found, the text is imported into inline labels at the start of a paragraph.
For example:
<para><inline label="numbering-subdivision">1 </inline>,
<para><inline label="numbering-firstlevel"> (5A)</inline>
,
<para><inline label="numbering-secondlevel"> (a)</inline>

<level>

Controls the processing of each level of paragraph.

value use 1 to 6 to correspond to level of the paragraph.

output use prefix or text to convert the number from the Word paragraph to a PSML prefix or text, use numbering to create numbered paragraphs in PSML, use [inline=[label] to wrap the number in a PSML inline label, label characters are restricted to [a-zA-Z0-9_\-].

<xs:element name="level">
  <xs:complexType>
    <xs:attribute name="value">
      <xs:simpleType>
        <xs:restriction base="xs:integer">
          <xs:minInclusive value="1" />
          <xs:maxInclusive value="6" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="output">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="numbering
                             |prefix
                             |inline=[a-zA-Z0-9_\-]+
                             |text" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<lists>      
  <convert-to-numbered-paragraphs select="true">
    <level value="1" output="prefix"/>           
    <level value="2" output="text"/>
    <level value="3" output="prefix"/>
    <level value="4" output="numbering"/>
    <level value="5" output="numbering"/>
    <level value="6" output="inline=level6"/>
  </convert-to-numbered-paragraphs>      
</lists>

See use of:

@output="inline=[label] in: 
numbered-paragraphs-true-output-inline 

The GitHub example has <convert-to-numbered-paragraphs select="true">.  Any Word styles, that are in a list and that have numbering, are imported. 
The Word style that is the first level in the Word list, specified by level value="1" is imported as a paragraph and it has an attribute indent="1" applied.
The number on the Word style is imported, specified by the value of attribute output, into an inline label, with label name level1.
For example, <para indent="1"><inline label="level1">1) </inline>List item 1</para>

numbered-paragraphs-true-multilevel-output-inline 

output="prefix" in: 
numbered-paragraphs-true-output-prefix 
numbered-paragraphs-true-multilevel-output-prefix 

@output="numbering" in: 
numbered-paragraphs-true-output-numbering 
numbered-paragraphs-true-multilevel-output-numbering 

output="text" in: 
numbered-paragraphs-true-output-text 
numbered-paragraphs-true-multilevel-output-text 

@output="prefix " and @output="numbering" in: 
numbered-paragraphs-true-multilevel-output-numbering-prefix 

@output="text" and @output="prefix" in: 
numbered-paragraphs-true-multilevel-output-text-prefix 

multiple @output in: 
numbered-paragraphs-true-multilevel-output-numbering-text-inline-prefix 

<value>

Determines the paragraph ordinal.

prefix use "prefix" to generate a prefix with the value of the current auto-numbering or manual numbering value for each of the Word numbered paragraphs.

autonumbering [Insert description]

match use a regular expression to mark up text in the Word document.  

<xs:element name="value">
  <xs:complexType>
    <xs:sequence>
      <xs:element  ref="inline"         minOccurs="0" maxOccurs="1" />
      <xs:element  name="prefix"        minOccurs="0" maxOccurs="1" />
      <xs:element  name="autonumbering" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="match" type="xs:string" />
  </xs:complexType>
</xs:element>
<inline>

Used to mark up content within a block of text—like character style in Word documents.

label use characters restricted to [a-zA-Z0-9_\-].

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

Example

<convert-manual-numbering select="true">

  <value match="^[\(|\[|\{][a-z]+[\)|\]|\}]">   <inline label="numbering-lowercase" />
  </value>

  <value match="^[\(|\[|\{][A-Z]+[\)|\]|\}]">
    <prefix/>
  </value>

  <value match="^[\(|\[|\{][ivx]+[\)|\]|\}]">
    <list role="numbering-roman"/>
  </value>

  <value match="Part&#160;[A-Z0-9]+">
    <prefix />
  </value>

  <value match="Note:\s*">
    <prefix />
  </value>

  <value match="\s*[0-9]+[A-Z]*$">
    <prefix />
  </value>
</convert-manual-numbering>

See use of:

inline-one-character-style 

inline-multi-character-style 

inline-one-paragraph-style 

<autonumbering>

Ancestor is <lists>.  Parent is <convert-manual-numbering select="true">.

Example

<config>
  <lists>
    <convert-manual-numbering select="true">
      <value match="Chapter&#160;[0-9]+">
        <autonumbering />
      </value>
    </convert-manual-numbering>
  </lists>

See use of:

manual-numbering-true-autonumbering 

<prefix>

Ancestor is <lists>. Parent is <convert-manual-numbering select="true">.

Example

<config>
  <lists>
    <convert-manual-numbering select="true">
      <value match="Chapter&#160;[0-9]+">
        <prefix />
      </value>
    </convert-manual-numbering>
  </lists>

See use of:

manual-numbering-true-prefix 

<styles>

Controls how styles from Word are translated to PSML.

<xs:element name="styles">
  <xs:complexType>
    <xs:sequence>
      <xs:element  ref="ignore"    minOccurs="0" maxOccurs="1" />
      <xs:element  ref="default"   minOccurs="0" maxOccurs="1" />
      <xs:element  ref="wordstyle" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
</xs:element>

<ignore>

Determines which content is not processed. For example, the Word Table of Contents paragraphs can often be discarded.

<xs:element name="ignore">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="wordstyle" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
</xs:element>

Example

<ignore>
  <wordstyle value="TOC1" />
  <wordstyle value="TOC2" />
  <wordstyle value="TOC3" />
  <wordstyle value="TOC4" />
</ignore>

See use of:

ignore-styles-toc-paragraph-styles 

ignore-styles-body-text-paragraph-style 

ignore-styles-one-paragraph-style 

ignore-styles-multiple-paragraph-styles 

<default>

Contains the settings for general transformations of docx to PSML.

<xs:element name="default">
  <xs:complexType>
    <xs:sequence>
      <xs:element  ref="paragraphStyles" minOccurs="0"  maxOccurs="1" />
      <xs:element  ref="characterStyles" minOccurs="0"  maxOccurs="1" />
      <xs:element  ref="smart-tag"       minOccurs="0"  maxOccurs="1" />
      <xs:element  ref="references"      minOccurs="0"  maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>
</xs:element>

<paragraphStyles>

Defines a mapping for a paragraph style not mapped by <wordstyle> or <lists>.

To get the style ID, Word strips underscores and spaces from the style name but preserves hyphens.

value para transforms all un-mapped Word paragraph styles to a PSML <para> element.

 block transforms all un-mapped Word paragraph styles to a PSML <block> element with a label equal to the Word paragraph style ID.

<xs:element name="paragraphStyles">
  <xs:complexType>
    <xs:attribute name="value">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="para" />
          <xs:enumeration value="block" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<paragraphStyles value="block" />

See use of:

default-paragraph-style-block 

<paragraphStyles value="para" />

See use of:

default-paragraph-style-para 

<characterStyles>

Defines general rule for any Word character style not mapped with <wordstyle>.  

value none – strips the markup for un-mapped Word character styles.

 inline – transforms un-mapped Word character styles to a PSML <inline> element with a label equal to the Word character style ID. 

<xs:element name="characterStyles">
  <xs:complexType>
    <xs:attribute name="value">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="inline" />
          <xs:enumeration  value="none" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<characterStyles value="none" />

See use of:

character-style-none 

<characterStyles value="inline" />

See use of:

default-character-style-inline 

<smart-tag>

Word  smart tag information can be either discarded or captured in PageSeeder as an inline label, with a value equal to that of the smart tag. To do this, the @keep attribute must be set to true. With any other value, the smart-tag markup is discarded. 

keep use a value of true or false to determine whether smart tags are captured as inline labels, or whether they are not. 

<xs:element name="smart-tag">
  <xs:complexType>
    <xs:attribute name="keep" type="xs:boolean" />
  </xs:complexType>
</xs:element>

Example

<smart-tag keep="false" />

See use of:

smart-tag-false 

<smart-tag keep="true" />

See use of:

smart-tag-true 

<references>

This element sets whether internal references in the DOCX are imported as PSML <link> or <xref> elements. This requires pso-docx v0.8.3 or higher.

psmlelement attribute can have values link or xref (default is xref). The link option also imports all bookmarks as <anchor> elements.

<xs:element name="references">
    <xs:complexType>
      <xs:attribute name="psmlelement">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="link" />
            <xs:enumeration value="xref" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>

Example

<references psmlelement="link" />

See use of: 

default-references-link 

<wordstyle>

These rules transform Word paragraph or character styles into PSML elements.

value use the Word style ID for the Word paragraph style. Used where the ancestor is <ignore>.

name use the Word style ID for the Word paragraph style.

table use where the ancestor is <styles>.
Use only when @psmlelement="caption"
Use value default when it applies to all tables
Or use the value of a specific table style ID. 

psmlelement use heading, para, block, preformat, caption, bold, inline, italicmonospace, underline.

<xs:element name="wordstyle">
  <xs:complexType>
    <xs:all>
      <xs:element  ref="label"     minOccurs="0" maxOccurs="1" />      
      <xs:element  ref="level"     minOccurs="0" maxOccurs="1" />
      <xs:element  ref="numbering" minOccurs="0" maxOccurs="1" />
      <xs:element  ref="indent"    minOccurs="0" maxOccurs="1" />
    </xs:all>

    <xs:attribute name="value"  type="xs:string" />
    <xs:attribute name="name"   type="xs:string" />
    <xs:attribute name="table"  type="xs:string" />
    <xs:attribute name="psmlelement">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="para" />
          <xs:enumeration value="heading" />
          <xs:enumeration value="block" />
          <xs:enumeration value="monospace" />
          <xs:enumeration value="preformat" />
          <xs:enumeration value="caption" />
          <xs:enumeration value="bold" />
          <xs:enumeration value="inline" />
          <xs:enumeration value="italic" />
          <xs:enumeration value="monospace" />
          <xs:enumeration value="underline" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Examples

psmlelement="heading"

<wordstyle name="Heading1" psmlelement="heading"/>

See use of: 

headings-one-paragraph-style 

headings-multiple-paragraph-styles 

psmlelement="para"

<wordstyle name="Heading1" psmlelement="para"/>

See use of: 

para-one-paragraph-style 

para-multiple-paragraph-styles 

para-one-paragraph-style-with-block 

para-one-paragraph-style-with-inline 

para-with-numbering-inline 

para-with-numbering-numbering 

para-with-numbering-prefix 

para-with-numbering-text 

para-multiple-with-numbering-inline 

para-multiple-with-numbering-prefix 

para-multiple-with-numbering-text 

para-multiple-with-numbering-numbering 

para-multiple-with-numbering-prefix-numbering-inline 

psmlelement="block"

<wordstyle name="Heading1" psmlelement="block">
  <label value="heading1block"/>
</wordstyle>

See use of:

block-one-paragraph-style

 block-multiple-paragraph-styles 

Captions attached to Images

The default conversion of the default Word paragraph style ‘Caption’, when attached to an Image, is into a psmlelement="block".

Example

<wordstyle name="Caption" psmlelement="block">
  <label value="Caption" />
</wordstyle>

See use of:

empty-configuration-(images) 

psmlelement="preformat"

<wordstyle name="Heading1" psmlelement="preformat" />

See use of:

preformat-one-paragraph-style 

preformat-multi-paragraph-style 

psmlelement="caption"

Captions attached to Tables
psmlelement="caption"

See use of:

<wordstyle name="Caption"
           psmlelement="caption"
           table="default"/>
  • PSML result when applied to a Word Default table style (w:styleId="TableGrid"):
<block label="Caption">Table 1</block>
  <table role="TableGrid">

See use of:

<wordstyle name="Caption" 
           psmlelement="caption" 
           table="tableYellow"/>
  • PSML result when applied to a Word Custom table style (for example, w:styleId="tableYellow"):
<table role="tableYellow">
  <caption>Table 2 table with caption</caption>

psmlelement="bold"

This requires pso-docx v1.1.0 or higher.

<wordstyle name="Strong" psmlelement="bold">

psmlelement="inline"

<wordstyle name="Emphasis" psmlelement="inline">
  <label value="emphasisinline"/>
</wordstyle>

See use of:

inline-multi-character-style 

psmlelement="italic"

This requires pso-docx v1.1.0 or higher.

<wordstyle name="Emphasis" psmlelement="italic">

psmlelement="monospace"

<wordstyle name="Emphasis" psmlelement="monospace" />

See use of:

monospace-one-character-style 

monospace-multi-character-style 

monospace-one-paragraph-style 

monospace-multi-paragraph-style 

psmlelement="underline"

This requires pso-docx v1.1.0 or higher.

<wordstyle name="IntenseEmphasis" psmlelement="underline">

<label>

type use a value of block or inline to determine whether text is surrounded by a block label or an inline label.

value use a value of [valid label name], restricted to these characters [a-zA-Z0-9_\-].

<xs:element name="label">
  <xs:complexType mixed="true">
    <xs:attribute name="type">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="block" />
          <xs:enumeration value="inline" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>

    <xs:attribute name="value">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="[a-zA-Z0-9_\-]+" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

When ancestor is <styles>:

<label type="block" value="chapter">

headings-one-paragraph-style-with-block 

<label type="inline" value="part_num">

headings-one-paragraph-style-with-inline 

<numbering>

Supports a range of options for numbering headings and paragraphs.

select use true or false to determine if numbering is applied or not.

value use numbering (add @numbered="true"), use inline to wrap number in an inline label specified by nested <label value="[valid label name]"> element, use text to include number in paragraph text, use prefix to insert number in @prefix attribute.

<xs:element name="numbering">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="label" minOccurs="0" />
    </xs:sequence>

    <xs:attribute name="select" type="xs:boolean" />
    <xs:attribute name="value">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="numbering" />
          <xs:enumeration value="inline" />
          <xs:enumeration value="text" />
          <xs:enumeration value="prefix" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<numbering select="false" />
<numbering select="true" value="numbering" numbered="true"/>

headings-with-numbering-numbering 

headings-multiple-with-numbering-numbering 

<numbering select="true" value="inline"/>

headings-with-numbering-inline 

headings-multiple-with-numbering-inline 

<numbering select="true" value="text"/>

headings-with-numbering-text 

headings-multiple-with-numbering-text 

<numbering select="true" value="prefix"/>

headings-with-numbering-prefix 

headings-multiple-with-numbering-prefix 

Use of multiple numbering @value:

headings-multiple-with-numbering-prefix-numbering-inline 

<indent>

Determines position of the paragraph in the heirarchy.

value values of 1 to 6

<xs:element name="indent">
  <xs:complexType>
    <xs:attribute name="value">
      <xs:simpleType>
        <xs:restriction base="xs:integer">
          <xs:minInclusive value="1" />
          <xs:maxInclusive value="6" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

Example

<indent value="2" />

Deprecated

<add-numbering-to-document-titles>

Numbers the titles in the references document.

select use a value true or false to determine whether numbering is adding to the references document link title or not.

<xs:element name="add-numbering-to-document-titles">
  <xs:complexType>
    <xs:attribute name="select" type="xs:boolean" />
  </xs:complexType>
</xs:element>

Example

<add-numbering-to-document-titles select="false"/>
<add-numbering-to-document-titles select="true"/>

Created on , last edited on