incubator-odf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From devin...@apache.org
Subject svn commit: r1172466 [11/16] - in /incubator/odf/trunk/validator: ./ misc/ nbproject/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/odftoolkit/ src/main/java/org/odftoolkit/odfvalidator/ src/main/resources/ src/main/resources/META-INF/ ...
Date Mon, 19 Sep 2011 05:43:28 GMT
Added: incubator/odf/trunk/validator/src/main/resources/schema/odf1.0/OpenDocument-schema-v1.0-os.rng
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/odf1.0/OpenDocument-schema-v1.0-os.rng?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/odf1.0/OpenDocument-schema-v1.0-os.rng (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/odf1.0/OpenDocument-schema-v1.0-os.rng Mon Sep 19 05:43:23 2011
@@ -0,0 +1,17666 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    OASIS OpenDocument v1.0
+    OASIS Standard, 1 May 2005
+    Relax-NG Schema
+
+    $Id$
+
+    © 2002-2005 OASIS Open
+    © 1999-2005 Sun Microsystems, Inc.
+-->
+
+<grammar
+    xmlns="http://relaxng.org/ns/structure/1.0"
+    xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
+
+    datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
+
+    xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
+    xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
+    xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0"
+    xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
+    xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
+    xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
+    xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
+    xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
+    xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
+    xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
+    xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
+    xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
+    xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
+    xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0"
+
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:math="http://www.w3.org/1998/Math/MathML"
+    xmlns:xforms="http://www.w3.org/2002/xforms"
+
+    xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
+    xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
+    xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"
+>
+<define name="office-process-content">
+    <optional>
+        <attribute name="office:process-content" a:defaultValue="true">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<start>
+    <choice>
+        <ref name="office-document"/>
+        <ref name="office-document-content"/>
+        <ref name="office-document-styles"/>
+        <ref name="office-document-meta"/>
+        <ref name="office-document-settings"/>
+    </choice>
+</start>
+<define name="office-document">
+    <element name="office:document">
+        <ref name="office-document-attrs"/>
+        <ref name="office-document-common-attrs"/>
+        <ref name="office-meta"/>
+        <ref name="office-settings"/>
+        <ref name="office-scripts"/>
+        <ref name="office-font-face-decls"/>
+        <ref name="office-styles"/>
+        <ref name="office-automatic-styles"/>
+        <ref name="office-master-styles"/>
+        <ref name="office-body"/>
+    </element>
+</define>
+<define name="office-document-content">
+    <element name="office:document-content">
+        <ref name="office-document-common-attrs"/>
+        <ref name="office-scripts"/>
+        <ref name="office-font-face-decls"/>
+        <ref name="office-automatic-styles"/>
+        <ref name="office-body"/>
+    </element>
+</define>
+<define name="office-document-styles">
+    <element name="office:document-styles">
+        <ref name="office-document-common-attrs"/>
+        <ref name="office-font-face-decls"/>
+        <ref name="office-styles"/>
+        <ref name="office-automatic-styles"/>
+        <ref name="office-master-styles"/>
+    </element>
+</define>
+<define name="office-document-meta">
+    <element name="office:document-meta">
+        <ref name="office-document-common-attrs"/>
+        <ref name="office-meta"/>
+    </element>
+</define>
+<define name="office-document-settings">
+    <element name="office:document-settings">
+        <ref name="office-document-common-attrs"/>
+        <ref name="office-settings"/>
+    </element>
+</define>
+<define name="office-document-common-attrs" combine="interleave">
+    <optional>
+        <attribute name="office:version">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+</define>
+<define name="office-document-attrs" combine="interleave">
+    <attribute name="office:mimetype">
+        <ref name="string"/>
+    </attribute>
+</define>
+<define name="office-meta">
+    <optional>
+        <element name="office:meta">
+            <ref name="office-meta-content"/>
+        </element>
+    </optional>
+</define>
+
+<define name="office-meta-content">
+    <ref name="anyElements"/>
+</define>
+
+<define name="office-meta-content-strict">
+    <zeroOrMore>
+        <ref name="office-meta-data"/>
+    </zeroOrMore>
+</define>
+<define name="office-body">
+    <element name="office:body">
+        <ref name="office-body-content"/>
+    </element>
+</define>
+<define name="office-body-content" combine="choice">
+    <element name="office:text">
+        <ref name="office-text-attlist"/>
+        <ref name="office-text-content-prelude"/>
+        <zeroOrMore>
+            <ref name="office-text-content-main"/>
+        </zeroOrMore>
+        <ref name="office-text-content-epilogue"/>
+    </element>
+</define>
+<define name="office-text-content-prelude">
+    <ref name="office-forms"/>
+    <ref name="text-tracked-changes"/>
+    <ref name="text-decls"/>
+    <ref name="table-decls"/>
+</define>
+<define name="office-text-content-main">
+    <choice>
+        <zeroOrMore>
+            <ref name="text-content"/>
+        </zeroOrMore>
+        <group>
+            <ref name="text-page-sequence"/>
+            <zeroOrMore>
+                <choice>
+                    <ref name="draw-a"/>
+                    <ref name="shape"/>
+                </choice>
+            </zeroOrMore>
+        </group>
+    </choice>
+</define>
+
+<define name="text-content">
+    <choice>
+        <ref name="text-h"/>
+        <ref name="text-p"/>
+        <ref name="text-list"/>
+        <ref name="text-numbered-paragraph"/>
+        <ref name="table-table"/>
+        <ref name="draw-a"/>
+        <ref name="text-section"/>
+        <ref name="text-table-of-content"/>
+        <ref name="text-illustration-index"/>
+        <ref name="text-table-index"/>
+        <ref name="text-object-index"/>
+        <ref name="text-user-index"/>
+        <ref name="text-alphabetical-index"/>
+        <ref name="text-bibliography"/>
+        <ref name="shape"/>
+        <ref name="change-marks"/>
+    </choice>
+</define>
+<define name="office-text-content-epilogue">
+    <ref name="table-functions"/>
+</define>
+<define name="office-text-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:global" a:defaultValue="false">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="office-body-content" combine="choice">
+    <element name="office:drawing">
+        <ref name="office-drawing-attlist"/>
+        <ref name="office-drawing-content-prelude"/>
+        <ref name="office-drawing-content-main"/>
+        <ref name="office-drawing-content-epilogue"/>
+    </element>
+</define>
+
+<define name="office-drawing-attlist">
+    <empty/>
+</define>
+<define name="office-drawing-content-prelude">
+    <ref name="text-decls"/>
+    <ref name="table-decls"/>
+</define>
+<define name="office-drawing-content-main">
+    <zeroOrMore>
+        <ref name="draw-page"/>
+    </zeroOrMore>
+</define>
+<define name="office-drawing-content-epilogue">
+    <ref name="table-functions"/>
+</define>
+<define name="office-body-content" combine="choice">
+    <element name="office:presentation">
+        <ref name="office-presentation-attlist"/>
+        <ref name="office-presentation-content-prelude"/>
+        <ref name="office-presentation-content-main"/>
+        <ref name="office-presentation-content-epilogue"/>
+    </element>
+</define>
+
+<define name="office-presentation-attlist">
+    <empty/>
+</define>
+<define name="office-presentation-content-prelude">
+    <ref name="text-decls"/>
+    <ref name="table-decls"/>
+    <ref name="presentation-decls"/>
+</define>
+<define name="office-presentation-content-main">
+    <zeroOrMore>
+        <ref name="draw-page"/>
+    </zeroOrMore>
+</define>
+<define name="office-presentation-content-epilogue">
+    <ref name="presentation-settings"/>
+    <ref name="table-functions"/>
+</define>
+<define name="office-body-content" combine="choice">
+    <element name="office:spreadsheet">
+        <ref name="office-spreadsheet-attlist"/>
+        <ref name="office-spreadsheet-content-prelude"/>
+        <ref name="office-spreadsheet-content-main"/>
+        <ref name="office-spreadsheet-content-epilogue"/>
+    </element>
+</define>
+<define name="office-spreadsheet-content-prelude">
+    <optional>
+        <ref name="table-tracked-changes"/>    
+    </optional>
+    <ref name="text-decls"/>
+    <ref name="table-decls"/>
+</define>
+
+<define name="table-decls">
+    <optional>
+        <ref name="table-calculation-settings"/>    
+    </optional>
+    <optional>
+        <ref name="table-content-validations"/>    
+    </optional>
+    <optional>
+        <ref name="table-label-ranges"/>    
+    </optional>
+</define>
+<define name="office-spreadsheet-content-main">
+    <zeroOrMore>
+        <ref name="table-table"/>
+    </zeroOrMore>
+</define>
+<define name="office-spreadsheet-content-epilogue">
+    <ref name="table-functions"/>    
+</define>
+
+<define name="table-functions">
+    <optional>
+        <ref name="table-named-expressions"/>    
+    </optional>
+    <optional>
+        <ref name="table-database-ranges"/>    
+    </optional>
+    <optional>
+        <ref name="table-data-pilot-tables"/>    
+    </optional>
+    <optional>
+        <ref name="table-consolidation"/>    
+    </optional>
+    <optional>
+        <ref name="table-dde-links"/>    
+    </optional>
+</define>
+<define name="office-body-content" combine="choice">
+    <element name="office:chart">
+        <ref name="office-chart-attlist"/>
+        <ref name="office-chart-content-prelude"/>
+        <ref name="office-chart-content-main"/>
+        <ref name="office-chart-content-epilogue"/>
+    </element>
+</define>
+
+<define name="office-chart-attlist">
+    <empty/>
+</define>
+<define name="office-chart-content-prelude">
+    <ref name="text-decls"/>
+    <ref name="table-decls"/>
+</define>
+<define name="office-chart-content-main">
+    <ref name="chart-chart"/>
+</define>
+<define name="office-chart-content-epilogue">
+    <ref name="table-functions"/>    
+</define>
+<define name="office-body-content" combine="choice">
+    <element name="office:image">
+        <ref name="office-image-attlist"/>
+        <ref name="office-image-content-prelude"/>
+        <ref name="office-image-content-main"/>
+        <ref name="office-image-content-epilogue"/>
+    </element>
+</define>
+
+<define name="office-image-attlist">
+    <empty/>
+</define>
+<define name="office-image-content-prelude">
+    <empty/>
+</define>
+<define name="office-image-content-main">
+    <ref name="draw-frame"/>
+</define>
+<define name="office-image-content-epilogue">
+    <empty/>
+</define>
+<define name="office-settings">
+    <optional>
+        <element name="office:settings">
+            <oneOrMore>
+                <ref name="config-config-item-set"/>
+            </oneOrMore>
+        </element>
+    </optional>
+</define>
+<define name="config-config-item-set">
+    <element name="config:config-item-set">
+        <ref name="config-config-item-set-attlist"/>
+        <ref name="config-items"/>
+    </element>
+</define>
+
+<define name="config-items">
+    <oneOrMore>
+        <choice>
+            <ref name="config-config-item"/>
+            <ref name="config-config-item-set"/>
+            <ref name="config-config-item-map-named"/>
+            <ref name="config-config-item-map-indexed"/>
+        </choice>
+    </oneOrMore>
+</define>
+<define name="config-config-item-set-attlist" combine="interleave">
+    <attribute name="config:name">
+        <ref name="string"/>
+    </attribute>
+</define>
+<define name="config-config-item">
+    <element name="config:config-item">
+        <ref name="config-config-item-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="config-config-item-attlist" combine="interleave">
+    <attribute name="config:name">
+        <ref name="string"/>
+    </attribute>
+</define>
+<define name="config-config-item-attlist" combine="interleave">
+    <attribute name="config:type">
+        <choice>
+            <value>boolean</value>
+            <value>short</value>
+            <value>int</value>
+            <value>long</value>
+            <value>double</value>
+            <value>string</value>
+            <value>datetime</value>
+            <value>base64Binary</value>
+        </choice>
+    </attribute>
+</define>
+<define name="config-config-item-map-indexed">
+    <element name="config:config-item-map-indexed">
+        <ref name="config-config-item-map-indexed-attlist"/>
+        <oneOrMore>
+            <ref name="config-config-item-map-entry"/>
+        </oneOrMore>
+    </element>
+</define>
+<define name="config-config-item-map-indexed-attlist" combine="interleave">
+    <attribute name="config:name">
+        <ref name="string"/>
+    </attribute>
+</define>
+<define name="config-config-item-map-entry">
+    <element name="config:config-item-map-entry">
+        <ref name="config-config-item-map-entry-attlist"/>
+        <ref name="config-items"/>
+    </element>
+</define>
+<define name="config-config-item-map-entry-attlist" combine="interleave">
+    <optional>
+        <attribute name="config:name">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+</define>
+<define name="config-config-item-map-named">
+    <element name="config:config-item-map-named">
+        <ref name="config-config-item-map-named-attlist"/>
+        <oneOrMore>
+            <ref name="config-config-item-map-entry"/>
+        </oneOrMore>
+    </element>
+</define>
+<define name="config-config-item-map-named-attlist" combine="interleave">
+    <attribute name="config:name">
+        <ref name="string"/>
+    </attribute>
+</define>
+<define name="office-scripts">
+    <optional>
+        <element name="office:scripts">
+            <zeroOrMore>
+                <ref name="office-script"/>
+            </zeroOrMore>
+            <optional>
+                <ref name="office-event-listeners"/>
+            </optional>
+        </element>
+    </optional>
+</define>
+<define name="office-script">
+    <element name="office:script">
+        <ref name="office-script-attlist"/>
+        <mixed>
+            <ref name="anyElements"/>
+        </mixed>
+    </element>
+</define>
+<define name="office-script-attlist">
+    <attribute name="script:language">
+        <ref name="string"/>
+    </attribute>
+</define>
+<define name="office-font-face-decls">
+    <optional>
+        <element name="office:font-face-decls">
+            <zeroOrMore>
+                <ref name="style-font-face"/>
+            </zeroOrMore>
+        </element>
+    </optional>
+</define>
+<define name="office-styles">
+    <optional>
+        <element name="office:styles">
+            <interleave>
+                <ref name="styles"/>
+                <zeroOrMore>
+                    <ref name="style-default-style"/>
+                </zeroOrMore>
+                <optional>
+                    <ref name="text-outline-style"/>
+                </optional>
+                <zeroOrMore>
+                    <ref name="text-notes-configuration"/>
+                </zeroOrMore>
+                <optional>
+                    <ref name="text-bibliography-configuration"/>
+                </optional>
+                <optional>
+                    <ref name="text-linenumbering-configuration"/>
+                </optional>
+                <zeroOrMore>
+                    <ref name="draw-gradient"/>
+                </zeroOrMore>
+                <zeroOrMore>
+                    <ref name="svg-linearGradient"/>
+                </zeroOrMore>
+                <zeroOrMore>
+                    <ref name="svg-radialGradient"/>
+                </zeroOrMore>
+                <zeroOrMore>
+                    <ref name="draw-hatch"/>
+                </zeroOrMore>
+                <zeroOrMore>
+                    <ref name="draw-fill-image"/>
+                </zeroOrMore>
+                <zeroOrMore>
+                    <ref name="draw-marker"/>
+                </zeroOrMore>
+                <zeroOrMore>
+                    <ref name="draw-stroke-dash"/>
+                </zeroOrMore>
+                <zeroOrMore>
+                    <ref name="draw-opacity"/>
+                </zeroOrMore>
+                <zeroOrMore>
+                    <ref name="style-presentation-page-layout"/>
+                </zeroOrMore>
+            </interleave>
+        </element>
+    </optional>
+</define>
+<define name="office-automatic-styles">
+    <optional>
+        <element name="office:automatic-styles">
+            <interleave>
+                <ref name="styles"/>
+                <zeroOrMore>
+                    <ref name="style-page-layout"/>
+                </zeroOrMore>
+            </interleave>
+        </element>
+    </optional>
+</define>
+<define name="office-master-styles">
+    <optional>
+        <element name="office:master-styles">
+            <interleave>
+                <zeroOrMore>
+                    <ref name="style-master-page"/>
+                </zeroOrMore>
+                <optional>
+                    <ref name="style-handout-master"/>
+                </optional>
+                <optional>
+                    <ref name="draw-layer-set"/>
+                </optional>
+            </interleave>
+        </element>
+    </optional>
+</define>
+
+<define name="styles">
+    <interleave>
+        <zeroOrMore>
+            <ref name="style-style"/>
+        </zeroOrMore>
+        <zeroOrMore>
+            <ref name="text-list-style"/>
+        </zeroOrMore>
+        <zeroOrMore>
+            <ref name="number-number-style"/>
+        </zeroOrMore>
+        <zeroOrMore>
+            <ref name="number-currency-style"/>
+        </zeroOrMore>
+        <zeroOrMore>
+            <ref name="number-percentage-style"/>
+        </zeroOrMore>
+        <zeroOrMore>
+            <ref name="number-date-style"/>
+        </zeroOrMore>
+        <zeroOrMore>
+            <ref name="number-time-style"/>
+        </zeroOrMore>
+        <zeroOrMore>
+            <ref name="number-boolean-style"/>
+        </zeroOrMore>
+        <zeroOrMore>
+            <ref name="number-text-style"/>
+        </zeroOrMore>
+    </interleave>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="meta:generator">
+        <ref name="string"/>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="dc:title">
+        <ref name="string"/>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="dc:description">
+        <ref name="string"/>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="dc:subject">
+        <ref name="string"/>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="meta:keyword">
+        <ref name="string"/>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="meta:initial-creator">
+        <ref name="string"/>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <ref name="dc-creator"/>
+</define>
+<define name="dc-creator">
+    <element name="dc:creator">
+        <ref name="string"/>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="meta:printed-by">
+        <ref name="string"/>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="meta:creation-date">
+        <ref name="dateTime"/>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <ref name="dc-date"/>
+</define>
+<define name="dc-date">
+    <element name="dc:date">
+        <ref name="dateTime"/>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="meta:print-date">
+        <ref name="dateTime"/>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="meta:template">
+        <attribute name="xlink:href">
+            <ref name="anyURI"/>
+        </attribute>
+        <optional>
+            <attribute name="xlink:type" a:defaultValue="simple">
+                <value>simple</value>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="xlink:actuate" a:defaultValue="onRequest">
+                <value>onRequest</value>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="xlink:title">
+                <ref name="string"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="meta:date">
+                <ref name="dateTime"/>
+            </attribute>
+        </optional>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="meta:auto-reload">
+        <optional>
+            <attribute name="xlink:type" a:defaultValue="simple">
+                <value>simple</value>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="xlink:show" a:defaultValue="replace">
+                <value>replace</value>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="xlink:actuate" a:defaultValue="onLoad">
+                <value>onLoad</value>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="xlink:href">
+                <ref name="anyURI"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="meta:delay">
+                <ref name="duration"/>
+            </attribute>
+        </optional>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="meta:hyperlink-behaviour">
+        <optional>
+            <attribute name="office:target-frame-name">
+                <ref name="targetFrameName"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="xlink:show">
+                <choice>
+                    <value>new</value>
+                    <value>replace</value>
+                </choice>
+            </attribute>
+        </optional>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="dc:language">
+        <ref name="language"/>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="meta:editing-cycles">
+        <ref name="nonNegativeInteger"/>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="meta:editing-duration">
+        <ref name="duration"/>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="meta:document-statistic">
+        <optional>
+            <attribute name="meta:page-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="meta:table-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="meta:draw-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="meta:image-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="meta:ole-object-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="meta:paragraph-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="meta:word-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="meta:character-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="frame-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="sentence-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="syllable-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="non-whitespace-character-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="meta:row-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="meta:cell-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="meta:object-count">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+    </element>
+</define>
+<define name="office-meta-data" combine="choice">
+    <element name="meta:user-defined">
+        <attribute name="meta:name">
+            <ref name="string"/>
+        </attribute>
+        <choice>
+            <group>
+                <attribute name="meta:value-type">
+                    <value>float</value>
+                </attribute>
+                <ref name="double"/>
+            </group>
+            <group>
+                <attribute name="meta:value-type">
+                    <value>date</value>
+                </attribute>
+                <ref name="dateOrDateTime"/>
+            </group>
+            <group>
+                <attribute name="meta:value-type">
+                    <value>time</value>
+                </attribute>
+                <ref name="duration"/>
+            </group>
+            <group>
+                <attribute name="meta:value-type">
+                    <value>boolean</value>
+                </attribute>
+                <ref name="boolean"/>
+            </group>
+            <group>
+                <attribute name="meta:value-type">
+                    <value>string</value>
+                </attribute>
+                <ref name="string"/>
+            </group>
+            <text/>
+        </choice>
+    </element>
+</define>
+<define name="text-h">
+    <element name="text:h">
+        <ref name="heading-attrs"/>
+        <ref name="paragraph-attrs"/>
+        <optional>
+            <ref name="text-number"/>
+        </optional>
+        <zeroOrMore>
+            <ref name="paragraph-content"/>
+        </zeroOrMore>
+    </element>
+</define>
+<define name="heading-attrs" combine="interleave">
+    <attribute name="text:outline-level">
+        <ref name="positiveInteger"/>
+    </attribute>
+</define>
+<define name="heading-attrs" combine="interleave">
+    <optional>
+        <attribute name="text:restart-numbering" a:defaultValue="false">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="heading-attrs" combine="interleave">
+    <optional>
+        <attribute name="text:start-value">
+            <ref name="nonNegativeInteger"/>
+        </attribute>
+    </optional>
+</define>
+<define name="heading-attrs" combine="interleave">
+    <optional>
+        <attribute name="text:is-list-header" a:defaultValue="false">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-number">
+    <element name="text:number">
+        <ref name="string"/>
+    </element>
+</define>
+<define name="text-p">
+    <element name="text:p">
+        <ref name="paragraph-attrs"/>
+        <zeroOrMore>
+            <ref name="paragraph-content"/>
+        </zeroOrMore>
+    </element>
+</define>
+<define name="paragraph-attrs">
+    <optional>
+        <attribute name="text:style-name">
+            <ref name="styleNameRef"/>
+        </attribute>
+    </optional>
+    <optional>
+        <attribute name="text:class-names">
+            <ref name="styleNameRefs"/>
+        </attribute>
+    </optional>
+    <optional>
+        <attribute name="text:cond-style-name">
+            <ref name="styleNameRef"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-attrs" combine="interleave">
+    <optional>
+        <ref name="text-id"/>
+    </optional>
+</define>
+<define name="text-page-sequence">
+    <element name="text:page-sequence">
+        <oneOrMore>
+            <ref name="text-page"/>
+        </oneOrMore>
+    </element>
+</define>
+<define name="text-page">
+    <element name="text:page">
+        <ref name="text-page-attlist"/>
+        <empty/>
+    </element>
+</define>
+<define name="text-page-attlist">
+    <attribute name="text:master-page-name">
+        <ref name="styleNameRef"/>
+    </attribute>
+</define>
+<define name="text-list">
+    <element name="text:list">
+        <ref name="text-list-attr"/>
+        <optional>
+            <ref name="text-list-header"/>
+        </optional>
+        <zeroOrMore>
+            <ref name="text-list-item"/>
+        </zeroOrMore>
+    </element>
+</define>
+<define name="text-list-attr" combine="interleave">
+    <optional>
+        <attribute name="text:style-name">
+            <ref name="styleNameRef"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-list-attr" combine="interleave">
+    <optional>
+        <attribute name="text:continue-numbering">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-list-item">
+    <element name="text:list-item">
+        <ref name="text-list-item-attr"/>
+        <ref name="text-list-item-content"/>
+    </element>
+</define>
+<define name="text-list-item-content">
+    <optional>
+        <ref name="text-number"/>
+    </optional>
+    <zeroOrMore>
+        <choice>
+            <ref name="text-p"/>
+            <ref name="text-h"/>
+            <ref name="text-list"/>
+        </choice>
+    </zeroOrMore>
+</define>
+<define name="text-list-item-attr" combine="interleave">
+    <optional>
+        <attribute name="text:start-value">
+            <ref name="nonNegativeInteger"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-list-header">
+    <element name="text:list-header">
+        <ref name="text-list-item-content"/>
+    </element>
+</define>
+<define name="text-numbered-paragraph">
+    <element name="text:numbered-paragraph">
+        <ref name="text-numbered-paragraph-attr"/>
+        <optional>
+            <ref name="text-number"/>
+        </optional>
+        <choice>
+            <ref name="text-p"/>
+            <ref name="text-h"/>
+        </choice>
+    </element>
+</define>
+<define name="text-numbered-paragraph-attr" combine="interleave">
+    <optional>
+        <attribute name="text:level" a:defaultValue="1">
+            <ref name="positiveInteger"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-numbered-paragraph-attr" combine="interleave">
+    <ref name="text-list-attr"/>
+</define>
+<define name="text-numbered-paragraph-attr" combine="interleave">
+    <ref name="text-list-item-attr"/>
+</define>
+<define name="text-section">
+    <element name="text:section">
+        <ref name="text-section-attr"/>
+        <choice>
+            <ref name="text-section-source"/>
+            <ref name="text-section-source-dde"/>
+            <empty/>
+        </choice>
+        <zeroOrMore>
+            <ref name="text-content"/>
+        </zeroOrMore>
+    </element>
+</define>
+<define name="text-section-attr" combine="interleave">
+    <ref name="sectionAttr"/>
+</define>
+<define name="sectionAttr" combine="interleave">
+    <optional>
+        <attribute name="text:style-name">
+            <ref name="styleNameRef"/>
+        </attribute>
+    </optional>
+</define>
+<define name="sectionAttr" combine="interleave">
+    <attribute name="text:name">
+        <ref name="string"/>
+    </attribute>
+</define>
+<define name="sectionAttr" combine="interleave">
+    <optional>
+        <attribute name="text:protected">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="sectionAttr" combine="interleave">
+    <optional>
+        <attribute name="text:protection-key">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-section-attr" combine="interleave">
+    <choice>
+        <attribute name="text:display">
+            <choice>
+                <value>true</value>
+                <value>none</value>
+            </choice>
+        </attribute>
+        <group>
+            <attribute name="text:display">
+                <value>condition</value>
+            </attribute>
+            <attribute name="text:condition">
+                <ref name="string"/>
+            </attribute>
+        </group>
+        <empty/>
+    </choice>
+</define>
+<define name="text-section-source">
+    <element name="text:section-source">
+        <ref name="text-section-source-attr"/>
+    </element>
+</define>
+<define name="text-section-source-attr" combine="interleave">
+    <optional>
+        <attribute name="xlink:href">
+            <ref name="anyURI"/>
+        </attribute>
+        <optional>
+            <attribute name="xlink:type" a:defaultValue="simple">
+                <value>simple</value>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="xlink:show" a:defaultValue="embed">
+                <value>embed</value>
+            </attribute>
+        </optional>
+    </optional>
+</define>
+<define name="text-section-source-attr" combine="interleave">
+    <optional>
+        <attribute name="text:section-name">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-section-source-attr" combine="interleave">
+    <optional>
+        <attribute name="text:filter-name">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-section-source-dde">
+    <ref name="office-dde-source"/>
+</define>
+<define name="text-tracked-changes">
+    <optional>
+        <element name="text:tracked-changes">
+            <ref name="text-tracked-changes-attr"/>
+            <zeroOrMore>
+                <ref name="text-changed-region"/>
+            </zeroOrMore>
+        </element>
+    </optional>
+</define>
+<define name="text-tracked-changes-attr" combine="interleave">
+    <optional>
+        <attribute name="text:track-changes" a:defaultValue="true">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-changed-region">
+    <element name="text:changed-region">
+        <ref name="text-changed-region-attr"/>
+        <ref name="text-changed-region-content"/>
+    </element>
+</define>
+<define name="text-changed-region-attr" combine="interleave">
+    <attribute name="text:id">
+        <ref name="ID"/>
+    </attribute>
+</define>
+<define name="text-changed-region-content" combine="choice">
+    <element name="text:insertion">
+        <ref name="office-change-info"/>
+    </element>
+</define>
+<define name="text-changed-region-content" combine="choice">
+    <element name="text:deletion">
+        <ref name="office-change-info"/>
+        <zeroOrMore>
+            <ref name="text-content"/>
+        </zeroOrMore>
+    </element>
+</define>
+<define name="text-changed-region-content" combine="choice">
+    <element name="text:format-change">
+        <ref name="office-change-info"/>
+    </element>
+</define>
+<define name="change-marks">
+    <choice>
+        <element name="text:change">
+            <ref name="change-mark-attr"/>
+        </element>
+        <element name="text:change-start">
+            <ref name="change-mark-attr"/>
+        </element>
+        <element name="text:change-end">
+            <ref name="change-mark-attr"/>
+        </element>
+    </choice>
+</define>
+<define name="change-mark-attr">
+    <attribute name="text:change-id">
+        <ref name="IDREF"/>
+    </attribute>
+</define>
+<define name="text-decls">
+    <optional>
+        <element name="text:variable-decls">
+            <zeroOrMore>
+                <ref name="text-variable-decl"/>
+            </zeroOrMore>
+        </element>
+    </optional>
+    <optional>
+        <element name="text:sequence-decls">
+            <zeroOrMore>
+                <ref name="text-sequence-decl"/>
+            </zeroOrMore>
+        </element>
+    </optional>
+    <optional>
+        <element name="text:user-field-decls">
+            <zeroOrMore>
+                <ref name="text-user-field-decl"/>
+            </zeroOrMore>
+        </element>
+    </optional>
+    <optional>
+        <element name="text:dde-connection-decls">
+            <zeroOrMore>
+                <ref name="text-dde-connection-decl"/>
+            </zeroOrMore>
+        </element>
+    </optional>
+    <optional>
+        <ref name="text-alphabetical-index-auto-mark-file"/>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <text/>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:s">
+        <optional>
+            <attribute name="text:c">
+                <ref name="nonNegativeInteger"/>
+            </attribute>
+        </optional>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:tab">
+        <ref name="text-tab-attr"/>
+    </element>
+</define>
+<define name="text-tab-attr">
+    <optional>
+        <attribute name="text:tab-ref">
+            <ref name="nonNegativeInteger"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:line-break">
+        <empty/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:span">
+        <optional>
+            <attribute name="text:style-name">
+                <ref name="styleNameRef"/>
+            </attribute>
+        </optional>
+        <optional>
+            <attribute name="text:class-names">
+                <ref name="styleNameRefs"/>
+            </attribute>
+        </optional>
+        <zeroOrMore>
+            <ref name="paragraph-content"/>
+        </zeroOrMore>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:a">
+        <ref name="text-a-attlist"/>
+        <optional>
+            <ref name="office-event-listeners"/>
+        </optional>
+        <zeroOrMore>
+            <ref name="paragraph-content"/>
+        </zeroOrMore>
+    </element>
+</define>
+<define name="text-a-attlist" combine="interleave">
+    <optional>
+        <attribute name="office:name">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-a-attlist" combine="interleave">
+    <attribute name="xlink:href">
+        <ref name="anyURI"/>
+    </attribute>
+    <optional>
+        <attribute name="xlink:type" a:defaultValue="simple">
+            <value>simple</value>
+        </attribute>
+    </optional>
+    <optional>
+        <attribute name="xlink:actuate" a:defaultValue="onRequest">
+            <value>onRequest</value>
+        </attribute>
+    </optional>
+</define>
+<define name="text-a-attlist" combine="interleave">
+    <optional>
+        <attribute name="office:target-frame-name">
+            <ref name="targetFrameName"/>
+        </attribute>
+    </optional>
+    <optional>
+        <attribute name="xlink:show">
+            <choice>
+                <value>new</value>
+                <value>replace</value>
+            </choice>
+        </attribute>
+    </optional>
+</define>
+<define name="text-a-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:style-name">
+            <ref name="styleNameRef"/>
+        </attribute>
+    </optional>
+    <optional>
+        <attribute name="text:visited-style-name">
+            <ref name="styleNameRef"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <choice>
+        <element name="text:bookmark">
+            <attribute name="text:name">
+                <ref name="string"/>
+            </attribute>
+        </element>
+        <element name="text:bookmark-start">
+            <attribute name="text:name">
+                <ref name="string"/>
+            </attribute>
+        </element>
+        <element name="text:bookmark-end">
+            <attribute name="text:name">
+                <ref name="string"/>
+            </attribute>
+        </element>
+    </choice>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:reference-mark">
+        <attribute name="text:name">
+            <ref name="string"/>
+        </attribute>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <choice>
+        <element name="text:reference-mark-start">
+            <attribute name="text:name">
+                <ref name="string"/>
+            </attribute>
+        </element>
+        <element name="text:reference-mark-end">
+            <attribute name="text:name">
+                <ref name="string"/>
+            </attribute>
+        </element>
+    </choice>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:note">
+        <ref name="text-note-class"/>
+        <optional>
+            <attribute name="text:id">
+                <ref name="string"/>
+            </attribute>
+        </optional>
+        <element name="text:note-citation">
+            <optional>
+                <attribute name="text:label">
+                    <ref name="string"/>
+                </attribute>
+            </optional>
+            <text/>
+        </element>
+        <element name="text:note-body">
+            <zeroOrMore>
+                <ref name="text-content"/>
+            </zeroOrMore>
+        </element>
+    </element>
+</define>
+<define name="text-note-class">
+    <attribute name="text:note-class">
+        <choice>
+            <value>footnote</value>
+            <value>endnote</value>
+        </choice>
+    </attribute>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:ruby">
+        <optional>
+            <attribute name="text:style-name">
+                <ref name="styleNameRef"/>
+            </attribute>
+        </optional>
+        <element name="text:ruby-base">
+            <ref name="paragraph-content"/>
+        </element>
+        <element name="text:ruby-text">
+            <optional>
+                <attribute name="text:style-name">
+                    <ref name="styleNameRef"/>
+                </attribute>
+            </optional>
+            <text/>
+        </element>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <ref name="office-annotation"/>
+</define>
+<define name="paragraph-content" combine="choice">
+    <ref name="change-marks"/>
+</define>
+<define name="paragraph-content" combine="choice">
+    <choice>
+        <ref name="shape"/>
+        <ref name="draw-a"/>
+    </choice>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:date">
+        <ref name="text-date-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="text-date-attlist" combine="interleave">
+    <interleave>
+        <ref name="common-field-fixed-attlist"/>
+        <ref name="common-field-data-style-name-attlist"/>
+    </interleave>
+</define>
+<define name="text-date-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:date-value">
+            <ref name="dateOrDateTime"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-date-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:date-adjust">
+            <ref name="duration"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:time">
+        <ref name="text-time-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="text-time-attlist" combine="interleave">
+    <interleave>
+        <ref name="common-field-fixed-attlist"/>
+        <ref name="common-field-data-style-name-attlist"/>
+    </interleave>
+</define>
+<define name="text-time-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:time-value">
+            <ref name="timeOrDateTime"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-time-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:time-adjust">
+            <ref name="duration"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:page-number">
+        <ref name="text-page-number-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="text-page-number-attlist" combine="interleave">
+    <interleave>
+        <ref name="common-field-num-format-attlist"/>
+        <ref name="common-field-fixed-attlist"/>
+    </interleave>
+</define>
+<define name="text-page-number-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:page-adjust">
+            <ref name="integer"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-page-number-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:select-page">
+            <choice>
+                <value>previous</value>
+                <value>current</value>
+                <value>next</value>
+            </choice>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:page-continuation">
+        <ref name="text-page-continuation-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="text-page-continuation-attlist" combine="interleave">
+    <attribute name="text:select-page">
+        <choice>
+            <value>previous</value>
+            <value>next</value>
+        </choice>
+    </attribute>
+</define>
+<define name="text-page-continuation-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:string-value">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-firstname">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-lastname">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-initials">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-title">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-position">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-email">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-phone-private">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-fax">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-company">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-phone-work">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-street">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-city">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-postal-code">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-country">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sender-state-or-province">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:author-name">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:author-initials">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:chapter">
+        <ref name="text-chapter-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="text-chapter-attlist" combine="interleave">
+    <attribute name="text:display">
+        <choice>
+            <value>name</value>
+            <value>number</value>
+            <value>number-and-name</value>
+            <value>plain-number-and-name</value>
+            <value>plain-number</value>
+        </choice>
+    </attribute>
+</define>
+<define name="text-chapter-attlist" combine="interleave">
+    <attribute name="text:outline-level">
+        <ref name="nonNegativeInteger"/>
+    </attribute>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:file-name">
+        <ref name="text-file-name-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="text-file-name-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:display">
+            <choice>
+                <value>full</value>
+                <value>path</value>
+                <value>name</value>
+                <value>name-and-extension</value>
+            </choice>
+        </attribute>
+    </optional>
+</define>
+<define name="text-file-name-attlist" combine="interleave">
+    <ref name="common-field-fixed-attlist"/>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:template-name">
+        <ref name="text-template-name-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="text-template-name-attlist">
+    <optional>
+        <attribute name="text:display">
+            <choice>
+                <value>full</value>
+                <value>path</value>
+                <value>name</value>
+                <value>name-and-extension</value>
+                <value>area</value>
+                <value>title</value>
+            </choice>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sheet-name">
+        <text/>
+    </element>
+</define>
+<define name="text-variable-decl">
+    <element name="text:variable-decl">
+        <ref name="common-field-name-attlist"/>
+        <ref name="common-value-type-attlist"/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:variable-set">
+        <interleave>
+            <ref name="common-field-name-attlist"/>
+            <ref name="common-field-formula-attlist"/>
+            <ref name="common-value-and-type-attlist"/>
+            <ref name="common-field-display-value-none-attlist"/>
+            <ref name="common-field-data-style-name-attlist"/>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:variable-get">
+        <interleave>
+            <ref name="common-field-name-attlist"/>
+            <ref name="common-field-display-value-formula-attlist"/>
+            <ref name="common-field-data-style-name-attlist"/>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:variable-input">
+        <interleave>
+            <ref name="common-field-name-attlist"/>
+            <ref name="common-field-description-attlist"/>
+            <ref name="common-value-type-attlist"/>
+            <ref name="common-field-display-value-none-attlist"/>
+            <ref name="common-field-data-style-name-attlist"/>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="text-user-field-decl">
+    <element name="text:user-field-decl">
+        <ref name="common-field-name-attlist"/>
+        <optional>
+            <ref name="common-field-formula-attlist"/>
+        </optional>
+        <ref name="common-value-and-type-attlist"/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:user-field-get">
+        <interleave>
+            <ref name="common-field-name-attlist"/>
+            <ref name="common-field-display-value-formula-none-attlist"/>
+            <ref name="common-field-data-style-name-attlist"/>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:user-field-input">
+        <interleave>
+            <ref name="common-field-name-attlist"/>
+            <ref name="common-field-description-attlist"/>
+            <ref name="common-field-data-style-name-attlist"/>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="text-sequence-decl">
+    <element name="text:sequence-decl">
+        <ref name="text-sequence-decl-attlist"/>
+    </element>
+</define>
+<define name="text-sequence-decl-attlist" combine="interleave">
+    <ref name="common-field-name-attlist"/>
+</define>
+<define name="text-sequence-decl-attlist" combine="interleave">
+    <attribute name="text:display-outline-level">
+        <ref name="nonNegativeInteger"/>
+    </attribute>
+</define>
+<define name="text-sequence-decl-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:separation-character">
+            <ref name="character"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sequence">
+        <interleave>
+            <ref name="common-field-name-attlist"/>
+            <ref name="common-field-formula-attlist"/>
+            <ref name="common-field-num-format-attlist"/>
+            <ref name="text-sequence-ref-name"/>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="text-sequence-ref-name">
+    <optional>
+        <attribute name="text:ref-name">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:expression">
+        <interleave>
+            <ref name="common-field-formula-attlist"/>
+            <optional>
+                <ref name="common-value-and-type-attlist"/>
+            </optional>
+            <ref name="common-field-display-value-formula-attlist"/>
+            <ref name="common-field-data-style-name-attlist"/>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:text-input">
+        <ref name="common-field-description-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:initial-creator">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:creation-date">
+        <interleave>
+            <ref name="common-field-fixed-attlist"/>
+            <ref name="common-field-data-style-name-attlist"/>
+            <optional>
+                <attribute name="text:date-value">
+                    <ref name="dateOrDateTime"/>
+                </attribute>
+            </optional>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:creation-time">
+        <interleave>
+            <ref name="common-field-fixed-attlist"/>
+            <ref name="common-field-data-style-name-attlist"/>
+            <optional>
+                <attribute name="text:time-value">
+                    <ref name="timeOrDateTime"/>
+                </attribute>
+            </optional>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:description">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:user-defined">
+        <interleave>
+            <ref name="common-field-fixed-attlist"/>
+            <attribute name="text:name">
+                <ref name="string"/>
+            </attribute>
+            <ref name="common-field-data-style-name-attlist"/>
+            <optional>
+                <attribute name="office:value">
+                    <ref name="double"/>
+                </attribute>
+            </optional>
+            <optional>
+                <attribute name="office:date-value">
+                    <ref name="dateOrDateTime"/>
+                </attribute>
+            </optional>
+            <optional>
+                <attribute name="office:time-value">
+                    <ref name="duration"/>
+                </attribute>
+            </optional>
+            <optional>
+                <attribute name="office:boolean-value">
+                    <ref name="boolean"/>
+                </attribute>
+            </optional>
+            <optional>
+                <attribute name="office:string-value">
+                    <ref name="string"/>
+                </attribute>
+            </optional>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:print-time">
+        <interleave>
+            <ref name="common-field-fixed-attlist"/>
+            <ref name="common-field-data-style-name-attlist"/>
+            <optional>
+                <attribute name="text:time-value">
+                    <ref name="time"/>
+                </attribute>
+            </optional>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:print-date">
+        <interleave>
+            <ref name="common-field-fixed-attlist"/>
+            <ref name="common-field-data-style-name-attlist"/>
+            <optional>
+                <attribute name="text:date-value">
+                    <ref name="date"/>
+                </attribute>
+            </optional>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:printed-by">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:title">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:subject">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:keywords">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:editing-cycles">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:editing-duration">
+        <interleave>
+            <ref name="common-field-fixed-attlist"/>
+            <ref name="common-field-data-style-name-attlist"/>
+            <optional>
+                <attribute name="text:duration">
+                    <ref name="duration"/>
+                </attribute>
+            </optional>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:modification-time">
+        <interleave>
+            <ref name="common-field-fixed-attlist"/>
+            <ref name="common-field-data-style-name-attlist"/>
+            <optional>
+                <attribute name="text:time-value">
+                    <ref name="time"/>
+                </attribute>
+            </optional>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:modification-date">
+        <interleave>
+            <ref name="common-field-fixed-attlist"/>
+            <ref name="common-field-data-style-name-attlist"/>
+            <optional>
+                <attribute name="text:date-value">
+                    <ref name="date"/>
+                </attribute>
+            </optional>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:creator">
+        <ref name="common-field-fixed-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element>
+        <choice>
+            <name>text:page-count</name>
+            <name>text:paragraph-count</name>
+            <name>text:word-count</name>
+            <name>text:character-count</name>
+            <name>text:table-count</name>
+            <name>text:image-count</name>
+            <name>text:object-count</name>
+        </choice>
+        <ref name="common-field-num-format-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="common-field-database-table">
+    <ref name="common-field-database-table-attlist"/>
+    <ref name="common-field-database-name"/>
+</define>
+<define name="common-field-database-name" combine="choice">
+    <optional>
+        <attribute name="text:database-name">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+</define>
+<define name="common-field-database-name" combine="choice">
+    <ref name="form-connection-resource"/>
+</define>
+<define name="common-field-database-table-attlist" combine="interleave">
+    <attribute name="text:table-name">
+        <ref name="string"/>
+    </attribute>
+</define>
+<define name="common-field-database-table-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:table-type">
+            <choice>
+                <value>table</value>
+                <value>query</value>
+                <value>command</value>
+            </choice>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:database-display">
+        <ref name="text-database-display-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="text-database-display-attlist" combine="interleave">
+    <ref name="common-field-database-table"/>
+</define>
+<define name="text-database-display-attlist" combine="interleave">
+    <ref name="common-field-data-style-name-attlist"/>
+</define>
+<define name="text-database-display-attlist" combine="interleave">
+    <attribute name="text:column-name">
+        <ref name="string"/>
+    </attribute>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:database-next">
+        <ref name="text-database-next-attlist"/>
+    </element>
+</define>
+<define name="text-database-next-attlist" combine="interleave">
+    <ref name="common-field-database-table"/>
+</define>
+<define name="text-database-next-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:condition">
+            <ref name="formula"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:database-row-select">
+        <ref name="text-database-row-select-attlist"/>
+    </element>
+</define>
+<define name="text-database-row-select-attlist" combine="interleave">
+    <ref name="common-field-database-table"/>
+</define>
+<define name="text-database-row-select-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:condition">
+            <ref name="formula"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-database-row-select-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:row-number">
+            <ref name="nonNegativeInteger"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:database-row-number">
+        <interleave>
+            <ref name="common-field-database-table"/>
+            <ref name="common-field-num-format-attlist"/>
+            <optional>
+                <attribute name="text:value">
+                    <ref name="nonNegativeInteger"/>
+                </attribute>
+            </optional>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:database-name">
+        <ref name="common-field-database-table"/>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:page-variable-set">
+        <ref name="text-set-page-variable-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="text-set-page-variable-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:active">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-set-page-variable-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:page-adjust">
+            <ref name="integer"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:page-variable-get">
+        <ref name="text-get-page-variable-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="text-get-page-variable-attlist" combine="interleave">
+    <ref name="common-field-num-format-attlist"/>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:placeholder">
+        <ref name="text-placeholder-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="text-placeholder-attlist" combine="interleave">
+    <attribute name="text:placeholder-type">
+        <choice>
+            <value>text</value>
+            <value>table</value>
+            <value>text-box</value>
+            <value>image</value>
+            <value>object</value>
+        </choice>
+    </attribute>
+</define>
+<define name="text-placeholder-attlist" combine="interleave">
+    <ref name="common-field-description-attlist"/>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:conditional-text">
+        <ref name="text-conditional-text-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="text-conditional-text-attlist" combine="interleave">
+    <attribute name="text:condition">
+        <ref name="formula"/>
+    </attribute>
+</define>
+<define name="text-conditional-text-attlist" combine="interleave">
+    <attribute name="text:string-value-if-true">
+        <ref name="string"/>
+    </attribute>
+</define>
+<define name="text-conditional-text-attlist" combine="interleave">
+    <attribute name="text:string-value-if-false">
+        <ref name="string"/>
+    </attribute>
+</define>
+<define name="text-conditional-text-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:current-value">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:hidden-text">
+        <ref name="text-hidden-text-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="text-hidden-text-attlist" combine="interleave">
+    <attribute name="text:condition">
+        <ref name="formula"/>
+    </attribute>
+</define>
+<define name="text-hidden-text-attlist" combine="interleave">
+    <attribute name="text:string-value">
+        <ref name="string"/>
+    </attribute>
+</define>
+<define name="text-hidden-text-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:is-hidden">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element>
+        <choice>
+            <name>text:reference-ref</name>
+            <name>text:bookmark-ref</name>
+        </choice>
+        <interleave>
+            <ref name="text-common-ref-content"/>
+            <ref name="text-ref-content"/>
+        </interleave>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:note-ref">
+        <interleave>
+            <ref name="text-common-ref-content"/>
+            <ref name="text-note-ref-content"/>
+            <ref name="text-ref-content"/>
+        </interleave>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:sequence-ref">
+        <interleave>
+            <ref name="text-common-ref-content"/>
+            <ref name="text-sequence-ref-content"/>
+        </interleave>
+    </element>
+</define>
+<define name="text-common-ref-content" combine="interleave">
+    <text/>
+</define>
+<define name="text-common-ref-content" combine="interleave">
+    <optional>
+        <attribute name="text:ref-name">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-note-ref-content" combine="interleave">
+    <ref name="text-note-class"/>
+</define>
+<define name="text-ref-content" combine="interleave">
+    <optional>
+        <attribute name="text:reference-format">
+            <choice>
+                <value>page</value>
+                <value>chapter</value>
+                <value>direction</value>
+                <value>text</value>
+            </choice>
+        </attribute>
+    </optional>
+</define>
+<define name="text-sequence-ref-content" combine="interleave">
+    <optional>
+        <attribute name="text:reference-format">
+            <choice>
+                <value>page</value>
+                <value>chapter</value>
+                <value>direction</value>
+                <value>text</value>
+                <value>category-and-value</value>
+                <value>caption</value>
+                <value>value</value>
+            </choice>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:script">
+        <interleave>
+            <choice>
+                <group>
+                    <attribute name="xlink:href">
+                        <ref name="anyURI"/>
+                    </attribute>
+                    <optional>
+                        <attribute name="xlink:type" a:defaultValue="simple">
+                            <value>simple</value>
+                        </attribute>
+                    </optional>
+                </group>    
+                <text/>
+            </choice>
+            <optional>
+                <attribute name="script:language">
+                    <ref name="string"/>
+                </attribute>
+            </optional>
+        </interleave>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:execute-macro">
+        <optional>
+            <attribute name="text:name">
+                <ref name="string"/>
+            </attribute>
+        </optional>
+        <optional>
+            <ref name="office-event-listeners"/>
+        </optional>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:hidden-paragraph">
+        <ref name="text-hidden-paragraph-attlist"/>
+        <text/>
+    </element>
+</define>
+<define name="text-hidden-paragraph-attlist" combine="interleave">
+    <attribute name="text:condition">
+        <ref name="formula"/>
+    </attribute>
+</define>
+<define name="text-hidden-paragraph-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:is-hidden">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:dde-connection">
+        <attribute name="text:connection-name">
+            <ref name="string"/>
+        </attribute>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:measure">
+        <attribute name="text:kind">
+            <choice>
+                <value>value</value>
+                <value>unit</value>
+                <value>gap</value>
+            </choice>
+        </attribute>
+        <text/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:table-formula">
+        <interleave>
+            <ref name="common-field-formula-attlist"/>
+            <ref name="common-field-display-value-formula-attlist"/>
+            <ref name="common-field-data-style-name-attlist"/>
+        </interleave>
+        <text/>
+    </element>
+</define>
+<define name="common-value-type-attlist">
+    <attribute name="office:value-type">
+        <ref name="valueType"/>
+    </attribute>
+</define>
+<define name="common-value-and-type-attlist">
+    <choice>
+        <group>
+            <attribute name="office:value-type">
+                <value>float</value>
+            </attribute>
+            <attribute name="office:value">
+                <ref name="double"/>
+            </attribute>
+        </group>
+        <group>
+            <attribute name="office:value-type">
+                <value>percentage</value>
+            </attribute>
+            <attribute name="office:value">
+                <ref name="double"/>
+            </attribute>
+        </group>
+        <group>
+            <attribute name="office:value-type">
+                <value>currency</value>
+            </attribute>
+            <attribute name="office:value">
+                <ref name="double"/>
+            </attribute>
+            <optional>
+                <attribute name="office:currency">
+                    <ref name="string"/>
+                </attribute>
+            </optional>
+        </group>
+        <group>
+            <attribute name="office:value-type">
+                <value>date</value>
+            </attribute>
+            <attribute name="office:date-value">
+                <ref name="dateOrDateTime"/>
+            </attribute>
+        </group>
+        <group>
+            <attribute name="office:value-type">
+                <value>time</value>
+            </attribute>
+            <attribute name="office:time-value">
+                <ref name="duration"/>
+            </attribute>
+        </group>
+        <group>
+            <attribute name="office:value-type">
+                <value>boolean</value>
+            </attribute>
+            <attribute name="office:boolean-value">
+                <ref name="boolean"/>
+            </attribute>
+        </group>
+        <group>
+            <attribute name="office:value-type">
+                <value>string</value>
+            </attribute>
+            <optional>
+                <attribute name="office:string-value">
+                    <ref name="string"/>
+                </attribute>
+            </optional>
+        </group>
+    </choice>
+</define>
+<define name="common-field-fixed-attlist">
+    <optional>
+        <attribute name="text:fixed">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="common-field-name-attlist">
+    <attribute name="text:name">
+        <ref name="variableName"/>
+    </attribute>
+</define>
+<define name="common-field-description-attlist">
+    <optional>
+        <attribute name="text:description">
+            <text/>
+        </attribute>
+    </optional>
+</define>
+<define name="common-field-display-value-none-attlist">
+    <optional>
+        <attribute name="text:display">
+            <choice>
+                <value>value</value>
+                <value>none</value>
+            </choice>
+        </attribute>
+    </optional>
+</define>
+<define name="common-field-display-value-formula-none-attlist">
+    <optional>
+        <attribute name="text:display">
+            <choice>
+                <value>value</value>
+                <value>formula</value>
+                <value>none</value>
+            </choice>
+        </attribute>
+    </optional>
+</define>
+<define name="common-field-display-value-formula-attlist">
+    <optional>
+        <attribute name="text:display">
+            <choice>
+                <value>value</value>
+                <value>formula</value>
+            </choice>
+        </attribute>
+    </optional>
+</define>
+<define name="common-field-formula-attlist">
+    <optional>
+        <attribute name="text:formula">
+            <ref name="formula"/>
+        </attribute>
+    </optional>
+</define>
+<define name="common-field-data-style-name-attlist">
+    <optional>
+        <attribute name="style:data-style-name">
+            <ref name="styleNameRef"/>
+        </attribute>
+    </optional>
+</define>
+<define name="common-field-num-format-attlist">
+    <optional>
+        <ref name="common-num-format-attlist"/>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:toc-mark-start">
+        <ref name="text-toc-mark-start-attrs"/>
+    </element>
+</define>
+<define name="text-toc-mark-start-attrs">
+    <ref name="text-id"/>
+    <ref name="text-outline-level"/>
+</define>
+<define name="text-outline-level">
+    <optional>
+        <attribute name="text:outline-level">
+            <ref name="positiveInteger"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-id">
+    <attribute name="text:id">
+        <ref name="string"/>
+    </attribute>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:toc-mark-end">
+        <ref name="text-id"/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:toc-mark">
+        <attribute name="text:string-value">
+            <ref name="string"/>
+        </attribute>
+        <ref name="text-outline-level"/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:user-index-mark-start">
+        <ref name="text-id"/>
+        <ref name="text-outline-level"/>
+        <ref name="text-index-name"/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:user-index-mark-end">
+        <ref name="text-id"/>
+        <ref name="text-outline-level"/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:user-index-mark">
+        <attribute name="text:string-value">
+            <ref name="string"/>
+        </attribute>
+        <ref name="text-outline-level"/>
+        <ref name="text-index-name"/>
+    </element>
+</define>
+<define name="text-index-name">
+    <attribute name="text:index-name">
+        <ref name="string"/>
+    </attribute>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:alphabetical-index-mark-start">
+        <ref name="text-id"/>
+        <ref name="text-alphabetical-index-mark-attrs"/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:alphabetical-index-mark-end">
+        <ref name="text-id"/>
+    </element>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:alphabetical-index-mark">
+        <attribute name="text:string-value">
+            <ref name="string"/>
+        </attribute>
+        <ref name="text-alphabetical-index-mark-attrs"/>
+    </element>
+</define>
+<define name="text-alphabetical-index-mark-attrs" combine="interleave">
+    <optional>
+        <attribute name="text:key1">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+    <optional>
+        <attribute name="text:key2">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-alphabetical-index-mark-attrs" combine="interleave">
+    <optional>
+        <attribute name="text:string-value-phonetic">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+    <optional>
+        <attribute name="text:key1-phonetic">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+    <optional>
+        <attribute name="text:key2-phonetic">
+            <ref name="string"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-alphabetical-index-mark-attrs" combine="interleave">
+    <optional>
+        <attribute name="text:main-entry" a:defaultValue="false">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+    <element name="text:bibliography-mark">
+        <attribute name="text:bibliography-type">
+            <ref name="text-bibliography-types"/>
+        </attribute>
+        <zeroOrMore>
+            <attribute>
+                <choice>
+                    <name>text:identifier</name>
+                    <name>text:address</name>
+                    <name>text:annote</name>
+                    <name>text:author</name>
+                    <name>text:booktitle</name>
+                    <name>text:chapter</name>
+                    <name>text:edition</name>
+                    <name>text:editor</name>
+                    <name>text:howpublished</name>
+                    <name>text:institution</name>
+                    <name>text:journal</name>
+                    <name>text:month</name>
+                    <name>text:note</name>
+                    <name>text:number</name>
+                    <name>text:organizations</name>
+                    <name>text:pages</name>
+                    <name>text:publisher</name>
+                    <name>text:school</name>
+                    <name>text:series</name>
+                    <name>text:title</name>
+                    <name>text:report-type</name>
+                    <name>text:volume</name>
+                    <name>text:year</name>
+                    <name>text:url</name>
+                    <name>text:custom1</name>
+                    <name>text:custom2</name>
+                    <name>text:custom3</name>
+                    <name>text:custom4</name>
+                    <name>text:custom5</name>
+                    <name>text:isbn</name>
+                    <name>text:issn</name>
+                </choice>
+                <ref name="string"/>
+            </attribute>
+        </zeroOrMore>
+        <text/>
+    </element>
+</define>
+<define name="text-bibliography-types">
+    <choice>
+        <value>article</value>
+        <value>book</value>
+        <value>booklet</value>
+        <value>conference</value>
+        <value>custom1</value>
+        <value>custom2</value>
+        <value>custom3</value>
+        <value>custom4</value>
+        <value>custom5</value>
+        <value>email</value>
+        <value>inbook</value>
+        <value>incollection</value>
+        <value>inproceedings</value>
+        <value>journal</value>
+        <value>manual</value>
+        <value>mastersthesis</value>
+        <value>misc</value>
+        <value>phdthesis</value>
+        <value>proceedings</value>
+        <value>techreport</value>
+        <value>unpublished</value>
+        <value>www</value>
+    </choice>
+</define>
+<define name="text-index-body">
+    <element name="text:index-body">
+        <zeroOrMore>
+            <ref name="index-content-main"/>
+        </zeroOrMore>
+    </element>
+</define>
+<define name="index-content-main">
+    <choice>
+        <ref name="text-content"/>
+        <ref name="text-index-title"/>
+    </choice>
+</define>
+<define name="text-index-title">
+    <element name="text:index-title">
+        <ref name="sectionAttr"/>
+        <zeroOrMore>
+            <ref name="index-content-main"/>
+        </zeroOrMore>
+    </element>
+</define>
+<define name="text-table-of-content">
+    <element name="text:table-of-content">
+        <ref name="sectionAttr"/>
+        <ref name="text-table-of-content-source"/>
+        <ref name="text-index-body"/>
+    </element>
+</define>
+<define name="text-table-of-content-source">
+    <element name="text:table-of-content-source">
+        <ref name="text-table-of-content-source-attlist"/>
+        <optional>
+            <ref name="text-index-title-template"/>
+        </optional>
+        <zeroOrMore>
+            <ref name="text-table-of-content-entry-template"/>
+        </zeroOrMore>
+        <zeroOrMore>
+            <ref name="text-index-source-styles"/>
+        </zeroOrMore>
+    </element>
+</define>
+<define name="text-table-of-content-source-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:outline-level">
+            <choice>
+                <ref name="positiveInteger"/>
+            </choice>
+        </attribute>
+    </optional>
+</define>
+<define name="text-table-of-content-source-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:use-outline-level" a:defaultValue="true">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-table-of-content-source-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:use-index-marks">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-table-of-content-source-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:use-index-source-styles">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-table-of-content-source-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:index-scope">
+            <choice>
+                <value>document</value>
+                <value>chapter</value>
+            </choice>
+        </attribute>
+    </optional>
+</define>
+<define name="text-table-of-content-source-attlist" combine="interleave">
+    <optional>
+        <attribute name="text:relative-tab-stop-position">
+            <ref name="boolean"/>
+        </attribute>
+    </optional>
+</define>
+<define name="text-table-of-content-entry-template">
+    <element name="text:table-of-content-entry-template">
+        <ref name="text-table-of-content-entry-template-attlist"/>
+        <zeroOrMore>

[... 14859 lines stripped ...]


Mime
View raw message