summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorsten Behrens <Thorsten.Behrens@CIB.de>2016-08-28 22:21:29 +0200
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2016-08-28 22:26:16 +0200
commit70152506d968f407fad3a1cb6959c67f99bd59ce (patch)
tree0e4494c63df01d560e6a741b8c43696bf45c6f7c
parenta8c5edcea9f58a9295776c2a3f200111a5a749ab (diff)
add ODF schema files to core repo
Source: https://tools.oasis-open.org/version-control/svn/office/ Please no changes to those files, these are the official, blessed, OASIS-approved standard schemas, in their respective version. Change-Id: I8538495fe7d9ece0c4e3ad097460a5f41ee7a403
-rw-r--r--schema/odf1.0/OpenDocument-manifest-schema-v1.0-os.rng111
-rw-r--r--schema/odf1.0/OpenDocument-schema-v1.0-os.rng17666
-rw-r--r--schema/odf1.0/OpenDocument-strict-schema-v1.0-os.rng61
-rw-r--r--schema/odf1.1/OpenDocument-manifest-schema-v1.1.rng111
-rw-r--r--schema/odf1.1/OpenDocument-schema-v1.1.rng17891
-rw-r--r--schema/odf1.1/OpenDocument-strict-schema-v1.1.rng61
-rw-r--r--schema/odf1.2/OpenDocument-v1.2-os-dsig-schema.rng84
-rw-r--r--schema/odf1.2/OpenDocument-v1.2-os-manifest-schema.rng224
-rw-r--r--schema/odf1.2/OpenDocument-v1.2-os-metadata.owl86
-rw-r--r--schema/odf1.2/OpenDocument-v1.2-os-package-metadata.owl81
-rw-r--r--schema/odf1.2/OpenDocument-v1.2-os-schema.rng18127
-rw-r--r--schema/odf1.3/OpenDocument-dsig-schema-v1.3.rng77
-rw-r--r--schema/odf1.3/OpenDocument-manifest-schema-v1.3.rng217
-rw-r--r--schema/odf1.3/OpenDocument-schema-v1.3.rng18079
-rw-r--r--schema/odf1.3/OpenDocument-v1.3-metadata.owl78
-rw-r--r--schema/odf1.3/OpenDocument-v1.3-package-metadata.owl75
16 files changed, 73029 insertions, 0 deletions
diff --git a/schema/odf1.0/OpenDocument-manifest-schema-v1.0-os.rng b/schema/odf1.0/OpenDocument-manifest-schema-v1.0-os.rng
new file mode 100644
index 000000000000..97fe580eab9a
--- /dev/null
+++ b/schema/odf1.0/OpenDocument-manifest-schema-v1.0-os.rng
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ OASIS OpenDocument v1.0
+ OASIS standard, 1 May 2005
+ Relax-NG Manifest Schema
+
+ $Id$
+
+ © 2002-2005 OASIS Open
+ © 1999-2005 Sun Microsystems, Inc.
+-->
+
+<grammar
+ xmlns="http://relaxng.org/ns/structure/1.0"
+
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
+
+ xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0">
+<define name="manifest">
+ <element name="manifest:manifest">
+ <oneOrMore>
+ <ref name="file-entry"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<start>
+ <choice>
+ <ref name="manifest"/>
+ </choice>
+</start>
+<define name="file-entry">
+ <element name="manifest:file-entry">
+ <ref name="file-entry-attlist"/>
+ <optional>
+ <ref name="encryption-data"/>
+ </optional>
+ </element>
+</define>
+<define name="file-entry-attlist" combine="interleave">
+ <attribute name="manifest:full-path">
+ <data type="string"/>
+ </attribute>
+</define>
+<define name="file-entry-attlist" combine="interleave">
+ <optional>
+ <attribute name="manifest:size">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="file-entry-attlist" combine="interleave">
+ <attribute name="manifest:media-type">
+ <data type="string"/>
+ </attribute>
+</define>
+<define name="encryption-data">
+ <element name="manifest:encryption-data">
+ <ref name="encryption-data-attlist"/>
+ <ref name="algorithm"/>
+ <ref name="key-derivation"/>
+ </element>
+</define>
+<define name="encryption-data-attlist" combine="interleave">
+ <attribute name="manifest:checksum-type">
+ <data type="string"/>
+ </attribute>
+</define>
+<define name="encryption-data-attlist" combine="interleave">
+ <attribute name="manifest:checksum">
+ <data type="base64Binary"/>
+ </attribute>
+</define>
+<define name="algorithm">
+ <element name="manifest:algorithm">
+ <ref name="algorithm-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="algorithm-attlist" combine="interleave">
+ <attribute name="manifest:algorithm-name">
+ <data type="string"/>
+ </attribute>
+</define>
+<define name="algorithm-attlist" combine="interleave">
+ <attribute name="manifest:initialisation-vector">
+ <data type="base64Binary"/>
+ </attribute>
+</define>
+<define name="key-derivation">
+ <element name="manifest:key-derivation">
+ <ref name="key-derivation-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="key-derivation-attlist" combine="interleave">
+ <attribute name="manifest:key-derivation-name">
+ <data type="string"/>
+ </attribute>
+</define>
+<define name="key-derivation-attlist" combine="interleave">
+ <attribute name="manifest:salt">
+ <data type="base64Binary"/>
+ </attribute>
+</define>
+<define name="key-derivation-attlist" combine="interleave">
+ <attribute name="manifest:iteration-count">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+</define>
+</grammar>
diff --git a/schema/odf1.0/OpenDocument-schema-v1.0-os.rng b/schema/odf1.0/OpenDocument-schema-v1.0-os.rng
new file mode 100644
index 000000000000..cf4ee51741a5
--- /dev/null
+++ b/schema/odf1.0/OpenDocument-schema-v1.0-os.rng
@@ -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>
+ <ref name="text-table-of-content-children"/>
+
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-table-of-content-children">
+ <choice>
+ <ref name="text-index-entry-chapter"/>
+ <ref name="text-index-entry-page-number"/>
+ <ref name="text-index-entry-text"/>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ <ref name="text-index-entry-link-start"/>
+ <ref name="text-index-entry-link-end"/>
+ </choice>
+</define>
+<define name="text-table-of-content-entry-template-attlist"
+ combine="interleave">
+ <attribute name="text:outline-level">
+ <ref name="positiveInteger"/>
+ </attribute>
+</define>
+<define name="text-table-of-content-entry-template-attlist"
+ combine="interleave">
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="text-illustration-index">
+ <element name="text:illustration-index">
+ <ref name="sectionAttr"/>
+ <ref name="text-illustration-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+</define>
+<define name="text-illustration-index-source">
+ <element name="text:illustration-index-source">
+ <ref name="text-illustration-index-source-attrs"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <optional>
+ <ref name="text-illustration-index-entry-template"/>
+ </optional>
+ </element>
+</define>
+<define name="text-illustration-index-source-attrs" combine="interleave">
+ <ref name="text-index-scope-attr"/>
+</define>
+<define name="text-index-scope-attr">
+ <optional>
+ <attribute name="text:index-scope" a:defaultValue="document">
+ <choice>
+ <value>document</value>
+ <value>chapter</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="text-illustration-index-source-attrs" combine="interleave">
+ <ref name="text-relative-tab-stop-position-attr"/>
+</define>
+<define name="text-relative-tab-stop-position-attr">
+ <optional>
+ <attribute name="text:relative-tab-stop-position"
+ a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-illustration-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:use-caption" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-illustration-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:caption-sequence-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-illustration-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:caption-sequence-format">
+ <choice>
+ <value>text</value>
+ <value>category-and-value</value>
+ <value>caption</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="text-illustration-index-entry-template">
+ <element name="text:illustration-index-entry-template">
+ <ref name="text-illustration-index-entry-content"/>
+ </element>
+</define>
+<define name="text-illustration-index-entry-content">
+ <ref name="text-illustration-index-entry-template-attrs"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-index-entry-page-number"/>
+ <ref name="text-index-entry-text"/>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ </choice>
+ </zeroOrMore>
+</define>
+<define name="text-illustration-index-entry-template-attrs">
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="text-table-index">
+ <element name="text:table-index">
+ <ref name="sectionAttr"/>
+ <ref name="text-table-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+</define>
+<define name="text-table-index-source">
+ <element name="text:table-index-source">
+ <ref name="text-illustration-index-source-attrs"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <optional>
+ <ref name="text-table-index-entry-template"/>
+ </optional>
+ </element>
+</define>
+<define name="text-table-index-entry-template">
+ <element name="text:table-index-entry-template">
+ <ref name="text-illustration-index-entry-content"/>
+ </element>
+</define>
+<define name="text-object-index">
+ <element name="text:object-index">
+ <ref name="sectionAttr"/>
+ <ref name="text-object-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+</define>
+<define name="text-object-index-source">
+ <element name="text:object-index-source">
+ <ref name="text-object-index-source-attrs"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <optional>
+ <ref name="text-object-index-entry-template"/>
+ </optional>
+ </element>
+</define>
+<define name="text-object-index-source-attrs" combine="interleave">
+ <ref name="text-index-scope-attr"/>
+</define>
+<define name="text-object-index-source-attrs" combine="interleave">
+ <ref name="text-relative-tab-stop-position-attr"/>
+</define>
+<define name="text-object-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:use-spreadsheet-objects" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-object-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:use-math-objects" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-object-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:use-draw-objects" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-object-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:use-chart-objects" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-object-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:use-other-objects" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-object-index-entry-template">
+ <element name="text:object-index-entry-template">
+ <ref name="text-illustration-index-entry-content"/>
+ </element>
+</define>
+<define name="text-user-index">
+ <element name="text:user-index">
+ <ref name="sectionAttr"/>
+ <ref name="text-user-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+</define>
+<define name="text-user-index-source">
+ <element name="text:user-index-source">
+ <ref name="text-user-index-source-attr"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-user-index-entry-template"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="text-index-source-styles"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-user-index-source-attr" combine="interleave">
+ <ref name="text-index-scope-attr"/>
+ <ref name="text-relative-tab-stop-position-attr"/>
+ <attribute name="text:index-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="text-user-index-source-attr" combine="interleave">
+ <optional>
+ <attribute name="text:use-index-marks" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-graphics" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-tables" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-floating-frames"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-objects" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-user-index-source-attr" combine="interleave">
+ <optional>
+ <attribute name="text:copy-outline-levels"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-user-index-entry-template">
+ <element name="text:user-index-entry-template">
+ <ref name="text-user-index-entry-template-attrs"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-index-entry-chapter"/>
+ <ref name="text-index-entry-page-number"/>
+ <ref name="text-index-entry-text"/>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-user-index-entry-template-attrs" combine="interleave">
+ <attribute name="text:outline-level">
+ <ref name="positiveInteger"/>
+ </attribute>
+</define>
+<define name="text-user-index-entry-template-attrs" combine="interleave">
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="text-alphabetical-index">
+ <element name="text:alphabetical-index">
+ <ref name="sectionAttr"/>
+ <ref name="text-alphabetical-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+</define>
+<define name="text-alphabetical-index-source">
+ <element name="text:alphabetical-index-source">
+ <ref name="text-alphabetical-index-source-attrs"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-alphabetical-index-entry-template"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <ref name="text-index-scope-attr"/>
+ <ref name="text-relative-tab-stop-position-attr"/>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:ignore-case" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:main-entry-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:alphabetical-separators" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:combine-entries" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:combine-entries-with-dash"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:combine-entries-with-pp" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:use-keys-as-entries" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:capitalize-entries" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:comma-separated" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="fo:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="fo:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:sort-algorithm">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-auto-mark-file">
+ <element name="text:alphabetical-index-auto-mark-file">
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <value>simple</value>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="text-alphabetical-index-entry-template">
+ <element name="text:alphabetical-index-entry-template">
+ <ref name="text-alphabetical-index-entry-template-attrs"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-index-entry-chapter"/>
+ <ref name="text-index-entry-page-number"/>
+ <ref name="text-index-entry-text"/>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-alphabetical-index-entry-template-attrs"
+ combine="interleave">
+ <attribute name="text:outline-level">
+ <choice>
+ <value>1</value>
+ <value>2</value>
+ <value>3</value>
+ <value>separator</value>
+ </choice>
+ </attribute>
+</define>
+<define name="text-alphabetical-index-entry-template-attrs"
+ combine="interleave">
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="text-bibliography">
+ <element name="text:bibliography">
+ <ref name="sectionAttr"/>
+ <ref name="text-bibliography-source"/>
+ <ref name="text-index-body"/>
+ </element>
+</define>
+<define name="text-bibliography-source">
+ <element name="text:bibliography-source">
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-bibliography-entry-template"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-bibliography-entry-template">
+ <element name="text:bibliography-entry-template">
+ <ref name="text-bibliography-entry-template-attrs"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ <ref name="text-index-entry-bibliography"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-bibliography-entry-template-attrs" combine="interleave">
+ <attribute name="text:bibliography-type">
+ <ref name="text-bibliography-types"/>
+ </attribute>
+</define>
+<define name="text-bibliography-entry-template-attrs" combine="interleave">
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="text-index-source-styles">
+ <element name="text:index-source-styles">
+ <attribute name="text:outline-level">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <zeroOrMore>
+ <ref name="text-index-source-style"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-index-source-style">
+ <element name="text:index-source-style">
+ <attribute name="text:style-name">
+ <ref name="styleName"/>
+ </attribute>
+ <empty/>
+ </element>
+</define>
+<define name="text-index-title-template">
+ <element name="text:index-title-template">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+</define>
+<define name="text-index-entry-chapter">
+ <element name="text:index-entry-chapter">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <ref name="text-index-entry-chapter-attrs"/>
+ </element>
+</define>
+<define name="text-index-entry-chapter-attrs">
+ <optional>
+ <attribute name="text:display" a:defaultValue="number">
+ <choice>
+ <value>name</value>
+ <value>number</value>
+ <value>number-and-name</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="text-index-entry-text">
+ <element name="text:index-entry-text">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="text-index-entry-page-number">
+ <element name="text:index-entry-page-number">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="text-index-entry-span">
+ <element name="text:index-entry-span">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+</define>
+<define name="text-index-entry-bibliography">
+ <element name="text:index-entry-bibliography">
+ <ref name="text-index-entry-bibliography-attrs"/>
+ </element>
+</define>
+<define name="text-index-entry-bibliography-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-index-entry-bibliography-attrs" combine="interleave">
+ <attribute name="text:bibliography-data-field">
+ <choice>
+ <value>address</value>
+ <value>annote</value>
+ <value>author</value>
+ <value>bibliography-type</value>
+ <value>booktitle</value>
+ <value>chapter</value>
+ <value>custom1</value>
+ <value>custom2</value>
+ <value>custom3</value>
+ <value>custom4</value>
+ <value>custom5</value>
+ <value>edition</value>
+ <value>editor</value>
+ <value>howpublished</value>
+ <value>identifier</value>
+ <value>institution</value>
+ <value>isbn</value>
+ <value>issn</value>
+ <value>journal</value>
+ <value>month</value>
+ <value>note</value>
+ <value>number</value>
+ <value>organizations</value>
+ <value>pages</value>
+ <value>publisher</value>
+ <value>report-type</value>
+ <value>school</value>
+ <value>series</value>
+ <value>title</value>
+ <value>url</value>
+ <value>volume</value>
+ <value>year</value>
+ </choice>
+ </attribute>
+</define>
+<define name="text-index-entry-tab-stop">
+ <element name="text:index-entry-tab-stop">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <ref name="text-index-entry-tab-stop-attrs"/>
+ </element>
+</define>
+<define name="text-index-entry-tab-stop-attrs" combine="interleave">
+ <optional>
+ <attribute name="style:leader-char">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-index-entry-tab-stop-attrs" combine="interleave">
+ <choice>
+ <attribute name="style:type">
+ <value>right</value>
+ </attribute>
+ <group>
+ <attribute name="style:type">
+ <value>left</value>
+ </attribute>
+ <attribute name="style:position">
+ <ref name="length"/>
+ </attribute>
+ </group>
+ </choice>
+</define>
+<define name="text-index-entry-link-start">
+ <element name="text:index-entry-link-start">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="text-index-entry-link-end">
+ <element name="text:index-entry-link-end">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="table-table">
+ <element name="table:table">
+ <ref name="table-table-attlist"/>
+ <optional>
+ <ref name="table-table-source"/>
+ </optional>
+ <optional>
+ <ref name="office-dde-source"/>
+ </optional>
+ <optional>
+ <ref name="table-scenario"/>
+ </optional>
+ <optional>
+ <ref name="office-forms"/>
+ </optional>
+ <optional>
+ <ref name="table-shapes"/>
+ </optional>
+ <ref name="table-columns-and-groups"/>
+ <ref name="table-rows-and-groups"/>
+ </element>
+</define>
+<define name="table-columns-and-groups">
+ <oneOrMore>
+ <choice>
+ <ref name="table-table-column-group"/>
+ <ref name="table-columns-no-group"/>
+ </choice>
+ </oneOrMore>
+</define>
+
+<define name="table-columns-no-group">
+ <choice>
+ <group>
+ <ref name="table-columns"/>
+ <optional>
+ <ref name="table-table-header-columns"/>
+ <optional>
+ <ref name="table-columns"/>
+ </optional>
+ </optional>
+ </group>
+ <group>
+ <ref name="table-table-header-columns"/>
+ <optional>
+ <ref name="table-columns"/>
+ </optional>
+ </group>
+ </choice>
+</define>
+
+<define name="table-columns">
+ <choice>
+ <ref name="table-table-columns"/>
+ <oneOrMore>
+ <ref name="table-table-column"/>
+ </oneOrMore>
+ </choice>
+</define>
+
+<define name="table-rows-and-groups">
+ <oneOrMore>
+ <choice>
+ <ref name="table-table-row-group"/>
+ <ref name="table-rows-no-group"/>
+ </choice>
+ </oneOrMore>
+</define>
+
+<define name="table-rows-no-group">
+ <choice>
+ <group>
+ <ref name="table-rows"/>
+ <optional>
+ <ref name="table-table-header-rows"/>
+ <optional>
+ <ref name="table-rows"/>
+ </optional>
+ </optional>
+ </group>
+ <group>
+ <ref name="table-table-header-rows"/>
+ <optional>
+ <ref name="table-rows"/>
+ </optional>
+ </group>
+ </choice>
+</define>
+
+<define name="table-rows">
+ <choice>
+ <ref name="table-table-rows"/>
+ <oneOrMore>
+ <ref name="table-table-row"/>
+ </oneOrMore>
+ </choice>
+</define>
+<define name="table-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:protected" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:protection-key">
+ <text/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:print" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:print-ranges">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-row">
+ <element name="table:table-row">
+ <ref name="table-table-row-attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="table-table-cell"/>
+ <ref name="table-covered-table-cell"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-table-row-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:number-rows-repeated" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-row-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-row-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:default-cell-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-row-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:visibility" a:defaultValue="visible">
+ <ref name="table-visibility-value"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="table-visibility-value">
+ <choice>
+ <value>visible</value>
+ <value>collapse</value>
+ <value>filter</value>
+ </choice>
+</define>
+<define name="table-table-cell">
+ <element name="table:table-cell">
+ <ref name="table-table-cell-attlist"/>
+ <ref name="table-table-cell-attlist-extra"/>
+ <ref name="table-table-cell-content"/>
+ </element>
+</define>
+
+<define name="table-covered-table-cell">
+ <element name="table:covered-table-cell">
+ <ref name="table-table-cell-attlist"/>
+ <ref name="table-table-cell-content"/>
+ </element>
+</define>
+
+<define name="table-table-cell-content">
+ <optional>
+ <ref name="table-cell-range-source"/>
+ </optional>
+ <optional>
+ <ref name="office-annotation"/>
+ </optional>
+ <optional>
+ <ref name="table-detective"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-content"/>
+ </zeroOrMore>
+</define>
+<define name="table-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:number-columns-repeated" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-cell-attlist-extra" combine="interleave">
+ <optional>
+ <attribute name="table:number-columns-spanned" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:number-rows-spanned" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:content-validation-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:formula">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-cell-attlist-extra" combine="interleave">
+ <optional>
+ <attribute name="table:number-matrix-columns-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:number-matrix-rows-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-cell-attlist" combine="interleave">
+ <optional>
+ <ref name="common-value-and-type-attlist"/>
+ </optional>
+</define>
+<define name="table-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:protect" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-column">
+ <element name="table:table-column">
+ <ref name="table-table-column-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-table-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:number-columns-repeated" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:visibility" a:defaultValue="visible">
+ <ref name="table-visibility-value"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:default-cell-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-header-columns">
+ <element name="table:table-header-columns">
+ <oneOrMore>
+ <ref name="table-table-column"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="table-table-columns">
+ <element name="table:table-columns">
+ <oneOrMore>
+ <ref name="table-table-column"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-table-column-group">
+ <element name="table:table-column-group">
+ <ref name="table-table-column-group-attlist"/>
+ <ref name="table-columns-and-groups"/>
+ </element>
+</define>
+<define name="table-table-column-group-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-header-rows">
+ <element name="table:table-header-rows">
+ <oneOrMore>
+ <ref name="table-table-row"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="table-table-rows">
+ <element name="table:table-rows">
+ <oneOrMore>
+ <ref name="table-table-row"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-table-row-group">
+ <element name="table:table-row-group">
+ <ref name="table-table-row-group-attlist"/>
+ <ref name="table-rows-and-groups"/>
+ </element>
+</define>
+<define name="table-table-row-group-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:is-sub-table" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="cellAddress">
+ <data type="string">
+ <param name="pattern">($?([^\. ']+|'[^']+'))?\.$?[A-Z]+$?[0-9]+</param>
+ </data>
+</define>
+<define name="cellRangeAddress">
+ <data type="string">
+ <param name="pattern">($?([^\. ']+|'[^']+'))?\.$?[A-Z]+$?[0-9]+(:($?([^\. ']+|'[^']+'))?\.$?[A-Z]+$?[0-9]+)?</param>
+
+ </data>
+</define>
+<define name="cellRangeAddressList">
+ <!-- Value is a space separated list of "cellRangeAddress" patterns -->
+ <data type="string"/>
+</define>
+<define name="table-table-source">
+ <element name="table:table-source">
+ <ref name="table-table-source-attlist"/>
+ <ref name="table-linked-source-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-table-source-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:mode" a:defaultValue="copy-all">
+ <choice>
+ <value>copy-all</value>
+ <value>copy-results-only</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-source-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:table-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-linked-source-attlist" combine="interleave">
+ <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>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+</define>
+<define name="table-linked-source-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:filter-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-linked-source-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:filter-options">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-linked-source-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:refresh-delay">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-scenario">
+ <element name="table:scenario">
+ <ref name="table-scenario-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <attribute name="table:scenario-ranges">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <attribute name="table:is-active">
+ <ref name="boolean"/>
+ </attribute>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display-border" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:border-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:copy-back" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:copy-styles" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:copy-formulas" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:comment">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:protected">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-shapes">
+ <element name="table:shapes">
+ <oneOrMore>
+ <ref name="shape"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-cell-range-source">
+ <element name="table:cell-range-source">
+ <ref name="table-table-cell-range-source-attlist"/>
+ <ref name="table-linked-source-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-table-cell-range-source-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-table-cell-range-source-attlist" combine="interleave">
+ <attribute name="table:last-column-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <attribute name="table:last-row-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+</define>
+<define name="table-detective">
+ <element name="table:detective">
+ <zeroOrMore>
+ <ref name="table-highlighted-range"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="table-operation"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-operation">
+ <element name="table:operation">
+ <ref name="table-operation-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-operation-attlist" combine="interleave">
+ <attribute name="table:name">
+ <choice>
+ <value>trace-dependents</value>
+ <value>remove-dependents</value>
+ <value>trace-precedents</value>
+ <value>remove-precedents</value>
+ <value>trace-errors</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-operation-attlist" combine="interleave">
+ <attribute name="table:index">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+</define>
+<define name="table-highlighted-range">
+ <element name="table:highlighted-range">
+ <choice>
+ <group>
+ <ref name="table-highlighted-range-attlist"/>
+ </group>
+ <group>
+ <ref name="table-highlighted-range-attlist-invalid"/>
+ </group>
+ </choice>
+ <empty/>
+ </element>
+</define>
+<define name="table-highlighted-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-highlighted-range-attlist" combine="interleave">
+ <attribute name="table:direction">
+ <choice>
+ <value>from-another-table</value>
+ <value>to-another-table</value>
+ <value>from-same-table</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-highlighted-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:contains-error" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-highlighted-range-attlist-invalid" combine="interleave">
+ <attribute name="table:marked-invalid">
+ <ref name="boolean"/>
+ </attribute>
+</define>
+<define name="office-spreadsheet-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:structure-protected" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:protection-key">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-calculation-settings">
+ <element name="table:calculation-settings">
+ <ref name="table-calculation-setting-attlist"/>
+ <optional>
+ <ref name="table-null-date"/>
+ </optional>
+ <optional>
+ <ref name="table-iteration"/>
+ </optional>
+ </element>
+</define>
+<define name="table-calculation-setting-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:case-sensitive" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-calculation-setting-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:precision-as-shown" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-calculation-setting-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:search-criteria-must-apply-to-whole-cell"
+ a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-calculation-setting-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:automatic-find-labels" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-calculation-setting-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:use-regular-expressions"
+ a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-calculation-setting-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:null-year" a:defaultValue="1930">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-null-date">
+ <element name="table:null-date">
+ <optional>
+ <attribute name="table:value-type" a:defaultValue="date">
+ <ref name="valueType"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:date-value-type"
+ a:defaultValue="1899-12-30">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+</define>
+<define name="table-iteration">
+ <element name="table:iteration">
+ <optional>
+ <attribute name="table:status" a:defaultValue="disable">
+ <choice>
+ <value>enable</value>
+ <value>disable</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:steps" a:defaultValue="100">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:maximum-difference"
+ a:defaultValue="0.001">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+</define>
+<define name="table-content-validations">
+ <element name="table:content-validations">
+ <oneOrMore>
+ <ref name="table-content-validation"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="table-content-validation">
+ <element name="table:content-validation">
+ <ref name="table-validation-attlist"/>
+ <optional>
+ <ref name="table-help-message"/>
+ </optional>
+ <optional>
+ <choice>
+ <ref name="table-error-message"/>
+ <group>
+ <ref name="table-error-macro"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ </group>
+ </choice>
+ </optional>
+ </element>
+</define>
+<define name="table-validation-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-validation-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:condition">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-validation-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:base-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-validation-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:allow-empty-cell" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-validation-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display-list" a:defaultValue="unsorted">
+ <choice>
+ <value>none</value>
+ <value>unsorted</value>
+ <value>sort-ascending</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-help-message">
+ <element name="table:help-message">
+ <optional>
+ <attribute name="table:title">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:display" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-error-message">
+ <element name="table:error-message">
+ <optional>
+ <attribute name="table:title">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:display" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:message-type" a:defaultValue="stop">
+ <choice>
+ <value>stop</value>
+ <value>warning</value>
+ <value>information</value>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-error-macro">
+ <element name="table:error-macro">
+ <optional>
+ <attribute name="table:execute" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="table-label-ranges">
+ <element name="table:label-ranges">
+ <zeroOrMore>
+ <ref name="table-label-range"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="table-label-range">
+ <element name="table:label-range">
+ <ref name="table-label-range-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-label-range-attlist" combine="interleave">
+ <attribute name="table:label-cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+</define>
+<define name="table-label-range-attlist" combine="interleave">
+ <attribute name="table:data-cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+</define>
+<define name="table-label-range-attlist" combine="interleave">
+ <attribute name="table:orientation">
+ <choice>
+ <value>column</value>
+ <value>row</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-named-expressions">
+ <element name="table:named-expressions">
+ <zeroOrMore>
+ <choice>
+ <ref name="table-named-range"/>
+ <ref name="table-named-expression"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="table-named-range">
+ <element name="table:named-range">
+ <ref name="table-named-range-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-named-range-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ <optional>
+ <attribute name="table:base-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:range-usable-as" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <list>
+ <oneOrMore>
+ <choice>
+ <value>print-range</value>
+ <value>filter</value>
+ <value>repeat-row</value>
+ <value>repeat-column</value>
+ </choice>
+ </oneOrMore>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-named-expression">
+ <element name="table:named-expression">
+ <ref name="table-named-expression-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-named-expression-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:expression">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="table:base-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-ranges">
+ <element name="table:database-ranges">
+ <zeroOrMore>
+ <ref name="table-database-range"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-database-range">
+ <element name="table:database-range">
+ <ref name="table-database-range-attlist"/>
+ <optional>
+ <choice>
+ <ref name="table-database-source-sql"/>
+ <ref name="table-database-source-table"/>
+ <ref name="table-database-source-query"/>
+ </choice>
+ </optional>
+ <optional>
+ <ref name="table-filter"/>
+ </optional>
+ <optional>
+ <ref name="table-sort"/>
+ </optional>
+ <optional>
+ <ref name="table-subtotal-rules"/>
+ </optional>
+ </element>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:is-selection" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:on-update-keep-styles" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:on-update-keep-size" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:has-persistent-data" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:orientation" a:defaultValue="row">
+ <choice>
+ <value>column</value>
+ <value>row</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:contains-header" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display-filter-buttons"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <attribute name="table:target-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:refresh-delay">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-source-sql">
+ <element name="table:database-source-sql">
+ <ref name="table-database-source-sql-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-database-source-sql-attlist" combine="interleave">
+ <attribute name="table:database-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-database-source-sql-attlist" combine="interleave">
+ <attribute name="table:sql-statement">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-database-source-sql-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:parse-sql-statement" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-source-query">
+ <element name="table:database-source-table">
+ <ref name="table-database-source-table-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-database-source-table-attlist" combine="interleave">
+ <attribute name="table:database-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-database-source-table-attlist" combine="interleave">
+ <attribute name="table:database-table-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-database-source-table">
+ <element name="table:database-source-query">
+ <ref name="table-database-source-query-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-database-source-query-attlist" combine="interleave">
+ <attribute name="table:database-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-database-source-query-attlist" combine="interleave">
+ <attribute name="table:query-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-sort">
+ <element name="table:sort">
+ <ref name="table-sort-attlist"/>
+ <oneOrMore>
+ <ref name="table-sort-by"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-sort-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:bind-styles-to-content" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:target-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:case-sensitive" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:algorithm">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-by">
+ <element name="table:sort-by">
+ <ref name="table-sort-by-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-sort-by-attlist" combine="interleave">
+ <attribute name="table:field-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+</define>
+<define name="table-sort-by-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:data-type" a:defaultValue="automatic">
+ <choice>
+ <value>text</value>
+ <value>number</value>
+ <value>automatic</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-by-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:order" a:defaultValue="ascending">
+ <choice>
+ <value>ascending</value>
+ <value>descending</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-subtotal-rules">
+ <element name="table:subtotal-rules">
+ <ref name="table-subtotal-rules-attlist"/>
+ <optional>
+ <ref name="table-sort-groups"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="table-subtotal-rule"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-subtotal-rules-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:bind-styles-to-content" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-subtotal-rules-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:case-sensitive" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-subtotal-rules-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:page-breaks-on-group-change"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-groups">
+ <element name="table:sort-groups">
+ <ref name="table-sort-groups-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-sort-groups-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:data-type" a:defaultValue="automatic">
+ <choice>
+ <value>text</value>
+ <value>number</value>
+ <value>automatic</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-groups-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:order" a:defaultValue="ascending">
+ <choice>
+ <value>ascending</value>
+ <value>descending</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-subtotal-rule">
+ <element name="table:subtotal-rule">
+ <ref name="table-subtotal-rule-attlist"/>
+ <zeroOrMore>
+ <ref name="table-subtotal-field"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-subtotal-rule-attlist" combine="interleave">
+ <attribute name="table:group-by-field-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+</define>
+<define name="table-subtotal-field">
+ <element name="table:subtotal-field">
+ <ref name="table-subtotal-field-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-subtotal-field-attlist" combine="interleave">
+ <attribute name="table:field-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+</define>
+<define name="table-subtotal-field-attlist" combine="interleave">
+ <attribute name="table:function">
+ <choice>
+ <value>auto</value>
+ <value>average</value>
+ <value>count</value>
+ <value>countnums</value>
+ <value>max</value>
+ <value>min</value>
+ <value>product</value>
+ <value>stdev</value>
+ <value>stdevp</value>
+ <value>sum</value>
+ <value>var</value>
+ <value>varp</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+</define>
+<define name="table-filter">
+ <element name="table:filter">
+ <ref name="table-filter-attlist"/>
+ <choice>
+ <ref name="table-filter-condition"/>
+ <ref name="table-filter-and"/>
+ <ref name="table-filter-or"/>
+ </choice>
+ </element>
+</define>
+<define name="table-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:target-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:condition-source" a:defaultValue="self">
+ <choice>
+ <value>self</value>
+ <value>cell-range</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:condition-source-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display-duplicates" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-filter-and">
+ <element name="table:filter-and">
+ <oneOrMore>
+ <choice>
+ <ref name="table-filter-or"/>
+ <ref name="table-filter-condition"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-filter-or">
+ <element name="table:filter-or">
+ <oneOrMore>
+ <choice>
+ <ref name="table-filter-and"/>
+ <ref name="table-filter-condition"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-filter-condition">
+ <element name="table:filter-condition">
+ <ref name="table-filter-condition-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-filter-condition-attlist" combine="interleave">
+ <attribute name="table:field-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+</define>
+<define name="table-filter-condition-attlist" combine="interleave">
+ <attribute name="table:value">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-filter-condition-attlist" combine="interleave">
+ <attribute name="table:operator">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-filter-condition-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:case-sensitive" a:defaultValue="false">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-filter-condition-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:data-type" a:defaultValue="text">
+ <choice>
+ <value>text</value>
+ <value>number</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-tables">
+ <element name="table:data-pilot-tables">
+ <zeroOrMore>
+ <ref name="table-data-pilot-table"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-data-pilot-table">
+ <element name="table:data-pilot-table">
+ <ref name="table-data-pilot-table-attlist"/>
+ <optional>
+ <choice>
+ <ref name="table-database-source-sql"/>
+ <ref name="table-database-source-table"/>
+ <ref name="table-database-source-query"/>
+ <ref name="table-source-service"/>
+ <ref name="table-source-cell-range"/>
+ </choice>
+ </optional>
+ <oneOrMore>
+ <ref name="table-data-pilot-field"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:application-data">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:grand-total" a:defaultValue="both">
+ <choice>
+ <value>none</value>
+ <value>row</value>
+ <value>column</value>
+ <value>both</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:ignore-empty-rows" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:identify-categories" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <attribute name="table:target-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:buttons">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:show-filter-button" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:drill-down-on-double-click"
+ a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-source-cell-range">
+ <element name="table:source-cell-range">
+ <ref name="table-source-cell-range-attlist"/>
+ <optional>
+ <ref name="table-filter"/>
+ </optional>
+ </element>
+</define>
+<define name="table-source-cell-range-attlist" combine="interleave">
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+</define>
+<define name="table-source-service">
+ <element name="table:source-service">
+ <ref name="table-source-service-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-source-service-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-source-service-attlist" combine="interleave">
+ <attribute name="table:source-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-source-service-attlist" combine="interleave">
+ <attribute name="table:object-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-source-service-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:user-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-source-service-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:password">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-field">
+ <element name="table:data-pilot-field">
+ <ref name="table-data-pilot-field-attlist"/>
+ <optional>
+ <ref name="table-data-pilot-level"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-field-reference"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-groups"/>
+ </optional>
+ </element>
+</define>
+<define name="table-data-pilot-field-attlist" combine="interleave">
+ <attribute name="table:source-field-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-field-attlist" combine="interleave">
+ <choice>
+ <attribute name="table:orientation">
+ <choice>
+ <value>row</value>
+ <value>column</value>
+ <value>data</value>
+ <value>hidden</value>
+ </choice>
+ </attribute>
+ <group>
+ <attribute name="table:orientation">
+ <value>page</value>
+ </attribute>
+ <attribute name="table:selected-page">
+ <ref name="string"/>
+ </attribute>
+ </group>
+ </choice>
+</define>
+<define name="table-data-pilot-field-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:is-data-layout-field" a:defaultValue="false">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-field-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:function">
+ <choice>
+ <value>auto</value>
+ <value>average</value>
+ <value>count</value>
+ <value>countnums</value>
+ <value>max</value>
+ <value>min</value>
+ <value>product</value>
+ <value>stdev</value>
+ <value>stdevp</value>
+ <value>sum</value>
+ <value>var</value>
+ <value>varp</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-field-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:used-hierarchy" a:defaultValue="-1">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-level">
+ <element name="table:data-pilot-level">
+ <ref name="table-data-pilot-level-attlist"/>
+ <optional>
+ <ref name="table-data-pilot-subtotals"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-members"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-display-info"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-sort-info"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-layout-info"/>
+ </optional>
+ </element>
+</define>
+<define name="table-data-pilot-level-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:show-empty">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-subtotals">
+ <element name="table:data-pilot-subtotals">
+ <zeroOrMore>
+ <ref name="table-data-pilot-subtotal"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-data-pilot-subtotal">
+ <element name="table:data-pilot-subtotal">
+ <ref name="table-data-pilot-subtotal-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-data-pilot-subtotal-attlist" combine="interleave">
+ <attribute name="table:function">
+ <choice>
+ <value>auto</value>
+ <value>average</value>
+ <value>count</value>
+ <value>countnums</value>
+ <value>max</value>
+ <value>min</value>
+ <value>product</value>
+ <value>stdev</value>
+ <value>stdevp</value>
+ <value>sum</value>
+ <value>var</value>
+ <value>varp</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+</define>
+<define name="table-data-pilot-members">
+ <element name="table:data-pilot-members">
+ <zeroOrMore>
+ <ref name="table-data-pilot-member"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-data-pilot-member">
+ <element name="table:data-pilot-member">
+ <ref name="table-data-pilot-member-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-data-pilot-member-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-member-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-member-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:show-details">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-display-info">
+ <element name="table:data-pilot-display-info">
+ <ref name="table-data-pilot-display-info-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-data-pilot-display-info-attlist" combine="interleave">
+ <attribute name="table:enabled">
+ <ref name="boolean"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-display-info-attlist" combine="interleave">
+ <attribute name="table:data-field">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-display-info-attlist" combine="interleave">
+ <attribute name="table:member-count">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-display-info-attlist" combine="interleave">
+ <attribute name="table:display-member-mode">
+ <choice>
+ <value>from-top</value>
+ <value>from-bottom</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-data-pilot-sort-info">
+ <element name="table:data-pilot-sort-info">
+ <ref name="table-data-pilot-sort-info-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-data-pilot-sort-info-attlist" combine="interleave">
+ <choice>
+ <group>
+ <attribute name="table:sort-mode">
+ <value>data</value>
+ </attribute>
+ <attribute name="table:data-field">
+ <ref name="string"/>
+ </attribute>
+ </group>
+ <attribute name="table:sort-mode">
+ <choice>
+ <value>none</value>
+ <value>manual</value>
+ <value>name</value>
+ </choice>
+ </attribute>
+ </choice>
+</define>
+<define name="table-data-pilot-sort-info-attlist" combine="interleave">
+ <attribute name="table:order">
+ <choice>
+ <value>ascending</value>
+ <value>descending</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-data-pilot-layout-info">
+ <element name="table:data-pilot-layout-info">
+ <ref name="table-data-pilot-layout-info-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-data-pilot-layout-info-attlist" combine="interleave">
+ <attribute name="table:layout-mode">
+ <choice>
+ <value>tabular-layout</value>
+ <value>outline-subtotals-top</value>
+ <value>outline-subtotals-bottom</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-data-pilot-layout-info-attlist" combine="interleave">
+ <attribute name="table:add-empty-lines">
+ <ref name="boolean"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-field-reference">
+ <element name="table:data-pilot-field-reference">
+ <ref name="table-data-pilot-field-reference-attlist"/>
+ </element>
+</define>
+<define name="table-data-pilot-field-reference-attlist" combine="interleave">
+ <attribute name="table:field-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-field-reference-attlist" combine="interleave">
+ <choice>
+ <group>
+ <attribute name="table:member-type">
+ <value>named</value>
+ </attribute>
+ <attribute name="table:member-name">
+ <ref name="string"/>
+ </attribute>
+ </group>
+ <attribute name="table:member-type">
+ <choice>
+ <value>previous</value>
+ <value>next</value>
+ </choice>
+ </attribute>
+ </choice>
+</define>
+<define name="table-data-pilot-field-reference-attlist" combine="interleave">
+ <attribute name="table:type">
+ <choice>
+ <value>none</value>
+ <value>member-difference</value>
+ <value>member-percentage</value>
+ <value>member-percentage-difference</value>
+ <value>running-total</value>
+ <value>row-percentage</value>
+ <value>column-percentage</value>
+ <value>total-percentage</value>
+ <value>index</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-data-pilot-groups">
+ <element name="table:data-pilot-groups">
+ <ref name="table-data-pilot-groups-attlist"/>
+ <oneOrMore>
+ <ref name="table-data-pilot-group"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-data-pilot-groups-attlist" combine="interleave">
+ <attribute name="table:source-field-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-groups-attlist" combine="interleave">
+ <choice>
+ <attribute name="table:date-start">
+ <choice>
+ <ref name="dateOrDateTime"/>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ <attribute name="table:start">
+ <choice>
+ <ref name="double"/>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ </choice>
+</define>
+<define name="table-data-pilot-groups-attlist" combine="interleave">
+ <choice>
+ <attribute name="table:date-end">
+ <choice>
+ <ref name="dateOrDateTime"/>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ <attribute name="table:end">
+ <choice>
+ <ref name="double"/>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ </choice>
+</define>
+<define name="table-data-pilot-groups-attlist" combine="interleave">
+ <attribute name="table:step">
+ <ref name="double"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-groups-attlist" combine="interleave">
+ <attribute name="table:grouped-by">
+ <choice>
+ <value>seconds</value>
+ <value>minutes</value>
+ <value>hours</value>
+ <value>days</value>
+ <value>months</value>
+ <value>quarters</value>
+ <value>years</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-data-pilot-group">
+ <element name="table:data-pilot-group">
+ <ref name="table-data-pilot-group-attlist"/>
+ <oneOrMore>
+ <ref name="table-data-pilot-group-member"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-data-pilot-group-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-group-member">
+ <element name="table:data-pilot-group-member">
+ <ref name="table-data-pilot-group-member-attlist"/>
+ </element>
+</define>
+<define name="table-data-pilot-group-member-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-consolidation">
+ <element name="table:consolidation">
+ <ref name="table-consolidation-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-consolidation-attlist" combine="interleave">
+ <attribute name="table:function">
+ <choice>
+ <value>auto</value>
+ <value>average</value>
+ <value>count</value>
+ <value>countnums</value>
+ <value>max</value>
+ <value>min</value>
+ <value>product</value>
+ <value>stdev</value>
+ <value>stdevp</value>
+ <value>sum</value>
+ <value>var</value>
+ <value>varp</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+</define>
+<define name="table-consolidation-attlist" combine="interleave">
+ <attribute name="table:source-cell-range-addresses">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+</define>
+<define name="table-consolidation-attlist" combine="interleave">
+ <attribute name="table:target-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+</define>
+<define name="table-consolidation-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:use-labels" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <value>row</value>
+ <value>column</value>
+ <value>both</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-consolidation-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:link-to-source-data" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-dde-links">
+ <element name="table:dde-links">
+ <oneOrMore>
+ <ref name="table-dde-link"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-tracked-changes">
+ <element name="table:tracked-changes">
+ <ref name="table-tracked-changes-attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="table-cell-content-change"/>
+ <ref name="table-insertion"/>
+ <ref name="table-deletion"/>
+ <ref name="table-movement"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-tracked-changes-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:track-changes" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-insertion">
+ <element name="table:insertion">
+ <ref name="table-insertion-attlist"/>
+ <ref name="common-table-change-attlist"/>
+ <ref name="office-change-info"/>
+ <optional>
+ <ref name="table-dependencies"/>
+ </optional>
+ <optional>
+ <ref name="table-deletions"/>
+ </optional>
+ </element>
+</define>
+<define name="table-insertion-attlist" combine="interleave">
+ <attribute name="table:type">
+ <choice>
+ <value>row</value>
+ <value>column</value>
+ <value>table</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-insertion-attlist" combine="interleave">
+ <attribute name="table:position">
+ <ref name="integer"/>
+ </attribute>
+</define>
+<define name="table-insertion-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:count" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-insertion-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:table">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-dependencies">
+ <element name="table:dependencies">
+ <oneOrMore>
+ <ref name="table-dependency"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-dependency">
+ <element name="table:dependency">
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+ <empty/>
+ </element>
+</define>
+<define name="table-deletions">
+ <element name="table:deletions">
+ <oneOrMore>
+ <choice>
+ <ref name="table-cell-content-deletion"/>
+ <ref name="table-change-deletion"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-cell-content-deletion">
+ <element name="table:cell-content-deletion">
+ <optional>
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="table-cell-address"/>
+ </optional>
+ <optional>
+ <ref name="table-change-track-table-cell"/>
+ </optional>
+ </element>
+</define>
+<define name="table-change-deletion">
+ <element name="table:change-deletion">
+ <optional>
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+</define>
+<define name="table-deletion">
+ <element name="table:deletion">
+ <ref name="table-deletion-attlist"/>
+ <ref name="common-table-change-attlist"/>
+ <ref name="office-change-info"/>
+ <optional>
+ <ref name="table-dependencies"/>
+ </optional>
+ <optional>
+ <ref name="table-deletions"/>
+ </optional>
+ <optional>
+ <ref name="table-cut-offs"/>
+ </optional>
+ </element>
+</define>
+<define name="table-deletion-attlist" combine="interleave">
+ <attribute name="table:type">
+ <choice>
+ <value>row</value>
+ <value>column</value>
+ <value>table</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-deletion-attlist" combine="interleave">
+ <attribute name="table:position">
+ <ref name="integer"/>
+ </attribute>
+</define>
+<define name="table-deletion-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:table">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-deletion-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:multi-deletion-spanned">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-cut-offs">
+ <element name="table:cut-offs">
+ <choice>
+ <oneOrMore>
+ <ref name="table-movement-cut-off"/>
+ </oneOrMore>
+ <group>
+ <ref name="table-insertion-cut-off"/>
+ <zeroOrMore>
+ <ref name="table-movement-cut-off"/>
+ </zeroOrMore>
+ </group>
+ </choice>
+ </element>
+</define>
+<define name="table-insertion-cut-off">
+ <element name="table:insertion-cut-off">
+ <ref name="table-insertion-cut-off-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-insertion-cut-off-attlist" combine="interleave">
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-insertion-cut-off-attlist" combine="interleave">
+ <attribute name="table:position">
+ <ref name="integer"/>
+ </attribute>
+</define>
+<define name="table-movement-cut-off">
+ <element name="table:movement-cut-off">
+ <ref name="table-movement-cut-off-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-movement-cut-off-attlist" combine="interleave">
+ <choice>
+ <attribute name="table:position">
+ <ref name="integer"/>
+ </attribute>
+ <group>
+ <attribute name="table:start-position">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:end-position">
+ <ref name="integer"/>
+ </attribute>
+ </group>
+ </choice>
+</define>
+<define name="table-movement">
+ <element name="table:movement">
+ <ref name="common-table-change-attlist"/>
+ <ref name="table-source-range-address"/>
+ <ref name="table-target-range-address"/>
+ <ref name="office-change-info"/>
+ <optional>
+ <ref name="table-dependencies"/>
+ </optional>
+ <optional>
+ <ref name="table-deletions"/>
+ </optional>
+ </element>
+</define>
+<define name="table-source-range-address">
+ <element name="table:source-range-address">
+ <ref name="common-table-range-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-target-range-address">
+ <element name="table:target-range-address">
+ <ref name="common-table-range-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+
+<define name="common-table-range-attlist" combine="interleave">
+ <choice>
+ <group>
+ <ref name="common-table-cell-address-attlist"/>
+ </group>
+ <group>
+ <ref name="common-table-cell-range-address-attlist"/>
+ </group>
+ </choice>
+</define>
+<define name="common-table-cell-address-attlist" combine="interleave">
+ <attribute name="table:column">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:row">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:table">
+ <ref name="integer"/>
+ </attribute>
+</define>
+<define name="common-table-cell-range-address-attlist" combine="interleave">
+ <attribute name="table:start-column">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:start-row">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:start-table">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:end-column">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:end-row">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:end-table">
+ <ref name="integer"/>
+ </attribute>
+</define>
+<define name="table-change-track-table-cell" combine="interleave">
+ <element name="table:change-track-table-cell">
+ <ref name="table-change-track-table-cell-attlist"/>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-change-track-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-change-track-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:matrix-covered" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-change-track-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:formula">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:number-matrix-columns-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:number-matrix-rows-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="common-value-and-type-attlist"/>
+ </optional>
+</define>
+<define name="table-cell-content-change">
+ <element name="table:cell-content-change">
+ <ref name="common-table-change-attlist"/>
+ <ref name="table-cell-address"/>
+ <ref name="office-change-info"/>
+ <optional>
+ <ref name="table-dependencies"/>
+ </optional>
+ <optional>
+ <ref name="table-deletions"/>
+ </optional>
+ <ref name="table-previous"/>
+ </element>
+</define>
+<define name="table-cell-address">
+ <element name="table:cell-address">
+ <ref name="common-table-cell-address-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-previous">
+ <element name="table:previous">
+ <optional>
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <ref name="table-change-track-table-cell"/>
+ </element>
+</define>
+<define name="common-table-change-attlist" combine="interleave">
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="common-table-change-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:acceptance-state" a:defaultValue="pending">
+ <choice>
+ <value>accepted</value>
+ <value>rejected</value>
+ <value>pending</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-table-change-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:rejecting-change-id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-handout-master">
+ <element name="style:handout-master">
+ <ref name="common-presentation-header-footer-attlist"/>
+ <ref name="style-handout-master-attlist"/>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="style-handout-master-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:presentation-page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-handout-master-attlist" combine="interleave">
+ <attribute name="style:page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="style-handout-master-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-layer-set">
+ <element name="draw:layer-set">
+ <zeroOrMore>
+ <ref name="draw-layer"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-layer">
+ <element name="draw:layer">
+ <ref name="draw-layer-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-layer-attlist" combine="interleave">
+ <attribute name="draw:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="draw-layer-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:protected" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-layer-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:display" a:defaultValue="always">
+ <choice>
+ <value>always</value>
+ <value>screen</value>
+ <value>printer</value>
+ <value>none</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-page">
+ <element name="draw:page">
+ <ref name="common-presentation-header-footer-attlist"/>
+ <ref name="draw-page-attlist"/>
+ <optional>
+ <ref name="office-forms"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ <optional>
+ <choice>
+ <ref name="presentation-animations"/>
+ <ref name="animation-element"/>
+ </choice>
+ </optional>
+ <optional>
+ <ref name="presentation-notes"/>
+ </optional>
+ </element>
+</define>
+<define name="draw-page-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-page-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-page-attlist" combine="interleave">
+ <attribute name="draw:master-page-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="draw-page-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:presentation-page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-presentation-header-footer-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:use-header-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-presentation-header-footer-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:use-footer-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-presentation-header-footer-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:use-date-time-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-page-attlist">
+ <optional>
+ <attribute name="draw:id">
+ <ref name="ID"/>
+ </attribute>
+ </optional>
+</define>
+<define name="shape">
+ <choice>
+ <ref name="draw-rect"/>
+ <ref name="draw-line"/>
+ <ref name="draw-polyline"/>
+ <ref name="draw-polygon"/>
+ <ref name="draw-regular-polygon"/>
+ <ref name="draw-path"/>
+ <ref name="draw-circle"/>
+ <ref name="draw-ellipse"/>
+ <ref name="draw-g"/>
+ <ref name="draw-page-thumbnail"/>
+ <ref name="draw-frame"/>
+ <ref name="draw-measure"/>
+ <ref name="draw-caption"/>
+ <ref name="draw-connector"/>
+ <ref name="draw-control"/>
+ <ref name="dr3d-scene"/>
+ <ref name="draw-custom-shape"/>
+ </choice>
+</define>
+<define name="draw-rect">
+ <element name="draw:rect">
+ <ref name="draw-rect-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-rect-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:corner-radius">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-line">
+ <element name="draw:line">
+ <ref name="draw-line-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-line-attlist" combine="interleave">
+ <attribute name="svg:x1">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y1">
+ <ref name="coordinate"/>
+ </attribute>
+</define>
+<define name="draw-line-attlist" combine="interleave">
+ <attribute name="svg:x2">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y2">
+ <ref name="coordinate"/>
+ </attribute>
+</define>
+<define name="draw-polyline">
+ <element name="draw:polyline">
+ <ref name="common-draw-points-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="common-draw-points-attlist">
+ <attribute name="draw:points">
+ <ref name="points"/>
+ </attribute>
+</define>
+<define name="draw-polygon">
+ <element name="draw:polygon">
+ <ref name="common-draw-points-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-regular-polygon">
+ <element name="draw:regular-polygon">
+ <ref name="draw-regular-polygon-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-regular-polygon-attlist" combine="interleave">
+ <choice>
+ <attribute name="draw:concave">
+ <value>false</value>
+ </attribute>
+ <group>
+ <attribute name="draw:concave">
+ <value>true</value>
+ </attribute>
+ <ref name="draw-regular-polygon-sharpness-attlist"/>
+ </group>
+ </choice>
+</define>
+<define name="draw-regular-polygon-attlist" combine="interleave">
+ <attribute name="draw:corners">
+ <ref name="positiveInteger"/>
+ </attribute>
+</define>
+<define name="draw-regular-polygon-sharpness-attlist">
+ <attribute name="draw:sharpness">
+ <ref name="percent"/>
+ </attribute>
+</define>
+<define name="draw-path">
+ <element name="draw:path">
+ <ref name="common-draw-path-data-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="common-draw-path-data-attlist">
+ <attribute name="svg:d">
+ <ref name="pathData"/>
+ </attribute>
+</define>
+<define name="draw-circle">
+ <element name="draw:circle">
+ <ref name="draw-circle-attlist"/>
+ <ref name="common-draw-circle-ellipse-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="common-draw-circle-ellipse-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:cx">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:cy">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-circle-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:r">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-circle-ellipse-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:kind" a:defaultValue="full">
+ <choice>
+ <value>full</value>
+ <value>section</value>
+ <value>cut</value>
+ <value>arc</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-circle-ellipse-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start-angle">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-circle-ellipse-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:end-angle">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-ellipse">
+ <element name="draw:ellipse">
+ <ref name="common-draw-circle-ellipse-attlist"/>
+ <ref name="draw-ellipse-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-ellipse-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:rx">
+ <ref name="length"/>
+ </attribute>
+ <attribute name="svg:ry">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector">
+ <element name="draw:connector">
+ <ref name="draw-connector-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:type" a:defaultValue="standard">
+ <choice>
+ <value>standard</value>
+ <value>lines</value>
+ <value>line</value>
+ <value>curve</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:x1">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y1">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start-shape">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start-glue-point">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:x2">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y2">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:end-shape">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:end-glue-point">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:line-skew">
+ <list>
+ <ref name="length"/>
+ <optional>
+ <ref name="length"/>
+ <optional>
+ <ref name="length"/>
+ </optional>
+ </optional>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-caption">
+ <element name="draw:caption">
+ <ref name="draw-caption-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-caption-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-point-x">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="draw:caption-point-y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-caption-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:corner-radius">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-measure">
+ <element name="draw:measure">
+ <ref name="draw-measure-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-measure-attlist" combine="interleave">
+ <attribute name="svg:x1">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y1">
+ <ref name="coordinate"/>
+ </attribute>
+</define>
+<define name="draw-measure-attlist" combine="interleave">
+ <attribute name="svg:x2">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y2">
+ <ref name="coordinate"/>
+ </attribute>
+</define>
+<define name="draw-control">
+ <element name="draw:control">
+ <ref name="draw-control-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-control-attlist" combine="interleave">
+ <attribute name="draw:control">
+ <ref name="IDREF"/>
+ </attribute>
+</define>
+<define name="draw-page-thumbnail">
+ <element name="draw:page-thumbnail">
+ <ref name="draw-page-thumbnail-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="presentation-shape-attlist"/>
+ <ref name="common-draw-shape-with-styles-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-page-thumbnail-attlist">
+ <optional>
+ <attribute name="draw:page-number">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-g">
+ <element name="draw:g">
+ <ref name="draw-g-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-name-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-text-spreadsheet-shape-attlist"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-g-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-name-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-position-attlist">
+ <optional>
+ <attribute name="svg:x">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-size-attlist">
+ <optional>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-transform-attlist">
+ <optional>
+ <attribute name="draw:transform">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-viewbox-attlist">
+ <attribute name="svg:viewBox">
+ <list>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ </list>
+ </attribute>
+</define>
+<define name="common-draw-style-name-attlist">
+ <choice>
+ <group>
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:class-names">
+ <ref name="styleNameRefs"/>
+ </attribute>
+ </optional>
+ </group>
+ <group>
+ <optional>
+ <attribute name="presentation:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:class-names">
+ <ref name="styleNameRefs"/>
+ </attribute>
+ </optional>
+ </group>
+ </choice>
+</define>
+<define name="common-draw-text-style-name-attlist">
+ <optional>
+ <attribute name="draw:text-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-layer-name-attlist">
+ <optional>
+ <attribute name="draw:layer">
+ <data type="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-id-attlist">
+ <optional>
+ <attribute name="draw:id">
+ <ref name="ID"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-z-index-attlist">
+ <optional>
+ <attribute name="draw:z-index">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-text-spreadsheet-shape-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:end-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:end-x">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:end-y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-text-spreadsheet-shape-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:table-background">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-text-spreadsheet-shape-attlist" combine="interleave">
+ <ref name="common-text-anchor-attlist"/>
+</define>
+
+<define name="common-text-anchor-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:anchor-type">
+ <choice>
+ <value>page</value>
+ <value>frame</value>
+ <value>paragraph</value>
+ <value>char</value>
+ <value>as-char</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-text-anchor-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:anchor-page-number">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-text">
+ <zeroOrMore>
+ <choice>
+ <ref name="text-p"/>
+ <ref name="text-list"/>
+ </choice>
+ </zeroOrMore>
+</define>
+<define name="common-draw-shape-with-styles-attlist">
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-draw-transform-attlist"/>
+ <ref name="common-draw-name-attlist"/>
+ <ref name="common-text-spreadsheet-shape-attlist"/>
+</define>
+<define name="common-draw-shape-with-text-and-styles-attlist">
+ <ref name="common-draw-shape-with-styles-attlist"/>
+ <ref name="common-draw-text-style-name-attlist"/>
+</define>
+<define name="draw-glue-point">
+ <element name="draw:glue-point">
+ <ref name="draw-glue-point-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-glue-point-attlist" combine="interleave">
+ <attribute name="draw:id">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+</define>
+<define name="draw-glue-point-attlist" combine="interleave">
+ <attribute name="svg:x">
+ <choice>
+ <ref name="distance"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <attribute name="svg:y">
+ <choice>
+ <ref name="distance"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+</define>
+<define name="draw-glue-point-attlist" combine="interleave">
+ <attribute name="draw:align">
+ <choice>
+ <value>top-left</value>
+ <value>top</value>
+ <value>top-right</value>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>bottom-left</value>
+ <value>bottom-right</value>
+ </choice>
+ </attribute>
+</define>
+<define name="draw-glue-points-attlist" combine="interleave">
+ <attribute name="draw:escape-direction">
+ <choice>
+ <value>auto</value>
+ <value>left</value>
+ <value>right</value>
+ <value>up</value>
+ <value>down</value>
+ <value>horizontal</value>
+ <value>vertical</value>
+ </choice>
+ </attribute>
+</define>
+<define name="draw-frame">
+ <element name="draw:frame">
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-rel-size-attlist"/>
+ <ref name="presentation-shape-attlist"/>
+ <ref name="draw-frame-attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="draw-text-box"/>
+ <ref name="draw-image"/>
+ <ref name="draw-object"/>
+ <ref name="draw-object-ole"/>
+ <ref name="draw-applet"/>
+ <ref name="draw-floating-frame"/>
+ <ref name="draw-plugin"/>
+ </choice>
+ </zeroOrMore>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="draw-image-map"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <choice>
+ <ref name="draw-contour-polygon"/>
+ <ref name="draw-contour-path"/>
+ </choice>
+ </optional>
+ </element>
+</define>
+<define name="common-draw-rel-size-attlist">
+ <ref name="common-draw-size-attlist"/>
+ <optional>
+ <attribute name="style:rel-width">
+ <choice>
+ <ref name="percent"/>
+ <value>scale</value>
+ <value>scale-min</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rel-height">
+ <choice>
+ <ref name="percent"/>
+ <value>scale</value>
+ <value>scale-min</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-frame-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:copy-of">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-text-box">
+ <element name="draw:text-box">
+ <ref name="draw-text-box-attlist"/>
+ <zeroOrMore>
+ <ref name="text-content"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-text-box-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:chain-next-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-text-box-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:corner-radius">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-text-box-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:min-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:min-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-text-box-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:max-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:max-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-image">
+ <element name="draw:image">
+ <ref name="draw-image-attlist"/>
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-binary-data"/>
+ </choice>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="common-draw-data-attlist" combine="interleave">
+ <group>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <choice>
+ <value>simple</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:show" a:defaultValue="embed">
+ <choice>
+ <value>embed</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate" a:defaultValue="onLoad">
+ <choice>
+ <value>onLoad</value>
+ </choice>
+ </attribute>
+ </optional>
+ </group>
+</define>
+
+<define name="office-binary-data">
+ <element name="office:binary-data">
+ <ref name="base64Binary"/>
+ </element>
+</define>
+<define name="draw-image-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:filter-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-object">
+ <element name="draw:object">
+ <ref name="draw-object-attlist"/>
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-document"/>
+ <ref name="math-math"/>
+ </choice>
+ </element>
+</define>
+
+<define name="draw-object-ole">
+ <element name="draw:object-ole">
+ <ref name="draw-object-ole-attlist"/>
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-binary-data"/>
+ </choice>
+ </element>
+</define>
+<define name="draw-object-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:notify-on-update-of-ranges">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-object-ole-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:class-id"/>
+ </optional>
+</define>
+<define name="draw-applet">
+ <element name="draw:applet">
+ <ref name="draw-applet-attlist"/>
+ <optional>
+ <ref name="common-draw-data-attlist"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-param"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-applet-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:code"/>
+ </optional>
+</define>
+<define name="draw-applet-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:object"/>
+ </optional>
+</define>
+<define name="draw-applet-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:archive"/>
+ </optional>
+</define>
+<define name="draw-applet-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:may-script" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-plugin">
+ <element name="draw:plugin">
+ <ref name="draw-plugin-attlist"/>
+ <ref name="common-draw-data-attlist"/>
+ <zeroOrMore>
+ <ref name="draw-param"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-plugin-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:mime-type"/>
+ </optional>
+</define>
+<define name="draw-param">
+ <element name="draw:param">
+ <ref name="draw-param-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-param-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:name"/>
+ </optional>
+</define>
+<define name="draw-param-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:value"/>
+ </optional>
+</define>
+<define name="draw-floating-frame">
+ <element name="draw:floating-frame">
+ <ref name="draw-floating-frame-attlist"/>
+ <ref name="common-draw-data-attlist"/>
+ </element>
+</define>
+<define name="draw-floating-frame-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:frame-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-contour-polygon">
+ <element name="draw:contour-polygon">
+ <ref name="common-contour-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-points-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="draw-contour-path">
+ <element name="draw:contour-path">
+ <ref name="common-contour-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-path-data-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="common-contour-attlist" combine="interleave">
+ <attribute name="draw:recreate-on-edit">
+ <ref name="boolean"/>
+ </attribute>
+</define>
+<define name="svg-desc">
+ <element name="svg:desc">
+ <text/>
+ </element>
+</define>
+<define name="draw-a">
+ <element name="draw:a">
+ <ref name="draw-a-attlist"/>
+ <ref name="draw-frame"/>
+ </element>
+</define>
+<define name="draw-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">
+ <choice>
+ <value>onRequest</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-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="draw-a-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-a-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:server-map" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-image-map">
+ <element name="draw:image-map">
+ <zeroOrMore>
+ <choice>
+ <ref name="draw-area-rectangle"/>
+ <ref name="draw-area-circle"/>
+ <ref name="draw-area-polygon"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-area-rectangle">
+ <element name="draw:area-rectangle">
+ <ref name="common-draw-area-attlist"/>
+ <attribute name="svg:x">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ </element>
+</define>
+<define name="draw-area-circle">
+ <element name="draw:area-circle">
+ <ref name="common-draw-area-attlist"/>
+ <attribute name="svg:cx">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:cy">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:r">
+ <ref name="length"/>
+ </attribute>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ </element>
+</define>
+<define name="draw-area-polygon">
+ <element name="draw:area-polygon">
+ <ref name="common-draw-area-attlist"/>
+ <attribute name="svg:x">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-points-attlist"/>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ </element>
+</define>
+<define name="common-draw-area-attlist" combine="interleave">
+ <optional>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <choice>
+ <value>simple</value>
+ </choice>
+ </attribute>
+ </optional>
+ <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="common-draw-area-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-area-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:nohref">
+ <choice>
+ <value>nohref</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene">
+ <element name="dr3d:scene">
+ <ref name="dr3d-scene-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-text-spreadsheet-shape-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <zeroOrMore>
+ <ref name="dr3d-light"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="shapes3d"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="shapes3d">
+ <choice>
+ <ref name="dr3d-scene"/>
+ <ref name="dr3d-extrude"/>
+ <ref name="dr3d-sphere"/>
+ <ref name="dr3d-rotate"/>
+ <ref name="dr3d-cube"/>
+ </choice>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:vrp">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:vpn">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:vup">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:projection">
+ <choice>
+ <value>parallel</value>
+ <value>perspective</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:distance">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:focal-length">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:shadow-slant">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:shade-mode">
+ <choice>
+ <value>flat</value>
+ <value>phong</value>
+ <value>gouraud</value>
+ <value>draft</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:ambient-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:lighting-mode">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-dr3d-transform-attlist">
+ <optional>
+ <attribute name="dr3d:transform"/>
+ </optional>
+</define>
+<define name="dr3d-light">
+ <element name="dr3d:light">
+ <ref name="dr3d-light-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="dr3d-light-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:diffuse-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-light-attlist" combine="interleave">
+ <attribute name="dr3d:direction">
+ <ref name="vector3D"/>
+ </attribute>
+</define>
+<define name="dr3d-light-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:enabled">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-light-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:specular">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-cube">
+ <element name="dr3d:cube">
+ <ref name="dr3d-cube-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="dr3d-cube-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:min-edge">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:max-edge">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-sphere">
+ <element name="dr3d:sphere">
+ <ref name="dr3d-sphere-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="dr3d-sphere-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:center">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-sphere-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:size">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-extrude">
+ <element name="dr3d:extrude">
+ <ref name="common-draw-path-data-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="dr3d-rotate">
+ <element name="dr3d:rotate">
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-path-data-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-custom-shape">
+ <element name="draw:custom-shape">
+ <ref name="draw-custom-shape-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ <optional>
+ <ref name="draw-enhanced-geometry"/>
+ </optional>
+ </element>
+</define>
+<define name="draw-custom-shape-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:engine">
+ <ref name="namespacedToken"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-custom-shape-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:data">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry">
+ <element name="draw:enhanced-geometry">
+ <ref name="draw-enhanced-geometry-attlist"/>
+ <zeroOrMore>
+ <ref name="draw-equation"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="draw-handle"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:type" a:defaultValue="non-primitive">
+ <ref name="custom-shape-type"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="custom-shape-type">
+ <choice>
+ <value>non-primitive</value>
+ <ref name="string"/>
+ </choice>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:viewBox">
+ <list>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:mirror-vertical" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:mirror-horizontal" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:text-rotate-angle" a:defaultValue="0">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-allowed" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:text-path-allowed" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:concentric-gradient-fill-allowed"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-brightness" a:defaultValue="33%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-depth" a:defaultValue="36pt 0">
+ <list>
+ <ref name="length"/>
+ <ref name="double"/>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-diffusion" a:defaultValue="0%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-number-of-line-segments"
+ a:defaultValue="30">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-light-face" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-first-light-harsh"
+ a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-second-light-harsh"
+ a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-first-light-level"
+ a:defaultValue="66%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-second-light-level"
+ a:defaultValue="66%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-first-light-direction"
+ a:defaultValue="(5 0 1)">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-second-light-direction"
+ a:defaultValue="(-5 0 1)">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-metal" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:shade-mode" a:defaultValue="flat">
+ <choice>
+ <value>flat</value>
+ <value>phong</value>
+ <value>gouraud</value>
+ <value>draft</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-rotation-angle" a:defaultValue="0 0">
+ <list>
+ <ref name="double"/>
+ <ref name="double"/>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-rotation-center">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-shininess" a:defaultValue="50%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-skew" a:defaultValue="50 45">
+ <list>
+ <ref name="double"/>
+ <ref name="double"/>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-specularity" a:defaultValue="0%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:projection" a:defaultValue="parallel">
+ <choice>
+ <value>parallel</value>
+ <value>perspective</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-viewpoint"
+ a:defaultValue="3.5cm -3.5cm 25cm">
+ <ref name="point3D"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="point3D">
+ <data type="string"/>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-origin" a:defaultValue="0.5 -0.5">
+ <list>
+ <ref name="double"/>
+ <ref name="double"/>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-color" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:enhanced-path">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:path-stretchpoint-x" a:defaultValue="0">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:path-stretchpoint-y" a:defaultValue="0">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:text-areas">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:glue-points">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:glue-point-type" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <value>segments</value>
+ <value>rectangle</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:glue-point-leaving-directions"/>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:text-path" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:text-path-mode" a:defaultValue="normal">
+ <choice>
+ <value>normal</value>
+ <value>path</value>
+ <value>shape</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:text-path-scale" a:defaultValue="path">
+ <choice>
+ <value>path</value>
+ <value>shape</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:text-path-same-letter-heights"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:modifiers">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-equation">
+ <element name="draw:equation">
+ <ref name="draw-equation-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-equation-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-equation-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:formula">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle">
+ <element name="draw:handle">
+ <ref name="draw-handle-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-mirror-vertical" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-mirror-horizontal" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-switched" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <attribute name="draw:handle-position">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-range-x-minimum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-range-x-maximum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-range-y-minimum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-range-y-maximum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-polar">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-radius-range-minimum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-radius-range-maximum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-shape-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:class">
+ <ref name="presentation-classes"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-classes">
+ <choice>
+ <value>title</value>
+ <value>outline</value>
+ <value>subtitle</value>
+ <value>text</value>
+ <value>graphic</value>
+ <value>object</value>
+ <value>chart</value>
+ <value>table</value>
+ <value>orgchart</value>
+ <value>page</value>
+ <value>notes</value>
+ <value>handout</value>
+ <value>header</value>
+ <value>footer</value>
+ <value>date-time</value>
+ <value>page-number</value>
+ </choice>
+</define>
+<define name="presentation-shape-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:placeholder">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-shape-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:user-transformed">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-animations">
+ <element name="presentation:animations">
+ <zeroOrMore>
+ <choice>
+ <ref name="presentation-animation-elements"/>
+ <ref name="presentation-animation-group"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="presentation-animation-elements">
+ <choice>
+ <ref name="presentation-show-shape"/>
+ <ref name="presentation-show-text"/>
+ <ref name="presentation-hide-shape"/>
+ <ref name="presentation-hide-text"/>
+ <ref name="presentation-dim"/>
+ <ref name="presentation-play"/>
+ </choice>
+</define>
+<define name="presentation-sound">
+ <element name="presentation:sound">
+ <ref name="presentation-sound-attlist"/>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <choice>
+ <value>simple</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate" a:defaultValue="onRequest">
+ <choice>
+ <value>onRequest</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:show">
+ <choice>
+ <value>new</value>
+ <value>replace</value>
+ </choice>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+</define>
+<define name="presentation-sound-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:play-full">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-show-shape">
+ <element name="presentation:show-shape">
+ <ref name="common-presentation-effect-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+</define>
+<define name="common-presentation-effect-attlist" combine="interleave">
+ <attribute name="draw:shape-id">
+ <ref name="IDREF"/>
+ </attribute>
+</define>
+<define name="common-presentation-effect-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:effect" a:defaultValue="none">
+ <ref name="presentationEffects"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentationEffects">
+ <choice>
+ <value>none</value>
+ <value>fade</value>
+ <value>move</value>
+ <value>stripes</value>
+ <value>open</value>
+ <value>close</value>
+ <value>dissolve</value>
+ <value>wavyline</value>
+ <value>random</value>
+ <value>lines</value>
+ <value>laser</value>
+ <value>appear</value>
+ <value>hide</value>
+ <value>move-short</value>
+ <value>checkerboard</value>
+ <value>rotate</value>
+ <value>stretch</value>
+ </choice>
+</define>
+<define name="common-presentation-effect-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:direction" a:defaultValue="none">
+ <ref name="presentationEffectDirections"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentationEffectDirections">
+ <choice>
+ <value>none</value>
+ <value>from-left</value>
+ <value>from-top</value>
+ <value>from-right</value>
+ <value>from-bottom</value>
+ <value>from-center</value>
+ <value>from-upper-left</value>
+ <value>from-upper-right</value>
+ <value>from-lower-left</value>
+ <value>from-lower-right</value>
+ <value>to-left</value>
+ <value>to-top</value>
+ <value>to-right</value>
+ <value>to-bottom</value>
+ <value>to-upper-left</value>
+ <value>to-upper-right</value>
+ <value>to-lower-right</value>
+ <value>to-lower-left</value>
+ <value>path</value>
+ <value>spiral-inward-left</value>
+ <value>spiral-inward-right</value>
+ <value>spiral-outward-left</value>
+ <value>spiral-outward-right</value>
+ <value>vertical</value>
+ <value>horizontal</value>
+ <value>to-center</value>
+ <value>clockwise</value>
+ <value>counter-clockwise</value>
+ </choice>
+</define>
+<define name="common-presentation-effect-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:speed" a:defaultValue="medium">
+ <ref name="presentationSpeeds"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentationSpeeds">
+ <choice>
+ <value>slow</value>
+ <value>medium</value>
+ <value>fast</value>
+ </choice>
+</define>
+<define name="common-presentation-effect-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:delay">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-presentation-effect-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:start-scale" a:defaultValue="100%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-presentation-effect-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:path-id"/>
+ </optional>
+</define>
+<define name="presentation-show-text">
+ <element name="presentation:show-text">
+ <ref name="common-presentation-effect-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+</define>
+<define name="presentation-hide-shape">
+ <element name="presentation:hide-shape">
+ <ref name="common-presentation-effect-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+</define>
+<define name="presentation-hide-text">
+ <element name="presentation:hide-text">
+ <ref name="common-presentation-effect-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+</define>
+<define name="presentation-dim">
+ <element name="presentation:dim">
+ <ref name="presentation-dim-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+</define>
+<define name="presentation-dim-attlist" combine="interleave">
+ <attribute name="draw:shape-id">
+ <ref name="IDREF"/>
+ </attribute>
+</define>
+<define name="presentation-dim-attlist" combine="interleave">
+ <attribute name="draw:color">
+ <ref name="color"/>
+ </attribute>
+</define>
+<define name="presentation-play">
+ <element name="presentation:play">
+ <ref name="presentation-play-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="presentation-play-attlist" combine="interleave">
+ <attribute name="draw:shape-id">
+ <ref name="IDREF"/>
+ </attribute>
+ <optional>
+ <attribute name="presentation:speed" a:defaultValue="medium">
+ <ref name="presentationSpeeds"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-animation-group">
+ <element name="presentation:animation-group">
+ <zeroOrMore>
+ <ref name="presentation-animation-elements"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="common-anim-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:node-type" a:defaultValue="default">
+ <choice>
+ <value>default</value>
+ <value>on-click</value>
+ <value>with-previous</value>
+ <value>after-previous</value>
+ <value>timing-root</value>
+ <value>main-sequence</value>
+ <value>interactive-sequence</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:preset-id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:preset-sub-type">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:preset-class" a:defaultValue="custom">
+ <choice>
+ <value>custom</value>
+ <value>entrance</value>
+ <value>exit</value>
+ <value>emphasis</value>
+ <value>motion-path</value>
+ <value>ole-action</value>
+ <value>media-call</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:master-element">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:group-id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-event-listener">
+ <element name="presentation:event-listener">
+ <ref name="presentation-event-listener-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <attribute name="script:event-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <attribute name="presentation:action">
+ <choice>
+ <value>none</value>
+ <value>previous-page</value>
+ <value>next-page</value>
+ <value>first-page</value>
+ <value>last-page</value>
+ <value>hide</value>
+ <value>stop</value>
+ <value>execute</value>
+ <value>show</value>
+ <value>verb</value>
+ <value>fade-out</value>
+ <value>sound</value>
+ </choice>
+ </attribute>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:effect" a:defaultValue="none">
+ <ref name="presentationEffects"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:direction" a:defaultValue="none">
+ <ref name="presentationEffectDirections"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:speed" a:defaultValue="medium">
+ <ref name="presentationSpeeds"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:start-scale" a:defaultValue="100%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <optional>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <choice>
+ <value>simple</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:show" a:defaultValue="embed">
+ <choice>
+ <value>embed</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate" a:defaultValue="onRequest">
+ <choice>
+ <value>onRequest</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:verb">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+ <element name="presentation:header">
+ <empty/>
+ </element>
+</define>
+<define name="paragraph-content" combine="choice">
+ <element name="presentation:footer">
+ <empty/>
+ </element>
+</define>
+<define name="paragraph-content" combine="choice">
+ <element name="presentation:date-time">
+ <empty/>
+ </element>
+</define>
+<define name="presentation-decls">
+ <zeroOrMore>
+ <ref name="presentation-decl"/>
+ </zeroOrMore>
+</define>
+<define name="presentation-decl" combine="choice">
+ <element name="presentation:header-decl">
+ <ref name="presentation-header-decl-attlist"/>
+ <text/>
+ </element>
+</define>
+<define name="presentation-header-decl-attlist" combine="interleave">
+ <attribute name="presentation:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="presentation-decl" combine="choice">
+ <element name="presentation:footer-decl">
+ <ref name="presentation-footer-decl-attlist"/>
+ <text/>
+ </element>
+</define>
+<define name="presentation-footer-decl-attlist" combine="interleave">
+ <attribute name="presentation:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="presentation-decl" combine="choice">
+ <element name="presentation:date-time-decl">
+ <ref name="presentation-date-time-decl-attlist"/>
+ <text/>
+ </element>
+</define>
+<define name="presentation-date-time-decl-attlist" combine="interleave">
+ <attribute name="presentation:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="presentation-date-time-decl-attlist" combine="interleave">
+ <attribute name="presentation:source">
+ <choice>
+ <value>fixed</value>
+ <value>current-date</value>
+ </choice>
+ </attribute>
+</define>
+<define name="presentation-date-time-decl-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:data-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings">
+ <optional>
+ <element name="presentation:settings">
+ <ref name="presentation-settings-attlist"/>
+ <zeroOrMore>
+ <ref name="presentation-show"/>
+ </zeroOrMore>
+ </element>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:start-page">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:show">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:full-screen" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:endless" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:pause">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:show-logo" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:force-manual" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:mouse-visible" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:mouse-as-pen" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:start-with-navigator"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:animations" a:defaultValue="enabled">
+ <choice>
+ <value>enabled</value>
+ <value>disabled</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:transition-on-click"
+ a:defaultValue="enabled">
+ <choice>
+ <value>enabled</value>
+ <value>disabled</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:stay-on-top" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-show">
+ <element name="presentation:show">
+ <ref name="presentation-show-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="presentation-show-attlist" combine="interleave">
+ <attribute name="presentation:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="presentation-show-attlist" combine="interleave">
+ <attribute name="presentation:pages"/>
+</define>
+<define name="chart-chart">
+ <element name="chart:chart">
+ <ref name="chart-chart-attlist"/>
+ <optional>
+ <ref name="chart-title"/>
+ </optional>
+ <optional>
+ <ref name="chart-subtitle"/>
+ </optional>
+ <optional>
+ <ref name="chart-footer"/>
+ </optional>
+ <optional>
+ <ref name="chart-legend"/>
+ </optional>
+ <ref name="chart-plot-area"/>
+ <optional>
+ <ref name="table-table"/>
+ </optional>
+ </element>
+</define>
+<define name="chart-chart-attlist" combine="interleave">
+ <attribute name="chart:class">
+ <ref name="namespacedToken"/>
+ </attribute>
+</define>
+<define name="chart-chart-attlist" combine="interleave">
+ <ref name="common-draw-size-attlist"/>
+</define>
+<define name="chart-chart-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:column-mapping">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-chart-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:row-mapping">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-chart-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-title">
+ <element name="chart:title">
+ <ref name="chart-title-attlist"/>
+ <optional>
+ <ref name="text-p"/>
+ </optional>
+ </element>
+</define>
+<define name="chart-title-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:cell-range">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-title-attlist" combine="interleave">
+ <ref name="common-draw-position-attlist"/>
+</define>
+<define name="chart-title-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-subtitle">
+ <element name="chart:subtitle">
+ <ref name="chart-title-attlist"/>
+ <optional>
+ <ref name="text-p"/>
+ </optional>
+ </element>
+</define>
+<define name="chart-footer">
+ <element name="chart:footer">
+ <ref name="chart-title-attlist"/>
+ <optional>
+ <ref name="text-p"/>
+ </optional>
+ </element>
+</define>
+<define name="chart-legend">
+ <element name="chart:legend">
+ <ref name="chart-legend-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="chart-legend-attlist" combine="interleave">
+ <choice>
+ <group>
+ <attribute name="chart:legend-position">
+ <choice>
+ <value>start</value>
+ <value>end</value>
+ <value>top</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="chart:legend-align">
+ <choice>
+ <value>start</value>
+ <value>center</value>
+ <value>end</value>
+ </choice>
+ </attribute>
+ </optional>
+ </group>
+ <attribute name="chart:legend-position">
+ <choice>
+ <value>top-start</value>
+ <value>bottom-start</value>
+ <value>top-end</value>
+ <value>bottom-end</value>
+ </choice>
+ </attribute>
+ <empty/>
+ </choice>
+</define>
+<define name="chart-legend-attlist" combine="interleave">
+ <ref name="common-draw-position-attlist"/>
+</define>
+<define name="chart-legend-attlist" combine="interleave">
+ <choice>
+ <attribute name="style:legend-expansion">
+ <choice>
+ <value>wide</value>
+ <value>high</value>
+ <value>balanced</value>
+ </choice>
+ </attribute>
+ <group>
+ <attribute name="style:legend-expansion">
+ <value>custom</value>
+ </attribute>
+ <attribute name="style:legend-expansion-aspect-ratio">
+ <ref name="double"/>
+ </attribute>
+ </group>
+ <empty/>
+ </choice>
+</define>
+<define name="chart-legend-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-plot-area">
+ <element name="chart:plot-area">
+ <ref name="chart-plot-area-attlist"/>
+ <zeroOrMore>
+ <ref name="dr3d-light"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="chart-axis"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="chart-series"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="chart-stock-gain-marker"/>
+ </optional>
+ <optional>
+ <ref name="chart-stock-loss-marker"/>
+ </optional>
+ <optional>
+ <ref name="chart-stock-range-line"/>
+ </optional>
+ <optional>
+ <ref name="chart-wall"/>
+ </optional>
+ <optional>
+ <ref name="chart-floor"/>
+ </optional>
+ </element>
+</define>
+<define name="chart-plot-area-attlist" combine="interleave">
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+</define>
+<define name="chart-plot-area-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-plot-area-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-plot-area-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:data-source-has-labels" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <value>row</value>
+ <value>column</value>
+ <value>both</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-plot-area-attlist" combine="interleave">
+ <ref name="dr3d-scene-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+</define>
+<define name="chart-wall">
+ <element name="chart:wall">
+ <ref name="chart-wall-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="chart-wall-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-wall-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-floor">
+ <element name="chart:floor">
+ <ref name="chart-floor-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="chart-floor-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-floor-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-axis">
+ <element name="chart:axis">
+ <ref name="chart-axis-attlist"/>
+ <optional>
+ <ref name="chart-title"/>
+ </optional>
+ <optional>
+ <ref name="chart-categories"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="chart-grid"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="chart-axis-attlist" combine="interleave">
+ <attribute name="chart:dimension">
+ <choice>
+ <value>x</value>
+ <value>y</value>
+ <value>z</value>
+ </choice>
+ </attribute>
+</define>
+<define name="chart-axis-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-axis-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-grid">
+ <element name="chart:grid">
+ <ref name="chart-grid-attlist"/>
+ </element>
+</define>
+<define name="chart-grid-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:class" a:defaultValue="major">
+ <choice>
+ <value>major</value>
+ <value>minor</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-grid-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-series">
+ <element name="chart:series">
+ <ref name="chart-series-attlist"/>
+ <zeroOrMore>
+ <ref name="chart-domain"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="chart-mean-value"/>
+ </optional>
+ <optional>
+ <ref name="chart-regression-curve"/>
+ </optional>
+ <optional>
+ <ref name="chart-error-indicator"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="chart-data-point"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="chart-series-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:values-cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-series-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:label-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-series-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:class">
+ <ref name="namespacedToken"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-series-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:attached-axis">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-series-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-domain">
+ <element name="chart:domain">
+ <optional>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="chart-categories">
+ <element name="chart:categories">
+ <optional>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="chart-data-point">
+ <element name="chart:data-point">
+ <ref name="chart-data-point-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="chart-data-point-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:repeated">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-data-point-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="chart-mean-value">
+ <element name="chart:mean-value">
+ <ref name="chart-mean-value-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="chart-mean-value-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-error-indicator">
+ <element name="chart:error-indicator">
+ <ref name="chart-error-indicator-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="chart-error-indicator-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-regression-curve">
+ <element name="chart:regression-curve">
+ <ref name="chart-regression-curve-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="chart-regression-curve-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-stock-gain-marker">
+ <element name="chart:stock-gain-marker">
+ <ref name="common-stock-marker-attlist"/>
+ </element>
+</define>
+<define name="chart-stock-loss-marker">
+ <element name="chart:stock-loss-marker">
+ <ref name="common-stock-marker-attlist"/>
+ </element>
+</define>
+<define name="chart-stock-range-line">
+ <element name="chart:stock-range-line">
+ <ref name="common-stock-marker-attlist"/>
+ </element>
+</define>
+<define name="common-stock-marker-attlist">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="office-forms">
+ <optional>
+ <element name="office:forms">
+ <ref name="office-forms-attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="form-form"/>
+ <ref name="xforms-model"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </optional>
+</define>
+<define name="office-forms-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:automatic-focus" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="office-forms-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:apply-design-mode" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form">
+ <element name="form:form">
+ <ref name="common-form-control-attlist"/>
+ <ref name="form-form-attlist"/>
+ <optional>
+ <ref name="form-properties"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <choice>
+ <ref name="controls"/>
+ <ref name="form-form"/>
+ </choice>
+ </zeroOrMore>
+ <optional>
+ <ref name="form-connection-resource"/>
+ </optional>
+ </element>
+</define>
+<define name="form-form-attlist" 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:actuate" a:defaultValue="onRequest">
+ <value>onRequest</value>
+ </attribute>
+ </optional>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:target-frame" a:defaultValue="_blank">
+ <ref name="targetFrameName"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:method" a:defaultValue="get">
+ <choice>
+ <value>get</value>
+ <value>post</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:enctype"
+ a:defaultValue="application/x-www-form-urlencoded">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:allow-deletes" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:allow-inserts" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:allow-updates" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:apply-filter" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:command-type" a:defaultValue="command">
+ <choice>
+ <value>table</value>
+ <value>query</value>
+ <value>command</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:command"/>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:datasource">
+ <choice>
+ <ref name="anyURI"/>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:master-fields">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:detail-fields">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:escape-processing" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:filter">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:ignore-result" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:navigation-mode">
+ <ref name="navigation"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="navigation">
+ <choice>
+ <value>none</value>
+ <value>current</value>
+ <value>parent</value>
+ </choice>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:order">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:tab-cycle">
+ <ref name="tab-cycles"/>
+ </attribute>
+ </optional>
+</define>
+<define name="tab-cycles">
+ <choice>
+ <value>records</value>
+ <value>current</value>
+ <value>page</value>
+ </choice>
+</define>
+<define name="form-connection-resource">
+ <element name="form:connection-resource">
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ <empty/>
+ </element>
+</define>
+<define name="xforms-model">
+ <element name="xforms:model">
+ <ref name="anyAttListOrElements"/>
+ </element>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:text">
+ <ref name="form-text-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="controls" combine="choice">
+ <ref name="column-controls"/>
+</define>
+<define name="form-text-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+</define>
+<define name="form-control-attlist">
+ <ref name="common-form-control-attlist"/>
+ <ref name="common-control-id-attlist"/>
+ <ref name="xforms-bind-attlist"/>
+</define>
+<define name="common-form-control-content">
+ <optional>
+ <ref name="form-properties"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:textarea">
+ <ref name="form-textarea-attlist"/>
+ <ref name="common-form-control-content"/>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="form-textarea-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:password">
+ <ref name="form-password-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-password-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+</define>
+<define name="form-password-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:echo-char" a:defaultValue="*">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:file">
+ <ref name="form-file-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-file-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:formatted-text">
+ <ref name="form-formatted-text-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-formatted-text-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+</define>
+<define name="form-formatted-text-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-formatted-text-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-formatted-text-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:validation" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:number">
+ <ref name="form-number-attlist"/>
+ <ref name="common-numeric-control-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="common-numeric-control-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+</define>
+<define name="form-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:value">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:current-value">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:date">
+ <ref name="form-date-attlist"/>
+ <ref name="common-numeric-control-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:time">
+ <ref name="form-time-attlist"/>
+ <ref name="common-numeric-control-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-date-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:value">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-time-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:value">
+ <ref name="time"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-date-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:current-value">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-time-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:current-value">
+ <ref name="time"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-date-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-time-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="time"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-date-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-time-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="time"/>
+ </attribute>
+ </optional>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:fixed-text">
+ <ref name="form-fixed-text-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-fixed-text-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="for"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="label"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-title-attlist"/>
+</define>
+<define name="form-fixed-text-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:multi-line" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:combobox">
+ <ref name="form-combobox-attlist"/>
+ <ref name="common-form-control-content"/>
+ <zeroOrMore>
+ <ref name="form-item"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="form-combobox-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="dropdown"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="size"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="list-source"/>
+ <ref name="list-source-type"/>
+</define>
+<define name="form-combobox-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:auto-complete">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-item">
+ <element name="form:item">
+ <ref name="form-item-attlist"/>
+ <text/>
+ </element>
+</define>
+<define name="form-item-attlist" combine="interleave">
+ <ref name="label"/>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:listbox">
+ <ref name="form-listbox-attlist"/>
+ <ref name="common-form-control-content"/>
+ <zeroOrMore>
+ <ref name="form-option"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="form-listbox-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="dropdown"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="size"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="bound-column"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="list-source"/>
+ <ref name="list-source-type"/>
+</define>
+<define name="form-listbox-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:multiple" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-listbox-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:xforms-list-source">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-option">
+ <element name="form:option">
+ <ref name="form-option-attlist"/>
+ <text/>
+ </element>
+</define>
+<define name="form-option-attlist" combine="interleave">
+ <ref name="current-selected"/>
+ <ref name="selected"/>
+ <ref name="label"/>
+ <ref name="common-value-attlist"/>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:button">
+ <ref name="form-button-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-button-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="button-type"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="label"/>
+ <ref name="image-data"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="target-frame"/>
+ <ref name="target-location"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-form-relative-image-position-attlist"/>
+</define>
+<define name="form-button-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:default-button" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-button-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:toggle" a:default-value="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-button-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:focus-on-click">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-button-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:xforms-submission">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:image">
+ <ref name="form-image-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-image-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="button-type"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="image-data"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="target-frame"/>
+ <ref name="target-location"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:checkbox">
+ <ref name="form-checkbox-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-checkbox-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="label"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="common-form-visual-effect-attlist"/>
+ <ref name="common-form-relative-image-position-attlist"/>
+</define>
+<define name="states">
+ <choice>
+ <value>unchecked</value>
+ <value>checked</value>
+ <value>unknown</value>
+ </choice>
+</define>
+<define name="form-checkbox-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:current-state">
+ <ref name="states"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-checkbox-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:is-tristate" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-checkbox-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:state" a:defaultValue="unchecked">
+ <ref name="states"/>
+ </attribute>
+ </optional>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:radio">
+ <ref name="form-radio-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-radio-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="current-selected"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="label"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="selected"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="common-form-visual-effect-attlist"/>
+ <ref name="common-form-relative-image-position-attlist"/>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:frame">
+ <ref name="form-frame-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-frame-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="for"/>
+ <ref name="label"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-title-attlist"/>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:image-frame">
+ <ref name="form-image-frame-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-image-frame-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="image-data"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-data-field-attlist"/>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:hidden">
+ <ref name="form-hidden-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-hidden-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-value-attlist"/>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:grid">
+ <ref name="form-grid-attlist"/>
+ <ref name="common-form-control-content"/>
+ <zeroOrMore>
+ <ref name="form-column"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="form-grid-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+</define>
+<define name="form-column">
+ <element name="form:column">
+ <ref name="form-column-attlist"/>
+ <oneOrMore>
+ <ref name="column-controls"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="form-column-attlist" combine="interleave">
+ <ref name="common-form-control-attlist"/>
+ <ref name="label"/>
+ <ref name="text-style-name"/>
+</define>
+<define name="text-style-name">
+ <optional>
+ <attribute name="form:text-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:value-range">
+ <ref name="form-value-range-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-value-range-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+</define>
+<define name="form-value-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-value-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-value-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:step-size" a:defaultName="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-value-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:page-step-size">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-value-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:delay-for-repeat">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-value-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:orientation">
+ <choice>
+ <value>horizontal</value>
+ <value>vertical</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:generic-control">
+ <ref name="form-generic-control-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-generic-control-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+</define>
+<define name="common-form-control-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-form-control-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:control-implementation">
+ <ref name="namespacedToken"/>
+ </attribute>
+ </optional>
+</define>
+<define name="xforms-bind-attlist">
+ <optional>
+ <attribute name="xforms:bind">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="types">
+ <choice>
+ <value>submit</value>
+ <value>reset</value>
+ <value>push</value>
+ <value>url</value>
+ </choice>
+</define>
+<define name="button-type">
+ <optional>
+ <attribute name="form:button-type" a:defaultValue="push">
+ <ref name="types"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-control-id-attlist">
+ <attribute name="form:id">
+ <ref name="ID"/>
+ </attribute>
+</define>
+<define name="current-selected">
+ <optional>
+ <attribute name="form:current-selected" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-value-attlist">
+ <optional>
+ <attribute name="form:value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-current-value-attlist">
+ <optional>
+ <attribute name="form:current-value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-disabled-attlist">
+ <optional>
+ <attribute name="form:disabled" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dropdown">
+ <optional>
+ <attribute name="form:dropdown" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="for">
+ <optional>
+ <attribute name="form:for">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="image-data">
+ <optional>
+ <attribute name="form:image-data">
+ <ref name="anyURI"/>
+ </attribute>
+ </optional>
+</define>
+<define name="label">
+ <optional>
+ <attribute name="form:label">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-maxlength-attlist">
+ <optional>
+ <attribute name="form:max-length">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-printable-attlist">
+ <optional>
+ <attribute name="form:printable" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-readonly-attlist">
+ <optional>
+ <attribute name="form:readonly" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="selected">
+ <optional>
+ <attribute name="form:selected" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="size">
+ <optional>
+ <attribute name="form:size">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-tab-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:tab-index" a:defaultValue="0">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-tab-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:tab-stop" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="target-frame">
+ <optional>
+ <attribute name="office:target-frame" a:defaultValue="_blank">
+ <ref name="targetFrameName"/>
+ </attribute>
+ </optional>
+</define>
+<define name="target-location">
+ <optional>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-title-attlist">
+ <optional>
+ <attribute name="form:title"/>
+ </optional>
+</define>
+<define name="common-form-visual-effect-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:visual-effect">
+ <choice>
+ <value>flat</value>
+ <value>3d</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-form-relative-image-position-attlist"
+ combine="interleave">
+ <choice>
+ <optional>
+ <attribute name="form:image-position" a:defaultValue="center">
+ <value>center</value>
+ </attribute>
+ </optional>
+ <group>
+ <attribute name="form:image-position">
+ <choice>
+ <value>start</value>
+ <value>end</value>
+ <value>top</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="form:image-align" a:defaultValue="center">
+ <choice>
+ <value>start</value>
+ <value>center</value>
+ <value>end</value>
+ </choice>
+ </attribute>
+ </optional>
+ </group>
+ </choice>
+</define>
+<define name="bound-column">
+ <optional>
+ <attribute name="form:bound-column">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-convert-empty-attlist">
+ <optional>
+ <attribute name="form:convert-empty-to-null" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-field-attlist">
+ <optional>
+ <attribute name="form:data-field">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="list-source">
+ <optional>
+ <attribute name="form:list-source">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="list-source-type">
+ <optional>
+ <attribute name="form:list-source-type">
+ <choice>
+ <value>table</value>
+ <value>query</value>
+ <value>sql</value>
+ <value>sql-pass-through</value>
+ <value>value-list</value>
+ <value>table-fields</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="form-properties">
+ <element name="form:properties">
+ <oneOrMore>
+ <ref name="form-property"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="form-property" combine="choice">
+ <element name="form:property">
+ <ref name="form-property-name"/>
+ <ref name="form-property-value-and-type-attlist"/>
+ </element>
+</define>
+<define name="form-property-name" combine="interleave">
+ <attribute name="form:property-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="form-property-value-and-type-attlist" combine="interleave">
+ <choice>
+ <ref name="common-value-and-type-attlist"/>
+ <attribute name="office:value-type">
+ <value>void</value>
+ </attribute>
+ </choice>
+</define>
+<define name="form-property" combine="choice">
+ <element name="form:list-property">
+ <ref name="form-property-name"/>
+ <ref name="form-property-type-and-value-list"/>
+ </element>
+</define>
+<define name="form-property-type-and-value-list">
+ <choice>
+ <group>
+ <attribute name="office:value-type">
+ <value>float</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:value">
+ <ref name="double"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>percentage</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:value">
+ <ref name="double"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>currency</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:value">
+ <ref name="double"/>
+ </attribute>
+ <optional>
+ <attribute name="office:currency">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>date</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:date-value">
+ <ref name="dateOrDateTime"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>time</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:time-value">
+ <ref name="duration"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>boolean</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:boolean-value">
+ <ref name="boolean"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>string</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:string-value">
+ <ref name="string"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <attribute name="office:value-type">
+ <value>void</value>
+ </attribute>
+ </choice>
+</define>
+<define name="office-annotation">
+ <element name="office:annotation">
+ <ref name="office-annotation-attlist"/>
+ <ref name="draw-caption-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="dc-creator"/>
+ </optional>
+ <optional>
+ <ref name="dc-date"/>
+ </optional>
+ <optional>
+ <ref name="meta-date-string"/>
+ </optional>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-p"/>
+ <ref name="text-list"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="office-annotation-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="meta-date-string">
+ <element name="meta:date-string">
+ <ref name="string"/>
+ </element>
+</define>
+<define name="common-num-format-prefix-suffix-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:num-prefix">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:num-suffix">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-num-format-attlist" combine="interleave">
+ <choice>
+ <attribute name="style:num-format">
+ <choice>
+ <value>1</value>
+ <value>i</value>
+ <value>I</value>
+ <ref name="string"/>
+ <empty/>
+ </choice>
+ </attribute>
+ <group>
+ <attribute name="style:num-format">
+ <choice>
+ <value>a</value>
+ <value>A</value>
+ </choice>
+ </attribute>
+ <ref name="style-num-letter-sync-attlist"/>
+ </group>
+ <empty/>
+ </choice>
+</define>
+<define name="style-num-letter-sync-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:num-letter-sync">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="office-change-info">
+ <element name="office:change-info">
+ <ref name="dc-creator"/>
+ <ref name="dc-date"/>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="office-event-listeners">
+ <element name="office:event-listeners">
+ <zeroOrMore>
+ <choice>
+ <ref name="script-event-listener"/>
+ <ref name="presentation-event-listener"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="script-event-listener" combine="interleave">
+ <element name="script:event-listener">
+ <ref name="script-event-listener-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="script-event-listener-attlist" combine="interleave">
+ <attribute name="script:event-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="script-event-listener-attlist" combine="interleave">
+ <attribute name="script:language">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="script-event-listener-attlist" combine="interleave">
+ <choice>
+ <attribute name="script:macro-name">
+ <ref name="string"/>
+ </attribute>
+ <group>
+ <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>
+ </group>
+ </choice>
+</define>
+<define name="math-math">
+ <element name="math:math">
+ <ref name="mathMarkup"/>
+ </element>
+</define>
+
+<!-- To avoid inclusion of the complete MathML schema, anything -->
+<!-- is allowed within a math:math top-level element -->
+<define name="mathMarkup">
+ <zeroOrMore>
+ <choice>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <text/>
+ <element>
+ <anyName/>
+ <ref name="mathMarkup"/>
+ </element>
+ </choice>
+ </zeroOrMore>
+</define>
+<define name="text-dde-connection-decl">
+ <element name="text:dde-connection-decl">
+ <ref name="text-dde-connection-decl-attlist"/>
+ <ref name="common-dde-connection-decl-attlist"/>
+ </element>
+</define>
+<define name="text-dde-connection-decl-attlist" combine="interleave">
+ <attribute name="office:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="common-dde-connection-decl-attlist" combine="interleave">
+ <attribute name="office:dde-application">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="common-dde-connection-decl-attlist" combine="interleave">
+ <attribute name="office:dde-topic">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="common-dde-connection-decl-attlist" combine="interleave">
+ <attribute name="office:dde-item">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="common-dde-connection-decl-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:automatic-update" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-dde-link">
+ <element name="table:dde-link">
+ <ref name="office-dde-source"/>
+ <ref name="table-table"/>
+ </element>
+</define>
+<define name="office-dde-source">
+ <element name="office:dde-source">
+ <ref name="office-dde-source-attlist"/>
+ <ref name="common-dde-connection-decl-attlist"/>
+ </element>
+</define>
+<define name="office-dde-source-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="office-dde-source-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:conversion-mode"
+ a:defaultValue="into-default-style-data-style">
+ <choice>
+ <value>into-default-style-data-style</value>
+ <value>into-english-number</value>
+ <value>keep-text</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:animate">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="common-anim-spline-mode-attlist"/>
+ <ref name="common-spline-anim-value-attlist"/>
+ <ref name="common-repeat-timing-attlist"/>
+ <ref name="common-fill-timing-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ </element>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:set">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-set-values-attlist"/>
+ <ref name="common-fill-timing-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ </element>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:animateMotion">
+ <ref name="anim-animate-motion-attlist"/>
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="common-fill-timing-attlist"/>
+ <ref name="common-spline-anim-value-attlist"/>
+ </element>
+</define>
+<define name="anim-animate-motion-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:path">
+ <ref name="pathData"/>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-animate-motion-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:origin">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-animate-motion-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:calcMode" a:defaultValue="paced">
+ <choice>
+ <value>discrete</value>
+ <value>linear</value>
+ <value>paced</value>
+ <value>spline</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:animateColor">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="common-anim-spline-mode-attlist"/>
+ <ref name="common-spline-anim-value-attlist"/>
+ <ref name="anim-animate-color-attlist"/>
+ <ref name="common-fill-timing-attlist"/>
+ </element>
+</define>
+<define name="anim-animate-color-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:color-interpolation" a:defaultValue="rgb">
+ <choice>
+ <value>rgb</value>
+ <value>hsl</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-animate-color-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:color-interpolation-direction"
+ a:defaultValue="clockwise">
+ <choice>
+ <value>clockwise</value>
+ <value>counter-clockwise</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:animateTransform">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="anim-animate-transform-attlist"/>
+ <ref name="common-fill-timing-attlist"/>
+ </element>
+</define>
+<define name="anim-animate-transform-attlist" combine="interleave">
+ <attribute name="svg:type">
+ <choice>
+ <value>translate</value>
+ <value>scale</value>
+ <value>rotate</value>
+ <value>skewX</value>
+ <value>skewY</value>
+ </choice>
+ </attribute>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:transitionFilter">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="common-anim-spline-mode-attlist "/>
+ <ref name="anim-transition-filter-attlist"/>
+ <ref name="common-fill-timing-attlist"/>
+ </element>
+</define>
+<define name="anim-transition-filter-attlist" combine="interleave">
+ <attribute name="smil:type">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="anim-transition-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:subtype">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-transition-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:direction" a:defaultValue="forward">
+ <choice>
+ <value>forward</value>
+ <value>reverse</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-transition-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:fadeColor">
+ <choice>
+ <value>forward</value>
+ <value>reverse</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-transition-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:mode" a:defaultValue="in">
+ <choice>
+ <value>in</value>
+ <value>out</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:id">
+ <ref name="ID"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-target-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:targetElement">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-named-target-attlist" combine="interleave">
+ <attribute name="smil:attributeName">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="common-anim-target-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:sub-item">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-values-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:values">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-spline-mode-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:calcMode" a:defaultValue="discrete">
+ <choice>
+ <value>discrete</value>
+ <value>linear</value>
+ <value>paced</value>
+ <value>spline</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-spline-anim-value-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:keyTimes">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-spline-anim-value-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:keySplines">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-add-accum-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:accumulate">
+ <choice>
+ <value>none</value>
+ <value>sum</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-add-accum-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:additive">
+ <choice>
+ <value>replace</value>
+ <value>sum</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-values-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:formula">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-set-values-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:to">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="common-anim-values-attlist" combine="interleave">
+ <ref name="common-anim-set-values-attlist"/>
+ <optional>
+ <attribute name="smil:from">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:by">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-begin-end-timing-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:begin">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-begin-end-timing-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:end">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-dur-timing-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:dur">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-endsync-timing-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:endsync">
+ <choice>
+ <value>first</value>
+ <value>last</value>
+ <value>all</value>
+ <value>media</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-repeat-timing-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:repeatDur">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="smil:repeatCount">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-fill-timing-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:fill">
+ <choice>
+ <value>remove</value>
+ <value>freeze</value>
+ <value>hold</value>
+ <value>auto</value>
+ <value>default</value>
+ <value>transition</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-fill-default-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:fillDefault">
+ <choice>
+ <value>remove</value>
+ <value>freeze</value>
+ <value>hold</value>
+ <value>transition</value>
+ <value>auto</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-restart-timing-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:restart" a:defaultValue="default">
+ <choice>
+ <value>never</value>
+ <value>always</value>
+ <value>whenNotActive</value>
+ <value>default</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-restart-default-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:restartDefault" a:defaultValue="inherit">
+ <choice>
+ <value>never</value>
+ <value>always</value>
+ <value>whenNotActive</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-time-manip-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:accelerate" a:defaultValue="0.0">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-time-manip-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:decelerate" a:defaultValue="0.0">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-time-manip-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:autoReverse" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:par">
+ <ref name="common-anim-attlist"/>
+ <ref name="common-timing-attlist"/>
+ <ref name="common-endsync-timing-attlist"/>
+ <zeroOrMore>
+ <ref name="animation-element"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="common-basic-timing-attlist" combine="interleave">
+ <ref name="common-begin-end-timing-attlist"/>
+ <ref name="common-dur-timing-attlist"/>
+ <ref name="common-repeat-timing-attlist"/>
+</define>
+
+<define name="common-timing-attlist" combine="interleave">
+ <ref name="common-basic-timing-attlist"/>
+ <ref name="common-restart-timing-attlist"/>
+ <ref name="common-restart-default-attlist"/>
+ <ref name="common-fill-timing-attlist"/>
+ <ref name="common-fill-default-attlist"/>
+ <ref name="common-time-manip-attlist"/>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:seq">
+ <ref name="common-anim-attlist"/>
+ <ref name="common-endsync-timing-attlist"/>
+ <ref name="common-timing-attlist"/>
+ </element>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:iterate">
+ <ref name="common-anim-attlist"/>
+ <ref name="anin-iterate-attlist"/>
+ <ref name="common-timing-attlist"/>
+ <ref name="common-endsync-timing-attlist"/>
+ <zeroOrMore>
+ <ref name="animation-element"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="anin-iterate-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:targetElement">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+</define>
+<define name="anin-iterate-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:iterate-type">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="anin-iterate-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:iterate-interval">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:audio">
+ <ref name="common-anim-attlist"/>
+ <ref name="anim-audio-attlist"/>
+ <ref name="common-basic-timing-attlist"/>
+ </element>
+</define>
+<define name="anim-audio-attlist" combine="interleave">
+ <optional>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-audio-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:audio-level">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:command">
+ <ref name="common-anim-attlist"/>
+ <ref name="anim-command-attlist"/>
+ <ref name="common-begin-end-timing-attlist"/>
+ <ref name="common-anim-target-attlist"/>
+ <zeroOrMore>
+ <element name="anim:param">
+ <attribute name="anim:name"/>
+ <attribute name="anim:value"/>
+ </element>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="anim-command-attlist" combine="interleave">
+ <attribute name="anim:command">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="style-style">
+ <element name="style:style">
+ <ref name="style-style-attlist"/>
+ <ref name="style-style-content"/>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:parent-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:next-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:list-style-name">
+ <choice>
+ <ref name="styleName"/>
+ <empty/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:master-page-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:auto-update" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:data-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:class">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:default-outline-level">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-map">
+ <element name="style:map">
+ <ref name="style-map-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="style-map-attlist" combine="interleave">
+ <attribute name="style:condition">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="style-map-attlist" combine="interleave">
+ <attribute name="style:apply-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="style-map-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:base-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-default-style">
+ <element name="style:default-style">
+ <ref name="style-style-content"/>
+ </element>
+</define>
+<define name="style-page-layout">
+ <element name="style:page-layout">
+ <ref name="style-page-layout-attlist"/>
+ <optional>
+ <ref name="style-page-layout-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-header-style"/>
+ </optional>
+ <optional>
+ <ref name="style-footer-style"/>
+ </optional>
+ </element>
+</define>
+<define name="style-page-layout-attlist" combine="interleave">
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="style-page-layout-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:page-usage" a:defaultValue="all">
+ <choice>
+ <value>all</value>
+ <value>left</value>
+ <value>right</value>
+ <value>mirrored</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-header-style">
+ <element name="style:header-style">
+ <optional>
+ <ref name="style-header-footer-properties"/>
+ </optional>
+ </element>
+</define>
+<define name="style-footer-style">
+ <element name="style:footer-style">
+ <optional>
+ <ref name="style-header-footer-properties"/>
+ </optional>
+ </element>
+</define>
+<define name="style-master-page">
+ <element name="style:master-page">
+ <ref name="style-master-page-attlist"/>
+ <optional>
+ <ref name="style-header"/>
+ <optional>
+ <ref name="style-header-left"/>
+ </optional>
+ </optional>
+ <optional>
+ <ref name="style-footer"/>
+ <optional>
+ <ref name="style-footer-left"/>
+ </optional>
+ </optional>
+ <optional>
+ <ref name="office-forms"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-style"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="presentation-notes"/>
+ </optional>
+ </element>
+</define>
+<define name="style-master-page-attlist" combine="interleave">
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="style-master-page-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-master-page-attlist" combine="interleave">
+ <attribute name="style:page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="style-master-page-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-master-page-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:next-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-header">
+ <element name="style:header">
+ <ref name="common-style-header-footer-attlist"/>
+ <ref name="header-footer-content"/>
+ </element>
+</define>
+<define name="style-footer">
+ <element name="style:footer">
+ <ref name="common-style-header-footer-attlist"/>
+ <ref name="header-footer-content"/>
+ </element>
+</define>
+<define name="style-header-left">
+ <element name="style:header-left">
+ <ref name="common-style-header-footer-attlist"/>
+ <ref name="header-footer-content"/>
+ </element>
+</define>
+<define name="style-footer-left">
+ <element name="style:footer-left">
+ <ref name="common-style-header-footer-attlist"/>
+ <ref name="header-footer-content"/>
+ </element>
+</define>
+<define name="header-footer-content">
+ <choice>
+ <group>
+ <ref name="text-decls"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-h"/>
+ <ref name="text-p"/>
+ <ref name="text-list"/>
+ <ref name="table-table"/>
+ <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="text-index-title"/>
+ <ref name="change-marks"/>
+ </choice>
+ </zeroOrMore>
+ </group>
+ <group>
+ <optional>
+ <ref name="style-region-left"/>
+ </optional>
+ <optional>
+ <ref name="style-region-center"/>
+ </optional>
+ <optional>
+ <ref name="style-region-right"/>
+ </optional>
+ </group>
+ </choice>
+</define>
+<define name="common-style-header-footer-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:display" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-region-left">
+ <element name="style:region-left">
+ <ref name="region-content"/>
+ </element>
+</define>
+<define name="style-region-center">
+ <element name="style:region-center">
+ <ref name="region-content"/>
+ </element>
+</define>
+<define name="style-region-right">
+ <element name="style:region-right">
+ <ref name="region-content"/>
+ </element>
+</define>
+
+<define name="region-content">
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+</define>
+<define name="presentation-notes">
+ <element name="presentation:notes">
+ <ref name="common-presentation-header-footer-attlist"/>
+ <ref name="presentation-notes-attlist"/>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="presentation-notes-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-notes-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-template">
+ <element name="table:table-template">
+ <ref name="table-table-template-attlist"/>
+ <optional>
+ <ref name="table-first-row"/>
+ </optional>
+ <optional>
+ <ref name="table-last-row"/>
+ </optional>
+ <optional>
+ <ref name="table-first-column"/>
+ </optional>
+ <optional>
+ <ref name="table-last-column"/>
+ </optional>
+ <choice>
+ <ref name="table-body"/>
+ <group>
+ <ref name="table-even-rows"/>
+ <ref name="table-odd-rows"/>
+ </group>
+ <group>
+ <ref name="table-even-columns"/>
+ <ref name="table-odd-columns"/>
+ </group>
+ </choice>
+ </element>
+</define>
+<define name="table-table-template-attlist" combine="interleave">
+ <attribute name="text:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-table-template-attlist" combine="interleave">
+ <attribute name="text:first-row-start-column">
+ <ref name="rowOrCol"/>
+ </attribute>
+</define>
+
+<define name="table-table-template-attlist" combine="interleave">
+ <attribute name="text:first-row-end-column">
+ <ref name="rowOrCol"/>
+ </attribute>
+</define>
+
+<define name="table-table-template-attlist" combine="interleave">
+ <attribute name="text:last-row-start-column">
+ <ref name="rowOrCol"/>
+ </attribute>
+</define>
+
+<define name="table-table-template-attlist" combine="interleave">
+ <attribute name="text:last-row-end-column">
+ <ref name="rowOrCol"/>
+ </attribute>
+</define>
+
+<define name="rowOrCol">
+ <choice>
+ <value>row</value>
+ <value>column</value>
+ </choice>
+</define>
+<define name="table-first-row">
+ <element name="table:first-row">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-last-row">
+ <element name="table:last-row">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-first-column">
+ <element name="table:first-column">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-last-column">
+ <element name="table:last-column">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-body">
+ <element name="table:body">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-even-rows">
+ <element name="table:even-rows">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-odd-rows">
+ <element name="table:odd-rows">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-even-columns">
+ <element name="table:even-columns">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-odd-columns">
+ <element name="table:odd-columns">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="common-table-template-attlist" combine="interleave">
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="style-font-face">
+ <element name="style:font-face">
+ <ref name="style-font-face-attlist"/>
+ <optional>
+ <ref name="svg-font-face-src"/>
+ </optional>
+ <optional>
+ <ref name="svg-definition-src"/>
+ </optional>
+ </element>
+</define>
+<define name="style-font-face-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:font-family">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-style">
+ <ref name="fontStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-variant">
+ <ref name="fontVariant"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-weight">
+ <ref name="fontWeight"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-stretch">
+ <choice>
+ <value>normal</value>
+ <value>ultra-condensed</value>
+ <value>extra-condensed</value>
+ <value>condensed</value>
+ <value>semi-condensed</value>
+ <value>semi-expanded</value>
+ <value>expanded</value>
+ <value>extra-expanded</value>
+ <value>ultra-expanded</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-size">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:unicode-range"/>
+ </optional>
+ <optional>
+ <attribute name="svg:units-per-em">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:panose-1"/>
+ </optional>
+ <optional>
+ <attribute name="svg:stemv">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:stemh">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:slope">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:cap-height">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:x-height">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:accent-height">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:ascent">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:descent">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:widths"/>
+ </optional>
+ <optional>
+ <attribute name="svg:bbox"/>
+ </optional>
+ <optional>
+ <attribute name="svg:ideographic">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:alphabetic">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:mathematical">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:hanging">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:v-ideographic">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:v-alphabetic">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:v-mathematical">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:v-hanging">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:underline-position">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:underline-thickness">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:strikethrough-position">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:strikethrough-thickness">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:overline-position">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:overline-thickness">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="svg-font-face-src">
+ <element name="svg:font-face-src">
+ <oneOrMore>
+ <choice>
+ <ref name="svg-font-face-uri"/>
+ <ref name="svg-font-face-name"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="svg-font-face-uri">
+ <element name="svg:font-face-uri">
+ <ref name="common-svg-font-face-xlink-attlist"/>
+ <zeroOrMore>
+ <ref name="svg-font-face-format"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="svg-font-face-format">
+ <element name="svg:font-face-format">
+ <optional>
+ <attribute name="svg:string"/>
+ </optional>
+ <empty/>
+ </element>
+</define>
+<define name="svg-font-face-name">
+ <element name="svg:font-face-name">
+ <optional>
+ <attribute name="name"/>
+ </optional>
+ <empty/>
+ </element>
+</define>
+
+<define name="svg-definition-src">
+ <element name="svg:definition-src">
+ <ref name="common-svg-font-face-xlink-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="common-svg-font-face-xlink-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="style-font-face-attlist" combine="interleave">
+ <attribute name="style:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="style-font-face-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-adornments">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-font-face-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-family-generic">
+ <ref name="fontFamilyGeneric"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-font-face-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-pitch">
+ <ref name="fontPitch"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="style-font-face-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-charset">
+ <ref name="textEncoding"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-number-style">
+ <element name="number:number-style">
+ <ref name="common-data-style-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <optional>
+ <ref name="any-number"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="any-number">
+ <choice>
+ <ref name="number-number"/>
+ <ref name="number-scientific-number"/>
+ <ref name="number-fraction"/>
+ </choice>
+</define>
+<define name="number-number">
+ <element name="number:number">
+ <ref name="number-number-attlist"/>
+ <ref name="common-decimal-places-attlist"/>
+ <ref name="common-number-attlist"/>
+ <zeroOrMore>
+ <ref name="number-embedded-text"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="number-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:decimal-replacement"/>
+ </optional>
+</define>
+<define name="number-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:display-factor" a:defaultValue="1">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-embedded-text">
+ <element name="number:embedded-text">
+ <ref name="number-embedded-text-attlist"/>
+ <text/>
+ </element>
+</define>
+<define name="number-embedded-text-attlist" combine="interleave">
+ <attribute name="number:position">
+ <ref name="integer"/>
+ </attribute>
+</define>
+<define name="number-scientific-number">
+ <element name="number:scientific-number">
+ <ref name="number-scientific-number-attlist"/>
+ <ref name="common-decimal-places-attlist"/>
+ <ref name="common-number-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-scientific-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:min-exponent-digits">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-fraction">
+ <element name="number:fraction">
+ <ref name="number-fraction-attlist"/>
+ <ref name="common-number-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-fraction-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:min-numerator-digits">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-fraction-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:min-denominator-digits">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-fraction-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:denominator-value">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-currency-style">
+ <element name="number:currency-style">
+ <ref name="common-data-style-attlist"/>
+ <ref name="common-auto-reorder-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <optional>
+ <choice>
+ <group>
+ <ref name="number-and-text"/>
+ <optional>
+ <ref name="currency-symbol-and-text"/>
+ </optional>
+ </group>
+ <group>
+ <ref name="currency-symbol-and-text"/>
+ <optional>
+ <ref name="number-and-text"/>
+ </optional>
+ </group>
+ </choice>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="currency-symbol-and-text">
+ <ref name="number-currency-symbol"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+</define>
+<define name="number-and-text">
+ <ref name="number-number"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+</define>
+<define name="number-currency-symbol">
+ <element name="number:currency-symbol">
+ <ref name="number-currency-symbol-attlist"/>
+ <text/>
+ </element>
+</define>
+<define name="number-currency-symbol-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-percentage-style">
+ <element name="number:percentage-style">
+ <ref name="common-data-style-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <optional>
+ <ref name="number-and-text"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="number-date-style">
+ <element name="number:date-style">
+ <ref name="common-data-style-attlist"/>
+ <ref name="common-auto-reorder-attlist"/>
+ <ref name="common-format-source-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <!-- This DTD does not reflect the fact that some elements must not -->
+ <!-- occur more than once. -->
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <oneOrMore>
+ <ref name="any-date"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="any-date">
+ <choice>
+ <ref name="number-day"/>
+ <ref name="number-month"/>
+ <ref name="number-year"/>
+ <ref name="number-era"/>
+ <ref name="number-day-of-week"/>
+ <ref name="number-week-of-year"/>
+ <ref name="number-quarter"/>
+ <ref name="number-hours"/>
+ <ref name="number-am-pm"/>
+ <ref name="number-minutes"/>
+ <ref name="number-seconds"/>
+ </choice>
+</define>
+<define name="number-day">
+ <element name="number:day">
+ <ref name="number-day-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-day-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-month">
+ <element name="number:month">
+ <ref name="number-month-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-month-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:textual" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-month-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:possessive-form" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-month-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-year">
+ <element name="number:year">
+ <ref name="number-year-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-year-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-era">
+ <element name="number:era">
+ <ref name="number-era-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-era-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-day-of-week">
+ <element name="number:day-of-week">
+ <ref name="number-day-of-week-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-day-of-week-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-week-of-year">
+ <element name="number:week-of-year">
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-quarter">
+ <element name="number:quarter">
+ <ref name="number-quarter-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-quarter-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-time-style">
+ <element name="number:time-style">
+ <ref name="number-time-style-attlist"/>
+ <ref name="common-data-style-attlist"/>
+ <ref name="common-format-source-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <!-- This DTD does not reflect the fact that some elements must not -->
+ <!-- occur more than once. -->
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <oneOrMore>
+ <ref name="any-time"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="any-time">
+ <choice>
+ <ref name="number-hours"/>
+ <ref name="number-am-pm"/>
+ <ref name="number-minutes"/>
+ <ref name="number-seconds"/>
+ </choice>
+</define>
+<define name="number-time-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:truncate-on-overflow" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-hours">
+ <element name="number:hours">
+ <ref name="number-hours-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-hours-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-minutes">
+ <element name="number:minutes">
+ <ref name="number-minutes-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-minutes-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-seconds">
+ <element name="number:seconds">
+ <ref name="number-seconds-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-seconds-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-seconds-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:decimal-places" a:defaultValue="0">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-am-pm">
+ <element name="number:am-pm">
+ <empty/>
+ </element>
+</define>
+<define name="number-boolean-style">
+ <element name="number:boolean-style">
+ <ref name="common-data-style-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <optional>
+ <ref name="number-boolean"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="number-boolean">
+ <element name="number:boolean">
+ <empty/>
+ </element>
+</define>
+<define name="number-text-style">
+ <element name="number:text-style">
+ <ref name="common-data-style-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="number-text-content"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="number-text">
+ <element name="number:text">
+ <text/>
+ </element>
+</define>
+<define name="number-text-content">
+ <element name="number:text-content">
+ <empty/>
+ </element>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="style-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:title"/>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:volatile">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-auto-reorder-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:automatic-order" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-format-source-attlist">
+ <optional>
+ <attribute name="number:format-source" a:defaultValue="fixed">
+ <choice>
+ <value>fixed</value>
+ <value>language</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:transliteration-format" a:defaultValue="1">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:transliteration-language">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:transliteration-country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:transliteration-style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>medium</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-decimal-places-attlist">
+ <optional>
+ <attribute name="number:decimal-places">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:min-integer-digits">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:grouping" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-calendar-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:calendar">
+ <choice>
+ <value>gregorian</value>
+ <value>gengou</value>
+ <value>ROC</value>
+ <value>hanja_yoil</value>
+ <value>hanja</value>
+ <value>hijri</value>
+ <value>jewish</value>
+ <value>buddhist</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>text</value>
+ </attribute>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>paragraph</value>
+ </attribute>
+ <optional>
+ <ref name="style-paragraph-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>section</value>
+ </attribute>
+ <optional>
+ <ref name="style-section-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>ruby</value>
+ </attribute>
+ <optional>
+ <ref name="style-ruby-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="text-linenumbering-configuration">
+ <element name="text:linenumbering-configuration">
+ <ref name="text-linenumbering-configuration-attlist"/>
+ <optional>
+ <ref name="text-linenumbering-separator"/>
+ </optional>
+ </element>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:number-lines" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <ref name="common-num-format-attlist"/>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:increment">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:number-position" a:defaultValue="left">
+ <choice>
+ <value>left</value>
+ <value>rigth</value>
+ <value>inner</value>
+ <value>outer</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:offset">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:count-empty-lines" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:count-in-text-boxes" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:restart-on-page" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-separator">
+ <element name="text:linenumbering-separator">
+ <optional>
+ <attribute name="text:increment">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+</define>
+<define name="text-notes-configuration">
+ <element name="text:notes-configuration">
+ <ref name="text-notes-configuration-content"/>
+ </element>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <ref name="text-note-class"/>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:citation-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:citation-body-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:default-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:master-page-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:start-value">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+ <optional>
+ <ref name="common-num-format-attlist"/>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:start-numbering-at">
+ <choice>
+ <value>document</value>
+ <value>chapter</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:footnotes-position">
+ <choice>
+ <value>text</value>
+ <value>page</value>
+ <value>section</value>
+ <value>document</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <element name="text:note-continuation-notice-forward">
+ <text/>
+ </element>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <element name="text:note-continuation-notice-backward">
+ <text/>
+ </element>
+ </optional>
+</define>
+<define name="text-bibliography-configuration">
+ <element name="text:bibliography-configuration">
+ <ref name="text-bibliography-configuration-attlist"/>
+ <zeroOrMore>
+ <ref name="text-sort-key"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-bibliography-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:prefix">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:suffix">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-bibliography-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:numbered-entries" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-bibliography-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:sort-by-position" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:sort-algorithm">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-sort-key">
+ <element name="text:sort-key">
+ <ref name="text-sort-key-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="text-sort-key-attlist" combine="interleave">
+ <attribute name="text:key">
+ <choice>
+ <value>address</value>
+ <value>annote</value>
+ <value>author</value>
+ <value>bibliography-type</value>
+ <value>booktitle</value>
+ <value>chapter</value>
+ <value>custom1</value>
+ <value>custom2</value>
+ <value>custom3</value>
+ <value>custom4</value>
+ <value>custom5</value>
+ <value>edition</value>
+ <value>editor</value>
+ <value>howpublished</value>
+ <value>identifier</value>
+ <value>institution</value>
+ <value>isbn</value>
+ <value>issn</value>
+ <value>journal</value>
+ <value>month</value>
+ <value>note</value>
+ <value>number</value>
+ <value>organizations</value>
+ <value>pages</value>
+ <value>publisher</value>
+ <value>report-type</value>
+ <value>school</value>
+ <value>series</value>
+ <value>title</value>
+ <value>url</value>
+ <value>volume</value>
+ <value>year</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="text:sort-ascending" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-style">
+ <element name="text:list-style">
+ <ref name="text-list-style-attr"/>
+ <zeroOrMore>
+ <ref name="text-list-style-content"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-list-style-attr" combine="interleave">
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="text-list-style-attr" combine="interleave">
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-style-attr" combine="interleave">
+ <optional>
+ <attribute name="text:consecutive-numbering" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-level-style-attr">
+ <attribute name="text:level">
+ <ref name="positiveInteger"/>
+ </attribute>
+</define>
+<define name="text-list-style-content" combine="choice">
+ <element name="text:list-level-style-number">
+ <ref name="text-list-level-style-attr"/>
+ <ref name="text-list-level-style-number-attr"/>
+ <optional>
+ <ref name="style-list-level-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </element>
+</define>
+<define name="text-list-level-style-number-attr" combine="interleave">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-level-style-number-attr" combine="interleave">
+ <ref name="common-num-format-attlist"/>
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+</define>
+<define name="text-list-level-style-number-attr" combine="interleave">
+ <optional>
+ <attribute name="text:display-levels" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-level-style-number-attr" combine="interleave">
+ <optional>
+ <attribute name="text:start-value" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-style-content" combine="choice">
+ <element name="text:list-level-style-bullet">
+ <ref name="text-list-level-style-attr"/>
+ <ref name="text-list-level-style-bullet-attr"/>
+ <optional>
+ <ref name="style-list-level-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </element>
+</define>
+<define name="text-list-level-style-bullet-attr" combine="interleave">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-level-style-bullet-attr" combine="interleave">
+ <attribute name="text:bullet-char">
+ <ref name="character"/>
+ </attribute>
+</define>
+<define name="text-list-level-style-bullet-attr" combine="interleave">
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+</define>
+<define name="text-list-level-style-bullet-attr" combine="interleave">
+ <optional>
+ <attribute name="text:bullet-relative-size">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-style-content" combine="choice">
+ <element name="text:list-level-style-image">
+ <ref name="text-list-level-style-attr"/>
+ <ref name="text-list-level-style-image-attr"/>
+ <optional>
+ <ref name="style-list-level-properties"/>
+ </optional>
+ </element>
+</define>
+<define name="text-list-level-style-image-attr" combine="interleave">
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-binary-data"/>
+ </choice>
+</define>
+<define name="text-outline-style">
+ <element name="text:outline-style">
+ <oneOrMore>
+ <ref name="text-outline-level-style"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="text-outline-level-style">
+ <element name="text:outline-level-style">
+ <ref name="text-outline-level-style-attlist"/>
+ <optional>
+ <ref name="style-list-level-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </element>
+</define>
+<define name="text-outline-level-style-attlist" combine="interleave">
+ <attribute name="text:level">
+ <ref name="positiveInteger"/>
+ </attribute>
+</define>
+<define name="text-outline-level-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-outline-level-style-attlist" combine="interleave">
+ <ref name="common-num-format-attlist"/>
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+</define>
+<define name="text-outline-level-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:display-levels" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-outline-level-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:start-value" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>table</value>
+ </attribute>
+ <optional>
+ <ref name="style-table-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>table-column</value>
+ </attribute>
+ <optional>
+ <ref name="style-table-column-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>table-row</value>
+ </attribute>
+ <optional>
+ <ref name="style-table-row-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>table-cell</value>
+ </attribute>
+ <optional>
+ <ref name="style-table-cell-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-paragraph-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <choice>
+ <value>graphic</value>
+ <value>presentation</value>
+ </choice>
+ </attribute>
+ <optional>
+ <ref name="style-graphic-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-paragraph-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+</define>
+
+<define name="style-graphic-properties">
+ <element name="style:graphic-properties">
+ <ref name="style-graphic-properties-content"/>
+ </element>
+</define>
+
+<define name="style-graphic-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-graphic-properties-content-strict">
+ <ref name="style-graphic-properties-attlist"/>
+ <ref name="style-graphic-fill-properties-attlist"/>
+ <ref name="style-graphic-properties-elements"/>
+</define>
+
+<define name=" style-graphic-properties-elements">
+ <empty/>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>drawing-page</value>
+ </attribute>
+ <optional>
+ <ref name="style-drawing-page-properties"/>
+ </optional>
+ </group>
+</define>
+
+<define name="style-drawing-page-properties">
+ <element name="style:drawing-page-properties">
+ <ref name="style-drawing-page-properties-content"/>
+ </element>
+</define>
+
+<define name="style-drawing-page-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-drawing-page-properties-content-strict">
+ <ref name="style-graphic-fill-properties-attlist"/>
+ <ref name="style-drawing-page-properties-attlist"/>
+ <ref name="style-drawing-page-properties-elements"/>
+</define>
+<define name="draw-gradient">
+ <element name="draw:gradient">
+ <ref name="common-draw-gradient-attlist"/>
+ <ref name="draw-gradient-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="common-draw-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-gradient-attlist" combine="interleave">
+ <attribute name="draw:style">
+ <ref name="gradient-style"/>
+ </attribute>
+</define>
+<define name="gradient-style">
+ <choice>
+ <value>linear</value>
+ <value>axial</value>
+ <value>radial</value>
+ <value>ellipsoid</value>
+ <value>square</value>
+ <value>rectangular</value>
+ </choice>
+</define>
+<define name="common-draw-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:cx">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:cy">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start-intensity">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end-intensity">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:angle">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:border">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="svg-linearGradient">
+ <element name="svg:linearGradient">
+ <ref name="common-svg-gradient-attlist"/>
+ <optional>
+ <attribute name="svg:x1" a:defaultValue="0%">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:y1" a:defaultValue="0%">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:x2" a:defaultValue="100%">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:y2" a:defaultValue="100%">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="svg-stop"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="svg-radialGradient">
+ <element name="svg:radialGradient">
+ <ref name="common-svg-gradient-attlist"/>
+ <optional>
+ <attribute name="svg:cx" a:defaultValue="50%">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:cy" a:defaultValue="50%">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:r" a:defaultValue="50%">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:fx">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:fy">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="svg-stop"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="svg-stop">
+ <element name="svg:stop">
+ <attribute name="svg:offset">
+ <choice>
+ <ref name="double"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="svg:stop-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:stop-opacity">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+
+<define name="common-svg-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:gradientUnits" a:defaultValue="objectBoundingBox">
+ <value>objectBoundingBox</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:gradientTransform">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:spreadMethod" a:defaultValue="pad">
+ <choice>
+ <value>pad</value>
+ <value>reflect</value>
+ <value>repeat</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-svg-gradient-attlist" combine="interleave">
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="common-svg-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-hatch">
+ <element name="draw:hatch">
+ <ref name="draw-hatch-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-hatch-attlist" combine="interleave">
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="draw-hatch-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-hatch-attlist" combine="interleave">
+ <attribute name="draw:style">
+ <choice>
+ <value>single</value>
+ <value>double</value>
+ <value>triple</value>
+ </choice>
+ </attribute>
+</define>
+<define name="draw-hatch-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-hatch-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:distance">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-hatch-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:rotation">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-fill-image">
+ <element name="draw:fill-image">
+ <ref name="draw-fill-image-attlist"/>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <choice>
+ <value>simple</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:show" a:defaultValue="embed">
+ <choice>
+ <value>embed</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate" a:defaultValue="onLoad">
+ <choice>
+ <value>onLoad</value>
+ </choice>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+</define>
+<define name="draw-fill-image-attlist" combine="interleave">
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="draw-fill-image-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-fill-image-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-opacity">
+ <element name="draw:opacity">
+ <ref name="common-draw-gradient-attlist"/>
+ <ref name="draw-opacity-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-opacity-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-marker">
+ <element name="draw:marker">
+ <ref name="draw-marker-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-path-data-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-marker-attlist" combine="interleave">
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="draw-marker-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-stroke-dash">
+ <element name="draw:stroke-dash">
+ <ref name="draw-stroke-dash-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-stroke-dash-attlist" combine="interleave">
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="draw-stroke-dash-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-stroke-dash-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:style">
+ <choice>
+ <value>rect</value>
+ <value>round</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-stroke-dash-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:dots1">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:dots1-length">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:dots2">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:dots2-length">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-stroke-dash-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:distance">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-presentation-page-layout">
+ <element name="style:presentation-page-layout">
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="presentation-placeholder"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="presentation-placeholder">
+ <element name="presentation:placeholder">
+ <attribute name="presentation:object">
+ <ref name="presentation-classes"/>
+ </attribute>
+ <attribute name="svg:x">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <attribute name="svg:y">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <attribute name="svg:width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <attribute name="svg:height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <empty/>
+ </element>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>chart</value>
+ </attribute>
+ <optional>
+ <ref name="style-chart-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-graphic-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-paragraph-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-properties-content">
+ <ref name="anyAttListOrElements"/>
+</define>
+<define name="style-page-layout-properties">
+ <element name="style:page-layout-properties">
+ <ref name="style-page-layout-properties-content"/>
+ </element>
+</define>
+
+<define name="style-page-layout-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-page-layout-properties-content-strict">
+ <ref name="style-page-layout-properties-attlist"/>
+ <ref name="style-page-layout-properties-elements"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:page-width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:page-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <ref name="common-num-format-attlist"/>
+ </optional>
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:paper-tray-name">
+ <choice>
+ <value>default</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:print-orientation">
+ <choice>
+ <value>portrait</value>
+ <value>landscape</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <ref name="common-horizontal-margin-attlist"/>
+ <ref name="common-vertical-margin-attlist"/>
+ <ref name="common-margin-attlist"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <ref name="common-border-attlist"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <ref name="common-border-line-width-attlist"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <ref name="common-padding-attlist"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <ref name="common-shadow-attlist"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-page-layout-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+<define name="style-page-layout-properties-elements" combine="interleave">
+ <ref name="style-columns"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:register-truth-ref-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:print">
+ <list>
+ <zeroOrMore>
+ <choice>
+ <value>headers</value>
+ <value>grid</value>
+ <value>annotations</value>
+ <value>objects</value>
+ <value>charts</value>
+ <value>drawings</value>
+ <value>formulas</value>
+ <value>zero-values</value>
+ </choice>
+ </zeroOrMore>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:print-page-order">
+ <choice>
+ <value>ttb</value>
+ <value>ltr</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:first-page-number">
+ <choice>
+ <ref name="positiveInteger"/>
+ <value>continue</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:scale-to">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:scale-to-pages">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:table-centering">
+ <choice>
+ <value>horizontal</value>
+ <value>vertical</value>
+ <value>both</value>
+ <value>none</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:footnote-max-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <ref name="common-writing-mode-attlist"/>
+</define>
+<define name="style-page-layout-properties-elements" combine="interleave">
+ <ref name="style-footnote-sep"/>
+</define>
+
+<define name="style-footnote-sep">
+ <optional>
+ <element name="style:footnote-sep">
+ <ref name="style-footnote-sep-attlist"/>
+ <empty/>
+ </element>
+ </optional>
+</define>
+<define name="style-footnote-sep-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rel-width">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:line-style">
+ <ref name="lineStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:adjustment" a:defaultValue="left">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:distance-before-sep">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:distance-after-sep">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-mode">
+ <choice>
+ <value>none</value>
+ <value>line</value>
+ <value>both</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-base-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-ruby-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-lines">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-ruby-below">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-print">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-header-footer-properties">
+ <element name="style:header-footer-properties">
+ <ref name="style-header-footer-properties-content"/>
+ </element>
+</define>
+
+<define name="style-header-footer-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-header-footer-properties-content-strict">
+ <ref name="style-header-footer-properties-attlist"/>
+ <ref name="style-header-footer-properties-elements"/>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:min-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <ref name="common-horizontal-margin-attlist"/>
+ <ref name="common-vertical-margin-attlist"/>
+ <ref name="common-margin-attlist"/>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <ref name="common-border-attlist"/>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <ref name="common-border-line-width-attlist"/>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <ref name="common-padding-attlist"/>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-header-footer-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <ref name="common-shadow-attlist"/>
+</define>
+<define name="style-header-footer-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:dynamic-spacing">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties">
+ <element name="style:text-properties">
+ <ref name="style-text-properties-content"/>
+ </element>
+</define>
+
+<define name="style-text-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-text-properties-content-strict">
+ <ref name="style-text-properties-attlist"/>
+ <ref name="style-text-properties-elements"/>
+</define>
+
+<define name="style-text-properties-elements">
+ <empty/>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:font-variant">
+ <ref name="fontVariant"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="fontVariant">
+ <choice>
+ <value>normal</value>
+ <value>small-caps</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:text-transform">
+ <choice>
+ <value>none</value>
+ <value>lowercase</value>
+ <value>uppercase</value>
+ <value>capitalize</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:use-window-font-color">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-outline">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-line-through-type">
+ <ref name="lineType"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-line-through-style">
+ <ref name="lineStyle"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-line-through-width">
+ <ref name="lineWidth"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-line-through-color">
+ <choice>
+ <value>font-color</value>
+ <ref name="color"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-line-through-text">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-line-through-text-style">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-position">
+ <list>
+ <choice>
+ <ref name="percent"/>
+ <value>super</value>
+ <value>sub</value>
+ </choice>
+ <optional>
+ <ref name="percent"/>
+ </optional>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-name-asian">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-name-complex">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:font-family">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-family-asian">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-family-complex">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-family-generic">
+ <ref name="fontFamilyGeneric"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-family-generic-asian">
+ <ref name="fontFamilyGeneric"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-family-generic-complex">
+ <ref name="fontFamilyGeneric"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="fontFamilyGeneric">
+ <choice>
+ <value>roman</value>
+ <value>swiss</value>
+ <value>modern</value>
+ <value>decorative</value>
+ <value>script</value>
+ <value>system</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-style-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-style-name-asian">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-style-name-complex">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-pitch">
+ <ref name="fontPitch"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-pitch-asian">
+ <ref name="fontPitch"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-pitch-complex">
+ <ref name="fontPitch"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="fontPitch">
+ <choice>
+ <value>fixed</value>
+ <value>variable</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-charset">
+ <ref name="textEncoding"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="textEncoding">
+ <data type="string">
+ <param name="pattern">[A-Za-z][A-Za-z0-9._\-]*</param>
+ </data>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:font-size">
+ <choice>
+ <ref name="positiveLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-size-asian">
+ <choice>
+ <ref name="positiveLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-size-complex">
+ <choice>
+ <ref name="positiveLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-size-rel">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-size-rel-asian">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-size-rel-complex">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:script-type">
+ <choice>
+ <value>latin</value>
+ <value>asian</value>
+ <value>complex</value>
+ <value>ignore</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:letter-spacing">
+ <choice>
+ <ref name="length"/>
+ <value>normal</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:language-asian">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:language-complex">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:country-asian">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:country-complex">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:font-style">
+ <ref name="fontStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-style-asian">
+ <ref name="fontStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-style-complex">
+ <ref name="fontStyle"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="fontStyle">
+ <choice>
+ <value>normal</value>
+ <value>italic</value>
+ <value>oblique</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-relief">
+ <choice>
+ <value>none</value>
+ <value>embossed</value>
+ <value>engraved</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:text-shadow">
+ <ref name="shadowType"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="shadowType">
+ <choice>
+ <value>none</value>
+ <!-- The follwing string must match an XSL shadow decl -->
+ <ref name="string"/>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-underline-type">
+ <ref name="lineType"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="lineType">
+ <choice>
+ <value>none</value>
+ <value>single</value>
+ <value>double</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-underline-style">
+ <ref name="lineStyle"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="lineStyle">
+ <choice>
+ <value>none</value>
+ <value>solid</value>
+ <value>dotted</value>
+ <value>dash</value>
+ <value>long-dash</value>
+ <value>dot-dash</value>
+ <value>dot-dot-dash</value>
+ <value>wave</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-underline-width">
+ <ref name="lineWidth"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="lineWidth">
+ <choice>
+ <value>auto</value>
+ <value>normal</value>
+ <value>bold</value>
+ <value>thin</value>
+ <value>dash</value>
+ <value>medium</value>
+ <value>thick</value>
+ <ref name="positiveInteger"/>
+ <ref name="percent"/>
+ <ref name="positiveLength"/>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-underline-color">
+ <choice>
+ <value>font-color</value>
+ <ref name="color"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:font-weight">
+ <ref name="fontWeight"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-weight-asian">
+ <ref name="fontWeight"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-weight-complex">
+ <ref name="fontWeight"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="fontWeight">
+ <choice>
+ <value>normal</value>
+ <value>bold</value>
+ <value>100</value>
+ <value>200</value>
+ <value>300</value>
+ <value>400</value>
+ <value>500</value>
+ <value>600</value>
+ <value>700</value>
+ <value>800</value>
+ <value>900</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-underline-mode">
+ <ref name="lineMode"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="lineMode">
+ <choice>
+ <value>continuous</value>
+ <value>skip-white-space</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-line-through-mode">
+ <ref name="lineMode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:letter-kerning">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-blinking">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-combine">
+ <choice>
+ <value>none</value>
+ <value>letters</value>
+ <value>lines</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-combine-start-char">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-combine-end-char">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-emphasize">
+ <choice>
+ <value>none</value>
+ <list>
+ <choice>
+ <value>none</value>
+ <value>accent</value>
+ <value>dot</value>
+ <value>circle</value>
+ <value>disc</value>
+ </choice>
+ <choice>
+ <value>above</value>
+ <value>below</value>
+ </choice>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-scale">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-rotation-angle">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-rotation-scale">
+ <choice>
+ <value>fixed</value>
+ <value>line-height</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:hyphenate">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:hyphenation-remain-char-count">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:hyphenation-push-char-count">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <choice>
+ <attribute name="text:display">
+ <value>true</value>
+ </attribute>
+ <attribute name="text:display">
+ <value>none</value>
+ </attribute>
+ <group>
+ <attribute name="text:display">
+ <value>condition</value>
+ </attribute>
+ <attribute name="text:condition">
+ <value>none</value>
+ </attribute>
+ </group>
+ <empty/>
+ </choice>
+</define>
+<define name="style-paragraph-properties">
+ <element name="style:paragraph-properties">
+ <ref name="style-paragraph-properties-content"/>
+ </element>
+</define>
+
+<define name="style-paragraph-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-paragraph-properties-content-strict">
+ <ref name="style-paragraph-properties-attlist"/>
+ <ref name="style-paragraph-properties-elements"/>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:line-height">
+ <choice>
+ <value>normal</value>
+ <ref name="nonNegativeLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:line-height-at-least">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:line-spacing">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-independent-line-spacing">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-text-align"/>
+</define>
+
+<define name="common-text-align">
+ <optional>
+ <attribute name="fo:text-align">
+ <choice>
+ <value>start</value>
+ <value>end</value>
+ <value>left</value>
+ <value>right</value>
+ <value>center</value>
+ <value>justify</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:text-align-last">
+ <choice>
+ <value>start</value>
+ <value>center</value>
+ <value>justify</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:justify-single-word">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:keep-together">
+ <choice>
+ <value>auto</value>
+ <value>always</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:widows">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:orphans">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-elements" combine="interleave">
+ <ref name="style-tab-stops"/>
+</define>
+
+<define name="style-tab-stops">
+ <optional>
+ <element name="style:tab-stops">
+ <zeroOrMore>
+ <ref name="style-tab-stop"/>
+ </zeroOrMore>
+ </element>
+ </optional>
+</define>
+
+<define name="style-tab-stop">
+ <element name="style:tab-stop">
+ <ref name="style-tab-stop-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <attribute name="style:position">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <choice>
+ <optional>
+ <attribute name="style:type" a:defaultValue="left">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <group>
+ <attribute name="style:type">
+ <value>char</value>
+ </attribute>
+ <ref name="style-tab-stop-char-attlist"/>
+ </group>
+ </choice>
+</define>
+<define name="style-tab-stop-char-attlist" combine="interleave">
+ <attribute name="style:char">
+ <ref name="character"/>
+ </attribute>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:leader-type">
+ <ref name="lineType"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:leader-style">
+ <ref name="lineStyle"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:leader-width">
+ <ref name="lineWidth"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:leader-color">
+ <choice>
+ <value>font-color</value>
+ <ref name="color"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:leader-text" a:defaultValue=" ">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:leader-text-style">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:tab-stop-distance">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:hyphenation-keep">
+ <choice>
+ <value>auto</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:hyphenation-ladder-count">
+ <choice>
+ <value>no-limit</value>
+ <ref name="positiveInteger"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-elements" combine="interleave">
+ <ref name="style-drop-cap"/>
+</define>
+
+<define name="style-drop-cap">
+ <optional>
+ <element name="style:drop-cap">
+ <ref name="style-drop-cap-attlist"/>
+ <empty/>
+ </element>
+ </optional>
+</define>
+<define name="style-drop-cap-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:length" a:defaultValue="1">
+ <choice>
+ <value>word</value>
+ <ref name="positiveInteger"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drop-cap-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:lines" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drop-cap-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:distance" a:defaultValue="0cm">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drop-cap-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:register-true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-horizontal-margin-attlist"/>
+</define>
+
+<define name="common-horizontal-margin-attlist">
+ <optional>
+ <attribute name="fo:margin-left">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:margin-right">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:text-indent">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:auto-text-indent">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-vertical-margin-attlist"/>
+</define>
+
+<define name="common-vertical-margin-attlist">
+ <optional>
+ <attribute name="fo:margin-top">
+ <choice>
+ <ref name="nonNegativeLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:margin-bottom">
+ <choice>
+ <ref name="nonNegativeLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-margin-attlist"/>
+</define>
+
+<define name="common-margin-attlist">
+ <optional>
+ <attribute name="fo:margin">
+ <choice>
+ <ref name="nonNegativeLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-break-attlist"/>
+</define>
+
+<define name="common-break-attlist">
+ <optional>
+ <attribute name="fo:break-before">
+ <choice>
+ <value>auto</value>
+ <value>column</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:break-after">
+ <choice>
+ <value>auto</value>
+ <value>column</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+
+<define name="common-background-color-attlist">
+ <optional>
+ <attribute name="fo:background-color">
+ <choice>
+ <value>transparent</value>
+ <ref name="color"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+
+<define name="style-background-image">
+ <optional>
+ <element name="style:background-image">
+ <ref name="style-background-image-attlist"/>
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-binary-data"/>
+ <empty/>
+ </choice>
+ </element>
+ </optional>
+</define>
+<define name="style-background-image-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:repeat" a:defaultValue="repeat">
+ <choice>
+ <value>no-repeat</value>
+ <value>repeat</value>
+ <value>stretch</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-background-image-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:position" a:defaultValue="center">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>top</value>
+ <value>bottom</value>
+ <list>
+ <ref name="horiBackPos"/>
+ <ref name="vertBackPos"/>
+ </list>
+ <list>
+ <ref name="vertBackPos"/>
+ <ref name="horiBackPos"/>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+
+<define name="horiBackPos">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+</define>
+<define name="vertBackPos">
+ <choice>
+ <value>top</value>
+ <value>center</value>
+ <value>bottom</value>
+ </choice>
+</define>
+<define name="style-background-image-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:filter-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-background-image-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:opacity">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-border-attlist"/>
+</define>
+
+<define name="common-border-attlist">
+ <optional>
+ <attribute name="fo:border">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:border-top">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:border-bottom">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:border-left">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:border-right">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-border-line-width-attlist"/>
+</define>
+
+<define name="common-border-line-width-attlist">
+ <optional>
+ <attribute name="style:border-line-width">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:border-line-width-top">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:border-line-width-bottom">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:border-line-width-left">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:border-line-width-right">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="borderWidths">
+ <list>
+ <ref name="positiveLength"/>
+ <ref name="positiveLength"/>
+ <ref name="positiveLength"/>
+ </list>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-padding-attlist"/>
+</define>
+
+<define name="common-padding-attlist">
+ <optional>
+ <attribute name="fo:padding">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:padding-top">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:padding-bottom">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:padding-left">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:padding-right">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-shadow-attlist"/>
+</define>
+
+<define name="common-shadow-attlist">
+ <optional>
+ <attribute name="style:shadow">
+ <ref name="shadowType"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-keep-with-next-attlist"/>
+</define>
+
+<define name="common-keep-with-next-attlist">
+ <optional>
+ <attribute name="fo:keep-with-next">
+ <choice>
+ <value>auto</value>
+ <value>always</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:number-lines" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:line-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-autospace">
+ <choice>
+ <value>none</value>
+ <value>ideograph-alpha</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:punctuation-wrap">
+ <choice>
+ <value>simple</value>
+ <value>hanging</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:line-break">
+ <choice>
+ <value>normal</value>
+ <value>strict</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:vertical-align" a:defaultValue="auto">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-writing-mode-attlist"/>
+</define>
+
+<define name="common-writing-mode-attlist">
+ <optional>
+ <attribute name="style:writing-mode">
+ <choice>
+ <value>lr-tb</value>
+ <value>rl-tb</value>
+ <value>tb-rl</value>
+ <value>tb-lr</value>
+ <value>lr</value>
+ <value>rl</value>
+ <value>tb</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:writing-mode-automatic">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:snap-to-layout-grid">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-page-number-attlist"/>
+</define>
+
+<define name="common-page-number-attlist">
+ <optional>
+ <attribute name="style:page-number">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:background-transparency">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-ruby-properties">
+ <element name="style:ruby-properties">
+ <ref name="style-ruby-properties-content"/>
+ </element>
+</define>
+
+<define name="style-ruby-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-ruby-properties-content-strict">
+ <ref name="style-ruby-properties-attlist"/>
+ <ref name="style-ruby-properties-elements"/>
+</define>
+
+<define name="style-ruby-properties-elements">
+ <empty/>
+</define>
+<define name="style-ruby-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:ruby-position">
+ <choice>
+ <value>above</value>
+ <value>below</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-ruby-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:ruby-align">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>distribute-letter</value>
+ <value>distribute-space</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-section-properties">
+ <element name="style:section-properties">
+ <ref name="style-section-properties-content"/>
+ </element>
+</define>
+
+<define name="style-section-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-section-properties-content-strict">
+ <ref name="style-section-properties-attlist"/>
+ <ref name="style-section-properties-elements"/>
+</define>
+<define name="style-section-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-section-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+<define name="style-section-properties-attlist" combine="interleave">
+ <ref name="common-horizontal-margin-attlist"/>
+</define>
+<define name="style-section-properties-elements" combine="interleave">
+ <ref name="style-columns"/>
+</define>
+
+<define name="style-columns">
+ <optional>
+ <element name="style:columns">
+ <ref name="style-columns-attlist"/>
+ <optional>
+ <ref name="style-column-sep"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-column"/>
+ </zeroOrMore>
+ </element>
+ </optional>
+</define>
+<define name="style-columns-attlist" combine="interleave">
+ <attribute name="fo:column-count">
+ <ref name="positiveInteger"/>
+ </attribute>
+</define>
+<define name="style-columns-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:column-gap">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column">
+ <element name="style:column">
+ <ref name="style-column-attlist"/>
+ </element>
+</define>
+<define name="style-column-attlist" combine="interleave">
+ <attribute name="style:rel-width">
+ <ref name="relativeLength"/>
+ </attribute>
+</define>
+<define name="style-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:start-indent" a:defaultValue="0cm">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:end-indent" a:defaultValue="0cm">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:space-before" a:defaultValue="0cm">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:space-after" a:defaultValue="0cm">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column-sep">
+ <element name="style:column-sep">
+ <ref name="style-column-sep-attlist"/>
+ </element>
+</define>
+<define name="style-column-sep-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:style" a:defaultValue="solid">
+ <choice>
+ <value>none</value>
+ <value>solid</value>
+ <value>dotted</value>
+ <value>dashed</value>
+ <value>dot-dashed</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column-sep-attlist" combine="interleave">
+ <attribute name="style:width">
+ <ref name="length"/>
+ </attribute>
+</define>
+<define name="style-column-sep-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:height" a:defaultValue="100%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column-sep-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:vertical-align" a:defaultValue="top">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column-sep-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:color" a:defaultValue="#000000">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-section-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:protect" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-section-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:dont-balance-text-columns">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-section-properties-attlist" combine="interleave">
+ <ref name="common-writing-mode-attlist"/>
+</define>
+<define name="style-section-properties-elements" combine="interleave">
+ <zeroOrMore>
+ <ref name="text-notes-configuration"/>
+ </zeroOrMore>
+</define>
+<define name="style-table-properties">
+ <element name="style:table-properties">
+ <ref name="style-table-properties-content"/>
+ </element>
+</define>
+
+<define name="style-table-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-table-properties-content-strict">
+ <ref name="style-table-properties-attlist"/>
+ <ref name="style-table-properties-elements"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:width">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rel-width">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:align">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>margins</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-horizontal-margin-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-vertical-margin-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-margin-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-page-number-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-break-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-table-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-shadow-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-keep-with-next-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:may-break-between-rows">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:border-model">
+ <choice>
+ <value>collapsing</value>
+ <value>separating</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-writing-mode-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-column-properties">
+ <element name="style:table-column-properties">
+ <ref name="style-table-column-properties-content"/>
+ </element>
+</define>
+
+<define name="style-table-column-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-table-column-properties-content-strict">
+ <ref name="style-table-column-properties-attlist"/>
+ <ref name="style-table-column-properties-elements"/>
+</define>
+
+<define name="style-table-column-properties-elements">
+ <empty/>
+</define>
+<define name="style-table-column-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:column-width">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rel-column-width">
+ <ref name="relativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-column-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:use-optimal-column-width">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-column-properties-attlist" combine="interleave">
+ <ref name="common-break-attlist"/>
+</define>
+<define name="style-table-row-properties">
+ <element name="style:table-row-properties">
+ <ref name="style-table-row-properties-content"/>
+ </element>
+</define>
+
+<define name="style-table-row-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-table-row-properties-content-strict">
+ <ref name="style-table-row-properties-attlist"/>
+ <ref name="style-table-row-properties-elements"/>
+</define>
+<define name="style-table-row-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:row-height">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:min-row-height">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-row-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:use-optimal-row-height">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-row-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-table-row-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+<define name="style-table-row-properties-attlist" combine="interleave">
+ <ref name="common-break-attlist"/>
+</define>
+<define name="style-table-row-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:keep-together">
+ <choice>
+ <value>auto</value>
+ <value>always</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties">
+ <element name="style:table-cell-properties">
+ <ref name="style-table-cell-properties-content"/>
+ </element>
+</define>
+
+<define name="style-table-cell-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-table-cell-properties-content-strict">
+ <ref name="style-table-cell-properties-attlist"/>
+ <ref name="style-table-cell-properties-elements"/>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:vertical-align">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>automatic</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-align-source">
+ <choice>
+ <value>fix</value>
+ <value>value-type</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <ref name="common-style-direction-attlist"/>
+</define>
+
+<define name="common-style-direction-attlist">
+ <optional>
+ <attribute name="style:direction">
+ <choice>
+ <value>ltr</value>
+ <value>ttb</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:glyph-orientation-vertical">
+ <choice>
+ <value>auto</value>
+ <value>0</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <ref name="common-shadow-attlist"/>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-table-cell-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <ref name="common-border-attlist"/>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:diagonal-tl-br">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:diagonal-tl-br-widths">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:diagonal-bl-tr">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:diagonal-bl-tr-widths">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <ref name="common-border-line-width-attlist"/>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <ref name="common-padding-attlist"/>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:wrap-option">
+ <choice>
+ <value>no-wrap</value>
+ <value>wrap</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <ref name="common-rotation-angle-attlist"/>
+</define>
+
+<define name="common-rotation-angle-attlist">
+ <optional>
+ <attribute name="style:rotation-angle">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:rotation-align">
+ <choice>
+ <value>none</value>
+ <value>bottom</value>
+ <value>top</value>
+ <value>center</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:cell-protect">
+ <choice>
+ <value>none</value>
+ <value>hidden-and-protected</value>
+ <list>
+ <oneOrMore>
+ <choice>
+ <value>protected</value>
+ <value>formula-hidden</value>
+ </choice>
+ </oneOrMore>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:print-content">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:decimal-places">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:repeat-content">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:shrink-to-fit">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-list-level-properties">
+ <element name="style:list-level-properties">
+ <ref name="style-list-level-properties-content"/>
+ </element>
+</define>
+
+<define name="style-list-level-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-list-level-properties-content-strict">
+ <ref name="style-list-level-properties-attlist"/>
+ <ref name="style-list-level-properties-elements"/>
+</define>
+
+<define name="style-list-level-properties-elements">
+ <empty/>
+</define>
+<define name="style-list-level-properties-attlist" combine="interleave">
+ <ref name="common-text-align"/>
+</define>
+<define name="style-list-level-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:space-before">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-list-level-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:min-label-width">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-list-level-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:min-label-distance">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-list-level-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-list-level-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:width">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:height">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-list-level-properties-attlist" combine="interleave">
+ <ref name="common-vertical-rel-attlist"/>
+ <ref name="common-vertical-pos-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:stroke">
+ <choice>
+ <value>none</value>
+ <value>dash</value>
+ <value>solid</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:stroke-dash">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:stroke-dash-names">
+ <ref name="styleNameRefs"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:stroke-width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:stroke-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:marker-start">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:marker-end">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:marker-start-width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:marker-end-width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:marker-start-center">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:marker-end-center">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:stroke-opacity">
+ <choice>
+ <data type="double">
+ <param name="minInclusive">0</param>
+ <param name="maxInclusive">1</param>
+ </data>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:stroke-linejoin">
+ <choice>
+ <value>miter</value>
+ <value>round</value>
+ <value>bevel</value>
+ <value>middle</value>
+ <value>none</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill">
+ <choice>
+ <value>none</value>
+ <value>solid</value>
+ <value>bitmap</value>
+ <value>gradient</value>
+ <value>hatch</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:secondary-fill-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill-gradient-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:gradient-step-count">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill-hatch-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill-hatch-solid">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill-image-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:repeat">
+ <choice>
+ <value>no-repeat</value>
+ <value>repeat</value>
+ <value>stretch</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill-image-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-image-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill-image-ref-point-x">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-image-ref-point-y">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-image-ref-point">
+ <choice>
+ <value>top-left</value>
+ <value>top</value>
+ <value>top-right</value>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>bottom-left</value>
+ <value>bottom</value>
+ <value>bottom-right</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:tile-repeat-offset"/>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:opacity">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:opacity-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:fill-rule">
+ <choice>
+ <value>nonzero</value>
+ <value>evenodd</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:symbol-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:animation">
+ <choice>
+ <value>none</value>
+ <value>scroll</value>
+ <value>alternate</value>
+ <value>slide</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:animation-direction">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>up</value>
+ <value>down</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:animation-start-inside">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:animation-stop-inside">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:animation-repeat">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:animation-delay">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:animation-steps">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:auto-grow-width">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:auto-grow-height">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fit-to-size">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fit-to-contour">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:textarea-vertical-align">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>justify</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:textarea-horizontal-align">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>justify</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:wrap-option">
+ <choice>
+ <value>no-wrap</value>
+ <value>wrap</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-elements" combine="interleave">
+ <optional>
+ <ref name="text-list-style"/>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:color-mode">
+ <choice>
+ <value>greyscale</value>
+ <value>mono</value>
+ <value>watermark</value>
+ <value>standard</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:color-inversion">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:luminance">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:contrast">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:gamma">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:red">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:green">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:blue">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:image-opacity">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:shadow">
+ <choice>
+ <value>visible</value>
+ <value>hidden</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:shadow-offset-x">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:shadow-offset-y">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:shadow-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:shadow-opacity">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start-line-spacing-horizontal">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:start-line-spacing-vertical">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:end-line-spacing-horizontal">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end-line-spacing-vertical">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:line-distance">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:guide-overhang">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:guide-distance">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start-guide">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:end-guide">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:placing">
+ <choice>
+ <value>below</value>
+ <value>above</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:parallel">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:measure-align">
+ <choice>
+ <value>automatic</value>
+ <value>left-outside</value>
+ <value>inside</value>
+ <value>right-outside</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:measure-vertical-align">
+ <choice>
+ <value>automatic</value>
+ <value>above</value>
+ <value>below</value>
+ <value>center</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:unit">
+ <choice>
+ <value>automatic</value>
+ <value>mm</value>
+ <value>cm</value>
+ <value>m</value>
+ <value>km</value>
+ <value>pt</value>
+ <value>pc</value>
+ <value>inch</value>
+ <value>ft</value>
+ <value>mi</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:show-unit">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:decimal-places">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-type">
+ <choice>
+ <value>straight-line</value>
+ <value>angled-line</value>
+ <value>angled-connector-line</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-angle-type">
+ <choice>
+ <value>fixed</value>
+ <value>free</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-angle">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-gap">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-escape-direction">
+ <choice>
+ <value>horizontal</value>
+ <value>vertical</value>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-escape">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-line-length">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-fit-line-length">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:horizontal-segments">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:vertical-segments">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:edge-rounding">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:edge-rounding-mode">
+ <choice>
+ <value>correct</value>
+ <value>attractive</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:back-scale">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:depth">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:backface-culling">
+ <choice>
+ <value>enabled</value>
+ <value>disabled</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:end-angle">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:close-front">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:close-back">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:lighting-mode">
+ <choice>
+ <value>standard</value>
+ <value>double-sided</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:normals-kind">
+ <choice>
+ <value>object</value>
+ <value>flat</value>
+ <value>sphere</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:normals-direction">
+ <choice>
+ <value>normal</value>
+ <value>inverse</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:texture-generation-mode-x">
+ <choice>
+ <value>object</value>
+ <value>parallel</value>
+ <value>sphere</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:texture-generation-mode-y">
+ <choice>
+ <value>object</value>
+ <value>parallel</value>
+ <value>sphere</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:texture-kind">
+ <choice>
+ <value>luminance</value>
+ <value>intesity</value>
+ <value>color</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:texture-filter">
+ <choice>
+ <value>enabled</value>
+ <value>disabled</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:texture-mode">
+ <choice>
+ <value>replace</value>
+ <value>modulate</value>
+ <value>blend</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:ambient-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:emissive-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:specular-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:diffuse-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:shininess">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:shadow">
+ <choice>
+ <value>visible</value>
+ <value>hidden</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-draw-rel-size-attlist"/>
+ <optional>
+ <attribute name="fo:min-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:min-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:max-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:max-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-horizontal-margin-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-vertical-margin-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-margin-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:print-content">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:protect">
+ <choice>
+ <value>none</value>
+ <list>
+ <oneOrMore>
+ <choice>
+ <value>content</value>
+ <value>position</value>
+ <value>size</value>
+ </choice>
+ </oneOrMore>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:horizontal-pos">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>from-left</value>
+ <value>inside</value>
+ <value>outside</value>
+ <value>from-inside</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:x">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:horizontal-rel">
+ <choice>
+ <value>page</value>
+ <value>page-content</value>
+ <value>page-start-margin</value>
+ <value>page-end-margin</value>
+ <value>frame</value>
+ <value>frame-content</value>
+ <value>frame-start-margin</value>
+ <value>frame-end-margin</value>
+ <value>paragraph</value>
+ <value>paragraph-content</value>
+ <value>paragraph-start-margin</value>
+ <value>paragraph-end-margin</value>
+ <value>char</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-vertical-pos-attlist"/>
+</define>
+
+<define name="common-vertical-pos-attlist">
+ <optional>
+ <attribute name="style:vertical-pos">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>from-top</value>
+ <value>below</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-vertical-rel-attlist"/>
+</define>
+
+<define name="common-vertical-rel-attlist">
+ <optional>
+ <attribute name="style:vertical-rel">
+ <choice>
+ <value>page</value>
+ <value>page-content</value>
+ <value>frame</value>
+ <value>frame-content</value>
+ <value>paragraph</value>
+ <value>paragraph-content</value>
+ <value>char</value>
+ <value>line</value>
+ <value>baseline</value>
+ <value>text</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-text-anchor-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-border-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-border-line-width-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-padding-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-shadow-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-graphic-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+<define name="style-graphic-properties-elements" combine="interleave">
+ <ref name="style-columns"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:editable">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:wrap">
+ <choice>
+ <value>none</value>
+ <value>left</value>
+ <value>right</value>
+ <value>parallel</value>
+ <value>dynamic</value>
+ <value>run-through</value>
+ <value>biggest</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:wrap-dynamic-treshold">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:number-wrapped-paragraphs">
+ <choice>
+ <value>no-limit</value>
+ <ref name="positiveInteger"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:wrap-contour">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:wrap-contour-mode">
+ <choice>
+ <value>full</value>
+ <value>outside</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:run-through">
+ <choice>
+ <value>foreground</value>
+ <value>background</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:flow-with-text">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:overflow-behavior">
+ <choice>
+ <value>clip</value>
+ <value>auto-create-new-frame</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:mirror">
+ <choice>
+ <value>none</value>
+ <value>vertical</value>
+ <ref name="horizontal-mirror"/>
+ <list>
+ <value>vertical</value>
+ <ref name="horizontal-mirror"/>
+ </list>
+ <list>
+ <ref name="horizontal-mirror"/>
+ <value>vertical</value>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+
+<define name="horizontal-mirror">
+ <choice>
+ <value>horizontal</value>
+ <value>horizontal-on-odd</value>
+ <value>horizontal-on-even</value>
+ </choice>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:clip">
+ <!-- The attribute value must match the one XSL's clip -->
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:wrap-influence-on-position"
+ a:defaultValue="iterative">
+ <choice>
+ <value>iterative</value>
+ <value>once-concurrent</value>
+ <value>once-successive</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:frame-display-scrollbar">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:frame-display-border">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:frame-margin-horizontal">
+ <ref name="nonNegativePixelLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:frame-margin-vertical">
+ <ref name="nonNegativePixelLength"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="nonNegativePixelLength">
+ <data type="string">
+ <param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)(px)</param>
+ </data>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:visible-area-left">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:visible-area-top">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:visible-area-width">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:visible-area-height">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:ole-draw-aspect">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties">
+ <element name="style:chart-properties">
+ <ref name="style-chart-properties-content"/>
+ </element>
+</define>
+
+<define name="style-chart-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-chart-properties-content-strict">
+ <ref name="style-chart-properties-attlist"/>
+ <ref name="style-chart-properties-elements"/>
+</define>
+
+<define name="style-chart-properties-elements">
+ <empty/>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:scale-text" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:three-dimensional">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:deep">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <choice>
+ <attribute name="chart:symbol-type">
+ <value>none</value>
+ </attribute>
+ <attribute name="chart:symbol-type">
+ <value>automatic</value>
+ </attribute>
+ <group>
+ <attribute name="chart:symbol-type">
+ <value>named-symbol</value>
+ </attribute>
+ <attribute name="chart:symbol-name">
+ <choice>
+ <value>square</value>
+ <value>diamond</value>
+ <value>arrow-down</value>
+ <value>arrow-up</value>
+ <value>arrow-right</value>
+ <value>arrow-left</value>
+ <value>bow-tie</value>
+ <value>hourglass</value>
+ <value>circle</value>
+ <value>star</value>
+ <value>x</value>
+ <value>plus</value>
+ <value>asterisk</value>
+ <value>horizontal-bar</value>
+ <value>vertical-bar</value>
+ </choice>
+ </attribute>
+ </group>
+ <group>
+ <attribute name="chart:symbol-type">
+ <value>image</value>
+ </attribute>
+ <element name="chart:symbol-image">
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ </element>
+ </group>
+ <empty/>
+ </choice>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:symbol-width">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:symbol-height">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:vertical" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:connect-bars" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:gap-width">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:overlap">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:japanese-candle-stick"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:interpolation" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <value>cubic-spline</value>
+ <value>b-spline</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:spline-order" a:defaultValue="2">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:spline-resolution" a:defaultValue="20">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:pie-offset" a:defaultValue="0">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:lines" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:solid-type" a:defaultValue="cuboid">
+ <choice>
+ <value>cuboid</value>
+ <value>cylinder</value>
+ <value>cone</value>
+ <value>pyramid</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:stacked" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:percentage" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:link-data-style-to-source">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:visible">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:logarithmic">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:maximum">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:minimum">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:origin">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:interval-major">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:interval-minor">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:tick-marks-major-inner">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:tick-marks-major-outer">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:tick-marks-minor-inner">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:tick-marks-minor-outer">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:display-label">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:text-overlap">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:line-break">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:label-arrangement"
+ a:defaultValue="side-by-side">
+ <choice>
+ <value>side-by-side</value>
+ <value>stagger-even</value>
+ <value>stagger-odd</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <ref name="common-style-direction-attlist"/>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <ref name="common-rotation-angle-attlist"/>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:data-label-number">
+ <choice>
+ <value>none</value>
+ <value>value</value>
+ <value>percentage</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:data-label-text">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:data-label-symbol">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:mean-value">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:error-category" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <value>variance</value>
+ <value>standard-deviation</value>
+ <value>percentage</value>
+ <value>error-margin</value>
+ <value>constant</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:error-percentage">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:error-margin">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:error-lower-limit">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:error-upper-limit">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:error-upper-indicator">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:error-lower-indicator">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:series-source" a:defaultValue="columns">
+ <choice>
+ <value>columns</value>
+ <value>rows</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:regression-type" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <value>linear</value>
+ <value>logarithmic</value>
+ <value>exponential</value>
+ <value>power</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="presentation:transition-type">
+ <choice>
+ <value>manual</value>
+ <value>automatic</value>
+ <value>semi-automatic</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="presentation:transition-style">
+ <choice>
+ <value>none</value>
+ <value>fade-from-left</value>
+ <value>fade-from-top</value>
+ <value>fade-from-right</value>
+ <value>fade-from-bottom</value>
+ <value>fade-from-upperleft</value>
+ <value>fade-from-upperright</value>
+ <value>fade-from-lowerleft</value>
+ <value>fade-from-lowerright</value>
+ <value>move-from-left</value>
+ <value>move-from-top</value>
+ <value>move-from-right</value>
+ <value>move-from-bottom</value>
+ <value>move-from-upperleft</value>
+ <value>move-from-upperright</value>
+ <value>move-from-lowerleft</value>
+ <value>move-from-lowerright</value>
+ <value>uncover-to-left</value>
+ <value>uncover-to-top</value>
+ <value>uncover-to-right</value>
+ <value>uncover-to-bottom</value>
+ <value>uncover-to-upperleft</value>
+ <value>uncover-to-upperright</value>
+ <value>uncover-to-lowerleft</value>
+ <value>uncover-to-lowerright</value>
+ <value>fade-to-center</value>
+ <value>fade-from-center</value>
+ <value>vertical-stripes</value>
+ <value>horizontal-stripes</value>
+ <value>clockwise</value>
+ <value>counterclockwise</value>
+ <value>open-vertical</value>
+ <value>open-horizontal</value>
+ <value>close-vertical</value>
+ <value>close-horizontal</value>
+ <value>wavyline-from-left</value>
+ <value>wavyline-from-top</value>
+ <value>wavyline-from-right</value>
+ <value>wavyline-from-bottom</value>
+ <value>spiralin-left</value>
+ <value>spiralin-right</value>
+ <value>spiralout-left</value>
+ <value>spiralout-right</value>
+ <value>roll-from-top</value>
+ <value>roll-from-left</value>
+ <value>roll-from-right</value>
+ <value>roll-from-bottom</value>
+ <value>stretch-from-left</value>
+ <value>stretch-from-top</value>
+ <value>stretch-from-right</value>
+ <value>stretch-from-bottom</value>
+
+ <value>vertical-lines</value>
+ <value>horizontal-lines</value>
+ <value>dissolve</value>
+ <value>random</value>
+ <value>vertical-checkerboard</value>
+ <value>horizontal-checkerboard</value>
+ <value>interlocking-horizontal-left</value>
+ <value>interlocking-horizontal-right</value>
+ <value>interlocking-vertical-top</value>
+ <value>interlocking-vertical-bottom</value>
+ <value>fly-away</value>
+ <value>open</value>
+ <value>close</value>
+ <value>melt</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="presentation:transition-speed">
+ <ref name="presentationSpeeds"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist " combine="interleave">
+ <optional>
+ <attribute name="smil:type">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:subtype">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:direction" a:defaultValue="forward">
+ <choice>
+ <value>forward</value>
+ <value>reverse</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:fadeColor">
+ <choice>
+ <value>forward</value>
+ <value>reverse</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="presentation:duration">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="presentation:visibility">
+ <choice>
+ <value>visible</value>
+ <value>hidden</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-elements"
+ combine="interleave">
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="draw:background-size">
+ <choice>
+ <value>full</value>
+ <value>border</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="presentation:background-objects-visible">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="presentation:background-visible">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:display-header">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:display-footer">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:display-page-number">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:display-date-time">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="string">
+ <data type="string"/>
+</define>
+<define name="date">
+ <data type="date"/>
+</define>
+<define name="time">
+ <data type="time"/>
+</define>
+<define name="dateTime">
+ <data type="dateTime"/>
+</define>
+<define name="duration">
+ <data type="duration"/>
+</define>
+<define name="integer">
+ <data type="integer"/>
+</define>
+<define name="nonNegativeInteger">
+ <data type="nonNegativeInteger"/>
+</define>
+<define name="positiveInteger">
+ <data type="positiveInteger"/>
+</define>
+<define name="double">
+ <data type="double"/>
+</define>
+<define name="anyURI">
+ <data type="anyURI"/>
+</define>
+<define name="base64Binary">
+ <data type="base64Binary"/>
+</define>
+<define name="ID">
+ <data type="ID"/>
+</define>
+<define name="IDREF">
+ <data type="IDREF"/>
+</define>
+<define name="boolean">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+</define>
+<define name="dateOrDateTime">
+ <choice>
+ <data type="date"/>
+ <data type="dateTime"/>
+ </choice>
+</define>
+<define name="timeOrDateTime">
+ <choice>
+ <data type="time"/>
+ <data type="dateTime"/>
+ </choice>
+</define>
+<define name="language">
+ <data type="token">
+ <param name="pattern">[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*</param>
+ </data>
+</define>
+<define name="countryCode">
+ <data type="token">
+ <param name="pattern">[A-Za-z0-9]{1,8}</param>
+ </data>
+</define>
+<define name="languageCode">
+ <data type="token">
+ <param name="pattern">[A-Za-z]{1,8}</param>
+ </data>
+</define>
+<define name="character">
+ <data type="string">
+ <param name="length">1</param>
+ </data>
+</define>
+<define name="length">
+ <data type="string">
+ <param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
+
+ </data>
+</define>
+<define name="nonNegativeLength">
+ <data type="string">
+ <param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
+
+ </data>
+</define>
+<define name="positiveLength">
+ <data type="string">
+ <!-- A zero value is not allowed here -->
+ <param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
+
+ </data>
+</define>
+<define name="percent">
+ <data type="string">
+ <param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)%</param>
+ </data>
+</define>
+<define name="relativeLength">
+ <data type="string">
+ <param name="pattern">[0-9]+\*</param>
+ </data>
+</define>
+<define name="coordinate">
+ <ref name="length"/>
+</define>
+<define name="distance">
+ <ref name="length"/>
+</define>
+<define name="color">
+ <data type="string">
+ <param name="pattern">#[0-9a-fA-F]{6}</param>
+ </data>
+</define>
+<define name="styleName">
+ <data type="NCName"/>
+</define>
+<define name="styleNameRef">
+ <choice>
+ <data type="NCName"/>
+ <empty/>
+ </choice>
+</define>
+<define name="styleNameRefs">
+ <list>
+ <zeroOrMore>
+ <data type="NCName"/>
+ </zeroOrMore>
+ </list>
+</define>
+<define name="variableName">
+ <data type="string"/>
+</define>
+<define name="formula">
+ <!-- A formula should start with a namespace prefix, -->
+ <!-- but has no restrictions-->
+ <data type="string"/>
+</define>
+
+<define name="targetFrameName">
+ <choice>
+ <value>_self</value>
+ <value>_blank</value>
+ <value>_parent</value>
+ <value>_top</value>
+ <ref name="string"/>
+ </choice>
+</define>
+
+<define name="valueType">
+ <choice>
+ <value>float</value>
+ <value>time</value>
+ <value>date</value>
+ <value>percentage</value>
+ <value>currency</value>
+ <value>boolean</value>
+ <value>string</value>
+ </choice>
+</define>
+
+<define name="points">
+ <data type="string">
+ <param name="pattern">-?[0-9]+,-?[0-9]+([ ]+-?[0-9]+,-?[0-9]+)*</param>
+ </data>
+</define>
+<define name="pathData">
+ <data type="string"/>
+</define>
+
+<define name="vector3D">
+ <data type="string">
+ <param name="pattern">\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)([ ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)){2}[ ]*\)</param>
+
+ </data>
+</define>
+
+<define name="namespacedToken">
+ <data type="string">
+ <param name="pattern">[0-9a-zA-Z_]+:[0-9a-zA-Z._\-]+</param>
+ </data>
+</define>
+<define name="anyAttListOrElements">
+ <zeroOrMore>
+ <attribute>
+ <anyName/>
+ <text/>
+ </attribute>
+ </zeroOrMore>
+ <ref name="anyElements"/>
+</define>
+<define name="anyElements">
+ <zeroOrMore>
+ <element>
+ <anyName/>
+ <mixed>
+ <ref name="anyAttListOrElements"/>
+ </mixed>
+ </element>
+ </zeroOrMore>
+</define>
+</grammar>
diff --git a/schema/odf1.0/OpenDocument-strict-schema-v1.0-os.rng b/schema/odf1.0/OpenDocument-strict-schema-v1.0-os.rng
new file mode 100644
index 000000000000..aa761dc880d2
--- /dev/null
+++ b/schema/odf1.0/OpenDocument-strict-schema-v1.0-os.rng
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ OASIS OpenDocument v1.0
+ OASIS Standard, 1 May 2005
+ Strict Relax-NG Schema
+
+ $Id$
+
+ © 2002-2005 OASIS Open
+ © 1999-2005 Sun Microsystems, Inc.
+-->
+
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="OpenDocument-schema-v1.0-os.rng">
+ <define name="office-meta-content">
+ <ref name="office-meta-content-strict"/>
+ </define>
+ <define name="style-page-layout-properties-content">
+ <ref name="style-page-layout-properties-content-strict"/>
+ </define>
+ <define name="style-header-footer-properties-content">
+ <ref name="style-header-footer-properties-content-strict"/>
+ </define>
+ <define name="style-drawing-page-properties-content">
+ <ref name="style-drawing-page-properties-content-strict"/>
+ </define>
+ <define name="style-text-properties-content">
+ <ref name="style-text-properties-content-strict"/>
+ </define>
+ <define name="style-paragraph-properties-content">
+ <ref name="style-paragraph-properties-content-strict"/>
+ </define>
+ <define name="style-ruby-properties-content">
+ <ref name="style-ruby-properties-content-strict"/>
+ </define>
+ <define name="style-section-properties-content">
+ <ref name="style-section-properties-content-strict"/>
+ </define>
+ <define name="style-list-level-properties-content">
+ <ref name="style-list-level-properties-content-strict"/>
+ </define>
+ <define name="style-table-properties-content">
+ <ref name="style-table-properties-content-strict"/>
+ </define>
+ <define name="style-table-column-properties-content">
+ <ref name="style-table-column-properties-content-strict"/>
+ </define>
+ <define name="style-table-row-properties-content">
+ <ref name="style-table-row-properties-content-strict"/>
+ </define>
+ <define name="style-table-cell-properties-content">
+ <ref name="style-table-cell-properties-content-strict"/>
+ </define>
+ <define name="style-graphic-properties-content">
+ <ref name="style-graphic-properties-content-strict"/>
+ </define>
+ <define name="style-chart-properties-content">
+ <ref name="style-properties-content"/>
+ </define>
+ </include>
+</grammar>
diff --git a/schema/odf1.1/OpenDocument-manifest-schema-v1.1.rng b/schema/odf1.1/OpenDocument-manifest-schema-v1.1.rng
new file mode 100644
index 000000000000..4082d4ba95d6
--- /dev/null
+++ b/schema/odf1.1/OpenDocument-manifest-schema-v1.1.rng
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ OASIS OpenDocument v1.1
+ OASIS Standard, 1 Feb 2007
+ Relax-NG Manifest Schema
+
+ $Id$
+
+ © 2002-2007 OASIS Open
+ © 1999-2007 Sun Microsystems, Inc.
+-->
+
+<grammar
+ xmlns="http://relaxng.org/ns/structure/1.0"
+
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
+
+ xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0">
+<define name="manifest">
+ <element name="manifest:manifest">
+ <oneOrMore>
+ <ref name="file-entry"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<start>
+ <choice>
+ <ref name="manifest"/>
+ </choice>
+</start>
+<define name="file-entry">
+ <element name="manifest:file-entry">
+ <ref name="file-entry-attlist"/>
+ <optional>
+ <ref name="encryption-data"/>
+ </optional>
+ </element>
+</define>
+<define name="file-entry-attlist" combine="interleave">
+ <attribute name="manifest:full-path">
+ <data type="string"/>
+ </attribute>
+</define>
+<define name="file-entry-attlist" combine="interleave">
+ <optional>
+ <attribute name="manifest:size">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="file-entry-attlist" combine="interleave">
+ <attribute name="manifest:media-type">
+ <data type="string"/>
+ </attribute>
+</define>
+<define name="encryption-data">
+ <element name="manifest:encryption-data">
+ <ref name="encryption-data-attlist"/>
+ <ref name="algorithm"/>
+ <ref name="key-derivation"/>
+ </element>
+</define>
+<define name="encryption-data-attlist" combine="interleave">
+ <attribute name="manifest:checksum-type">
+ <data type="string"/>
+ </attribute>
+</define>
+<define name="encryption-data-attlist" combine="interleave">
+ <attribute name="manifest:checksum">
+ <data type="base64Binary"/>
+ </attribute>
+</define>
+<define name="algorithm">
+ <element name="manifest:algorithm">
+ <ref name="algorithm-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="algorithm-attlist" combine="interleave">
+ <attribute name="manifest:algorithm-name">
+ <data type="string"/>
+ </attribute>
+</define>
+<define name="algorithm-attlist" combine="interleave">
+ <attribute name="manifest:initialisation-vector">
+ <data type="base64Binary"/>
+ </attribute>
+</define>
+<define name="key-derivation">
+ <element name="manifest:key-derivation">
+ <ref name="key-derivation-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="key-derivation-attlist" combine="interleave">
+ <attribute name="manifest:key-derivation-name">
+ <data type="string"/>
+ </attribute>
+</define>
+<define name="key-derivation-attlist" combine="interleave">
+ <attribute name="manifest:salt">
+ <data type="base64Binary"/>
+ </attribute>
+</define>
+<define name="key-derivation-attlist" combine="interleave">
+ <attribute name="manifest:iteration-count">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+</define>
+</grammar>
diff --git a/schema/odf1.1/OpenDocument-schema-v1.1.rng b/schema/odf1.1/OpenDocument-schema-v1.1.rng
new file mode 100644
index 000000000000..3ba6a687c49e
--- /dev/null
+++ b/schema/odf1.1/OpenDocument-schema-v1.1.rng
@@ -0,0 +1,17891 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ OASIS OpenDocument v1.1
+ OASIS Standard, 1 Feb 2007
+ Relax-NG Schema
+
+ $Id$
+
+ © 2002-2007 OASIS Open
+ © 1999-2007 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-soft-page-break"/>
+ <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-text-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:use-soft-page-breaks" 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: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>
+ </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"/>
+ <ref name="text-soft-page-break"/>
+ </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-soft-page-break">
+ <element name="text:soft-page-break">
+ <empty/>
+ </element>
+</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">
+ <ref name="text-soft-page-break"/>
+</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">
+ <optional>
+ <attribute name="office:title">
+ <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>
+ <ref name="text-table-of-content-children"/>
+
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-table-of-content-children">
+ <choice>
+ <ref name="text-index-entry-chapter"/>
+ <ref name="text-index-entry-page-number"/>
+ <ref name="text-index-entry-text"/>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ <ref name="text-index-entry-link-start"/>
+ <ref name="text-index-entry-link-end"/>
+ </choice>
+</define>
+<define name="text-table-of-content-entry-template-attlist"
+ combine="interleave">
+ <attribute name="text:outline-level">
+ <ref name="positiveInteger"/>
+ </attribute>
+</define>
+<define name="text-table-of-content-entry-template-attlist"
+ combine="interleave">
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="text-illustration-index">
+ <element name="text:illustration-index">
+ <ref name="sectionAttr"/>
+ <ref name="text-illustration-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+</define>
+<define name="text-illustration-index-source">
+ <element name="text:illustration-index-source">
+ <ref name="text-illustration-index-source-attrs"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <optional>
+ <ref name="text-illustration-index-entry-template"/>
+ </optional>
+ </element>
+</define>
+<define name="text-illustration-index-source-attrs" combine="interleave">
+ <ref name="text-index-scope-attr"/>
+</define>
+<define name="text-index-scope-attr">
+ <optional>
+ <attribute name="text:index-scope" a:defaultValue="document">
+ <choice>
+ <value>document</value>
+ <value>chapter</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="text-illustration-index-source-attrs" combine="interleave">
+ <ref name="text-relative-tab-stop-position-attr"/>
+</define>
+<define name="text-relative-tab-stop-position-attr">
+ <optional>
+ <attribute name="text:relative-tab-stop-position"
+ a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-illustration-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:use-caption" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-illustration-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:caption-sequence-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-illustration-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:caption-sequence-format">
+ <choice>
+ <value>text</value>
+ <value>category-and-value</value>
+ <value>caption</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="text-illustration-index-entry-template">
+ <element name="text:illustration-index-entry-template">
+ <ref name="text-illustration-index-entry-content"/>
+ </element>
+</define>
+<define name="text-illustration-index-entry-content">
+ <ref name="text-illustration-index-entry-template-attrs"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-index-entry-page-number"/>
+ <ref name="text-index-entry-text"/>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ </choice>
+ </zeroOrMore>
+</define>
+<define name="text-illustration-index-entry-template-attrs">
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="text-table-index">
+ <element name="text:table-index">
+ <ref name="sectionAttr"/>
+ <ref name="text-table-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+</define>
+<define name="text-table-index-source">
+ <element name="text:table-index-source">
+ <ref name="text-illustration-index-source-attrs"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <optional>
+ <ref name="text-table-index-entry-template"/>
+ </optional>
+ </element>
+</define>
+<define name="text-table-index-entry-template">
+ <element name="text:table-index-entry-template">
+ <ref name="text-illustration-index-entry-content"/>
+ </element>
+</define>
+<define name="text-object-index">
+ <element name="text:object-index">
+ <ref name="sectionAttr"/>
+ <ref name="text-object-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+</define>
+<define name="text-object-index-source">
+ <element name="text:object-index-source">
+ <ref name="text-object-index-source-attrs"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <optional>
+ <ref name="text-object-index-entry-template"/>
+ </optional>
+ </element>
+</define>
+<define name="text-object-index-source-attrs" combine="interleave">
+ <ref name="text-index-scope-attr"/>
+</define>
+<define name="text-object-index-source-attrs" combine="interleave">
+ <ref name="text-relative-tab-stop-position-attr"/>
+</define>
+<define name="text-object-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:use-spreadsheet-objects" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-object-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:use-math-objects" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-object-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:use-draw-objects" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-object-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:use-chart-objects" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-object-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:use-other-objects" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-object-index-entry-template">
+ <element name="text:object-index-entry-template">
+ <ref name="text-illustration-index-entry-content"/>
+ </element>
+</define>
+<define name="text-user-index">
+ <element name="text:user-index">
+ <ref name="sectionAttr"/>
+ <ref name="text-user-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+</define>
+<define name="text-user-index-source">
+ <element name="text:user-index-source">
+ <ref name="text-user-index-source-attr"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-user-index-entry-template"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="text-index-source-styles"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-user-index-source-attr" combine="interleave">
+ <ref name="text-index-scope-attr"/>
+ <ref name="text-relative-tab-stop-position-attr"/>
+ <attribute name="text:index-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="text-user-index-source-attr" combine="interleave">
+ <optional>
+ <attribute name="text:use-index-marks" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-graphics" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-tables" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-floating-frames"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-objects" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-user-index-source-attr" combine="interleave">
+ <optional>
+ <attribute name="text:copy-outline-levels"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-user-index-entry-template">
+ <element name="text:user-index-entry-template">
+ <ref name="text-user-index-entry-template-attrs"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-index-entry-chapter"/>
+ <ref name="text-index-entry-page-number"/>
+ <ref name="text-index-entry-text"/>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-user-index-entry-template-attrs" combine="interleave">
+ <attribute name="text:outline-level">
+ <ref name="positiveInteger"/>
+ </attribute>
+</define>
+<define name="text-user-index-entry-template-attrs" combine="interleave">
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="text-alphabetical-index">
+ <element name="text:alphabetical-index">
+ <ref name="sectionAttr"/>
+ <ref name="text-alphabetical-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+</define>
+<define name="text-alphabetical-index-source">
+ <element name="text:alphabetical-index-source">
+ <ref name="text-alphabetical-index-source-attrs"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-alphabetical-index-entry-template"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <ref name="text-index-scope-attr"/>
+ <ref name="text-relative-tab-stop-position-attr"/>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:ignore-case" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:main-entry-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:alphabetical-separators" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:combine-entries" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:combine-entries-with-dash"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:combine-entries-with-pp" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:use-keys-as-entries" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:capitalize-entries" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:comma-separated" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="fo:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="fo:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-source-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:sort-algorithm">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-alphabetical-index-auto-mark-file">
+ <element name="text:alphabetical-index-auto-mark-file">
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <value>simple</value>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="text-alphabetical-index-entry-template">
+ <element name="text:alphabetical-index-entry-template">
+ <ref name="text-alphabetical-index-entry-template-attrs"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-index-entry-chapter"/>
+ <ref name="text-index-entry-page-number"/>
+ <ref name="text-index-entry-text"/>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-alphabetical-index-entry-template-attrs"
+ combine="interleave">
+ <attribute name="text:outline-level">
+ <choice>
+ <value>1</value>
+ <value>2</value>
+ <value>3</value>
+ <value>separator</value>
+ </choice>
+ </attribute>
+</define>
+<define name="text-alphabetical-index-entry-template-attrs"
+ combine="interleave">
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="text-bibliography">
+ <element name="text:bibliography">
+ <ref name="sectionAttr"/>
+ <ref name="text-bibliography-source"/>
+ <ref name="text-index-body"/>
+ </element>
+</define>
+<define name="text-bibliography-source">
+ <element name="text:bibliography-source">
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-bibliography-entry-template"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-bibliography-entry-template">
+ <element name="text:bibliography-entry-template">
+ <ref name="text-bibliography-entry-template-attrs"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ <ref name="text-index-entry-bibliography"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-bibliography-entry-template-attrs" combine="interleave">
+ <attribute name="text:bibliography-type">
+ <ref name="text-bibliography-types"/>
+ </attribute>
+</define>
+<define name="text-bibliography-entry-template-attrs" combine="interleave">
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="text-index-source-styles">
+ <element name="text:index-source-styles">
+ <attribute name="text:outline-level">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <zeroOrMore>
+ <ref name="text-index-source-style"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-index-source-style">
+ <element name="text:index-source-style">
+ <attribute name="text:style-name">
+ <ref name="styleName"/>
+ </attribute>
+ <empty/>
+ </element>
+</define>
+<define name="text-index-title-template">
+ <element name="text:index-title-template">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+</define>
+<define name="text-index-entry-chapter">
+ <element name="text:index-entry-chapter">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <ref name="text-index-entry-chapter-attrs"/>
+ </element>
+</define>
+<define name="text-index-entry-chapter-attrs">
+ <optional>
+ <attribute name="text:display" a:defaultValue="number">
+ <choice>
+ <value>name</value>
+ <value>number</value>
+ <value>number-and-name</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="text-index-entry-text">
+ <element name="text:index-entry-text">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="text-index-entry-page-number">
+ <element name="text:index-entry-page-number">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="text-index-entry-span">
+ <element name="text:index-entry-span">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+</define>
+<define name="text-index-entry-bibliography">
+ <element name="text:index-entry-bibliography">
+ <ref name="text-index-entry-bibliography-attrs"/>
+ </element>
+</define>
+<define name="text-index-entry-bibliography-attrs" combine="interleave">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-index-entry-bibliography-attrs" combine="interleave">
+ <attribute name="text:bibliography-data-field">
+ <choice>
+ <value>address</value>
+ <value>annote</value>
+ <value>author</value>
+ <value>bibliography-type</value>
+ <value>booktitle</value>
+ <value>chapter</value>
+ <value>custom1</value>
+ <value>custom2</value>
+ <value>custom3</value>
+ <value>custom4</value>
+ <value>custom5</value>
+ <value>edition</value>
+ <value>editor</value>
+ <value>howpublished</value>
+ <value>identifier</value>
+ <value>institution</value>
+ <value>isbn</value>
+ <value>issn</value>
+ <value>journal</value>
+ <value>month</value>
+ <value>note</value>
+ <value>number</value>
+ <value>organizations</value>
+ <value>pages</value>
+ <value>publisher</value>
+ <value>report-type</value>
+ <value>school</value>
+ <value>series</value>
+ <value>title</value>
+ <value>url</value>
+ <value>volume</value>
+ <value>year</value>
+ </choice>
+ </attribute>
+</define>
+<define name="text-index-entry-tab-stop">
+ <element name="text:index-entry-tab-stop">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <ref name="text-index-entry-tab-stop-attrs"/>
+ </element>
+</define>
+<define name="text-index-entry-tab-stop-attrs" combine="interleave">
+ <optional>
+ <attribute name="style:leader-char">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-index-entry-tab-stop-attrs" combine="interleave">
+ <choice>
+ <attribute name="style:type">
+ <value>right</value>
+ </attribute>
+ <group>
+ <attribute name="style:type">
+ <value>left</value>
+ </attribute>
+ <attribute name="style:position">
+ <ref name="length"/>
+ </attribute>
+ </group>
+ </choice>
+</define>
+<define name="text-index-entry-link-start">
+ <element name="text:index-entry-link-start">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="text-index-entry-link-end">
+ <element name="text:index-entry-link-end">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="table-table">
+ <element name="table:table">
+ <ref name="table-table-attlist"/>
+ <optional>
+ <ref name="table-table-source"/>
+ </optional>
+ <optional>
+ <ref name="office-dde-source"/>
+ </optional>
+ <optional>
+ <ref name="table-scenario"/>
+ </optional>
+ <optional>
+ <ref name="office-forms"/>
+ </optional>
+ <optional>
+ <ref name="table-shapes"/>
+ </optional>
+ <ref name="table-columns-and-groups"/>
+ <ref name="table-rows-and-groups"/>
+ </element>
+</define>
+<define name="table-columns-and-groups">
+ <oneOrMore>
+ <choice>
+ <ref name="table-table-column-group"/>
+ <ref name="table-columns-no-group"/>
+ </choice>
+ </oneOrMore>
+</define>
+
+<define name="table-columns-no-group">
+ <choice>
+ <group>
+ <ref name="table-columns"/>
+ <optional>
+ <ref name="table-table-header-columns"/>
+ <optional>
+ <ref name="table-columns"/>
+ </optional>
+ </optional>
+ </group>
+ <group>
+ <ref name="table-table-header-columns"/>
+ <optional>
+ <ref name="table-columns"/>
+ </optional>
+ </group>
+ </choice>
+</define>
+
+<define name="table-columns">
+ <choice>
+ <ref name="table-table-columns"/>
+ <oneOrMore>
+ <ref name="table-table-column"/>
+ </oneOrMore>
+ </choice>
+</define>
+
+<define name="table-rows-and-groups">
+ <oneOrMore>
+ <choice>
+ <ref name="table-table-row-group"/>
+ <ref name="table-rows-no-group"/>
+ </choice>
+ </oneOrMore>
+</define>
+
+<define name="table-rows-no-group">
+ <choice>
+ <group>
+ <ref name="table-rows"/>
+ <optional>
+ <ref name="table-table-header-rows"/>
+ <optional>
+ <ref name="table-rows"/>
+ </optional>
+ </optional>
+ </group>
+ <group>
+ <ref name="table-table-header-rows"/>
+ <optional>
+ <ref name="table-rows"/>
+ </optional>
+ </group>
+ </choice>
+</define>
+
+<define name="table-rows">
+ <choice>
+ <ref name="table-table-rows"/>
+ <oneOrMore>
+ <optional>
+ <ref name="text-soft-page-break"/>
+ </optional>
+ <ref name="table-table-row"/>
+ </oneOrMore>
+ </choice>
+</define>
+<define name="table-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:protected" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:protection-key">
+ <text/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:print" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:print-ranges">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-row">
+ <element name="table:table-row">
+ <ref name="table-table-row-attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="table-table-cell"/>
+ <ref name="table-covered-table-cell"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-table-row-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:number-rows-repeated" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-row-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-row-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:default-cell-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-row-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:visibility" a:defaultValue="visible">
+ <ref name="table-visibility-value"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="table-visibility-value">
+ <choice>
+ <value>visible</value>
+ <value>collapse</value>
+ <value>filter</value>
+ </choice>
+</define>
+<define name="table-table-cell">
+ <element name="table:table-cell">
+ <ref name="table-table-cell-attlist"/>
+ <ref name="table-table-cell-attlist-extra"/>
+ <ref name="table-table-cell-content"/>
+ </element>
+</define>
+
+<define name="table-covered-table-cell">
+ <element name="table:covered-table-cell">
+ <ref name="table-table-cell-attlist"/>
+ <ref name="table-table-cell-content"/>
+ </element>
+</define>
+
+<define name="table-table-cell-content">
+ <optional>
+ <ref name="table-cell-range-source"/>
+ </optional>
+ <optional>
+ <ref name="office-annotation"/>
+ </optional>
+ <optional>
+ <ref name="table-detective"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-content"/>
+ </zeroOrMore>
+</define>
+<define name="table-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:number-columns-repeated" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-cell-attlist-extra" combine="interleave">
+ <optional>
+ <attribute name="table:number-columns-spanned" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:number-rows-spanned" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:content-validation-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:formula">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-cell-attlist-extra" combine="interleave">
+ <optional>
+ <attribute name="table:number-matrix-columns-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:number-matrix-rows-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-cell-attlist" combine="interleave">
+ <optional>
+ <ref name="common-value-and-type-attlist"/>
+ </optional>
+</define>
+<define name="table-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:protect" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-column">
+ <element name="table:table-column">
+ <ref name="table-table-column-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-table-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:number-columns-repeated" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:visibility" a:defaultValue="visible">
+ <ref name="table-visibility-value"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:default-cell-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-header-columns">
+ <element name="table:table-header-columns">
+ <oneOrMore>
+ <ref name="table-table-column"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="table-table-columns">
+ <element name="table:table-columns">
+ <oneOrMore>
+ <ref name="table-table-column"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-table-column-group">
+ <element name="table:table-column-group">
+ <ref name="table-table-column-group-attlist"/>
+ <ref name="table-columns-and-groups"/>
+ </element>
+</define>
+<define name="table-table-column-group-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-header-rows">
+ <element name="table:table-header-rows">
+ <oneOrMore>
+ <optional>
+ <ref name="text-soft-page-break"/>
+ </optional>
+ <ref name="table-table-row"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="table-table-rows">
+ <element name="table:table-rows">
+ <oneOrMore>
+ <optional>
+ <ref name="text-soft-page-break"/>
+ </optional>
+ <ref name="table-table-row"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-table-row-group">
+ <element name="table:table-row-group">
+ <ref name="table-table-row-group-attlist"/>
+ <ref name="table-rows-and-groups"/>
+ </element>
+</define>
+<define name="table-table-row-group-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:is-sub-table" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="cellAddress">
+ <data type="string">
+ <param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+</param>
+
+ </data>
+</define>
+<define name="cellRangeAddress">
+ <data type="string">
+ <param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+(:($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+)?</param>
+
+ </data>
+</define>
+<define name="cellRangeAddressList">
+ <!-- Value is a space separated list of "cellRangeAddress" patterns -->
+ <data type="string"/>
+</define>
+<define name="table-table-source">
+ <element name="table:table-source">
+ <ref name="table-table-source-attlist"/>
+ <ref name="table-linked-source-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-table-source-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:mode" a:defaultValue="copy-all">
+ <choice>
+ <value>copy-all</value>
+ <value>copy-results-only</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-source-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:table-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-linked-source-attlist" combine="interleave">
+ <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>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+</define>
+<define name="table-linked-source-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:filter-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-linked-source-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:filter-options">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-linked-source-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:refresh-delay">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-scenario">
+ <element name="table:scenario">
+ <ref name="table-scenario-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <attribute name="table:scenario-ranges">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <attribute name="table:is-active">
+ <ref name="boolean"/>
+ </attribute>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display-border" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:border-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:copy-back" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:copy-styles" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:copy-formulas" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:comment">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-scenario-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:protected">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-shapes">
+ <element name="table:shapes">
+ <oneOrMore>
+ <ref name="shape"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-cell-range-source">
+ <element name="table:cell-range-source">
+ <ref name="table-table-cell-range-source-attlist"/>
+ <ref name="table-linked-source-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-table-cell-range-source-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-table-cell-range-source-attlist" combine="interleave">
+ <attribute name="table:last-column-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <attribute name="table:last-row-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+</define>
+<define name="table-detective">
+ <element name="table:detective">
+ <zeroOrMore>
+ <ref name="table-highlighted-range"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="table-operation"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-operation">
+ <element name="table:operation">
+ <ref name="table-operation-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-operation-attlist" combine="interleave">
+ <attribute name="table:name">
+ <choice>
+ <value>trace-dependents</value>
+ <value>remove-dependents</value>
+ <value>trace-precedents</value>
+ <value>remove-precedents</value>
+ <value>trace-errors</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-operation-attlist" combine="interleave">
+ <attribute name="table:index">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+</define>
+<define name="table-highlighted-range">
+ <element name="table:highlighted-range">
+ <choice>
+ <group>
+ <ref name="table-highlighted-range-attlist"/>
+ </group>
+ <group>
+ <ref name="table-highlighted-range-attlist-invalid"/>
+ </group>
+ </choice>
+ <empty/>
+ </element>
+</define>
+<define name="table-highlighted-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-highlighted-range-attlist" combine="interleave">
+ <attribute name="table:direction">
+ <choice>
+ <value>from-another-table</value>
+ <value>to-another-table</value>
+ <value>from-same-table</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-highlighted-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:contains-error" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-highlighted-range-attlist-invalid" combine="interleave">
+ <attribute name="table:marked-invalid">
+ <ref name="boolean"/>
+ </attribute>
+</define>
+<define name="office-spreadsheet-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:structure-protected" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:protection-key">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-calculation-settings">
+ <element name="table:calculation-settings">
+ <ref name="table-calculation-setting-attlist"/>
+ <optional>
+ <ref name="table-null-date"/>
+ </optional>
+ <optional>
+ <ref name="table-iteration"/>
+ </optional>
+ </element>
+</define>
+<define name="table-calculation-setting-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:case-sensitive" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-calculation-setting-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:precision-as-shown" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-calculation-setting-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:search-criteria-must-apply-to-whole-cell"
+ a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-calculation-setting-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:automatic-find-labels" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-calculation-setting-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:use-regular-expressions"
+ a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-calculation-setting-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:null-year" a:defaultValue="1930">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-null-date">
+ <element name="table:null-date">
+ <optional>
+ <attribute name="table:value-type" a:defaultValue="date">
+ <ref name="valueType"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:date-value"
+ a:defaultValue="1899-12-30">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+</define>
+<define name="table-iteration">
+ <element name="table:iteration">
+ <optional>
+ <attribute name="table:status" a:defaultValue="disable">
+ <choice>
+ <value>enable</value>
+ <value>disable</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:steps" a:defaultValue="100">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:maximum-difference"
+ a:defaultValue="0.001">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+</define>
+<define name="table-content-validations">
+ <element name="table:content-validations">
+ <oneOrMore>
+ <ref name="table-content-validation"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="table-content-validation">
+ <element name="table:content-validation">
+ <ref name="table-validation-attlist"/>
+ <optional>
+ <ref name="table-help-message"/>
+ </optional>
+ <optional>
+ <choice>
+ <ref name="table-error-message"/>
+ <group>
+ <ref name="table-error-macro"/>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ </group>
+ </choice>
+ </optional>
+ </element>
+</define>
+<define name="table-validation-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-validation-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:condition">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-validation-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:base-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-validation-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:allow-empty-cell" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-validation-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display-list" a:defaultValue="unsorted">
+ <choice>
+ <value>none</value>
+ <value>unsorted</value>
+ <value>sort-ascending</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-help-message">
+ <element name="table:help-message">
+ <optional>
+ <attribute name="table:title">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:display" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-error-message">
+ <element name="table:error-message">
+ <optional>
+ <attribute name="table:title">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:display" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:message-type" a:defaultValue="stop">
+ <choice>
+ <value>stop</value>
+ <value>warning</value>
+ <value>information</value>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-error-macro">
+ <element name="table:error-macro">
+ <optional>
+ <attribute name="table:execute" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="table-label-ranges">
+ <element name="table:label-ranges">
+ <zeroOrMore>
+ <ref name="table-label-range"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="table-label-range">
+ <element name="table:label-range">
+ <ref name="table-label-range-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-label-range-attlist" combine="interleave">
+ <attribute name="table:label-cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+</define>
+<define name="table-label-range-attlist" combine="interleave">
+ <attribute name="table:data-cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+</define>
+<define name="table-label-range-attlist" combine="interleave">
+ <attribute name="table:orientation">
+ <choice>
+ <value>column</value>
+ <value>row</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-named-expressions">
+ <element name="table:named-expressions">
+ <zeroOrMore>
+ <choice>
+ <ref name="table-named-range"/>
+ <ref name="table-named-expression"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="table-named-range">
+ <element name="table:named-range">
+ <ref name="table-named-range-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-named-range-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ <optional>
+ <attribute name="table:base-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:range-usable-as" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <list>
+ <oneOrMore>
+ <choice>
+ <value>print-range</value>
+ <value>filter</value>
+ <value>repeat-row</value>
+ <value>repeat-column</value>
+ </choice>
+ </oneOrMore>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-named-expression">
+ <element name="table:named-expression">
+ <ref name="table-named-expression-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-named-expression-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:expression">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="table:base-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-ranges">
+ <element name="table:database-ranges">
+ <zeroOrMore>
+ <ref name="table-database-range"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-database-range">
+ <element name="table:database-range">
+ <ref name="table-database-range-attlist"/>
+ <optional>
+ <choice>
+ <ref name="table-database-source-sql"/>
+ <ref name="table-database-source-table"/>
+ <ref name="table-database-source-query"/>
+ </choice>
+ </optional>
+ <optional>
+ <ref name="table-filter"/>
+ </optional>
+ <optional>
+ <ref name="table-sort"/>
+ </optional>
+ <optional>
+ <ref name="table-subtotal-rules"/>
+ </optional>
+ </element>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:is-selection" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:on-update-keep-styles" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:on-update-keep-size" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:has-persistent-data" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:orientation" a:defaultValue="row">
+ <choice>
+ <value>column</value>
+ <value>row</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:contains-header" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display-filter-buttons"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <attribute name="table:target-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+</define>
+<define name="table-database-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:refresh-delay">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-source-sql">
+ <element name="table:database-source-sql">
+ <ref name="table-database-source-sql-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-database-source-sql-attlist" combine="interleave">
+ <attribute name="table:database-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-database-source-sql-attlist" combine="interleave">
+ <attribute name="table:sql-statement">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-database-source-sql-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:parse-sql-statement" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-database-source-query">
+ <element name="table:database-source-table">
+ <ref name="table-database-source-table-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-database-source-table-attlist" combine="interleave">
+ <attribute name="table:database-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-database-source-table-attlist" combine="interleave">
+ <attribute name="table:database-table-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-database-source-table">
+ <element name="table:database-source-query">
+ <ref name="table-database-source-query-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-database-source-query-attlist" combine="interleave">
+ <attribute name="table:database-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-database-source-query-attlist" combine="interleave">
+ <attribute name="table:query-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-sort">
+ <element name="table:sort">
+ <ref name="table-sort-attlist"/>
+ <oneOrMore>
+ <ref name="table-sort-by"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-sort-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:bind-styles-to-content" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:target-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:case-sensitive" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:algorithm">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-by">
+ <element name="table:sort-by">
+ <ref name="table-sort-by-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-sort-by-attlist" combine="interleave">
+ <attribute name="table:field-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+</define>
+<define name="table-sort-by-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:data-type" a:defaultValue="automatic">
+ <choice>
+ <value>text</value>
+ <value>number</value>
+ <value>automatic</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-by-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:order" a:defaultValue="ascending">
+ <choice>
+ <value>ascending</value>
+ <value>descending</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-subtotal-rules">
+ <element name="table:subtotal-rules">
+ <ref name="table-subtotal-rules-attlist"/>
+ <optional>
+ <ref name="table-sort-groups"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="table-subtotal-rule"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-subtotal-rules-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:bind-styles-to-content" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-subtotal-rules-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:case-sensitive" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-subtotal-rules-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:page-breaks-on-group-change"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-groups">
+ <element name="table:sort-groups">
+ <ref name="table-sort-groups-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-sort-groups-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:data-type" a:defaultValue="automatic">
+ <choice>
+ <value>text</value>
+ <value>number</value>
+ <value>automatic</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-sort-groups-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:order" a:defaultValue="ascending">
+ <choice>
+ <value>ascending</value>
+ <value>descending</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-subtotal-rule">
+ <element name="table:subtotal-rule">
+ <ref name="table-subtotal-rule-attlist"/>
+ <zeroOrMore>
+ <ref name="table-subtotal-field"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-subtotal-rule-attlist" combine="interleave">
+ <attribute name="table:group-by-field-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+</define>
+<define name="table-subtotal-field">
+ <element name="table:subtotal-field">
+ <ref name="table-subtotal-field-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-subtotal-field-attlist" combine="interleave">
+ <attribute name="table:field-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+</define>
+<define name="table-subtotal-field-attlist" combine="interleave">
+ <attribute name="table:function">
+ <choice>
+ <value>auto</value>
+ <value>average</value>
+ <value>count</value>
+ <value>countnums</value>
+ <value>max</value>
+ <value>min</value>
+ <value>product</value>
+ <value>stdev</value>
+ <value>stdevp</value>
+ <value>sum</value>
+ <value>var</value>
+ <value>varp</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+</define>
+<define name="table-filter">
+ <element name="table:filter">
+ <ref name="table-filter-attlist"/>
+ <choice>
+ <ref name="table-filter-condition"/>
+ <ref name="table-filter-and"/>
+ <ref name="table-filter-or"/>
+ </choice>
+ </element>
+</define>
+<define name="table-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:target-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:condition-source" a:defaultValue="self">
+ <choice>
+ <value>self</value>
+ <value>cell-range</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:condition-source-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display-duplicates" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-filter-and">
+ <element name="table:filter-and">
+ <oneOrMore>
+ <choice>
+ <ref name="table-filter-or"/>
+ <ref name="table-filter-condition"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-filter-or">
+ <element name="table:filter-or">
+ <oneOrMore>
+ <choice>
+ <ref name="table-filter-and"/>
+ <ref name="table-filter-condition"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-filter-condition">
+ <element name="table:filter-condition">
+ <ref name="table-filter-condition-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-filter-condition-attlist" combine="interleave">
+ <attribute name="table:field-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+</define>
+<define name="table-filter-condition-attlist" combine="interleave">
+ <attribute name="table:value">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-filter-condition-attlist" combine="interleave">
+ <attribute name="table:operator">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-filter-condition-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:case-sensitive" a:defaultValue="false">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-filter-condition-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:data-type" a:defaultValue="text">
+ <choice>
+ <value>text</value>
+ <value>number</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-tables">
+ <element name="table:data-pilot-tables">
+ <zeroOrMore>
+ <ref name="table-data-pilot-table"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-data-pilot-table">
+ <element name="table:data-pilot-table">
+ <ref name="table-data-pilot-table-attlist"/>
+ <optional>
+ <choice>
+ <ref name="table-database-source-sql"/>
+ <ref name="table-database-source-table"/>
+ <ref name="table-database-source-query"/>
+ <ref name="table-source-service"/>
+ <ref name="table-source-cell-range"/>
+ </choice>
+ </optional>
+ <oneOrMore>
+ <ref name="table-data-pilot-field"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:application-data">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:grand-total" a:defaultValue="both">
+ <choice>
+ <value>none</value>
+ <value>row</value>
+ <value>column</value>
+ <value>both</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:ignore-empty-rows" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:identify-categories" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <attribute name="table:target-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:buttons">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:show-filter-button" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-table-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:drill-down-on-double-click"
+ a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-source-cell-range">
+ <element name="table:source-cell-range">
+ <ref name="table-source-cell-range-attlist"/>
+ <optional>
+ <ref name="table-filter"/>
+ </optional>
+ </element>
+</define>
+<define name="table-source-cell-range-attlist" combine="interleave">
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+</define>
+<define name="table-source-service">
+ <element name="table:source-service">
+ <ref name="table-source-service-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-source-service-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-source-service-attlist" combine="interleave">
+ <attribute name="table:source-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-source-service-attlist" combine="interleave">
+ <attribute name="table:object-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-source-service-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:user-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-source-service-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:password">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-field">
+ <element name="table:data-pilot-field">
+ <ref name="table-data-pilot-field-attlist"/>
+ <optional>
+ <ref name="table-data-pilot-level"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-field-reference"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-groups"/>
+ </optional>
+ </element>
+</define>
+<define name="table-data-pilot-field-attlist" combine="interleave">
+ <attribute name="table:source-field-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-field-attlist" combine="interleave">
+ <choice>
+ <attribute name="table:orientation">
+ <choice>
+ <value>row</value>
+ <value>column</value>
+ <value>data</value>
+ <value>hidden</value>
+ </choice>
+ </attribute>
+ <group>
+ <attribute name="table:orientation">
+ <value>page</value>
+ </attribute>
+ <attribute name="table:selected-page">
+ <ref name="string"/>
+ </attribute>
+ </group>
+ </choice>
+</define>
+<define name="table-data-pilot-field-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:is-data-layout-field" a:defaultValue="false">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-field-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:function">
+ <choice>
+ <value>auto</value>
+ <value>average</value>
+ <value>count</value>
+ <value>countnums</value>
+ <value>max</value>
+ <value>min</value>
+ <value>product</value>
+ <value>stdev</value>
+ <value>stdevp</value>
+ <value>sum</value>
+ <value>var</value>
+ <value>varp</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-field-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:used-hierarchy" a:defaultValue="-1">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-level">
+ <element name="table:data-pilot-level">
+ <ref name="table-data-pilot-level-attlist"/>
+ <optional>
+ <ref name="table-data-pilot-subtotals"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-members"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-display-info"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-sort-info"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-layout-info"/>
+ </optional>
+ </element>
+</define>
+<define name="table-data-pilot-level-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:show-empty">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-subtotals">
+ <element name="table:data-pilot-subtotals">
+ <zeroOrMore>
+ <ref name="table-data-pilot-subtotal"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-data-pilot-subtotal">
+ <element name="table:data-pilot-subtotal">
+ <ref name="table-data-pilot-subtotal-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-data-pilot-subtotal-attlist" combine="interleave">
+ <attribute name="table:function">
+ <choice>
+ <value>auto</value>
+ <value>average</value>
+ <value>count</value>
+ <value>countnums</value>
+ <value>max</value>
+ <value>min</value>
+ <value>product</value>
+ <value>stdev</value>
+ <value>stdevp</value>
+ <value>sum</value>
+ <value>var</value>
+ <value>varp</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+</define>
+<define name="table-data-pilot-members">
+ <element name="table:data-pilot-members">
+ <zeroOrMore>
+ <ref name="table-data-pilot-member"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-data-pilot-member">
+ <element name="table:data-pilot-member">
+ <ref name="table-data-pilot-member-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-data-pilot-member-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-member-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-member-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:show-details">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-data-pilot-display-info">
+ <element name="table:data-pilot-display-info">
+ <ref name="table-data-pilot-display-info-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-data-pilot-display-info-attlist" combine="interleave">
+ <attribute name="table:enabled">
+ <ref name="boolean"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-display-info-attlist" combine="interleave">
+ <attribute name="table:data-field">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-display-info-attlist" combine="interleave">
+ <attribute name="table:member-count">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-display-info-attlist" combine="interleave">
+ <attribute name="table:display-member-mode">
+ <choice>
+ <value>from-top</value>
+ <value>from-bottom</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-data-pilot-sort-info">
+ <element name="table:data-pilot-sort-info">
+ <ref name="table-data-pilot-sort-info-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-data-pilot-sort-info-attlist" combine="interleave">
+ <choice>
+ <group>
+ <attribute name="table:sort-mode">
+ <value>data</value>
+ </attribute>
+ <attribute name="table:data-field">
+ <ref name="string"/>
+ </attribute>
+ </group>
+ <attribute name="table:sort-mode">
+ <choice>
+ <value>none</value>
+ <value>manual</value>
+ <value>name</value>
+ </choice>
+ </attribute>
+ </choice>
+</define>
+<define name="table-data-pilot-sort-info-attlist" combine="interleave">
+ <attribute name="table:order">
+ <choice>
+ <value>ascending</value>
+ <value>descending</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-data-pilot-layout-info">
+ <element name="table:data-pilot-layout-info">
+ <ref name="table-data-pilot-layout-info-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-data-pilot-layout-info-attlist" combine="interleave">
+ <attribute name="table:layout-mode">
+ <choice>
+ <value>tabular-layout</value>
+ <value>outline-subtotals-top</value>
+ <value>outline-subtotals-bottom</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-data-pilot-layout-info-attlist" combine="interleave">
+ <attribute name="table:add-empty-lines">
+ <ref name="boolean"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-field-reference">
+ <element name="table:data-pilot-field-reference">
+ <ref name="table-data-pilot-field-reference-attlist"/>
+ </element>
+</define>
+<define name="table-data-pilot-field-reference-attlist" combine="interleave">
+ <attribute name="table:field-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-field-reference-attlist" combine="interleave">
+ <choice>
+ <group>
+ <attribute name="table:member-type">
+ <value>named</value>
+ </attribute>
+ <attribute name="table:member-name">
+ <ref name="string"/>
+ </attribute>
+ </group>
+ <attribute name="table:member-type">
+ <choice>
+ <value>previous</value>
+ <value>next</value>
+ </choice>
+ </attribute>
+ </choice>
+</define>
+<define name="table-data-pilot-field-reference-attlist" combine="interleave">
+ <attribute name="table:type">
+ <choice>
+ <value>none</value>
+ <value>member-difference</value>
+ <value>member-percentage</value>
+ <value>member-percentage-difference</value>
+ <value>running-total</value>
+ <value>row-percentage</value>
+ <value>column-percentage</value>
+ <value>total-percentage</value>
+ <value>index</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-data-pilot-groups">
+ <element name="table:data-pilot-groups">
+ <ref name="table-data-pilot-groups-attlist"/>
+ <oneOrMore>
+ <ref name="table-data-pilot-group"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-data-pilot-groups-attlist" combine="interleave">
+ <attribute name="table:source-field-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-groups-attlist" combine="interleave">
+ <choice>
+ <attribute name="table:date-start">
+ <choice>
+ <ref name="dateOrDateTime"/>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ <attribute name="table:start">
+ <choice>
+ <ref name="double"/>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ </choice>
+</define>
+<define name="table-data-pilot-groups-attlist" combine="interleave">
+ <choice>
+ <attribute name="table:date-end">
+ <choice>
+ <ref name="dateOrDateTime"/>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ <attribute name="table:end">
+ <choice>
+ <ref name="double"/>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ </choice>
+</define>
+<define name="table-data-pilot-groups-attlist" combine="interleave">
+ <attribute name="table:step">
+ <ref name="double"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-groups-attlist" combine="interleave">
+ <attribute name="table:grouped-by">
+ <choice>
+ <value>seconds</value>
+ <value>minutes</value>
+ <value>hours</value>
+ <value>days</value>
+ <value>months</value>
+ <value>quarters</value>
+ <value>years</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-data-pilot-group">
+ <element name="table:data-pilot-group">
+ <ref name="table-data-pilot-group-attlist"/>
+ <oneOrMore>
+ <ref name="table-data-pilot-group-member"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-data-pilot-group-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-data-pilot-group-member">
+ <element name="table:data-pilot-group-member">
+ <ref name="table-data-pilot-group-member-attlist"/>
+ </element>
+</define>
+<define name="table-data-pilot-group-member-attlist" combine="interleave">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-consolidation">
+ <element name="table:consolidation">
+ <ref name="table-consolidation-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-consolidation-attlist" combine="interleave">
+ <attribute name="table:function">
+ <choice>
+ <value>auto</value>
+ <value>average</value>
+ <value>count</value>
+ <value>countnums</value>
+ <value>max</value>
+ <value>min</value>
+ <value>product</value>
+ <value>stdev</value>
+ <value>stdevp</value>
+ <value>sum</value>
+ <value>var</value>
+ <value>varp</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+</define>
+<define name="table-consolidation-attlist" combine="interleave">
+ <attribute name="table:source-cell-range-addresses">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+</define>
+<define name="table-consolidation-attlist" combine="interleave">
+ <attribute name="table:target-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+</define>
+<define name="table-consolidation-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:use-labels" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <value>row</value>
+ <value>column</value>
+ <value>both</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="table-consolidation-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:link-to-source-data" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-dde-links">
+ <element name="table:dde-links">
+ <oneOrMore>
+ <ref name="table-dde-link"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-tracked-changes">
+ <element name="table:tracked-changes">
+ <ref name="table-tracked-changes-attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="table-cell-content-change"/>
+ <ref name="table-insertion"/>
+ <ref name="table-deletion"/>
+ <ref name="table-movement"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-tracked-changes-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:track-changes" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-insertion">
+ <element name="table:insertion">
+ <ref name="table-insertion-attlist"/>
+ <ref name="common-table-change-attlist"/>
+ <ref name="office-change-info"/>
+ <optional>
+ <ref name="table-dependencies"/>
+ </optional>
+ <optional>
+ <ref name="table-deletions"/>
+ </optional>
+ </element>
+</define>
+<define name="table-insertion-attlist" combine="interleave">
+ <attribute name="table:type">
+ <choice>
+ <value>row</value>
+ <value>column</value>
+ <value>table</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-insertion-attlist" combine="interleave">
+ <attribute name="table:position">
+ <ref name="integer"/>
+ </attribute>
+</define>
+<define name="table-insertion-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:count" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-insertion-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:table">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-dependencies">
+ <element name="table:dependencies">
+ <oneOrMore>
+ <ref name="table-dependency"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-dependency">
+ <element name="table:dependency">
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+ <empty/>
+ </element>
+</define>
+<define name="table-deletions">
+ <element name="table:deletions">
+ <oneOrMore>
+ <choice>
+ <ref name="table-cell-content-deletion"/>
+ <ref name="table-change-deletion"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</define>
+<define name="table-cell-content-deletion">
+ <element name="table:cell-content-deletion">
+ <optional>
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="table-cell-address"/>
+ </optional>
+ <optional>
+ <ref name="table-change-track-table-cell"/>
+ </optional>
+ </element>
+</define>
+<define name="table-change-deletion">
+ <element name="table:change-deletion">
+ <optional>
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+</define>
+<define name="table-deletion">
+ <element name="table:deletion">
+ <ref name="table-deletion-attlist"/>
+ <ref name="common-table-change-attlist"/>
+ <ref name="office-change-info"/>
+ <optional>
+ <ref name="table-dependencies"/>
+ </optional>
+ <optional>
+ <ref name="table-deletions"/>
+ </optional>
+ <optional>
+ <ref name="table-cut-offs"/>
+ </optional>
+ </element>
+</define>
+<define name="table-deletion-attlist" combine="interleave">
+ <attribute name="table:type">
+ <choice>
+ <value>row</value>
+ <value>column</value>
+ <value>table</value>
+ </choice>
+ </attribute>
+</define>
+<define name="table-deletion-attlist" combine="interleave">
+ <attribute name="table:position">
+ <ref name="integer"/>
+ </attribute>
+</define>
+<define name="table-deletion-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:table">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-deletion-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:multi-deletion-spanned">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-cut-offs">
+ <element name="table:cut-offs">
+ <choice>
+ <oneOrMore>
+ <ref name="table-movement-cut-off"/>
+ </oneOrMore>
+ <group>
+ <ref name="table-insertion-cut-off"/>
+ <zeroOrMore>
+ <ref name="table-movement-cut-off"/>
+ </zeroOrMore>
+ </group>
+ </choice>
+ </element>
+</define>
+<define name="table-insertion-cut-off">
+ <element name="table:insertion-cut-off">
+ <ref name="table-insertion-cut-off-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-insertion-cut-off-attlist" combine="interleave">
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-insertion-cut-off-attlist" combine="interleave">
+ <attribute name="table:position">
+ <ref name="integer"/>
+ </attribute>
+</define>
+<define name="table-movement-cut-off">
+ <element name="table:movement-cut-off">
+ <ref name="table-movement-cut-off-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-movement-cut-off-attlist" combine="interleave">
+ <choice>
+ <attribute name="table:position">
+ <ref name="integer"/>
+ </attribute>
+ <group>
+ <attribute name="table:start-position">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:end-position">
+ <ref name="integer"/>
+ </attribute>
+ </group>
+ </choice>
+</define>
+<define name="table-movement">
+ <element name="table:movement">
+ <ref name="common-table-change-attlist"/>
+ <ref name="table-source-range-address"/>
+ <ref name="table-target-range-address"/>
+ <ref name="office-change-info"/>
+ <optional>
+ <ref name="table-dependencies"/>
+ </optional>
+ <optional>
+ <ref name="table-deletions"/>
+ </optional>
+ </element>
+</define>
+<define name="table-source-range-address">
+ <element name="table:source-range-address">
+ <ref name="common-table-range-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-target-range-address">
+ <element name="table:target-range-address">
+ <ref name="common-table-range-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+
+<define name="common-table-range-attlist" combine="interleave">
+ <choice>
+ <group>
+ <ref name="common-table-cell-address-attlist"/>
+ </group>
+ <group>
+ <ref name="common-table-cell-range-address-attlist"/>
+ </group>
+ </choice>
+</define>
+<define name="common-table-cell-address-attlist" combine="interleave">
+ <attribute name="table:column">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:row">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:table">
+ <ref name="integer"/>
+ </attribute>
+</define>
+<define name="common-table-cell-range-address-attlist" combine="interleave">
+ <attribute name="table:start-column">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:start-row">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:start-table">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:end-column">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:end-row">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:end-table">
+ <ref name="integer"/>
+ </attribute>
+</define>
+<define name="table-change-track-table-cell" combine="interleave">
+ <element name="table:change-track-table-cell">
+ <ref name="table-change-track-table-cell-attlist"/>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="table-change-track-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-change-track-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:matrix-covered" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-change-track-table-cell-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:formula">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:number-matrix-columns-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:number-matrix-rows-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="common-value-and-type-attlist"/>
+ </optional>
+</define>
+<define name="table-cell-content-change">
+ <element name="table:cell-content-change">
+ <ref name="common-table-change-attlist"/>
+ <ref name="table-cell-address"/>
+ <ref name="office-change-info"/>
+ <optional>
+ <ref name="table-dependencies"/>
+ </optional>
+ <optional>
+ <ref name="table-deletions"/>
+ </optional>
+ <ref name="table-previous"/>
+ </element>
+</define>
+<define name="table-cell-address">
+ <element name="table:cell-address">
+ <ref name="common-table-cell-address-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="table-previous">
+ <element name="table:previous">
+ <optional>
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <ref name="table-change-track-table-cell"/>
+ </element>
+</define>
+<define name="common-table-change-attlist" combine="interleave">
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="common-table-change-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:acceptance-state" a:defaultValue="pending">
+ <choice>
+ <value>accepted</value>
+ <value>rejected</value>
+ <value>pending</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-table-change-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:rejecting-change-id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-handout-master">
+ <element name="style:handout-master">
+ <ref name="common-presentation-header-footer-attlist"/>
+ <ref name="style-handout-master-attlist"/>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="style-handout-master-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:presentation-page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-handout-master-attlist" combine="interleave">
+ <attribute name="style:page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="style-handout-master-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-layer-set">
+ <element name="draw:layer-set">
+ <zeroOrMore>
+ <ref name="draw-layer"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-layer">
+ <element name="draw:layer">
+ <ref name="draw-layer-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ </element>
+</define>
+<define name="draw-layer-attlist" combine="interleave">
+ <attribute name="draw:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="draw-layer-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:protected" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-layer-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:display" a:defaultValue="always">
+ <choice>
+ <value>always</value>
+ <value>screen</value>
+ <value>printer</value>
+ <value>none</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-page">
+ <element name="draw:page">
+ <ref name="common-presentation-header-footer-attlist"/>
+ <ref name="draw-page-attlist"/>
+ <optional>
+ <ref name="office-forms"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ <optional>
+ <choice>
+ <ref name="presentation-animations"/>
+ <ref name="animation-element"/>
+ </choice>
+ </optional>
+ <optional>
+ <ref name="presentation-notes"/>
+ </optional>
+ </element>
+</define>
+<define name="draw-page-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-page-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-page-attlist" combine="interleave">
+ <attribute name="draw:master-page-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="draw-page-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:presentation-page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-presentation-header-footer-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:use-header-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-presentation-header-footer-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:use-footer-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-presentation-header-footer-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:use-date-time-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-page-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:id">
+ <ref name="ID"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-page-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:nav-order">
+ <ref name="IDREFS"/>
+ </attribute>
+ </optional>
+</define>
+<define name="shape">
+ <choice>
+ <ref name="draw-rect"/>
+ <ref name="draw-line"/>
+ <ref name="draw-polyline"/>
+ <ref name="draw-polygon"/>
+ <ref name="draw-regular-polygon"/>
+ <ref name="draw-path"/>
+ <ref name="draw-circle"/>
+ <ref name="draw-ellipse"/>
+ <ref name="draw-g"/>
+ <ref name="draw-page-thumbnail"/>
+ <ref name="draw-frame"/>
+ <ref name="draw-measure"/>
+ <ref name="draw-caption"/>
+ <ref name="draw-connector"/>
+ <ref name="draw-control"/>
+ <ref name="dr3d-scene"/>
+ <ref name="draw-custom-shape"/>
+ </choice>
+</define>
+<define name="draw-rect">
+ <element name="draw:rect">
+ <ref name="draw-rect-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-rect-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:corner-radius">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-line">
+ <element name="draw:line">
+ <ref name="draw-line-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-line-attlist" combine="interleave">
+ <attribute name="svg:x1">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y1">
+ <ref name="coordinate"/>
+ </attribute>
+</define>
+<define name="draw-line-attlist" combine="interleave">
+ <attribute name="svg:x2">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y2">
+ <ref name="coordinate"/>
+ </attribute>
+</define>
+<define name="draw-polyline">
+ <element name="draw:polyline">
+ <ref name="common-draw-points-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="common-draw-points-attlist">
+ <attribute name="draw:points">
+ <ref name="points"/>
+ </attribute>
+</define>
+<define name="draw-polygon">
+ <element name="draw:polygon">
+ <ref name="common-draw-points-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-regular-polygon">
+ <element name="draw:regular-polygon">
+ <ref name="draw-regular-polygon-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-regular-polygon-attlist" combine="interleave">
+ <choice>
+ <attribute name="draw:concave">
+ <value>false</value>
+ </attribute>
+ <group>
+ <attribute name="draw:concave">
+ <value>true</value>
+ </attribute>
+ <ref name="draw-regular-polygon-sharpness-attlist"/>
+ </group>
+ </choice>
+</define>
+<define name="draw-regular-polygon-attlist" combine="interleave">
+ <attribute name="draw:corners">
+ <ref name="positiveInteger"/>
+ </attribute>
+</define>
+<define name="draw-regular-polygon-sharpness-attlist">
+ <attribute name="draw:sharpness">
+ <ref name="percent"/>
+ </attribute>
+</define>
+<define name="draw-path">
+ <element name="draw:path">
+ <ref name="common-draw-path-data-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="common-draw-path-data-attlist">
+ <attribute name="svg:d">
+ <ref name="pathData"/>
+ </attribute>
+</define>
+<define name="draw-circle">
+ <element name="draw:circle">
+ <ref name="draw-circle-attlist"/>
+ <ref name="common-draw-circle-ellipse-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="common-draw-circle-ellipse-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:cx">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:cy">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-circle-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:r">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-circle-ellipse-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:kind" a:defaultValue="full">
+ <choice>
+ <value>full</value>
+ <value>section</value>
+ <value>cut</value>
+ <value>arc</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-circle-ellipse-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start-angle">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-circle-ellipse-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:end-angle">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-ellipse">
+ <element name="draw:ellipse">
+ <ref name="common-draw-circle-ellipse-attlist"/>
+ <ref name="draw-ellipse-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-ellipse-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:rx">
+ <ref name="length"/>
+ </attribute>
+ <attribute name="svg:ry">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector">
+ <element name="draw:connector">
+ <ref name="draw-connector-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:type" a:defaultValue="standard">
+ <choice>
+ <value>standard</value>
+ <value>lines</value>
+ <value>line</value>
+ <value>curve</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:x1">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y1">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start-shape">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start-glue-point">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:x2">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y2">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:end-shape">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:end-glue-point">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-connector-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:line-skew">
+ <list>
+ <ref name="length"/>
+ <optional>
+ <ref name="length"/>
+ <optional>
+ <ref name="length"/>
+ </optional>
+ </optional>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-caption">
+ <element name="draw:caption">
+ <ref name="draw-caption-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-caption-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-point-x">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="draw:caption-point-y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-caption-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:corner-radius">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-measure">
+ <element name="draw:measure">
+ <ref name="draw-measure-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="draw-measure-attlist" combine="interleave">
+ <attribute name="svg:x1">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y1">
+ <ref name="coordinate"/>
+ </attribute>
+</define>
+<define name="draw-measure-attlist" combine="interleave">
+ <attribute name="svg:x2">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y2">
+ <ref name="coordinate"/>
+ </attribute>
+</define>
+<define name="draw-control">
+ <element name="draw:control">
+ <ref name="draw-control-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-control-attlist" combine="interleave">
+ <attribute name="draw:control">
+ <ref name="IDREF"/>
+ </attribute>
+</define>
+<define name="draw-page-thumbnail">
+ <element name="draw:page-thumbnail">
+ <ref name="draw-page-thumbnail-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="presentation-shape-attlist"/>
+ <ref name="common-draw-shape-with-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ </element>
+</define>
+<define name="draw-page-thumbnail-attlist">
+ <optional>
+ <attribute name="draw:page-number">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-g">
+ <element name="draw:g">
+ <ref name="draw-g-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-name-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-text-spreadsheet-shape-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-g-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-name-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-caption-id-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-id">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-position-attlist">
+ <optional>
+ <attribute name="svg:x">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-size-attlist">
+ <optional>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-transform-attlist">
+ <optional>
+ <attribute name="draw:transform">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-viewbox-attlist">
+ <attribute name="svg:viewBox">
+ <list>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ </list>
+ </attribute>
+</define>
+<define name="common-draw-style-name-attlist">
+ <choice>
+ <group>
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:class-names">
+ <ref name="styleNameRefs"/>
+ </attribute>
+ </optional>
+ </group>
+ <group>
+ <optional>
+ <attribute name="presentation:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:class-names">
+ <ref name="styleNameRefs"/>
+ </attribute>
+ </optional>
+ </group>
+ </choice>
+</define>
+<define name="common-draw-text-style-name-attlist">
+ <optional>
+ <attribute name="draw:text-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-layer-name-attlist">
+ <optional>
+ <attribute name="draw:layer">
+ <data type="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-id-attlist">
+ <optional>
+ <attribute name="draw:id">
+ <ref name="ID"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-z-index-attlist">
+ <optional>
+ <attribute name="draw:z-index">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-text-spreadsheet-shape-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:end-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:end-x">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:end-y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-text-spreadsheet-shape-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:table-background">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-text-spreadsheet-shape-attlist" combine="interleave">
+ <ref name="common-text-anchor-attlist"/>
+</define>
+
+<define name="common-text-anchor-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:anchor-type">
+ <choice>
+ <value>page</value>
+ <value>frame</value>
+ <value>paragraph</value>
+ <value>char</value>
+ <value>as-char</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-text-anchor-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:anchor-page-number">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-text">
+ <zeroOrMore>
+ <choice>
+ <ref name="text-p"/>
+ <ref name="text-list"/>
+ </choice>
+ </zeroOrMore>
+</define>
+<define name="common-draw-shape-with-styles-attlist">
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-draw-transform-attlist"/>
+ <ref name="common-draw-name-attlist"/>
+ <ref name="common-text-spreadsheet-shape-attlist"/>
+</define>
+<define name="common-draw-shape-with-text-and-styles-attlist">
+ <ref name="common-draw-shape-with-styles-attlist"/>
+ <ref name="common-draw-text-style-name-attlist"/>
+</define>
+<define name="draw-glue-point">
+ <element name="draw:glue-point">
+ <ref name="draw-glue-point-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-glue-point-attlist" combine="interleave">
+ <attribute name="draw:id">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+</define>
+<define name="draw-glue-point-attlist" combine="interleave">
+ <attribute name="svg:x">
+ <choice>
+ <ref name="distance"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <attribute name="svg:y">
+ <choice>
+ <ref name="distance"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+</define>
+<define name="draw-glue-point-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:align">
+ <choice>
+ <value>top-left</value>
+ <value>top</value>
+ <value>top-right</value>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>bottom-left</value>
+ <value>bottom-right</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-glue-points-attlist" combine="interleave">
+ <attribute name="draw:escape-direction">
+ <choice>
+ <value>auto</value>
+ <value>left</value>
+ <value>right</value>
+ <value>up</value>
+ <value>down</value>
+ <value>horizontal</value>
+ <value>vertical</value>
+ </choice>
+ </attribute>
+</define>
+<define name="svg-title">
+ <element name="svg:title">
+ <text/>
+ </element>
+</define>
+<define name="svg-desc">
+ <element name="svg:desc">
+ <text/>
+ </element>
+</define>
+<define name="draw-frame">
+ <element name="draw:frame">
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-rel-size-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <ref name="presentation-shape-attlist"/>
+ <ref name="draw-frame-attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="draw-text-box"/>
+ <ref name="draw-image"/>
+ <ref name="draw-object"/>
+ <ref name="draw-object-ole"/>
+ <ref name="draw-applet"/>
+ <ref name="draw-floating-frame"/>
+ <ref name="draw-plugin"/>
+ </choice>
+ </zeroOrMore>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="draw-image-map"/>
+ </optional>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <choice>
+ <ref name="draw-contour-polygon"/>
+ <ref name="draw-contour-path"/>
+ </choice>
+ </optional>
+ </element>
+</define>
+<define name="common-draw-rel-size-attlist">
+ <ref name="common-draw-size-attlist"/>
+ <optional>
+ <attribute name="style:rel-width">
+ <choice>
+ <ref name="percent"/>
+ <value>scale</value>
+ <value>scale-min</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rel-height">
+ <choice>
+ <ref name="percent"/>
+ <value>scale</value>
+ <value>scale-min</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-frame-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:copy-of">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-text-box">
+ <element name="draw:text-box">
+ <ref name="draw-text-box-attlist"/>
+ <zeroOrMore>
+ <ref name="text-content"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-text-box-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:chain-next-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-text-box-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:corner-radius">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-text-box-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:min-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:min-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-text-box-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:max-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:max-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-text-box-attlist" combine="interleave">
+ <optional>
+ <ref name="text-id"/>
+ </optional>
+</define>
+<define name="draw-image">
+ <element name="draw:image">
+ <ref name="draw-image-attlist"/>
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-binary-data"/>
+ </choice>
+ <ref name="draw-text"/>
+ </element>
+</define>
+<define name="common-draw-data-attlist" combine="interleave">
+ <group>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <choice>
+ <value>simple</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:show" a:defaultValue="embed">
+ <choice>
+ <value>embed</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate" a:defaultValue="onLoad">
+ <choice>
+ <value>onLoad</value>
+ </choice>
+ </attribute>
+ </optional>
+ </group>
+</define>
+
+<define name="office-binary-data">
+ <element name="office:binary-data">
+ <ref name="base64Binary"/>
+ </element>
+</define>
+<define name="draw-image-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:filter-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-object">
+ <element name="draw:object">
+ <ref name="draw-object-attlist"/>
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-document"/>
+ <ref name="math-math"/>
+ </choice>
+ </element>
+</define>
+
+<define name="draw-object-ole">
+ <element name="draw:object-ole">
+ <ref name="draw-object-ole-attlist"/>
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-binary-data"/>
+ </choice>
+ </element>
+</define>
+<define name="draw-object-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:notify-on-update-of-ranges">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-object-ole-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:class-id"/>
+ </optional>
+</define>
+<define name="draw-applet">
+ <element name="draw:applet">
+ <ref name="draw-applet-attlist"/>
+ <optional>
+ <ref name="common-draw-data-attlist"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-param"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-applet-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:code"/>
+ </optional>
+</define>
+<define name="draw-applet-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:object"/>
+ </optional>
+</define>
+<define name="draw-applet-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:archive"/>
+ </optional>
+</define>
+<define name="draw-applet-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:may-script" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-plugin">
+ <element name="draw:plugin">
+ <ref name="draw-plugin-attlist"/>
+ <ref name="common-draw-data-attlist"/>
+ <zeroOrMore>
+ <ref name="draw-param"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-plugin-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:mime-type"/>
+ </optional>
+</define>
+<define name="draw-param">
+ <element name="draw:param">
+ <ref name="draw-param-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-param-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:name"/>
+ </optional>
+</define>
+<define name="draw-param-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:value"/>
+ </optional>
+</define>
+<define name="draw-floating-frame">
+ <element name="draw:floating-frame">
+ <ref name="draw-floating-frame-attlist"/>
+ <ref name="common-draw-data-attlist"/>
+ </element>
+</define>
+<define name="draw-floating-frame-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:frame-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-contour-polygon">
+ <element name="draw:contour-polygon">
+ <ref name="common-contour-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-points-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="draw-contour-path">
+ <element name="draw:contour-path">
+ <ref name="common-contour-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-path-data-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="common-contour-attlist" combine="interleave">
+ <attribute name="draw:recreate-on-edit">
+ <ref name="boolean"/>
+ </attribute>
+</define>
+<define name="draw-a">
+ <element name="draw:a">
+ <ref name="draw-a-attlist"/>
+ <ref name="draw-frame"/>
+ </element>
+</define>
+<define name="draw-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">
+ <choice>
+ <value>onRequest</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-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="draw-a-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-a-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:title">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-a-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:server-map" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-image-map">
+ <element name="draw:image-map">
+ <zeroOrMore>
+ <choice>
+ <ref name="draw-area-rectangle"/>
+ <ref name="draw-area-circle"/>
+ <ref name="draw-area-polygon"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-area-rectangle">
+ <element name="draw:area-rectangle">
+ <ref name="common-draw-area-attlist"/>
+ <attribute name="svg:x">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ </element>
+</define>
+<define name="draw-area-circle">
+ <element name="draw:area-circle">
+ <ref name="common-draw-area-attlist"/>
+ <attribute name="svg:cx">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:cy">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:r">
+ <ref name="length"/>
+ </attribute>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ </element>
+</define>
+<define name="draw-area-polygon">
+ <element name="draw:area-polygon">
+ <ref name="common-draw-area-attlist"/>
+ <attribute name="svg:x">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-points-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ </element>
+</define>
+<define name="common-draw-area-attlist" combine="interleave">
+ <optional>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <choice>
+ <value>simple</value>
+ </choice>
+ </attribute>
+ </optional>
+ <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="common-draw-area-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-area-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:nohref">
+ <choice>
+ <value>nohref</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene">
+ <element name="dr3d:scene">
+ <ref name="dr3d-scene-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-text-spreadsheet-shape-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="dr3d-light"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="shapes3d"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="shapes3d">
+ <choice>
+ <ref name="dr3d-scene"/>
+ <ref name="dr3d-extrude"/>
+ <ref name="dr3d-sphere"/>
+ <ref name="dr3d-rotate"/>
+ <ref name="dr3d-cube"/>
+ </choice>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:vrp">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:vpn">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:vup">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:projection">
+ <choice>
+ <value>parallel</value>
+ <value>perspective</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:distance">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:focal-length">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:shadow-slant">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:shade-mode">
+ <choice>
+ <value>flat</value>
+ <value>phong</value>
+ <value>gouraud</value>
+ <value>draft</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:ambient-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-scene-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:lighting-mode">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-dr3d-transform-attlist">
+ <optional>
+ <attribute name="dr3d:transform"/>
+ </optional>
+</define>
+<define name="dr3d-light">
+ <element name="dr3d:light">
+ <ref name="dr3d-light-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="dr3d-light-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:diffuse-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-light-attlist" combine="interleave">
+ <attribute name="dr3d:direction">
+ <ref name="vector3D"/>
+ </attribute>
+</define>
+<define name="dr3d-light-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:enabled">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-light-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:specular">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-cube">
+ <element name="dr3d:cube">
+ <ref name="dr3d-cube-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="dr3d-cube-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:min-edge">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:max-edge">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-sphere">
+ <element name="dr3d:sphere">
+ <ref name="dr3d-sphere-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="dr3d-sphere-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:center">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-sphere-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:size">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dr3d-extrude">
+ <element name="dr3d:extrude">
+ <ref name="common-draw-path-data-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="dr3d-rotate">
+ <element name="dr3d:rotate">
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-path-data-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-custom-shape">
+ <element name="draw:custom-shape">
+ <ref name="draw-custom-shape-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ <optional>
+ <ref name="draw-enhanced-geometry"/>
+ </optional>
+ </element>
+</define>
+<define name="draw-custom-shape-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:engine">
+ <ref name="namespacedToken"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-custom-shape-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:data">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry">
+ <element name="draw:enhanced-geometry">
+ <ref name="draw-enhanced-geometry-attlist"/>
+ <zeroOrMore>
+ <ref name="draw-equation"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="draw-handle"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:type" a:defaultValue="non-primitive">
+ <ref name="custom-shape-type"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="custom-shape-type">
+ <choice>
+ <value>non-primitive</value>
+ <ref name="string"/>
+ </choice>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:viewBox">
+ <list>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:mirror-vertical" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:mirror-horizontal" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:text-rotate-angle" a:defaultValue="0">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-allowed" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:text-path-allowed" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:concentric-gradient-fill-allowed"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-brightness" a:defaultValue="33%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-depth" a:defaultValue="36pt 0">
+ <list>
+ <ref name="length"/>
+ <ref name="double"/>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-diffusion" a:defaultValue="0%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-number-of-line-segments"
+ a:defaultValue="30">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-light-face" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-first-light-harsh"
+ a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-second-light-harsh"
+ a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-first-light-level"
+ a:defaultValue="66%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-second-light-level"
+ a:defaultValue="66%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-first-light-direction"
+ a:defaultValue="(5 0 1)">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-second-light-direction"
+ a:defaultValue="(-5 0 1)">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-metal" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:shade-mode" a:defaultValue="flat">
+ <choice>
+ <value>flat</value>
+ <value>phong</value>
+ <value>gouraud</value>
+ <value>draft</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-rotation-angle" a:defaultValue="0 0">
+ <list>
+ <ref name="double"/>
+ <ref name="double"/>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-rotation-center">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-shininess" a:defaultValue="50%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-skew" a:defaultValue="50 45">
+ <list>
+ <ref name="double"/>
+ <ref name="double"/>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-specularity" a:defaultValue="0%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:projection" a:defaultValue="parallel">
+ <choice>
+ <value>parallel</value>
+ <value>perspective</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-viewpoint"
+ a:defaultValue="3.5cm -3.5cm 25cm">
+ <ref name="point3D"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="point3D">
+ <data type="string"/>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-origin" a:defaultValue="0.5 -0.5">
+ <list>
+ <ref name="double"/>
+ <ref name="double"/>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:extrusion-color" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:enhanced-path">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:path-stretchpoint-x" a:defaultValue="0">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:path-stretchpoint-y" a:defaultValue="0">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:text-areas">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:glue-points">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:glue-point-type" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <value>segments</value>
+ <value>rectangle</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:glue-point-leaving-directions"/>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:text-path" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:text-path-mode" a:defaultValue="normal">
+ <choice>
+ <value>normal</value>
+ <value>path</value>
+ <value>shape</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:text-path-scale" a:defaultValue="path">
+ <choice>
+ <value>path</value>
+ <value>shape</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:text-path-same-letter-heights"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-enhanced-geometry-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:modifiers">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-equation">
+ <element name="draw:equation">
+ <ref name="draw-equation-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-equation-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-equation-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:formula">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle">
+ <element name="draw:handle">
+ <ref name="draw-handle-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-mirror-vertical" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-mirror-horizontal" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-switched" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <attribute name="draw:handle-position">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-range-x-minimum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-range-x-maximum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-range-y-minimum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-range-y-maximum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-polar">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-radius-range-minimum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-handle-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:handle-radius-range-maximum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-shape-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:class">
+ <ref name="presentation-classes"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-classes">
+ <choice>
+ <value>title</value>
+ <value>outline</value>
+ <value>subtitle</value>
+ <value>text</value>
+ <value>graphic</value>
+ <value>object</value>
+ <value>chart</value>
+ <value>table</value>
+ <value>orgchart</value>
+ <value>page</value>
+ <value>notes</value>
+ <value>handout</value>
+ <value>header</value>
+ <value>footer</value>
+ <value>date-time</value>
+ <value>page-number</value>
+ </choice>
+</define>
+<define name="presentation-shape-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:placeholder">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-shape-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:user-transformed">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-animations">
+ <element name="presentation:animations">
+ <zeroOrMore>
+ <choice>
+ <ref name="presentation-animation-elements"/>
+ <ref name="presentation-animation-group"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="presentation-animation-elements">
+ <choice>
+ <ref name="presentation-show-shape"/>
+ <ref name="presentation-show-text"/>
+ <ref name="presentation-hide-shape"/>
+ <ref name="presentation-hide-text"/>
+ <ref name="presentation-dim"/>
+ <ref name="presentation-play"/>
+ </choice>
+</define>
+<define name="presentation-sound">
+ <element name="presentation:sound">
+ <ref name="presentation-sound-attlist"/>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <choice>
+ <value>simple</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate" a:defaultValue="onRequest">
+ <choice>
+ <value>onRequest</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:show">
+ <choice>
+ <value>new</value>
+ <value>replace</value>
+ </choice>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+</define>
+<define name="presentation-sound-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:play-full">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-show-shape">
+ <element name="presentation:show-shape">
+ <ref name="common-presentation-effect-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+</define>
+<define name="common-presentation-effect-attlist" combine="interleave">
+ <attribute name="draw:shape-id">
+ <ref name="IDREF"/>
+ </attribute>
+</define>
+<define name="common-presentation-effect-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:effect" a:defaultValue="none">
+ <ref name="presentationEffects"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentationEffects">
+ <choice>
+ <value>none</value>
+ <value>fade</value>
+ <value>move</value>
+ <value>stripes</value>
+ <value>open</value>
+ <value>close</value>
+ <value>dissolve</value>
+ <value>wavyline</value>
+ <value>random</value>
+ <value>lines</value>
+ <value>laser</value>
+ <value>appear</value>
+ <value>hide</value>
+ <value>move-short</value>
+ <value>checkerboard</value>
+ <value>rotate</value>
+ <value>stretch</value>
+ </choice>
+</define>
+<define name="common-presentation-effect-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:direction" a:defaultValue="none">
+ <ref name="presentationEffectDirections"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentationEffectDirections">
+ <choice>
+ <value>none</value>
+ <value>from-left</value>
+ <value>from-top</value>
+ <value>from-right</value>
+ <value>from-bottom</value>
+ <value>from-center</value>
+ <value>from-upper-left</value>
+ <value>from-upper-right</value>
+ <value>from-lower-left</value>
+ <value>from-lower-right</value>
+ <value>to-left</value>
+ <value>to-top</value>
+ <value>to-right</value>
+ <value>to-bottom</value>
+ <value>to-upper-left</value>
+ <value>to-upper-right</value>
+ <value>to-lower-right</value>
+ <value>to-lower-left</value>
+ <value>path</value>
+ <value>spiral-inward-left</value>
+ <value>spiral-inward-right</value>
+ <value>spiral-outward-left</value>
+ <value>spiral-outward-right</value>
+ <value>vertical</value>
+ <value>horizontal</value>
+ <value>to-center</value>
+ <value>clockwise</value>
+ <value>counter-clockwise</value>
+ </choice>
+</define>
+<define name="common-presentation-effect-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:speed" a:defaultValue="medium">
+ <ref name="presentationSpeeds"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentationSpeeds">
+ <choice>
+ <value>slow</value>
+ <value>medium</value>
+ <value>fast</value>
+ </choice>
+</define>
+<define name="common-presentation-effect-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:delay">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-presentation-effect-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:start-scale" a:defaultValue="100%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-presentation-effect-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:path-id"/>
+ </optional>
+</define>
+<define name="presentation-show-text">
+ <element name="presentation:show-text">
+ <ref name="common-presentation-effect-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+</define>
+<define name="presentation-hide-shape">
+ <element name="presentation:hide-shape">
+ <ref name="common-presentation-effect-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+</define>
+<define name="presentation-hide-text">
+ <element name="presentation:hide-text">
+ <ref name="common-presentation-effect-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+</define>
+<define name="presentation-dim">
+ <element name="presentation:dim">
+ <ref name="presentation-dim-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+</define>
+<define name="presentation-dim-attlist" combine="interleave">
+ <attribute name="draw:shape-id">
+ <ref name="IDREF"/>
+ </attribute>
+</define>
+<define name="presentation-dim-attlist" combine="interleave">
+ <attribute name="draw:color">
+ <ref name="color"/>
+ </attribute>
+</define>
+<define name="presentation-play">
+ <element name="presentation:play">
+ <ref name="presentation-play-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="presentation-play-attlist" combine="interleave">
+ <attribute name="draw:shape-id">
+ <ref name="IDREF"/>
+ </attribute>
+ <optional>
+ <attribute name="presentation:speed" a:defaultValue="medium">
+ <ref name="presentationSpeeds"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-animation-group">
+ <element name="presentation:animation-group">
+ <zeroOrMore>
+ <ref name="presentation-animation-elements"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="common-anim-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:node-type" a:defaultValue="default">
+ <choice>
+ <value>default</value>
+ <value>on-click</value>
+ <value>with-previous</value>
+ <value>after-previous</value>
+ <value>timing-root</value>
+ <value>main-sequence</value>
+ <value>interactive-sequence</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:preset-id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:preset-sub-type">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:preset-class" a:defaultValue="custom">
+ <choice>
+ <value>custom</value>
+ <value>entrance</value>
+ <value>exit</value>
+ <value>emphasis</value>
+ <value>motion-path</value>
+ <value>ole-action</value>
+ <value>media-call</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:master-element">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:group-id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-event-listener">
+ <element name="presentation:event-listener">
+ <ref name="presentation-event-listener-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <attribute name="script:event-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <attribute name="presentation:action">
+ <choice>
+ <value>none</value>
+ <value>previous-page</value>
+ <value>next-page</value>
+ <value>first-page</value>
+ <value>last-page</value>
+ <value>hide</value>
+ <value>stop</value>
+ <value>execute</value>
+ <value>show</value>
+ <value>verb</value>
+ <value>fade-out</value>
+ <value>sound</value>
+ </choice>
+ </attribute>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:effect" a:defaultValue="none">
+ <ref name="presentationEffects"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:direction" a:defaultValue="none">
+ <ref name="presentationEffectDirections"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:speed" a:defaultValue="medium">
+ <ref name="presentationSpeeds"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:start-scale" a:defaultValue="100%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <optional>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <choice>
+ <value>simple</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:show" a:defaultValue="embed">
+ <choice>
+ <value>embed</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate" a:defaultValue="onRequest">
+ <choice>
+ <value>onRequest</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-event-listener-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:verb">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="paragraph-content" combine="choice">
+ <element name="presentation:header">
+ <empty/>
+ </element>
+</define>
+<define name="paragraph-content" combine="choice">
+ <element name="presentation:footer">
+ <empty/>
+ </element>
+</define>
+<define name="paragraph-content" combine="choice">
+ <element name="presentation:date-time">
+ <empty/>
+ </element>
+</define>
+<define name="presentation-decls">
+ <zeroOrMore>
+ <ref name="presentation-decl"/>
+ </zeroOrMore>
+</define>
+<define name="presentation-decl" combine="choice">
+ <element name="presentation:header-decl">
+ <ref name="presentation-header-decl-attlist"/>
+ <text/>
+ </element>
+</define>
+<define name="presentation-header-decl-attlist" combine="interleave">
+ <attribute name="presentation:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="presentation-decl" combine="choice">
+ <element name="presentation:footer-decl">
+ <ref name="presentation-footer-decl-attlist"/>
+ <text/>
+ </element>
+</define>
+<define name="presentation-footer-decl-attlist" combine="interleave">
+ <attribute name="presentation:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="presentation-decl" combine="choice">
+ <element name="presentation:date-time-decl">
+ <ref name="presentation-date-time-decl-attlist"/>
+ <text/>
+ </element>
+</define>
+<define name="presentation-date-time-decl-attlist" combine="interleave">
+ <attribute name="presentation:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="presentation-date-time-decl-attlist" combine="interleave">
+ <attribute name="presentation:source">
+ <choice>
+ <value>fixed</value>
+ <value>current-date</value>
+ </choice>
+ </attribute>
+</define>
+<define name="presentation-date-time-decl-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:data-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings">
+ <optional>
+ <element name="presentation:settings">
+ <ref name="presentation-settings-attlist"/>
+ <zeroOrMore>
+ <ref name="presentation-show"/>
+ </zeroOrMore>
+ </element>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:start-page">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:show">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:full-screen" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:endless" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:pause">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:show-logo" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:force-manual" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:mouse-visible" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:mouse-as-pen" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:start-with-navigator"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:animations" a:defaultValue="enabled">
+ <choice>
+ <value>enabled</value>
+ <value>disabled</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:transition-on-click"
+ a:defaultValue="enabled">
+ <choice>
+ <value>enabled</value>
+ <value>disabled</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:stay-on-top" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-settings-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:show-end-of-presentation-slide"
+ a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-show">
+ <element name="presentation:show">
+ <ref name="presentation-show-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="presentation-show-attlist" combine="interleave">
+ <attribute name="presentation:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="presentation-show-attlist" combine="interleave">
+ <attribute name="presentation:pages"/>
+</define>
+<define name="chart-chart">
+ <element name="chart:chart">
+ <ref name="chart-chart-attlist"/>
+ <optional>
+ <ref name="chart-title"/>
+ </optional>
+ <optional>
+ <ref name="chart-subtitle"/>
+ </optional>
+ <optional>
+ <ref name="chart-footer"/>
+ </optional>
+ <optional>
+ <ref name="chart-legend"/>
+ </optional>
+ <ref name="chart-plot-area"/>
+ <optional>
+ <ref name="table-table"/>
+ </optional>
+ </element>
+</define>
+<define name="chart-chart-attlist" combine="interleave">
+ <attribute name="chart:class">
+ <ref name="namespacedToken"/>
+ </attribute>
+</define>
+<define name="chart-chart-attlist" combine="interleave">
+ <ref name="common-draw-size-attlist"/>
+</define>
+<define name="chart-chart-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:column-mapping">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-chart-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:row-mapping">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-chart-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-title">
+ <element name="chart:title">
+ <ref name="chart-title-attlist"/>
+ <optional>
+ <ref name="text-p"/>
+ </optional>
+ </element>
+</define>
+<define name="chart-title-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:cell-range">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-title-attlist" combine="interleave">
+ <ref name="common-draw-position-attlist"/>
+</define>
+<define name="chart-title-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-subtitle">
+ <element name="chart:subtitle">
+ <ref name="chart-title-attlist"/>
+ <optional>
+ <ref name="text-p"/>
+ </optional>
+ </element>
+</define>
+<define name="chart-footer">
+ <element name="chart:footer">
+ <ref name="chart-title-attlist"/>
+ <optional>
+ <ref name="text-p"/>
+ </optional>
+ </element>
+</define>
+<define name="chart-legend">
+ <element name="chart:legend">
+ <ref name="chart-legend-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="chart-legend-attlist" combine="interleave">
+ <choice>
+ <group>
+ <attribute name="chart:legend-position">
+ <choice>
+ <value>start</value>
+ <value>end</value>
+ <value>top</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="chart:legend-align">
+ <choice>
+ <value>start</value>
+ <value>center</value>
+ <value>end</value>
+ </choice>
+ </attribute>
+ </optional>
+ </group>
+ <attribute name="chart:legend-position">
+ <choice>
+ <value>top-start</value>
+ <value>bottom-start</value>
+ <value>top-end</value>
+ <value>bottom-end</value>
+ </choice>
+ </attribute>
+ <empty/>
+ </choice>
+</define>
+<define name="chart-legend-attlist" combine="interleave">
+ <ref name="common-draw-position-attlist"/>
+</define>
+<define name="chart-legend-attlist" combine="interleave">
+ <choice>
+ <attribute name="style:legend-expansion">
+ <choice>
+ <value>wide</value>
+ <value>high</value>
+ <value>balanced</value>
+ </choice>
+ </attribute>
+ <group>
+ <attribute name="style:legend-expansion">
+ <value>custom</value>
+ </attribute>
+ <attribute name="style:legend-expansion-aspect-ratio">
+ <ref name="double"/>
+ </attribute>
+ </group>
+ <empty/>
+ </choice>
+</define>
+<define name="chart-legend-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-plot-area">
+ <element name="chart:plot-area">
+ <ref name="chart-plot-area-attlist"/>
+ <zeroOrMore>
+ <ref name="dr3d-light"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="chart-axis"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="chart-series"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="chart-stock-gain-marker"/>
+ </optional>
+ <optional>
+ <ref name="chart-stock-loss-marker"/>
+ </optional>
+ <optional>
+ <ref name="chart-stock-range-line"/>
+ </optional>
+ <optional>
+ <ref name="chart-wall"/>
+ </optional>
+ <optional>
+ <ref name="chart-floor"/>
+ </optional>
+ </element>
+</define>
+<define name="chart-plot-area-attlist" combine="interleave">
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+</define>
+<define name="chart-plot-area-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-plot-area-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-plot-area-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:data-source-has-labels" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <value>row</value>
+ <value>column</value>
+ <value>both</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-plot-area-attlist" combine="interleave">
+ <ref name="dr3d-scene-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+</define>
+<define name="chart-wall">
+ <element name="chart:wall">
+ <ref name="chart-wall-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="chart-wall-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-wall-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-floor">
+ <element name="chart:floor">
+ <ref name="chart-floor-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="chart-floor-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-floor-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-axis">
+ <element name="chart:axis">
+ <ref name="chart-axis-attlist"/>
+ <optional>
+ <ref name="chart-title"/>
+ </optional>
+ <optional>
+ <ref name="chart-categories"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="chart-grid"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="chart-axis-attlist" combine="interleave">
+ <attribute name="chart:dimension">
+ <choice>
+ <value>x</value>
+ <value>y</value>
+ <value>z</value>
+ </choice>
+ </attribute>
+</define>
+<define name="chart-axis-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-axis-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-grid">
+ <element name="chart:grid">
+ <ref name="chart-grid-attlist"/>
+ </element>
+</define>
+<define name="chart-grid-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:class" a:defaultValue="major">
+ <choice>
+ <value>major</value>
+ <value>minor</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-grid-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-series">
+ <element name="chart:series">
+ <ref name="chart-series-attlist"/>
+ <zeroOrMore>
+ <ref name="chart-domain"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="chart-mean-value"/>
+ </optional>
+ <optional>
+ <ref name="chart-regression-curve"/>
+ </optional>
+ <optional>
+ <ref name="chart-error-indicator"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="chart-data-point"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="chart-series-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:values-cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-series-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:label-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-series-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:class">
+ <ref name="namespacedToken"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-series-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:attached-axis">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-series-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-domain">
+ <element name="chart:domain">
+ <optional>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="chart-categories">
+ <element name="chart:categories">
+ <optional>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+<define name="chart-data-point">
+ <element name="chart:data-point">
+ <ref name="chart-data-point-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="chart-data-point-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:repeated">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-data-point-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="chart-mean-value">
+ <element name="chart:mean-value">
+ <ref name="chart-mean-value-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="chart-mean-value-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-error-indicator">
+ <element name="chart:error-indicator">
+ <ref name="chart-error-indicator-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="chart-error-indicator-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-regression-curve">
+ <element name="chart:regression-curve">
+ <ref name="chart-regression-curve-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="chart-regression-curve-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="chart-stock-gain-marker">
+ <element name="chart:stock-gain-marker">
+ <ref name="common-stock-marker-attlist"/>
+ </element>
+</define>
+<define name="chart-stock-loss-marker">
+ <element name="chart:stock-loss-marker">
+ <ref name="common-stock-marker-attlist"/>
+ </element>
+</define>
+<define name="chart-stock-range-line">
+ <element name="chart:stock-range-line">
+ <ref name="common-stock-marker-attlist"/>
+ </element>
+</define>
+<define name="common-stock-marker-attlist">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="office-forms">
+ <optional>
+ <element name="office:forms">
+ <ref name="office-forms-attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="form-form"/>
+ <ref name="xforms-model"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </optional>
+</define>
+<define name="office-forms-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:automatic-focus" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="office-forms-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:apply-design-mode" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form">
+ <element name="form:form">
+ <ref name="common-form-control-attlist"/>
+ <ref name="form-form-attlist"/>
+ <optional>
+ <ref name="form-properties"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <choice>
+ <ref name="controls"/>
+ <ref name="form-form"/>
+ </choice>
+ </zeroOrMore>
+ <optional>
+ <ref name="form-connection-resource"/>
+ </optional>
+ </element>
+</define>
+<define name="form-form-attlist" 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:actuate" a:defaultValue="onRequest">
+ <value>onRequest</value>
+ </attribute>
+ </optional>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:target-frame" a:defaultValue="_blank">
+ <ref name="targetFrameName"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:method" a:defaultValue="get">
+ <choice>
+ <value>get</value>
+ <value>post</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:enctype"
+ a:defaultValue="application/x-www-form-urlencoded">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:allow-deletes" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:allow-inserts" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:allow-updates" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:apply-filter" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:command-type" a:defaultValue="command">
+ <choice>
+ <value>table</value>
+ <value>query</value>
+ <value>command</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:command"/>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:datasource">
+ <choice>
+ <ref name="anyURI"/>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:master-fields">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:detail-fields">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:escape-processing" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:filter">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:ignore-result" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:navigation-mode">
+ <ref name="navigation"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="navigation">
+ <choice>
+ <value>none</value>
+ <value>current</value>
+ <value>parent</value>
+ </choice>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:order">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-form-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:tab-cycle">
+ <ref name="tab-cycles"/>
+ </attribute>
+ </optional>
+</define>
+<define name="tab-cycles">
+ <choice>
+ <value>records</value>
+ <value>current</value>
+ <value>page</value>
+ </choice>
+</define>
+<define name="form-connection-resource">
+ <element name="form:connection-resource">
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ <empty/>
+ </element>
+</define>
+<define name="xforms-model">
+ <element name="xforms:model">
+ <ref name="anyAttListOrElements"/>
+ </element>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:text">
+ <ref name="form-text-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="controls" combine="choice">
+ <ref name="column-controls"/>
+</define>
+<define name="form-text-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+</define>
+<define name="form-control-attlist">
+ <ref name="common-form-control-attlist"/>
+ <ref name="common-control-id-attlist"/>
+ <ref name="xforms-bind-attlist"/>
+</define>
+<define name="common-form-control-content">
+ <optional>
+ <ref name="form-properties"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:textarea">
+ <ref name="form-textarea-attlist"/>
+ <ref name="common-form-control-content"/>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="form-textarea-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:password">
+ <ref name="form-password-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-password-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+</define>
+<define name="form-password-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:echo-char" a:defaultValue="*">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:file">
+ <ref name="form-file-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-file-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:formatted-text">
+ <ref name="form-formatted-text-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-formatted-text-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+</define>
+<define name="form-formatted-text-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-formatted-text-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-formatted-text-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:validation" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:number">
+ <ref name="form-number-attlist"/>
+ <ref name="common-numeric-control-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="common-numeric-control-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+</define>
+<define name="form-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:value">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:current-value">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:date">
+ <ref name="form-date-attlist"/>
+ <ref name="common-numeric-control-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:time">
+ <ref name="form-time-attlist"/>
+ <ref name="common-numeric-control-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-date-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:value">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-time-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:value">
+ <ref name="time"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-date-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:current-value">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-time-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:current-value">
+ <ref name="time"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-date-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-time-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="time"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-date-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-time-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="time"/>
+ </attribute>
+ </optional>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:fixed-text">
+ <ref name="form-fixed-text-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-fixed-text-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="for"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="label"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-title-attlist"/>
+</define>
+<define name="form-fixed-text-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:multi-line" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:combobox">
+ <ref name="form-combobox-attlist"/>
+ <ref name="common-form-control-content"/>
+ <zeroOrMore>
+ <ref name="form-item"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="form-combobox-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="dropdown"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="size"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="list-source"/>
+ <ref name="list-source-type"/>
+</define>
+<define name="form-combobox-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:auto-complete">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-item">
+ <element name="form:item">
+ <ref name="form-item-attlist"/>
+ <text/>
+ </element>
+</define>
+<define name="form-item-attlist" combine="interleave">
+ <ref name="label"/>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:listbox">
+ <ref name="form-listbox-attlist"/>
+ <ref name="common-form-control-content"/>
+ <zeroOrMore>
+ <ref name="form-option"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="form-listbox-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="dropdown"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="size"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="bound-column"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="list-source"/>
+ <ref name="list-source-type"/>
+</define>
+<define name="form-listbox-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:multiple" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-listbox-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:xforms-list-source">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-option">
+ <element name="form:option">
+ <ref name="form-option-attlist"/>
+ <text/>
+ </element>
+</define>
+<define name="form-option-attlist" combine="interleave">
+ <ref name="current-selected"/>
+ <ref name="selected"/>
+ <ref name="label"/>
+ <ref name="common-value-attlist"/>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:button">
+ <ref name="form-button-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-button-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="button-type"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="label"/>
+ <ref name="image-data"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="target-frame"/>
+ <ref name="target-location"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-form-relative-image-position-attlist"/>
+</define>
+<define name="form-button-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:default-button" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-button-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:toggle" a:default-value="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-button-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:focus-on-click">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-button-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:xforms-submission">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:image">
+ <ref name="form-image-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-image-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="button-type"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="image-data"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="target-frame"/>
+ <ref name="target-location"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+</define>
+<define name="column-controls" combine="choice">
+ <element name="form:checkbox">
+ <ref name="form-checkbox-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-checkbox-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="label"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="common-form-visual-effect-attlist"/>
+ <ref name="common-form-relative-image-position-attlist"/>
+</define>
+<define name="states">
+ <choice>
+ <value>unchecked</value>
+ <value>checked</value>
+ <value>unknown</value>
+ </choice>
+</define>
+<define name="form-checkbox-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:current-state">
+ <ref name="states"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-checkbox-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:is-tristate" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-checkbox-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:state" a:defaultValue="unchecked">
+ <ref name="states"/>
+ </attribute>
+ </optional>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:radio">
+ <ref name="form-radio-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-radio-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="current-selected"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="label"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="selected"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="common-form-visual-effect-attlist"/>
+ <ref name="common-form-relative-image-position-attlist"/>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:frame">
+ <ref name="form-frame-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-frame-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="for"/>
+ <ref name="label"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-title-attlist"/>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:image-frame">
+ <ref name="form-image-frame-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-image-frame-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="image-data"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-data-field-attlist"/>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:hidden">
+ <ref name="form-hidden-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-hidden-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-value-attlist"/>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:grid">
+ <ref name="form-grid-attlist"/>
+ <ref name="common-form-control-content"/>
+ <zeroOrMore>
+ <ref name="form-column"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="form-grid-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+</define>
+<define name="form-column">
+ <element name="form:column">
+ <ref name="form-column-attlist"/>
+ <oneOrMore>
+ <ref name="column-controls"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="form-column-attlist" combine="interleave">
+ <ref name="common-form-control-attlist"/>
+ <ref name="label"/>
+ <ref name="text-style-name"/>
+</define>
+<define name="text-style-name">
+ <optional>
+ <attribute name="form:text-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:value-range">
+ <ref name="form-value-range-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-value-range-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+</define>
+<define name="form-value-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-value-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-value-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:step-size" a:defaultName="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-value-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:page-step-size">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-value-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:delay-for-repeat">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+</define>
+<define name="form-value-range-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:orientation">
+ <choice>
+ <value>horizontal</value>
+ <value>vertical</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="controls" combine="choice">
+ <element name="form:generic-control">
+ <ref name="form-generic-control-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+</define>
+<define name="form-generic-control-attlist" combine="interleave">
+ <ref name="form-control-attlist"/>
+</define>
+<define name="common-form-control-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-form-control-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:control-implementation">
+ <ref name="namespacedToken"/>
+ </attribute>
+ </optional>
+</define>
+<define name="xforms-bind-attlist">
+ <optional>
+ <attribute name="xforms:bind">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="types">
+ <choice>
+ <value>submit</value>
+ <value>reset</value>
+ <value>push</value>
+ <value>url</value>
+ </choice>
+</define>
+<define name="button-type">
+ <optional>
+ <attribute name="form:button-type" a:defaultValue="push">
+ <ref name="types"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-control-id-attlist">
+ <attribute name="form:id">
+ <ref name="ID"/>
+ </attribute>
+</define>
+<define name="current-selected">
+ <optional>
+ <attribute name="form:current-selected" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-value-attlist">
+ <optional>
+ <attribute name="form:value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-current-value-attlist">
+ <optional>
+ <attribute name="form:current-value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-disabled-attlist">
+ <optional>
+ <attribute name="form:disabled" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="dropdown">
+ <optional>
+ <attribute name="form:dropdown" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="for">
+ <optional>
+ <attribute name="form:for">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="image-data">
+ <optional>
+ <attribute name="form:image-data">
+ <ref name="anyURI"/>
+ </attribute>
+ </optional>
+</define>
+<define name="label">
+ <optional>
+ <attribute name="form:label">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-maxlength-attlist">
+ <optional>
+ <attribute name="form:max-length">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-printable-attlist">
+ <optional>
+ <attribute name="form:printable" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-readonly-attlist">
+ <optional>
+ <attribute name="form:readonly" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="selected">
+ <optional>
+ <attribute name="form:selected" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="size">
+ <optional>
+ <attribute name="form:size">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-tab-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:tab-index" a:defaultValue="0">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-tab-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:tab-stop" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="target-frame">
+ <optional>
+ <attribute name="office:target-frame" a:defaultValue="_blank">
+ <ref name="targetFrameName"/>
+ </attribute>
+ </optional>
+</define>
+<define name="target-location">
+ <optional>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-title-attlist">
+ <optional>
+ <attribute name="form:title"/>
+ </optional>
+</define>
+<define name="common-form-visual-effect-attlist" combine="interleave">
+ <optional>
+ <attribute name="form:visual-effect">
+ <choice>
+ <value>flat</value>
+ <value>3d</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-form-relative-image-position-attlist"
+ combine="interleave">
+ <choice>
+ <optional>
+ <attribute name="form:image-position" a:defaultValue="center">
+ <value>center</value>
+ </attribute>
+ </optional>
+ <group>
+ <attribute name="form:image-position">
+ <choice>
+ <value>start</value>
+ <value>end</value>
+ <value>top</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="form:image-align" a:defaultValue="center">
+ <choice>
+ <value>start</value>
+ <value>center</value>
+ <value>end</value>
+ </choice>
+ </attribute>
+ </optional>
+ </group>
+ </choice>
+</define>
+<define name="bound-column">
+ <optional>
+ <attribute name="form:bound-column">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-convert-empty-attlist">
+ <optional>
+ <attribute name="form:convert-empty-to-null" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-field-attlist">
+ <optional>
+ <attribute name="form:data-field">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="list-source">
+ <optional>
+ <attribute name="form:list-source">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="list-source-type">
+ <optional>
+ <attribute name="form:list-source-type">
+ <choice>
+ <value>table</value>
+ <value>query</value>
+ <value>sql</value>
+ <value>sql-pass-through</value>
+ <value>value-list</value>
+ <value>table-fields</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="form-properties">
+ <element name="form:properties">
+ <oneOrMore>
+ <ref name="form-property"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="form-property" combine="choice">
+ <element name="form:property">
+ <ref name="form-property-name"/>
+ <ref name="form-property-value-and-type-attlist"/>
+ </element>
+</define>
+<define name="form-property-name" combine="interleave">
+ <attribute name="form:property-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="form-property-value-and-type-attlist" combine="interleave">
+ <choice>
+ <ref name="common-value-and-type-attlist"/>
+ <attribute name="office:value-type">
+ <value>void</value>
+ </attribute>
+ </choice>
+</define>
+<define name="form-property" combine="choice">
+ <element name="form:list-property">
+ <ref name="form-property-name"/>
+ <ref name="form-property-type-and-value-list"/>
+ </element>
+</define>
+<define name="form-property-type-and-value-list">
+ <choice>
+ <group>
+ <attribute name="office:value-type">
+ <value>float</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:value">
+ <ref name="double"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>percentage</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:value">
+ <ref name="double"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>currency</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:value">
+ <ref name="double"/>
+ </attribute>
+ <optional>
+ <attribute name="office:currency">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>date</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:date-value">
+ <ref name="dateOrDateTime"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>time</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:time-value">
+ <ref name="duration"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>boolean</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:boolean-value">
+ <ref name="boolean"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>string</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:string-value">
+ <ref name="string"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <attribute name="office:value-type">
+ <value>void</value>
+ </attribute>
+ </choice>
+</define>
+<define name="office-annotation">
+ <element name="office:annotation">
+ <ref name="office-annotation-attlist"/>
+ <ref name="draw-caption-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="dc-creator"/>
+ </optional>
+ <optional>
+ <ref name="dc-date"/>
+ </optional>
+ <optional>
+ <ref name="meta-date-string"/>
+ </optional>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-p"/>
+ <ref name="text-list"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="office-annotation-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="meta-date-string">
+ <element name="meta:date-string">
+ <ref name="string"/>
+ </element>
+</define>
+<define name="common-num-format-prefix-suffix-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:num-prefix">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:num-suffix">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-num-format-attlist" combine="interleave">
+ <choice>
+ <attribute name="style:num-format">
+ <choice>
+ <value>1</value>
+ <value>i</value>
+ <value>I</value>
+ <ref name="string"/>
+ <empty/>
+ </choice>
+ </attribute>
+ <group>
+ <attribute name="style:num-format">
+ <choice>
+ <value>a</value>
+ <value>A</value>
+ </choice>
+ </attribute>
+ <ref name="style-num-letter-sync-attlist"/>
+ </group>
+ <empty/>
+ </choice>
+</define>
+<define name="style-num-letter-sync-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:num-letter-sync">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="office-change-info">
+ <element name="office:change-info">
+ <ref name="dc-creator"/>
+ <ref name="dc-date"/>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="office-event-listeners">
+ <element name="office:event-listeners">
+ <zeroOrMore>
+ <choice>
+ <ref name="script-event-listener"/>
+ <ref name="presentation-event-listener"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="script-event-listener" combine="interleave">
+ <element name="script:event-listener">
+ <ref name="script-event-listener-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="script-event-listener-attlist" combine="interleave">
+ <attribute name="script:event-name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="script-event-listener-attlist" combine="interleave">
+ <attribute name="script:language">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="script-event-listener-attlist" combine="interleave">
+ <choice>
+ <attribute name="script:macro-name">
+ <ref name="string"/>
+ </attribute>
+ <group>
+ <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>
+ </group>
+ </choice>
+</define>
+<define name="math-math">
+ <element name="math:math">
+ <ref name="mathMarkup"/>
+ </element>
+</define>
+
+<!-- To avoid inclusion of the complete MathML schema, anything -->
+<!-- is allowed within a math:math top-level element -->
+<define name="mathMarkup">
+ <zeroOrMore>
+ <choice>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <text/>
+ <element>
+ <anyName/>
+ <ref name="mathMarkup"/>
+ </element>
+ </choice>
+ </zeroOrMore>
+</define>
+<define name="text-dde-connection-decl">
+ <element name="text:dde-connection-decl">
+ <ref name="text-dde-connection-decl-attlist"/>
+ <ref name="common-dde-connection-decl-attlist"/>
+ </element>
+</define>
+<define name="text-dde-connection-decl-attlist" combine="interleave">
+ <attribute name="office:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="common-dde-connection-decl-attlist" combine="interleave">
+ <attribute name="office:dde-application">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="common-dde-connection-decl-attlist" combine="interleave">
+ <attribute name="office:dde-topic">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="common-dde-connection-decl-attlist" combine="interleave">
+ <attribute name="office:dde-item">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="common-dde-connection-decl-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:automatic-update" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-dde-link">
+ <element name="table:dde-link">
+ <ref name="office-dde-source"/>
+ <ref name="table-table"/>
+ </element>
+</define>
+<define name="office-dde-source">
+ <element name="office:dde-source">
+ <ref name="office-dde-source-attlist"/>
+ <ref name="common-dde-connection-decl-attlist"/>
+ </element>
+</define>
+<define name="office-dde-source-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="office-dde-source-attlist" combine="interleave">
+ <optional>
+ <attribute name="office:conversion-mode"
+ a:defaultValue="into-default-style-data-style">
+ <choice>
+ <value>into-default-style-data-style</value>
+ <value>into-english-number</value>
+ <value>keep-text</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:animate">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="common-anim-spline-mode-attlist"/>
+ <ref name="common-spline-anim-value-attlist"/>
+ <ref name="common-timing-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ </element>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:set">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-set-values-attlist"/>
+ <ref name="common-timing-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ </element>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:animateMotion">
+ <ref name="anim-animate-motion-attlist"/>
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="common-timing-attlist"/>
+ <ref name="common-spline-anim-value-attlist"/>
+ </element>
+</define>
+<define name="anim-animate-motion-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:path">
+ <ref name="pathData"/>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-animate-motion-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:origin">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-animate-motion-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:calcMode" a:defaultValue="paced">
+ <choice>
+ <value>discrete</value>
+ <value>linear</value>
+ <value>paced</value>
+ <value>spline</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:animateColor">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="common-anim-spline-mode-attlist"/>
+ <ref name="common-spline-anim-value-attlist"/>
+ <ref name="anim-animate-color-attlist"/>
+ <ref name="common-timing-attlist"/>
+ </element>
+</define>
+<define name="anim-animate-color-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:color-interpolation" a:defaultValue="rgb">
+ <choice>
+ <value>rgb</value>
+ <value>hsl</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-animate-color-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:color-interpolation-direction"
+ a:defaultValue="clockwise">
+ <choice>
+ <value>clockwise</value>
+ <value>counter-clockwise</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:animateTransform">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="anim-animate-transform-attlist"/>
+ <ref name="common-timing-attlist"/>
+ </element>
+</define>
+<define name="anim-animate-transform-attlist" combine="interleave">
+ <attribute name="svg:type">
+ <choice>
+ <value>translate</value>
+ <value>scale</value>
+ <value>rotate</value>
+ <value>skewX</value>
+ <value>skewY</value>
+ </choice>
+ </attribute>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:transitionFilter">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="common-anim-spline-mode-attlist "/>
+ <ref name="anim-transition-filter-attlist"/>
+ <ref name="common-timing-attlist"/>
+ </element>
+</define>
+<define name="anim-transition-filter-attlist" combine="interleave">
+ <attribute name="smil:type">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="anim-transition-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:subtype">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-transition-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:direction" a:defaultValue="forward">
+ <choice>
+ <value>forward</value>
+ <value>reverse</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-transition-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:fadeColor">
+ <choice>
+ <value>forward</value>
+ <value>reverse</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-transition-filter-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:mode" a:defaultValue="in">
+ <choice>
+ <value>in</value>
+ <value>out</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:id">
+ <ref name="ID"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-target-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:targetElement">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-named-target-attlist" combine="interleave">
+ <attribute name="smil:attributeName">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="common-anim-target-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:sub-item">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-values-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:values">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-spline-mode-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:calcMode" a:defaultValue="discrete">
+ <choice>
+ <value>discrete</value>
+ <value>linear</value>
+ <value>paced</value>
+ <value>spline</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-spline-anim-value-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:keyTimes">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-spline-anim-value-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:keySplines">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-add-accum-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:accumulate">
+ <choice>
+ <value>none</value>
+ <value>sum</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-add-accum-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:additive">
+ <choice>
+ <value>replace</value>
+ <value>sum</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-values-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:formula">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-anim-set-values-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:to">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="common-anim-values-attlist" combine="interleave">
+ <ref name="common-anim-set-values-attlist"/>
+ <optional>
+ <attribute name="smil:from">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:by">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-begin-end-timing-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:begin">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-begin-end-timing-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:end">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-dur-timing-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:dur">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-endsync-timing-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:endsync">
+ <choice>
+ <value>first</value>
+ <value>last</value>
+ <value>all</value>
+ <value>media</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-repeat-timing-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:repeatDur">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:repeatCount">
+ <choice>
+ <ref name="nonNegativeInteger"/>
+ <value>indefinite</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-fill-timing-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:fill">
+ <choice>
+ <value>remove</value>
+ <value>freeze</value>
+ <value>hold</value>
+ <value>auto</value>
+ <value>default</value>
+ <value>transition</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-fill-default-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:fillDefault">
+ <choice>
+ <value>remove</value>
+ <value>freeze</value>
+ <value>hold</value>
+ <value>transition</value>
+ <value>auto</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-restart-timing-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:restart" a:defaultValue="default">
+ <choice>
+ <value>never</value>
+ <value>always</value>
+ <value>whenNotActive</value>
+ <value>default</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-restart-default-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:restartDefault" a:defaultValue="inherit">
+ <choice>
+ <value>never</value>
+ <value>always</value>
+ <value>whenNotActive</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-time-manip-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:accelerate" a:defaultValue="0.0">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-time-manip-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:decelerate" a:defaultValue="0.0">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-time-manip-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:autoReverse" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:par">
+ <ref name="common-anim-attlist"/>
+ <ref name="common-timing-attlist"/>
+ <ref name="common-endsync-timing-attlist"/>
+ <zeroOrMore>
+ <ref name="animation-element"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="common-basic-timing-attlist" combine="interleave">
+ <ref name="common-begin-end-timing-attlist"/>
+ <ref name="common-dur-timing-attlist"/>
+ <ref name="common-repeat-timing-attlist"/>
+</define>
+
+<define name="common-timing-attlist" combine="interleave">
+ <ref name="common-basic-timing-attlist"/>
+ <ref name="common-restart-timing-attlist"/>
+ <ref name="common-restart-default-attlist"/>
+ <ref name="common-fill-timing-attlist"/>
+ <ref name="common-fill-default-attlist"/>
+ <ref name="common-time-manip-attlist"/>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:seq">
+ <ref name="common-anim-attlist"/>
+ <ref name="common-endsync-timing-attlist"/>
+ <ref name="common-timing-attlist"/>
+ <zeroOrMore>
+ <ref name="animation-element"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:iterate">
+ <ref name="common-anim-attlist"/>
+ <ref name="anim-iterate-attlist"/>
+ <ref name="common-timing-attlist"/>
+ <ref name="common-endsync-timing-attlist"/>
+ <zeroOrMore>
+ <ref name="animation-element"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="anim-iterate-attlist" combine="interleave">
+ <ref name="common-anim-target-attlist"/>
+</define>
+<define name="anim-iterate-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:iterate-type">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-iterate-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:iterate-interval">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:audio">
+ <ref name="common-anim-attlist"/>
+ <ref name="anim-audio-attlist"/>
+ <ref name="common-basic-timing-attlist"/>
+ </element>
+</define>
+<define name="anim-audio-attlist" combine="interleave">
+ <optional>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ </optional>
+</define>
+<define name="anim-audio-attlist" combine="interleave">
+ <optional>
+ <attribute name="anim:audio-level">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="animation-element" combine="choice">
+ <element name="anim:command">
+ <ref name="common-anim-attlist"/>
+ <ref name="anim-command-attlist"/>
+ <ref name="common-begin-end-timing-attlist"/>
+ <ref name="common-anim-target-attlist"/>
+ <zeroOrMore>
+ <element name="anim:param">
+ <attribute name="anim:name"/>
+ <attribute name="anim:value"/>
+ </element>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="anim-command-attlist" combine="interleave">
+ <attribute name="anim:command">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="style-style">
+ <element name="style:style">
+ <ref name="style-style-attlist"/>
+ <ref name="style-style-content"/>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:parent-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:next-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:list-style-name">
+ <choice>
+ <ref name="styleName"/>
+ <empty/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:master-page-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:auto-update" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:data-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:class">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:default-outline-level">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-map">
+ <element name="style:map">
+ <ref name="style-map-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="style-map-attlist" combine="interleave">
+ <attribute name="style:condition">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="style-map-attlist" combine="interleave">
+ <attribute name="style:apply-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="style-map-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:base-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-default-style">
+ <element name="style:default-style">
+ <ref name="style-style-content"/>
+ </element>
+</define>
+<define name="style-page-layout">
+ <element name="style:page-layout">
+ <ref name="style-page-layout-attlist"/>
+ <optional>
+ <ref name="style-page-layout-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-header-style"/>
+ </optional>
+ <optional>
+ <ref name="style-footer-style"/>
+ </optional>
+ </element>
+</define>
+<define name="style-page-layout-attlist" combine="interleave">
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="style-page-layout-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:page-usage" a:defaultValue="all">
+ <choice>
+ <value>all</value>
+ <value>left</value>
+ <value>right</value>
+ <value>mirrored</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-header-style">
+ <element name="style:header-style">
+ <optional>
+ <ref name="style-header-footer-properties"/>
+ </optional>
+ </element>
+</define>
+<define name="style-footer-style">
+ <element name="style:footer-style">
+ <optional>
+ <ref name="style-header-footer-properties"/>
+ </optional>
+ </element>
+</define>
+<define name="style-master-page">
+ <element name="style:master-page">
+ <ref name="style-master-page-attlist"/>
+ <optional>
+ <ref name="style-header"/>
+ <optional>
+ <ref name="style-header-left"/>
+ </optional>
+ </optional>
+ <optional>
+ <ref name="style-footer"/>
+ <optional>
+ <ref name="style-footer-left"/>
+ </optional>
+ </optional>
+ <optional>
+ <ref name="office-forms"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-style"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="presentation-notes"/>
+ </optional>
+ </element>
+</define>
+<define name="style-master-page-attlist" combine="interleave">
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="style-master-page-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-master-page-attlist" combine="interleave">
+ <attribute name="style:page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+</define>
+<define name="style-master-page-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-master-page-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:next-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-header">
+ <element name="style:header">
+ <ref name="common-style-header-footer-attlist"/>
+ <ref name="header-footer-content"/>
+ </element>
+</define>
+<define name="style-footer">
+ <element name="style:footer">
+ <ref name="common-style-header-footer-attlist"/>
+ <ref name="header-footer-content"/>
+ </element>
+</define>
+<define name="style-header-left">
+ <element name="style:header-left">
+ <ref name="common-style-header-footer-attlist"/>
+ <ref name="header-footer-content"/>
+ </element>
+</define>
+<define name="style-footer-left">
+ <element name="style:footer-left">
+ <ref name="common-style-header-footer-attlist"/>
+ <ref name="header-footer-content"/>
+ </element>
+</define>
+<define name="header-footer-content">
+ <choice>
+ <group>
+ <ref name="text-tracked-changes"/>
+ <ref name="text-decls"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-h"/>
+ <ref name="text-p"/>
+ <ref name="text-list"/>
+ <ref name="table-table"/>
+ <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="text-index-title"/>
+ <ref name="change-marks"/>
+ </choice>
+ </zeroOrMore>
+ </group>
+ <group>
+ <optional>
+ <ref name="style-region-left"/>
+ </optional>
+ <optional>
+ <ref name="style-region-center"/>
+ </optional>
+ <optional>
+ <ref name="style-region-right"/>
+ </optional>
+ </group>
+ </choice>
+</define>
+<define name="common-style-header-footer-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:display" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-region-left">
+ <element name="style:region-left">
+ <ref name="region-content"/>
+ </element>
+</define>
+<define name="style-region-center">
+ <element name="style:region-center">
+ <ref name="region-content"/>
+ </element>
+</define>
+<define name="style-region-right">
+ <element name="style:region-right">
+ <ref name="region-content"/>
+ </element>
+</define>
+
+<define name="region-content">
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+</define>
+<define name="presentation-notes">
+ <element name="presentation:notes">
+ <ref name="common-presentation-header-footer-attlist"/>
+ <ref name="presentation-notes-attlist"/>
+ <ref name="office-forms"/>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="presentation-notes-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="presentation-notes-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="table-table-template">
+ <element name="table:table-template">
+ <ref name="table-table-template-attlist"/>
+ <optional>
+ <ref name="table-first-row"/>
+ </optional>
+ <optional>
+ <ref name="table-last-row"/>
+ </optional>
+ <optional>
+ <ref name="table-first-column"/>
+ </optional>
+ <optional>
+ <ref name="table-last-column"/>
+ </optional>
+ <choice>
+ <ref name="table-body"/>
+ <group>
+ <ref name="table-even-rows"/>
+ <ref name="table-odd-rows"/>
+ </group>
+ <group>
+ <ref name="table-even-columns"/>
+ <ref name="table-odd-columns"/>
+ </group>
+ </choice>
+ </element>
+</define>
+<define name="table-table-template-attlist" combine="interleave">
+ <attribute name="text:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="table-table-template-attlist" combine="interleave">
+ <attribute name="text:first-row-start-column">
+ <ref name="rowOrCol"/>
+ </attribute>
+</define>
+
+<define name="table-table-template-attlist" combine="interleave">
+ <attribute name="text:first-row-end-column">
+ <ref name="rowOrCol"/>
+ </attribute>
+</define>
+
+<define name="table-table-template-attlist" combine="interleave">
+ <attribute name="text:last-row-start-column">
+ <ref name="rowOrCol"/>
+ </attribute>
+</define>
+
+<define name="table-table-template-attlist" combine="interleave">
+ <attribute name="text:last-row-end-column">
+ <ref name="rowOrCol"/>
+ </attribute>
+</define>
+
+<define name="rowOrCol">
+ <choice>
+ <value>row</value>
+ <value>column</value>
+ </choice>
+</define>
+<define name="table-first-row">
+ <element name="table:first-row">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-last-row">
+ <element name="table:last-row">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-first-column">
+ <element name="table:first-column">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-last-column">
+ <element name="table:last-column">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-body">
+ <element name="table:body">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-even-rows">
+ <element name="table:even-rows">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-odd-rows">
+ <element name="table:odd-rows">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-even-columns">
+ <element name="table:even-columns">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="table-odd-columns">
+ <element name="table:odd-columns">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="common-table-template-attlist" combine="interleave">
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ <attribute name="text:paragraph-style-name">
+ <optional>
+ <ref name="styleNameRef"/>
+ </optional>
+ </attribute>
+</define>
+<define name="style-font-face">
+ <element name="style:font-face">
+ <ref name="style-font-face-attlist"/>
+ <optional>
+ <ref name="svg-font-face-src"/>
+ </optional>
+ <optional>
+ <ref name="svg-definition-src"/>
+ </optional>
+ </element>
+</define>
+<define name="style-font-face-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:font-family">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-style">
+ <ref name="fontStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-variant">
+ <ref name="fontVariant"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-weight">
+ <ref name="fontWeight"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-stretch">
+ <choice>
+ <value>normal</value>
+ <value>ultra-condensed</value>
+ <value>extra-condensed</value>
+ <value>condensed</value>
+ <value>semi-condensed</value>
+ <value>semi-expanded</value>
+ <value>expanded</value>
+ <value>extra-expanded</value>
+ <value>ultra-expanded</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-size">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:unicode-range"/>
+ </optional>
+ <optional>
+ <attribute name="svg:units-per-em">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:panose-1"/>
+ </optional>
+ <optional>
+ <attribute name="svg:stemv">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:stemh">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:slope">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:cap-height">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:x-height">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:accent-height">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:ascent">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:descent">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:widths"/>
+ </optional>
+ <optional>
+ <attribute name="svg:bbox"/>
+ </optional>
+ <optional>
+ <attribute name="svg:ideographic">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:alphabetic">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:mathematical">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:hanging">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:v-ideographic">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:v-alphabetic">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:v-mathematical">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:v-hanging">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:underline-position">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:underline-thickness">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:strikethrough-position">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:strikethrough-thickness">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:overline-position">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:overline-thickness">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="svg-font-face-src">
+ <element name="svg:font-face-src">
+ <oneOrMore>
+ <choice>
+ <ref name="svg-font-face-uri"/>
+ <ref name="svg-font-face-name"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="svg-font-face-uri">
+ <element name="svg:font-face-uri">
+ <ref name="common-svg-font-face-xlink-attlist"/>
+ <zeroOrMore>
+ <ref name="svg-font-face-format"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="svg-font-face-format">
+ <element name="svg:font-face-format">
+ <optional>
+ <attribute name="svg:string"/>
+ </optional>
+ <empty/>
+ </element>
+</define>
+<define name="svg-font-face-name">
+ <element name="svg:font-face-name">
+ <optional>
+ <attribute name="svg:name"/>
+ </optional>
+ <empty/>
+ </element>
+</define>
+
+<define name="svg-definition-src">
+ <element name="svg:definition-src">
+ <ref name="common-svg-font-face-xlink-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="common-svg-font-face-xlink-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="style-font-face-attlist" combine="interleave">
+ <attribute name="style:name">
+ <ref name="string"/>
+ </attribute>
+</define>
+<define name="style-font-face-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-adornments">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-font-face-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-family-generic">
+ <ref name="fontFamilyGeneric"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-font-face-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-pitch">
+ <ref name="fontPitch"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="style-font-face-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-charset">
+ <ref name="textEncoding"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-number-style">
+ <element name="number:number-style">
+ <ref name="common-data-style-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <optional>
+ <ref name="any-number"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="any-number">
+ <choice>
+ <ref name="number-number"/>
+ <ref name="number-scientific-number"/>
+ <ref name="number-fraction"/>
+ </choice>
+</define>
+<define name="number-number">
+ <element name="number:number">
+ <ref name="number-number-attlist"/>
+ <ref name="common-decimal-places-attlist"/>
+ <ref name="common-number-attlist"/>
+ <zeroOrMore>
+ <ref name="number-embedded-text"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="number-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:decimal-replacement"/>
+ </optional>
+</define>
+<define name="number-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:display-factor" a:defaultValue="1">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-embedded-text">
+ <element name="number:embedded-text">
+ <ref name="number-embedded-text-attlist"/>
+ <text/>
+ </element>
+</define>
+<define name="number-embedded-text-attlist" combine="interleave">
+ <attribute name="number:position">
+ <ref name="integer"/>
+ </attribute>
+</define>
+<define name="number-scientific-number">
+ <element name="number:scientific-number">
+ <ref name="number-scientific-number-attlist"/>
+ <ref name="common-decimal-places-attlist"/>
+ <ref name="common-number-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-scientific-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:min-exponent-digits">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-fraction">
+ <element name="number:fraction">
+ <ref name="number-fraction-attlist"/>
+ <ref name="common-number-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-fraction-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:min-numerator-digits">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-fraction-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:min-denominator-digits">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-fraction-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:denominator-value">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-currency-style">
+ <element name="number:currency-style">
+ <ref name="common-data-style-attlist"/>
+ <ref name="common-auto-reorder-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <optional>
+ <choice>
+ <group>
+ <ref name="number-and-text"/>
+ <optional>
+ <ref name="currency-symbol-and-text"/>
+ </optional>
+ </group>
+ <group>
+ <ref name="currency-symbol-and-text"/>
+ <optional>
+ <ref name="number-and-text"/>
+ </optional>
+ </group>
+ </choice>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="currency-symbol-and-text">
+ <ref name="number-currency-symbol"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+</define>
+<define name="number-and-text">
+ <ref name="number-number"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+</define>
+<define name="number-currency-symbol">
+ <element name="number:currency-symbol">
+ <ref name="number-currency-symbol-attlist"/>
+ <text/>
+ </element>
+</define>
+<define name="number-currency-symbol-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-percentage-style">
+ <element name="number:percentage-style">
+ <ref name="common-data-style-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <optional>
+ <ref name="number-and-text"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="number-date-style">
+ <element name="number:date-style">
+ <ref name="common-data-style-attlist"/>
+ <ref name="common-auto-reorder-attlist"/>
+ <ref name="common-format-source-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <!-- This DTD does not reflect the fact that some elements must not -->
+ <!-- occur more than once. -->
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <oneOrMore>
+ <ref name="any-date"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="any-date">
+ <choice>
+ <ref name="number-day"/>
+ <ref name="number-month"/>
+ <ref name="number-year"/>
+ <ref name="number-era"/>
+ <ref name="number-day-of-week"/>
+ <ref name="number-week-of-year"/>
+ <ref name="number-quarter"/>
+ <ref name="number-hours"/>
+ <ref name="number-am-pm"/>
+ <ref name="number-minutes"/>
+ <ref name="number-seconds"/>
+ </choice>
+</define>
+<define name="number-day">
+ <element name="number:day">
+ <ref name="number-day-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-day-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-month">
+ <element name="number:month">
+ <ref name="number-month-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-month-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:textual" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-month-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:possessive-form" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-month-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-year">
+ <element name="number:year">
+ <ref name="number-year-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-year-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-era">
+ <element name="number:era">
+ <ref name="number-era-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-era-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-day-of-week">
+ <element name="number:day-of-week">
+ <ref name="number-day-of-week-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-day-of-week-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-week-of-year">
+ <element name="number:week-of-year">
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-quarter">
+ <element name="number:quarter">
+ <ref name="number-quarter-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-quarter-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-time-style">
+ <element name="number:time-style">
+ <ref name="number-time-style-attlist"/>
+ <ref name="common-data-style-attlist"/>
+ <ref name="common-format-source-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <!-- This DTD does not reflect the fact that some elements must not -->
+ <!-- occur more than once. -->
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <oneOrMore>
+ <ref name="any-time"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="any-time">
+ <choice>
+ <ref name="number-hours"/>
+ <ref name="number-am-pm"/>
+ <ref name="number-minutes"/>
+ <ref name="number-seconds"/>
+ </choice>
+</define>
+<define name="number-time-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:truncate-on-overflow" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-hours">
+ <element name="number:hours">
+ <ref name="number-hours-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-hours-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-minutes">
+ <element name="number:minutes">
+ <ref name="number-minutes-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-minutes-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-seconds">
+ <element name="number:seconds">
+ <ref name="number-seconds-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="number-seconds-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="number-seconds-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:decimal-places" a:defaultValue="0">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="number-am-pm">
+ <element name="number:am-pm">
+ <empty/>
+ </element>
+</define>
+<define name="number-boolean-style">
+ <element name="number:boolean-style">
+ <ref name="common-data-style-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <optional>
+ <ref name="number-boolean"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="number-boolean">
+ <element name="number:boolean">
+ <empty/>
+ </element>
+</define>
+<define name="number-text-style">
+ <element name="number:text-style">
+ <ref name="common-data-style-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="number-text-content"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="number-text">
+ <element name="number:text">
+ <text/>
+ </element>
+</define>
+<define name="number-text-content">
+ <element name="number:text-content">
+ <empty/>
+ </element>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="style-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:title"/>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:volatile">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-auto-reorder-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:automatic-order" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-format-source-attlist">
+ <optional>
+ <attribute name="number:format-source" a:defaultValue="fixed">
+ <choice>
+ <value>fixed</value>
+ <value>language</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:transliteration-format" a:defaultValue="1">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:transliteration-language">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:transliteration-country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-data-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:transliteration-style" a:defaultValue="short">
+ <choice>
+ <value>short</value>
+ <value>medium</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-decimal-places-attlist">
+ <optional>
+ <attribute name="number:decimal-places">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:min-integer-digits">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-number-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:grouping" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-calendar-attlist" combine="interleave">
+ <optional>
+ <attribute name="number:calendar">
+ <choice>
+ <value>gregorian</value>
+ <value>gengou</value>
+ <value>ROC</value>
+ <value>hanja_yoil</value>
+ <value>hanja</value>
+ <value>hijri</value>
+ <value>jewish</value>
+ <value>buddhist</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>text</value>
+ </attribute>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>paragraph</value>
+ </attribute>
+ <optional>
+ <ref name="style-paragraph-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>section</value>
+ </attribute>
+ <optional>
+ <ref name="style-section-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>ruby</value>
+ </attribute>
+ <optional>
+ <ref name="style-ruby-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="text-linenumbering-configuration">
+ <element name="text:linenumbering-configuration">
+ <ref name="text-linenumbering-configuration-attlist"/>
+ <optional>
+ <ref name="text-linenumbering-separator"/>
+ </optional>
+ </element>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:number-lines" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <ref name="common-num-format-attlist"/>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:increment">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:number-position" a:defaultValue="left">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>inner</value>
+ <value>outer</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:offset">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:count-empty-lines" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:count-in-text-boxes" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:restart-on-page" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-linenumbering-separator">
+ <element name="text:linenumbering-separator">
+ <optional>
+ <attribute name="text:increment">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+</define>
+<define name="text-notes-configuration">
+ <element name="text:notes-configuration">
+ <ref name="text-notes-configuration-content"/>
+ </element>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <ref name="text-note-class"/>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:citation-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:citation-body-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:default-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:master-page-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:start-value">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+ <optional>
+ <ref name="common-num-format-attlist"/>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:start-numbering-at">
+ <choice>
+ <value>document</value>
+ <value>chapter</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:footnotes-position">
+ <choice>
+ <value>text</value>
+ <value>page</value>
+ <value>section</value>
+ <value>document</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <element name="text:note-continuation-notice-forward">
+ <text/>
+ </element>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <element name="text:note-continuation-notice-backward">
+ <text/>
+ </element>
+ </optional>
+</define>
+<define name="text-bibliography-configuration">
+ <element name="text:bibliography-configuration">
+ <ref name="text-bibliography-configuration-attlist"/>
+ <zeroOrMore>
+ <ref name="text-sort-key"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-bibliography-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:prefix">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:suffix">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-bibliography-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:numbered-entries" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-bibliography-configuration-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:sort-by-position" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:sort-algorithm">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-sort-key">
+ <element name="text:sort-key">
+ <ref name="text-sort-key-attlist"/>
+ <empty/>
+ </element>
+</define>
+
+<define name="text-sort-key-attlist" combine="interleave">
+ <attribute name="text:key">
+ <choice>
+ <value>address</value>
+ <value>annote</value>
+ <value>author</value>
+ <value>bibliography-type</value>
+ <value>booktitle</value>
+ <value>chapter</value>
+ <value>custom1</value>
+ <value>custom2</value>
+ <value>custom3</value>
+ <value>custom4</value>
+ <value>custom5</value>
+ <value>edition</value>
+ <value>editor</value>
+ <value>howpublished</value>
+ <value>identifier</value>
+ <value>institution</value>
+ <value>isbn</value>
+ <value>issn</value>
+ <value>journal</value>
+ <value>month</value>
+ <value>note</value>
+ <value>number</value>
+ <value>organizations</value>
+ <value>pages</value>
+ <value>publisher</value>
+ <value>report-type</value>
+ <value>school</value>
+ <value>series</value>
+ <value>title</value>
+ <value>url</value>
+ <value>volume</value>
+ <value>year</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="text:sort-ascending" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-style">
+ <element name="text:list-style">
+ <ref name="text-list-style-attr"/>
+ <zeroOrMore>
+ <ref name="text-list-style-content"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="text-list-style-attr" combine="interleave">
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="text-list-style-attr" combine="interleave">
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-style-attr" combine="interleave">
+ <optional>
+ <attribute name="text:consecutive-numbering" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-level-style-attr">
+ <attribute name="text:level">
+ <ref name="positiveInteger"/>
+ </attribute>
+</define>
+<define name="text-list-style-content" combine="choice">
+ <element name="text:list-level-style-number">
+ <ref name="text-list-level-style-attr"/>
+ <ref name="text-list-level-style-number-attr"/>
+ <optional>
+ <ref name="style-list-level-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </element>
+</define>
+<define name="text-list-level-style-number-attr" combine="interleave">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-level-style-number-attr" combine="interleave">
+ <ref name="common-num-format-attlist"/>
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+</define>
+<define name="text-list-level-style-number-attr" combine="interleave">
+ <optional>
+ <attribute name="text:display-levels" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-level-style-number-attr" combine="interleave">
+ <optional>
+ <attribute name="text:start-value" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-style-content" combine="choice">
+ <element name="text:list-level-style-bullet">
+ <ref name="text-list-level-style-attr"/>
+ <ref name="text-list-level-style-bullet-attr"/>
+ <optional>
+ <ref name="style-list-level-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </element>
+</define>
+<define name="text-list-level-style-bullet-attr" combine="interleave">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-level-style-bullet-attr" combine="interleave">
+ <attribute name="text:bullet-char">
+ <ref name="character"/>
+ </attribute>
+</define>
+<define name="text-list-level-style-bullet-attr" combine="interleave">
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+</define>
+<define name="text-list-level-style-bullet-attr" combine="interleave">
+ <optional>
+ <attribute name="text:bullet-relative-size">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-list-style-content" combine="choice">
+ <element name="text:list-level-style-image">
+ <ref name="text-list-level-style-attr"/>
+ <ref name="text-list-level-style-image-attr"/>
+ <optional>
+ <ref name="style-list-level-properties"/>
+ </optional>
+ </element>
+</define>
+<define name="text-list-level-style-image-attr" combine="interleave">
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-binary-data"/>
+ </choice>
+</define>
+<define name="text-outline-style">
+ <element name="text:outline-style">
+ <oneOrMore>
+ <ref name="text-outline-level-style"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="text-outline-level-style">
+ <element name="text:outline-level-style">
+ <ref name="text-outline-level-style-attlist"/>
+ <optional>
+ <ref name="style-list-level-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </element>
+</define>
+<define name="text-outline-level-style-attlist" combine="interleave">
+ <attribute name="text:level">
+ <ref name="positiveInteger"/>
+ </attribute>
+</define>
+<define name="text-outline-level-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-outline-level-style-attlist" combine="interleave">
+ <ref name="common-num-format-attlist"/>
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+</define>
+<define name="text-outline-level-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:display-levels" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-outline-level-style-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:start-value" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>table</value>
+ </attribute>
+ <optional>
+ <ref name="style-table-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>table-column</value>
+ </attribute>
+ <optional>
+ <ref name="style-table-column-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>table-row</value>
+ </attribute>
+ <optional>
+ <ref name="style-table-row-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>table-cell</value>
+ </attribute>
+ <optional>
+ <ref name="style-table-cell-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-paragraph-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <choice>
+ <value>graphic</value>
+ <value>presentation</value>
+ </choice>
+ </attribute>
+ <optional>
+ <ref name="style-graphic-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-paragraph-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+</define>
+
+<define name="style-graphic-properties">
+ <element name="style:graphic-properties">
+ <ref name="style-graphic-properties-content"/>
+ </element>
+</define>
+
+<define name="style-graphic-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-graphic-properties-content-strict">
+ <ref name="style-graphic-properties-attlist"/>
+ <ref name="style-graphic-fill-properties-attlist"/>
+ <ref name="style-graphic-properties-elements"/>
+</define>
+
+<define name=" style-graphic-properties-elements">
+ <empty/>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>drawing-page</value>
+ </attribute>
+ <optional>
+ <ref name="style-drawing-page-properties"/>
+ </optional>
+ </group>
+</define>
+
+<define name="style-drawing-page-properties">
+ <element name="style:drawing-page-properties">
+ <ref name="style-drawing-page-properties-content"/>
+ </element>
+</define>
+
+<define name="style-drawing-page-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-drawing-page-properties-content-strict">
+ <ref name="style-graphic-fill-properties-attlist"/>
+ <ref name="style-drawing-page-properties-attlist"/>
+ <ref name="style-drawing-page-properties-elements"/>
+</define>
+<define name="draw-gradient">
+ <element name="draw:gradient">
+ <ref name="common-draw-gradient-attlist"/>
+ <ref name="draw-gradient-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="common-draw-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-gradient-attlist" combine="interleave">
+ <attribute name="draw:style">
+ <ref name="gradient-style"/>
+ </attribute>
+</define>
+<define name="gradient-style">
+ <choice>
+ <value>linear</value>
+ <value>axial</value>
+ <value>radial</value>
+ <value>ellipsoid</value>
+ <value>square</value>
+ <value>rectangular</value>
+ </choice>
+</define>
+<define name="common-draw-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:cx">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:cy">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start-intensity">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end-intensity">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:angle">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-draw-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:border">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="svg-linearGradient">
+ <element name="svg:linearGradient">
+ <ref name="common-svg-gradient-attlist"/>
+ <optional>
+ <attribute name="svg:x1" a:defaultValue="0%">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:y1" a:defaultValue="0%">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:x2" a:defaultValue="100%">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:y2" a:defaultValue="100%">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="svg-stop"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="svg-radialGradient">
+ <element name="svg:radialGradient">
+ <ref name="common-svg-gradient-attlist"/>
+ <optional>
+ <attribute name="svg:cx" a:defaultValue="50%">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:cy" a:defaultValue="50%">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:r" a:defaultValue="50%">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:fx">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:fy">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="svg-stop"/>
+ </zeroOrMore>
+ </element>
+</define>
+
+<define name="svg-stop">
+ <element name="svg:stop">
+ <attribute name="svg:offset">
+ <choice>
+ <ref name="double"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="svg:stop-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:stop-opacity">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ </element>
+</define>
+
+<define name="common-svg-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:gradientUnits" a:defaultValue="objectBoundingBox">
+ <value>objectBoundingBox</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:gradientTransform">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:spreadMethod" a:defaultValue="pad">
+ <choice>
+ <value>pad</value>
+ <value>reflect</value>
+ <value>repeat</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="common-svg-gradient-attlist" combine="interleave">
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="common-svg-gradient-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-hatch">
+ <element name="draw:hatch">
+ <ref name="draw-hatch-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-hatch-attlist" combine="interleave">
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="draw-hatch-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-hatch-attlist" combine="interleave">
+ <attribute name="draw:style">
+ <choice>
+ <value>single</value>
+ <value>double</value>
+ <value>triple</value>
+ </choice>
+ </attribute>
+</define>
+<define name="draw-hatch-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-hatch-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:distance">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-hatch-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:rotation">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-fill-image">
+ <element name="draw:fill-image">
+ <ref name="draw-fill-image-attlist"/>
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <choice>
+ <value>simple</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:show" a:defaultValue="embed">
+ <choice>
+ <value>embed</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate" a:defaultValue="onLoad">
+ <choice>
+ <value>onLoad</value>
+ </choice>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+</define>
+<define name="draw-fill-image-attlist" combine="interleave">
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="draw-fill-image-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-fill-image-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-opacity">
+ <element name="draw:opacity">
+ <ref name="common-draw-gradient-attlist"/>
+ <ref name="draw-opacity-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-opacity-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-marker">
+ <element name="draw:marker">
+ <ref name="draw-marker-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-path-data-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-marker-attlist" combine="interleave">
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="draw-marker-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-stroke-dash">
+ <element name="draw:stroke-dash">
+ <ref name="draw-stroke-dash-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="draw-stroke-dash-attlist" combine="interleave">
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+</define>
+<define name="draw-stroke-dash-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-stroke-dash-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:style">
+ <choice>
+ <value>rect</value>
+ <value>round</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-stroke-dash-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:dots1">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:dots1-length">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:dots2">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:dots2-length">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="draw-stroke-dash-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:distance">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-presentation-page-layout">
+ <element name="style:presentation-page-layout">
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="presentation-placeholder"/>
+ </zeroOrMore>
+ </element>
+</define>
+<define name="presentation-placeholder">
+ <element name="presentation:placeholder">
+ <attribute name="presentation:object">
+ <ref name="presentation-classes"/>
+ </attribute>
+ <attribute name="svg:x">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <attribute name="svg:y">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <attribute name="svg:width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <attribute name="svg:height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <empty/>
+ </element>
+</define>
+<define name="style-style-content" combine="choice">
+ <group>
+ <attribute name="style:family">
+ <value>chart</value>
+ </attribute>
+ <optional>
+ <ref name="style-chart-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-graphic-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-paragraph-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+</define>
+<define name="style-properties-content">
+ <ref name="anyAttListOrElements"/>
+</define>
+<define name="style-page-layout-properties">
+ <element name="style:page-layout-properties">
+ <ref name="style-page-layout-properties-content"/>
+ </element>
+</define>
+
+<define name="style-page-layout-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-page-layout-properties-content-strict">
+ <ref name="style-page-layout-properties-attlist"/>
+ <ref name="style-page-layout-properties-elements"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:page-width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:page-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <ref name="common-num-format-attlist"/>
+ </optional>
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:paper-tray-name">
+ <choice>
+ <value>default</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:print-orientation">
+ <choice>
+ <value>portrait</value>
+ <value>landscape</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <ref name="common-horizontal-margin-attlist"/>
+ <ref name="common-vertical-margin-attlist"/>
+ <ref name="common-margin-attlist"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <ref name="common-border-attlist"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <ref name="common-border-line-width-attlist"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <ref name="common-padding-attlist"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <ref name="common-shadow-attlist"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-page-layout-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+<define name="style-page-layout-properties-elements" combine="interleave">
+ <ref name="style-columns"/>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:register-truth-ref-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:print">
+ <list>
+ <zeroOrMore>
+ <choice>
+ <value>headers</value>
+ <value>grid</value>
+ <value>annotations</value>
+ <value>objects</value>
+ <value>charts</value>
+ <value>drawings</value>
+ <value>formulas</value>
+ <value>zero-values</value>
+ </choice>
+ </zeroOrMore>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:print-page-order">
+ <choice>
+ <value>ttb</value>
+ <value>ltr</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:first-page-number">
+ <choice>
+ <ref name="positiveInteger"/>
+ <value>continue</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:scale-to">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:scale-to-pages">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:table-centering">
+ <choice>
+ <value>horizontal</value>
+ <value>vertical</value>
+ <value>both</value>
+ <value>none</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:footnote-max-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <ref name="common-writing-mode-attlist"/>
+</define>
+<define name="style-page-layout-properties-elements" combine="interleave">
+ <ref name="style-footnote-sep"/>
+</define>
+
+<define name="style-footnote-sep">
+ <optional>
+ <element name="style:footnote-sep">
+ <ref name="style-footnote-sep-attlist"/>
+ <empty/>
+ </element>
+ </optional>
+</define>
+<define name="style-footnote-sep-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rel-width">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:line-style">
+ <ref name="lineStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:adjustment" a:defaultValue="left">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:distance-before-sep">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:distance-after-sep">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-mode">
+ <choice>
+ <value>none</value>
+ <value>line</value>
+ <value>both</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-base-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-ruby-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-lines">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-ruby-below">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-print">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-page-layout-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:layout-grid-display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-header-footer-properties">
+ <element name="style:header-footer-properties">
+ <ref name="style-header-footer-properties-content"/>
+ </element>
+</define>
+
+<define name="style-header-footer-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-header-footer-properties-content-strict">
+ <ref name="style-header-footer-properties-attlist"/>
+ <ref name="style-header-footer-properties-elements"/>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:min-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <ref name="common-horizontal-margin-attlist"/>
+ <ref name="common-vertical-margin-attlist"/>
+ <ref name="common-margin-attlist"/>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <ref name="common-border-attlist"/>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <ref name="common-border-line-width-attlist"/>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <ref name="common-padding-attlist"/>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-header-footer-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <ref name="common-shadow-attlist"/>
+</define>
+<define name="style-header-footer-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:dynamic-spacing">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties">
+ <element name="style:text-properties">
+ <ref name="style-text-properties-content"/>
+ </element>
+</define>
+
+<define name="style-text-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-text-properties-content-strict">
+ <ref name="style-text-properties-attlist"/>
+ <ref name="style-text-properties-elements"/>
+</define>
+
+<define name="style-text-properties-elements">
+ <empty/>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:font-variant">
+ <ref name="fontVariant"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="fontVariant">
+ <choice>
+ <value>normal</value>
+ <value>small-caps</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:text-transform">
+ <choice>
+ <value>none</value>
+ <value>lowercase</value>
+ <value>uppercase</value>
+ <value>capitalize</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:use-window-font-color">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-outline">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-line-through-type">
+ <ref name="lineType"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-line-through-style">
+ <ref name="lineStyle"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-line-through-width">
+ <ref name="lineWidth"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-line-through-color">
+ <choice>
+ <value>font-color</value>
+ <ref name="color"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-line-through-text">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-line-through-text-style">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-position">
+ <list>
+ <choice>
+ <ref name="percent"/>
+ <value>super</value>
+ <value>sub</value>
+ </choice>
+ <optional>
+ <ref name="percent"/>
+ </optional>
+ </list>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-name-asian">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-name-complex">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:font-family">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-family-asian">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-family-complex">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-family-generic">
+ <ref name="fontFamilyGeneric"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-family-generic-asian">
+ <ref name="fontFamilyGeneric"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-family-generic-complex">
+ <ref name="fontFamilyGeneric"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="fontFamilyGeneric">
+ <choice>
+ <value>roman</value>
+ <value>swiss</value>
+ <value>modern</value>
+ <value>decorative</value>
+ <value>script</value>
+ <value>system</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-style-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-style-name-asian">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-style-name-complex">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-pitch">
+ <ref name="fontPitch"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-pitch-asian">
+ <ref name="fontPitch"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-pitch-complex">
+ <ref name="fontPitch"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="fontPitch">
+ <choice>
+ <value>fixed</value>
+ <value>variable</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-charset">
+ <ref name="textEncoding"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-charset-asian">
+ <ref name="textEncoding"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-charset-complex">
+ <ref name="textEncoding"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="textEncoding">
+ <data type="string">
+ <param name="pattern">[A-Za-z][A-Za-z0-9._\-]*</param>
+ </data>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:font-size">
+ <choice>
+ <ref name="positiveLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-size-asian">
+ <choice>
+ <ref name="positiveLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-size-complex">
+ <choice>
+ <ref name="positiveLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-size-rel">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-size-rel-asian">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-size-rel-complex">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:script-type">
+ <choice>
+ <value>latin</value>
+ <value>asian</value>
+ <value>complex</value>
+ <value>ignore</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:letter-spacing">
+ <choice>
+ <ref name="length"/>
+ <value>normal</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:language-asian">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:language-complex">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:country-asian">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:country-complex">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:font-style">
+ <ref name="fontStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-style-asian">
+ <ref name="fontStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-style-complex">
+ <ref name="fontStyle"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="fontStyle">
+ <choice>
+ <value>normal</value>
+ <value>italic</value>
+ <value>oblique</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-relief">
+ <choice>
+ <value>none</value>
+ <value>embossed</value>
+ <value>engraved</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:text-shadow">
+ <ref name="shadowType"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="shadowType">
+ <choice>
+ <value>none</value>
+ <!-- The following string must match an XSL shadow decl -->
+ <ref name="string"/>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-underline-type">
+ <ref name="lineType"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="lineType">
+ <choice>
+ <value>none</value>
+ <value>single</value>
+ <value>double</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-underline-style">
+ <ref name="lineStyle"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="lineStyle">
+ <choice>
+ <value>none</value>
+ <value>solid</value>
+ <value>dotted</value>
+ <value>dash</value>
+ <value>long-dash</value>
+ <value>dot-dash</value>
+ <value>dot-dot-dash</value>
+ <value>wave</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-underline-width">
+ <ref name="lineWidth"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="lineWidth">
+ <choice>
+ <value>auto</value>
+ <value>normal</value>
+ <value>bold</value>
+ <value>thin</value>
+ <value>dash</value>
+ <value>medium</value>
+ <value>thick</value>
+ <ref name="positiveInteger"/>
+ <ref name="percent"/>
+ <ref name="positiveLength"/>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-underline-color">
+ <choice>
+ <value>font-color</value>
+ <ref name="color"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:font-weight">
+ <ref name="fontWeight"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-weight-asian">
+ <ref name="fontWeight"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-weight-complex">
+ <ref name="fontWeight"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="fontWeight">
+ <choice>
+ <value>normal</value>
+ <value>bold</value>
+ <value>100</value>
+ <value>200</value>
+ <value>300</value>
+ <value>400</value>
+ <value>500</value>
+ <value>600</value>
+ <value>700</value>
+ <value>800</value>
+ <value>900</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-underline-mode">
+ <ref name="lineMode"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="lineMode">
+ <choice>
+ <value>continuous</value>
+ <value>skip-white-space</value>
+ </choice>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-line-through-mode">
+ <ref name="lineMode"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:letter-kerning">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-blinking">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-combine">
+ <choice>
+ <value>none</value>
+ <value>letters</value>
+ <value>lines</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-combine-start-char">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-combine-end-char">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-emphasize">
+ <choice>
+ <value>none</value>
+ <list>
+ <choice>
+ <value>none</value>
+ <value>accent</value>
+ <value>dot</value>
+ <value>circle</value>
+ <value>disc</value>
+ </choice>
+ <choice>
+ <value>above</value>
+ <value>below</value>
+ </choice>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-scale">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-rotation-angle">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-rotation-scale">
+ <choice>
+ <value>fixed</value>
+ <value>line-height</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:hyphenate">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:hyphenation-remain-char-count">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:hyphenation-push-char-count">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-text-properties-attlist" combine="interleave">
+ <choice>
+ <attribute name="text:display">
+ <value>true</value>
+ </attribute>
+ <attribute name="text:display">
+ <value>none</value>
+ </attribute>
+ <group>
+ <attribute name="text:display">
+ <value>condition</value>
+ </attribute>
+ <attribute name="text:condition">
+ <value>none</value>
+ </attribute>
+ </group>
+ <empty/>
+ </choice>
+</define>
+<define name="style-paragraph-properties">
+ <element name="style:paragraph-properties">
+ <ref name="style-paragraph-properties-content"/>
+ </element>
+</define>
+
+<define name="style-paragraph-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-paragraph-properties-content-strict">
+ <ref name="style-paragraph-properties-attlist"/>
+ <ref name="style-paragraph-properties-elements"/>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:line-height">
+ <choice>
+ <value>normal</value>
+ <ref name="nonNegativeLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:line-height-at-least">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:line-spacing">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-independent-line-spacing">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-text-align"/>
+</define>
+
+<define name="common-text-align">
+ <optional>
+ <attribute name="fo:text-align">
+ <choice>
+ <value>start</value>
+ <value>end</value>
+ <value>left</value>
+ <value>right</value>
+ <value>center</value>
+ <value>justify</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:text-align-last">
+ <choice>
+ <value>start</value>
+ <value>center</value>
+ <value>justify</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:justify-single-word">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:keep-together">
+ <choice>
+ <value>auto</value>
+ <value>always</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:widows">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:orphans">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-elements" combine="interleave">
+ <ref name="style-tab-stops"/>
+</define>
+
+<define name="style-tab-stops">
+ <optional>
+ <element name="style:tab-stops">
+ <zeroOrMore>
+ <ref name="style-tab-stop"/>
+ </zeroOrMore>
+ </element>
+ </optional>
+</define>
+
+<define name="style-tab-stop">
+ <element name="style:tab-stop">
+ <ref name="style-tab-stop-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <attribute name="style:position">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <choice>
+ <optional>
+ <attribute name="style:type" a:defaultValue="left">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <group>
+ <attribute name="style:type">
+ <value>char</value>
+ </attribute>
+ <ref name="style-tab-stop-char-attlist"/>
+ </group>
+ </choice>
+</define>
+<define name="style-tab-stop-char-attlist" combine="interleave">
+ <attribute name="style:char">
+ <ref name="character"/>
+ </attribute>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:leader-type">
+ <ref name="lineType"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:leader-style">
+ <ref name="lineStyle"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:leader-width">
+ <ref name="lineWidth"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:leader-color">
+ <choice>
+ <value>font-color</value>
+ <ref name="color"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:leader-text" a:defaultValue=" ">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-tab-stop-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:leader-text-style">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:tab-stop-distance">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:hyphenation-keep">
+ <choice>
+ <value>auto</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:hyphenation-ladder-count">
+ <choice>
+ <value>no-limit</value>
+ <ref name="positiveInteger"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-elements" combine="interleave">
+ <ref name="style-drop-cap"/>
+</define>
+
+<define name="style-drop-cap">
+ <optional>
+ <element name="style:drop-cap">
+ <ref name="style-drop-cap-attlist"/>
+ <empty/>
+ </element>
+ </optional>
+</define>
+<define name="style-drop-cap-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:length" a:defaultValue="1">
+ <choice>
+ <value>word</value>
+ <ref name="positiveInteger"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drop-cap-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:lines" a:defaultValue="1">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drop-cap-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:distance" a:defaultValue="0cm">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drop-cap-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:register-true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-horizontal-margin-attlist"/>
+</define>
+
+<define name="common-horizontal-margin-attlist">
+ <optional>
+ <attribute name="fo:margin-left">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:margin-right">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:text-indent">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:auto-text-indent">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-vertical-margin-attlist"/>
+</define>
+
+<define name="common-vertical-margin-attlist">
+ <optional>
+ <attribute name="fo:margin-top">
+ <choice>
+ <ref name="nonNegativeLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:margin-bottom">
+ <choice>
+ <ref name="nonNegativeLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-margin-attlist"/>
+</define>
+
+<define name="common-margin-attlist">
+ <optional>
+ <attribute name="fo:margin">
+ <choice>
+ <ref name="nonNegativeLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-break-attlist"/>
+</define>
+
+<define name="common-break-attlist">
+ <optional>
+ <attribute name="fo:break-before">
+ <choice>
+ <value>auto</value>
+ <value>column</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:break-after">
+ <choice>
+ <value>auto</value>
+ <value>column</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+
+<define name="common-background-color-attlist">
+ <optional>
+ <attribute name="fo:background-color">
+ <choice>
+ <value>transparent</value>
+ <ref name="color"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+
+<define name="style-background-image">
+ <optional>
+ <element name="style:background-image">
+ <ref name="style-background-image-attlist"/>
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-binary-data"/>
+ <empty/>
+ </choice>
+ </element>
+ </optional>
+</define>
+<define name="style-background-image-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:repeat" a:defaultValue="repeat">
+ <choice>
+ <value>no-repeat</value>
+ <value>repeat</value>
+ <value>stretch</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-background-image-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:position" a:defaultValue="center">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>top</value>
+ <value>bottom</value>
+ <list>
+ <ref name="horiBackPos"/>
+ <ref name="vertBackPos"/>
+ </list>
+ <list>
+ <ref name="vertBackPos"/>
+ <ref name="horiBackPos"/>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+
+<define name="horiBackPos">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+</define>
+<define name="vertBackPos">
+ <choice>
+ <value>top</value>
+ <value>center</value>
+ <value>bottom</value>
+ </choice>
+</define>
+<define name="style-background-image-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:filter-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-background-image-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:opacity">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-border-attlist"/>
+</define>
+
+<define name="common-border-attlist">
+ <optional>
+ <attribute name="fo:border">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:border-top">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:border-bottom">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:border-left">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:border-right">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-border-line-width-attlist"/>
+</define>
+
+<define name="common-border-line-width-attlist">
+ <optional>
+ <attribute name="style:border-line-width">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:border-line-width-top">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:border-line-width-bottom">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:border-line-width-left">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:border-line-width-right">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="borderWidths">
+ <list>
+ <ref name="positiveLength"/>
+ <ref name="positiveLength"/>
+ <ref name="positiveLength"/>
+ </list>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-padding-attlist"/>
+</define>
+
+<define name="common-padding-attlist">
+ <optional>
+ <attribute name="fo:padding">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:padding-top">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:padding-bottom">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:padding-left">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:padding-right">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-shadow-attlist"/>
+</define>
+
+<define name="common-shadow-attlist">
+ <optional>
+ <attribute name="style:shadow">
+ <ref name="shadowType"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-keep-with-next-attlist"/>
+</define>
+
+<define name="common-keep-with-next-attlist">
+ <optional>
+ <attribute name="fo:keep-with-next">
+ <choice>
+ <value>auto</value>
+ <value>always</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:number-lines" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:line-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-autospace">
+ <choice>
+ <value>none</value>
+ <value>ideograph-alpha</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:punctuation-wrap">
+ <choice>
+ <value>simple</value>
+ <value>hanging</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:line-break">
+ <choice>
+ <value>normal</value>
+ <value>strict</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:vertical-align" a:defaultValue="auto">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>auto</value>
+ <value>baseline</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-writing-mode-attlist"/>
+</define>
+
+<define name="common-writing-mode-attlist">
+ <optional>
+ <attribute name="style:writing-mode">
+ <choice>
+ <value>lr-tb</value>
+ <value>rl-tb</value>
+ <value>tb-rl</value>
+ <value>tb-lr</value>
+ <value>lr</value>
+ <value>rl</value>
+ <value>tb</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:writing-mode-automatic">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:snap-to-layout-grid">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <ref name="common-page-number-attlist"/>
+</define>
+
+<define name="common-page-number-attlist">
+ <optional>
+ <attribute name="style:page-number">
+ <choice> <ref name="positiveInteger"/> <value>auto</value> </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-paragraph-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:background-transparency">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-ruby-properties">
+ <element name="style:ruby-properties">
+ <ref name="style-ruby-properties-content"/>
+ </element>
+</define>
+
+<define name="style-ruby-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-ruby-properties-content-strict">
+ <ref name="style-ruby-properties-attlist"/>
+ <ref name="style-ruby-properties-elements"/>
+</define>
+
+<define name="style-ruby-properties-elements">
+ <empty/>
+</define>
+<define name="style-ruby-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:ruby-position">
+ <choice>
+ <value>above</value>
+ <value>below</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-ruby-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:ruby-align">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>distribute-letter</value>
+ <value>distribute-space</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-section-properties">
+ <element name="style:section-properties">
+ <ref name="style-section-properties-content"/>
+ </element>
+</define>
+
+<define name="style-section-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-section-properties-content-strict">
+ <ref name="style-section-properties-attlist"/>
+ <ref name="style-section-properties-elements"/>
+</define>
+<define name="style-section-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-section-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+<define name="style-section-properties-attlist" combine="interleave">
+ <ref name="common-horizontal-margin-attlist"/>
+</define>
+<define name="style-section-properties-elements" combine="interleave">
+ <ref name="style-columns"/>
+</define>
+
+<define name="style-columns">
+ <optional>
+ <element name="style:columns">
+ <ref name="style-columns-attlist"/>
+ <optional>
+ <ref name="style-column-sep"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-column"/>
+ </zeroOrMore>
+ </element>
+ </optional>
+</define>
+<define name="style-columns-attlist" combine="interleave">
+ <attribute name="fo:column-count">
+ <ref name="positiveInteger"/>
+ </attribute>
+</define>
+<define name="style-columns-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:column-gap">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column">
+ <element name="style:column">
+ <ref name="style-column-attlist"/>
+ </element>
+</define>
+<define name="style-column-attlist" combine="interleave">
+ <attribute name="style:rel-width">
+ <ref name="relativeLength"/>
+ </attribute>
+</define>
+<define name="style-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:start-indent" a:defaultValue="0cm">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:end-indent" a:defaultValue="0cm">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:space-before" a:defaultValue="0cm">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:space-after" a:defaultValue="0cm">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column-sep">
+ <element name="style:column-sep">
+ <ref name="style-column-sep-attlist"/>
+ </element>
+</define>
+<define name="style-column-sep-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:style" a:defaultValue="solid">
+ <choice>
+ <value>none</value>
+ <value>solid</value>
+ <value>dotted</value>
+ <value>dashed</value>
+ <value>dot-dashed</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column-sep-attlist" combine="interleave">
+ <attribute name="style:width">
+ <ref name="length"/>
+ </attribute>
+</define>
+<define name="style-column-sep-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:height" a:defaultValue="100%">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column-sep-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:vertical-align" a:defaultValue="top">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-column-sep-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:color" a:defaultValue="#000000">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-section-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:protect" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-section-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:dont-balance-text-columns">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-section-properties-attlist" combine="interleave">
+ <ref name="common-writing-mode-attlist"/>
+</define>
+<define name="style-section-properties-elements" combine="interleave">
+ <zeroOrMore>
+ <ref name="text-notes-configuration"/>
+ </zeroOrMore>
+</define>
+<define name="style-table-properties">
+ <element name="style:table-properties">
+ <ref name="style-table-properties-content"/>
+ </element>
+</define>
+
+<define name="style-table-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-table-properties-content-strict">
+ <ref name="style-table-properties-attlist"/>
+ <ref name="style-table-properties-elements"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:width">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rel-width">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:align">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>margins</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-horizontal-margin-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-vertical-margin-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-margin-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-page-number-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-break-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-table-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-shadow-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-keep-with-next-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:may-break-between-rows">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:border-model">
+ <choice>
+ <value>collapsing</value>
+ <value>separating</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <ref name="common-writing-mode-attlist"/>
+</define>
+<define name="style-table-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="table:display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-column-properties">
+ <element name="style:table-column-properties">
+ <ref name="style-table-column-properties-content"/>
+ </element>
+</define>
+
+<define name="style-table-column-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-table-column-properties-content-strict">
+ <ref name="style-table-column-properties-attlist"/>
+ <ref name="style-table-column-properties-elements"/>
+</define>
+
+<define name="style-table-column-properties-elements">
+ <empty/>
+</define>
+<define name="style-table-column-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:column-width">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rel-column-width">
+ <ref name="relativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-column-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:use-optimal-column-width">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-column-properties-attlist" combine="interleave">
+ <ref name="common-break-attlist"/>
+</define>
+<define name="style-table-row-properties">
+ <element name="style:table-row-properties">
+ <ref name="style-table-row-properties-content"/>
+ </element>
+</define>
+
+<define name="style-table-row-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-table-row-properties-content-strict">
+ <ref name="style-table-row-properties-attlist"/>
+ <ref name="style-table-row-properties-elements"/>
+</define>
+<define name="style-table-row-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:row-height">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:min-row-height">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-row-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:use-optimal-row-height">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-row-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-table-row-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+<define name="style-table-row-properties-attlist" combine="interleave">
+ <ref name="common-break-attlist"/>
+</define>
+<define name="style-table-row-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:keep-together">
+ <choice>
+ <value>auto</value>
+ <value>always</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties">
+ <element name="style:table-cell-properties">
+ <ref name="style-table-cell-properties-content"/>
+ </element>
+</define>
+
+<define name="style-table-cell-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-table-cell-properties-content-strict">
+ <ref name="style-table-cell-properties-attlist"/>
+ <ref name="style-table-cell-properties-elements"/>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:vertical-align">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>automatic</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:text-align-source">
+ <choice>
+ <value>fix</value>
+ <value>value-type</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <ref name="common-style-direction-attlist"/>
+</define>
+
+<define name="common-style-direction-attlist">
+ <optional>
+ <attribute name="style:direction">
+ <choice>
+ <value>ltr</value>
+ <value>ttb</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:glyph-orientation-vertical">
+ <choice>
+ <value>auto</value>
+ <value>0</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <ref name="common-shadow-attlist"/>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-table-cell-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <ref name="common-border-attlist"/>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:diagonal-tl-br">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:diagonal-tl-br-widths">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:diagonal-bl-tr">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:diagonal-bl-tr-widths">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <ref name="common-border-line-width-attlist"/>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <ref name="common-padding-attlist"/>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:wrap-option">
+ <choice>
+ <value>no-wrap</value>
+ <value>wrap</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <ref name="common-rotation-angle-attlist"/>
+</define>
+
+<define name="common-rotation-angle-attlist">
+ <optional>
+ <attribute name="style:rotation-angle">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:rotation-align">
+ <choice>
+ <value>none</value>
+ <value>bottom</value>
+ <value>top</value>
+ <value>center</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:cell-protect">
+ <choice>
+ <value>none</value>
+ <value>hidden-and-protected</value>
+ <list>
+ <oneOrMore>
+ <choice>
+ <value>protected</value>
+ <value>formula-hidden</value>
+ </choice>
+ </oneOrMore>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:print-content">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:decimal-places">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:repeat-content">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-table-cell-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:shrink-to-fit">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-list-level-properties">
+ <element name="style:list-level-properties">
+ <ref name="style-list-level-properties-content"/>
+ </element>
+</define>
+
+<define name="style-list-level-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-list-level-properties-content-strict">
+ <ref name="style-list-level-properties-attlist"/>
+ <ref name="style-list-level-properties-elements"/>
+</define>
+
+<define name="style-list-level-properties-elements">
+ <empty/>
+</define>
+<define name="style-list-level-properties-attlist" combine="interleave">
+ <ref name="common-text-align"/>
+</define>
+<define name="style-list-level-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:space-before">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-list-level-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:min-label-width">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-list-level-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:min-label-distance">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-list-level-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:font-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-list-level-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:width">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:height">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-list-level-properties-attlist" combine="interleave">
+ <ref name="common-vertical-rel-attlist"/>
+ <ref name="common-vertical-pos-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:stroke">
+ <choice>
+ <value>none</value>
+ <value>dash</value>
+ <value>solid</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:stroke-dash">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:stroke-dash-names">
+ <ref name="styleNameRefs"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:stroke-width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:stroke-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:marker-start">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:marker-end">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:marker-start-width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:marker-end-width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:marker-start-center">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:marker-end-center">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:stroke-opacity">
+ <choice>
+ <data type="double">
+ <param name="minInclusive">0</param>
+ <param name="maxInclusive">1</param>
+ </data>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:stroke-linejoin">
+ <choice>
+ <value>miter</value>
+ <value>round</value>
+ <value>bevel</value>
+ <value>middle</value>
+ <value>none</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill">
+ <choice>
+ <value>none</value>
+ <value>solid</value>
+ <value>bitmap</value>
+ <value>gradient</value>
+ <value>hatch</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:secondary-fill-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill-gradient-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:gradient-step-count">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill-hatch-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill-hatch-solid">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill-image-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:repeat">
+ <choice>
+ <value>no-repeat</value>
+ <value>repeat</value>
+ <value>stretch</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill-image-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-image-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fill-image-ref-point-x">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-image-ref-point-y">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-image-ref-point">
+ <choice>
+ <value>top-left</value>
+ <value>top</value>
+ <value>top-right</value>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>bottom-left</value>
+ <value>bottom</value>
+ <value>bottom-right</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:tile-repeat-offset"/>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:opacity">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:opacity-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-fill-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="svg:fill-rule">
+ <choice>
+ <value>nonzero</value>
+ <value>evenodd</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:symbol-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:animation">
+ <choice>
+ <value>none</value>
+ <value>scroll</value>
+ <value>alternate</value>
+ <value>slide</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:animation-direction">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>up</value>
+ <value>down</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:animation-start-inside">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:animation-stop-inside">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:animation-repeat">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:animation-delay">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="text:animation-steps">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:auto-grow-width">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:auto-grow-height">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fit-to-size">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:fit-to-contour">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:textarea-vertical-align">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>justify</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:textarea-horizontal-align">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>justify</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:wrap-option">
+ <choice>
+ <value>no-wrap</value>
+ <value>wrap</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-elements" combine="interleave">
+ <optional>
+ <ref name="text-list-style"/>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:color-mode">
+ <choice>
+ <value>greyscale</value>
+ <value>mono</value>
+ <value>watermark</value>
+ <value>standard</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:color-inversion">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:luminance">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:contrast">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:gamma">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:red">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:green">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:blue">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:image-opacity">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:shadow">
+ <choice>
+ <value>visible</value>
+ <value>hidden</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:shadow-offset-x">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:shadow-offset-y">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:shadow-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:shadow-opacity">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start-line-spacing-horizontal">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:start-line-spacing-vertical">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:end-line-spacing-horizontal">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end-line-spacing-vertical">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:line-distance">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:guide-overhang">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:guide-distance">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:start-guide">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:end-guide">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:placing">
+ <choice>
+ <value>below</value>
+ <value>above</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:parallel">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:measure-align">
+ <choice>
+ <value>automatic</value>
+ <value>left-outside</value>
+ <value>inside</value>
+ <value>right-outside</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:measure-vertical-align">
+ <choice>
+ <value>automatic</value>
+ <value>above</value>
+ <value>below</value>
+ <value>center</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:unit">
+ <choice>
+ <value>automatic</value>
+ <value>mm</value>
+ <value>cm</value>
+ <value>m</value>
+ <value>km</value>
+ <value>pt</value>
+ <value>pc</value>
+ <value>inch</value>
+ <value>ft</value>
+ <value>mi</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:show-unit">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:decimal-places">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-type">
+ <choice>
+ <value>straight-line</value>
+ <value>angled-line</value>
+ <value>angled-connector-line</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-angle-type">
+ <choice>
+ <value>fixed</value>
+ <value>free</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-angle">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-gap">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-escape-direction">
+ <choice>
+ <value>horizontal</value>
+ <value>vertical</value>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-escape">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-line-length">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:caption-fit-line-length">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:horizontal-segments">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:vertical-segments">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:edge-rounding">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:edge-rounding-mode">
+ <choice>
+ <value>correct</value>
+ <value>attractive</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:back-scale">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:depth">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:backface-culling">
+ <choice>
+ <value>enabled</value>
+ <value>disabled</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:end-angle">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:close-front">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:close-back">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:lighting-mode">
+ <choice>
+ <value>standard</value>
+ <value>double-sided</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:normals-kind">
+ <choice>
+ <value>object</value>
+ <value>flat</value>
+ <value>sphere</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:normals-direction">
+ <choice>
+ <value>normal</value>
+ <value>inverse</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:texture-generation-mode-x">
+ <choice>
+ <value>object</value>
+ <value>parallel</value>
+ <value>sphere</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:texture-generation-mode-y">
+ <choice>
+ <value>object</value>
+ <value>parallel</value>
+ <value>sphere</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:texture-kind">
+ <choice>
+ <value>luminance</value>
+ <value>intensity</value>
+ <value>color</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:texture-filter">
+ <choice>
+ <value>enabled</value>
+ <value>disabled</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:texture-mode">
+ <choice>
+ <value>replace</value>
+ <value>modulate</value>
+ <value>blend</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:ambient-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:emissive-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:specular-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:diffuse-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:shininess">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="dr3d:shadow">
+ <choice>
+ <value>visible</value>
+ <value>hidden</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-draw-rel-size-attlist"/>
+ <optional>
+ <attribute name="fo:min-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:min-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:max-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:max-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-horizontal-margin-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-vertical-margin-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-margin-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:print-content">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:protect">
+ <choice>
+ <value>none</value>
+ <list>
+ <oneOrMore>
+ <choice>
+ <value>content</value>
+ <value>position</value>
+ <value>size</value>
+ </choice>
+ </oneOrMore>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:horizontal-pos">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>from-left</value>
+ <value>inside</value>
+ <value>outside</value>
+ <value>from-inside</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:x">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:horizontal-rel">
+ <choice>
+ <value>page</value>
+ <value>page-content</value>
+ <value>page-start-margin</value>
+ <value>page-end-margin</value>
+ <value>frame</value>
+ <value>frame-content</value>
+ <value>frame-start-margin</value>
+ <value>frame-end-margin</value>
+ <value>paragraph</value>
+ <value>paragraph-content</value>
+ <value>paragraph-start-margin</value>
+ <value>paragraph-end-margin</value>
+ <value>char</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-vertical-pos-attlist"/>
+</define>
+
+<define name="common-vertical-pos-attlist">
+ <optional>
+ <attribute name="style:vertical-pos">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>from-top</value>
+ <value>below</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-vertical-rel-attlist"/>
+</define>
+
+<define name="common-vertical-rel-attlist">
+ <optional>
+ <attribute name="style:vertical-rel">
+ <choice>
+ <value>page</value>
+ <value>page-content</value>
+ <value>frame</value>
+ <value>frame-content</value>
+ <value>paragraph</value>
+ <value>paragraph-content</value>
+ <value>char</value>
+ <value>line</value>
+ <value>baseline</value>
+ <value>text</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-text-anchor-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-border-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-border-line-width-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-padding-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-shadow-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-background-color-attlist"/>
+</define>
+<define name="style-graphic-properties-elements" combine="interleave">
+ <ref name="style-background-image"/>
+</define>
+<define name="style-graphic-properties-elements" combine="interleave">
+ <ref name="style-columns"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:editable">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:wrap">
+ <choice>
+ <value>none</value>
+ <value>left</value>
+ <value>right</value>
+ <value>parallel</value>
+ <value>dynamic</value>
+ <value>run-through</value>
+ <value>biggest</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:wrap-dynamic-threshold">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:number-wrapped-paragraphs">
+ <choice>
+ <value>no-limit</value>
+ <ref name="positiveInteger"/>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:wrap-contour">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:wrap-contour-mode">
+ <choice>
+ <value>full</value>
+ <value>outside</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:run-through">
+ <choice>
+ <value>foreground</value>
+ <value>background</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:flow-with-text">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:overflow-behavior">
+ <choice>
+ <value>clip</value>
+ <value>auto-create-new-frame</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:mirror">
+ <choice>
+ <value>none</value>
+ <value>vertical</value>
+ <ref name="horizontal-mirror"/>
+ <list>
+ <value>vertical</value>
+ <ref name="horizontal-mirror"/>
+ </list>
+ <list>
+ <ref name="horizontal-mirror"/>
+ <value>vertical</value>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+
+<define name="horizontal-mirror">
+ <choice>
+ <value>horizontal</value>
+ <value>horizontal-on-odd</value>
+ <value>horizontal-on-even</value>
+ </choice>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="fo:clip">
+ <!-- The attribute value must match the one XSL's clip -->
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:wrap-influence-on-position"
+ a:defaultValue="iterative">
+ <choice>
+ <value>iterative</value>
+ <value>once-concurrent</value>
+ <value>once-successive</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <ref name="common-writing-mode-attlist"/>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:frame-display-scrollbar">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:frame-display-border">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:frame-margin-horizontal">
+ <ref name="nonNegativePixelLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:frame-margin-vertical">
+ <ref name="nonNegativePixelLength"/>
+ </attribute>
+ </optional>
+</define>
+
+<define name="nonNegativePixelLength">
+ <data type="string">
+ <param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)(px)</param>
+ </data>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:visible-area-left">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:visible-area-top">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:visible-area-width">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:visible-area-height">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-graphic-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="draw:ole-draw-aspect">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties">
+ <element name="style:chart-properties">
+ <ref name="style-chart-properties-content"/>
+ </element>
+</define>
+
+<define name="style-chart-properties-content">
+ <ref name="style-properties-content"/>
+</define>
+
+<define name="style-chart-properties-content-strict">
+ <ref name="style-chart-properties-attlist"/>
+ <ref name="style-chart-properties-elements"/>
+</define>
+
+<define name="style-chart-properties-elements">
+ <empty/>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:scale-text" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:three-dimensional">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:deep">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <choice>
+ <attribute name="chart:symbol-type">
+ <value>none</value>
+ </attribute>
+ <attribute name="chart:symbol-type">
+ <value>automatic</value>
+ </attribute>
+ <group>
+ <attribute name="chart:symbol-type">
+ <value>named-symbol</value>
+ </attribute>
+ <attribute name="chart:symbol-name">
+ <choice>
+ <value>square</value>
+ <value>diamond</value>
+ <value>arrow-down</value>
+ <value>arrow-up</value>
+ <value>arrow-right</value>
+ <value>arrow-left</value>
+ <value>bow-tie</value>
+ <value>hourglass</value>
+ <value>circle</value>
+ <value>star</value>
+ <value>x</value>
+ <value>plus</value>
+ <value>asterisk</value>
+ <value>horizontal-bar</value>
+ <value>vertical-bar</value>
+ </choice>
+ </attribute>
+ </group>
+ <group>
+ <attribute name="chart:symbol-type">
+ <value>image</value>
+ </attribute>
+ <element name="chart:symbol-image">
+ <attribute name="xlink:href">
+ <ref name="anyURI"/>
+ </attribute>
+ </element>
+ </group>
+ <empty/>
+ </choice>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:symbol-width">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:symbol-height">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:vertical" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:connect-bars" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:gap-width">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:overlap">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:japanese-candle-stick"
+ a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:interpolation" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <value>cubic-spline</value>
+ <value>b-spline</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:spline-order" a:defaultValue="2">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:spline-resolution" a:defaultValue="20">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:pie-offset" a:defaultValue="0">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:lines" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:solid-type" a:defaultValue="cuboid">
+ <choice>
+ <value>cuboid</value>
+ <value>cylinder</value>
+ <value>cone</value>
+ <value>pyramid</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:stacked" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:percentage" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:link-data-style-to-source">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:visible">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:logarithmic">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:maximum">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:minimum">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:origin">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:interval-major">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:interval-minor-divisor">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:tick-marks-major-inner">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:tick-marks-major-outer">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:tick-marks-minor-inner">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:tick-marks-minor-outer">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:display-label">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:text-overlap">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:line-break">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:label-arrangement"
+ a:defaultValue="side-by-side">
+ <choice>
+ <value>side-by-side</value>
+ <value>stagger-even</value>
+ <value>stagger-odd</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <ref name="common-style-direction-attlist"/>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <ref name="common-rotation-angle-attlist"/>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:data-label-number">
+ <choice>
+ <value>none</value>
+ <value>value</value>
+ <value>percentage</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:data-label-text">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:data-label-symbol">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:mean-value">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:error-category" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <value>variance</value>
+ <value>standard-deviation</value>
+ <value>percentage</value>
+ <value>error-margin</value>
+ <value>constant</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:error-percentage">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:error-margin">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:error-lower-limit">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:error-upper-limit">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:error-upper-indicator">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:error-lower-indicator">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:series-source" a:defaultValue="columns">
+ <choice>
+ <value>columns</value>
+ <value>rows</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-chart-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="chart:regression-type" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <value>linear</value>
+ <value>logarithmic</value>
+ <value>exponential</value>
+ <value>power</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="presentation:transition-type">
+ <choice>
+ <value>manual</value>
+ <value>automatic</value>
+ <value>semi-automatic</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="presentation:transition-style">
+ <choice>
+ <value>none</value>
+ <value>fade-from-left</value>
+ <value>fade-from-top</value>
+ <value>fade-from-right</value>
+ <value>fade-from-bottom</value>
+ <value>fade-from-upperleft</value>
+ <value>fade-from-upperright</value>
+ <value>fade-from-lowerleft</value>
+ <value>fade-from-lowerright</value>
+ <value>move-from-left</value>
+ <value>move-from-top</value>
+ <value>move-from-right</value>
+ <value>move-from-bottom</value>
+ <value>move-from-upperleft</value>
+ <value>move-from-upperright</value>
+ <value>move-from-lowerleft</value>
+ <value>move-from-lowerright</value>
+ <value>uncover-to-left</value>
+ <value>uncover-to-top</value>
+ <value>uncover-to-right</value>
+ <value>uncover-to-bottom</value>
+ <value>uncover-to-upperleft</value>
+ <value>uncover-to-upperright</value>
+ <value>uncover-to-lowerleft</value>
+ <value>uncover-to-lowerright</value>
+ <value>fade-to-center</value>
+ <value>fade-from-center</value>
+ <value>vertical-stripes</value>
+ <value>horizontal-stripes</value>
+ <value>clockwise</value>
+ <value>counterclockwise</value>
+ <value>open-vertical</value>
+ <value>open-horizontal</value>
+ <value>close-vertical</value>
+ <value>close-horizontal</value>
+ <value>wavyline-from-left</value>
+ <value>wavyline-from-top</value>
+ <value>wavyline-from-right</value>
+ <value>wavyline-from-bottom</value>
+ <value>spiralin-left</value>
+ <value>spiralin-right</value>
+ <value>spiralout-left</value>
+ <value>spiralout-right</value>
+ <value>roll-from-top</value>
+ <value>roll-from-left</value>
+ <value>roll-from-right</value>
+ <value>roll-from-bottom</value>
+ <value>stretch-from-left</value>
+ <value>stretch-from-top</value>
+ <value>stretch-from-right</value>
+ <value>stretch-from-bottom</value>
+
+ <value>vertical-lines</value>
+ <value>horizontal-lines</value>
+ <value>dissolve</value>
+ <value>random</value>
+ <value>vertical-checkerboard</value>
+ <value>horizontal-checkerboard</value>
+ <value>interlocking-horizontal-left</value>
+ <value>interlocking-horizontal-right</value>
+ <value>interlocking-vertical-top</value>
+ <value>interlocking-vertical-bottom</value>
+ <value>fly-away</value>
+ <value>open</value>
+ <value>close</value>
+ <value>melt</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="presentation:transition-speed">
+ <ref name="presentationSpeeds"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist " combine="interleave">
+ <optional>
+ <attribute name="smil:type">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:subtype">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:direction" a:defaultValue="forward">
+ <choice>
+ <value>forward</value>
+ <value>reverse</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="smil:fadeColor">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="presentation:duration">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="presentation:visibility">
+ <choice>
+ <value>visible</value>
+ <value>hidden</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-elements"
+ combine="interleave">
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="draw:background-size">
+ <choice>
+ <value>full</value>
+ <value>border</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="presentation:background-objects-visible">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist"
+ combine="interleave">
+ <optional>
+ <attribute name="presentation:background-visible">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:display-header">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:display-footer">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:display-page-number">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="style-drawing-page-properties-attlist" combine="interleave">
+ <optional>
+ <attribute name="presentation:display-date-time">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="string">
+ <data type="string"/>
+</define>
+<define name="date">
+ <data type="date"/>
+</define>
+<define name="time">
+ <data type="time"/>
+</define>
+<define name="dateTime">
+ <data type="dateTime"/>
+</define>
+<define name="duration">
+ <data type="duration"/>
+</define>
+<define name="integer">
+ <data type="integer"/>
+</define>
+<define name="nonNegativeInteger">
+ <data type="nonNegativeInteger"/>
+</define>
+<define name="positiveInteger">
+ <data type="positiveInteger"/>
+</define>
+<define name="double">
+ <data type="double"/>
+</define>
+<define name="anyURI">
+ <data type="anyURI"/>
+</define>
+<define name="base64Binary">
+ <data type="base64Binary"/>
+</define>
+<define name="ID">
+ <data type="ID"/>
+</define>
+<define name="IDREF">
+ <data type="IDREF"/>
+</define>
+<define name="IDREFS">
+ <data type="IDREFS"/>
+</define>
+<define name="boolean">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+</define>
+<define name="dateOrDateTime">
+ <choice>
+ <data type="date"/>
+ <data type="dateTime"/>
+ </choice>
+</define>
+<define name="timeOrDateTime">
+ <choice>
+ <data type="time"/>
+ <data type="dateTime"/>
+ </choice>
+</define>
+<define name="language">
+ <data type="language"/>
+</define>
+<define name="countryCode">
+ <data type="token">
+ <param name="pattern">[A-Za-z0-9]{1,8}</param>
+ </data>
+</define>
+<define name="languageCode">
+ <data type="token">
+ <param name="pattern">[A-Za-z]{1,8}</param>
+ </data>
+</define>
+<define name="character">
+ <data type="string">
+ <param name="length">1</param>
+ </data>
+</define>
+<define name="length">
+ <data type="string">
+ <param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
+
+ </data>
+</define>
+<define name="nonNegativeLength">
+ <data type="string">
+ <param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
+
+ </data>
+</define>
+<define name="positiveLength">
+ <data type="string">
+ <param name="pattern">([0-9]*[1-9][0-9]*(\.[0-9]*)?|0+\.[0-9]*[1-9][0-9]*|\.[0-9]*[1-9][0-9]*)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
+
+ </data>
+</define>
+<define name="percent">
+ <data type="string">
+ <param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)%</param>
+ </data>
+</define>
+<define name="relativeLength">
+ <data type="string">
+ <param name="pattern">[0-9]+\*</param>
+ </data>
+</define>
+<define name="coordinate">
+ <ref name="length"/>
+</define>
+<define name="distance">
+ <ref name="length"/>
+</define>
+<define name="color">
+ <data type="string">
+ <param name="pattern">#[0-9a-fA-F]{6}</param>
+ </data>
+</define>
+<define name="styleName">
+ <data type="NCName"/>
+</define>
+<define name="styleNameRef">
+ <choice>
+ <data type="NCName"/>
+ <empty/>
+ </choice>
+</define>
+<define name="styleNameRefs">
+ <list>
+ <zeroOrMore>
+ <data type="NCName"/>
+ </zeroOrMore>
+ </list>
+</define>
+<define name="variableName">
+ <data type="string"/>
+</define>
+<define name="formula">
+ <!-- A formula should start with a namespace prefix, -->
+ <!-- but has no restrictions-->
+ <data type="string"/>
+</define>
+
+<define name="targetFrameName">
+ <choice>
+ <value>_self</value>
+ <value>_blank</value>
+ <value>_parent</value>
+ <value>_top</value>
+ <ref name="string"/>
+ </choice>
+</define>
+
+<define name="valueType">
+ <choice>
+ <value>float</value>
+ <value>time</value>
+ <value>date</value>
+ <value>percentage</value>
+ <value>currency</value>
+ <value>boolean</value>
+ <value>string</value>
+ </choice>
+</define>
+
+<define name="points">
+ <data type="string">
+ <param name="pattern">-?[0-9]+,-?[0-9]+([ ]+-?[0-9]+,-?[0-9]+)*</param>
+ </data>
+</define>
+<define name="pathData">
+ <data type="string"/>
+</define>
+
+<define name="vector3D">
+ <data type="string">
+ <param name="pattern">\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)([ ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)){2}[ ]*\)</param>
+
+ </data>
+</define>
+
+<define name="namespacedToken">
+ <data type="string">
+ <param name="pattern">[0-9a-zA-Z_]+:[0-9a-zA-Z._\-]+</param>
+ </data>
+</define>
+<define name="anyAttListOrElements">
+ <zeroOrMore>
+ <attribute>
+ <anyName/>
+ <text/>
+ </attribute>
+ </zeroOrMore>
+ <ref name="anyElements"/>
+</define>
+<define name="anyElements">
+ <zeroOrMore>
+ <element>
+ <anyName/>
+ <mixed>
+ <ref name="anyAttListOrElements"/>
+ </mixed>
+ </element>
+ </zeroOrMore>
+</define>
+</grammar>
diff --git a/schema/odf1.1/OpenDocument-strict-schema-v1.1.rng b/schema/odf1.1/OpenDocument-strict-schema-v1.1.rng
new file mode 100644
index 000000000000..e77fe4ba6efd
--- /dev/null
+++ b/schema/odf1.1/OpenDocument-strict-schema-v1.1.rng
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ OASIS OpenDocument v1.1
+ OASIS Standard, 1 Feb 2007
+ Strict Relax-NG Schema
+
+ $Id$
+
+ © 2002-2007 OASIS Open
+ © 1999-2007 Sun Microsystems, Inc.
+-->
+
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="OpenDocument-schema-v1.1.rng">
+ <define name="office-meta-content">
+ <ref name="office-meta-content-strict"/>
+ </define>
+ <define name="style-page-layout-properties-content">
+ <ref name="style-page-layout-properties-content-strict"/>
+ </define>
+ <define name="style-header-footer-properties-content">
+ <ref name="style-header-footer-properties-content-strict"/>
+ </define>
+ <define name="style-drawing-page-properties-content">
+ <ref name="style-drawing-page-properties-content-strict"/>
+ </define>
+ <define name="style-text-properties-content">
+ <ref name="style-text-properties-content-strict"/>
+ </define>
+ <define name="style-paragraph-properties-content">
+ <ref name="style-paragraph-properties-content-strict"/>
+ </define>
+ <define name="style-ruby-properties-content">
+ <ref name="style-ruby-properties-content-strict"/>
+ </define>
+ <define name="style-section-properties-content">
+ <ref name="style-section-properties-content-strict"/>
+ </define>
+ <define name="style-list-level-properties-content">
+ <ref name="style-list-level-properties-content-strict"/>
+ </define>
+ <define name="style-table-properties-content">
+ <ref name="style-table-properties-content-strict"/>
+ </define>
+ <define name="style-table-column-properties-content">
+ <ref name="style-table-column-properties-content-strict"/>
+ </define>
+ <define name="style-table-row-properties-content">
+ <ref name="style-table-row-properties-content-strict"/>
+ </define>
+ <define name="style-table-cell-properties-content">
+ <ref name="style-table-cell-properties-content-strict"/>
+ </define>
+ <define name="style-graphic-properties-content">
+ <ref name="style-graphic-properties-content-strict"/>
+ </define>
+ <define name="style-chart-properties-content">
+ <ref name="style-chart-properties-content-strict"/>
+ </define>
+ </include>
+</grammar>
diff --git a/schema/odf1.2/OpenDocument-v1.2-os-dsig-schema.rng b/schema/odf1.2/OpenDocument-v1.2-os-dsig-schema.rng
new file mode 100644
index 000000000000..baab69981e8d
--- /dev/null
+++ b/schema/odf1.2/OpenDocument-v1.2-os-dsig-schema.rng
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Open Document Format for Office Applications (OpenDocument) Version 1.2
+ OASIS Standard, 29 September 2011
+ Digital Signatures Relax-NG Schema
+ Source: http://docs.oasis-open.org/office/v1.2/os/
+ Copyright (c) OASIS Open 2002-2011. All Rights Reserved.
+
+ All capitalized terms in the following text have the meanings assigned to them
+ in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The
+ full Policy may be found at the OASIS website.
+
+ This document and translations of it may be copied and furnished to others, and
+ derivative works that comment on or otherwise explain it or assist in its
+ implementation may be prepared, copied, published, and distributed, in whole or
+ in part, without restriction of any kind, provided that the above copyright
+ notice and this section are included on all such copies and derivative works.
+ However, this document itself may not be modified in any way, including by
+ removing the copyright notice or references to OASIS, except as needed for the
+ purpose of developing any document or deliverable produced by an OASIS
+ Technical Committee (in which case the rules applicable to copyrights, as set
+ forth in the OASIS IPR Policy, must be followed) or as required to translate it
+ into languages other than English.
+
+ The limited permissions granted above are perpetual and will not be revoked by
+ OASIS or its successors or assigns.
+
+ This document and the information contained herein is provided on an "AS IS"
+ basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+ LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
+ INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
+ FITNESS FOR A PARTICULAR PURPOSE.
+-->
+
+<grammar
+ xmlns="http://relaxng.org/ns/structure/1.0"
+
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
+
+ xmlns:dsig="urn:oasis:names:tc:opendocument:xmlns:digitalsignature:1.0"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+>
+<start>
+ <choice>
+ <ref name="dsig-document-signatures"/>
+ </choice>
+</start>
+<define name="dsig-document-signatures">
+ <element name="dsig:document-signatures">
+ <ref name="dsig-document-signatures-attlist"/>
+ <oneOrMore>
+ <ref name="ds-signature"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="dsig-document-signatures-attlist">
+ <attribute name="dsig:version">
+ <value>1.2</value>
+ </attribute>
+</define>
+<define name="ds-signature">
+ <element name="ds:Signature">
+ <!-- The permitted content of this element is the permitted -->
+ <!-- content of the Signature element defined by W3C XML -->
+ <!-- Signature Syntax and Processing (Second Edition). -->
+ <!-- See OpenDocument v1.2 part 3, section 4.3. -->
+ <ref name="dsMarkup"/>
+ </element>
+</define>
+<define name="dsMarkup">
+ <zeroOrMore>
+ <choice>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <text/>
+ <element>
+ <anyName/>
+ <ref name="dsMarkup"/>
+ </element>
+ </choice>
+ </zeroOrMore>
+</define>
+</grammar>
diff --git a/schema/odf1.2/OpenDocument-v1.2-os-manifest-schema.rng b/schema/odf1.2/OpenDocument-v1.2-os-manifest-schema.rng
new file mode 100644
index 000000000000..af13a26c71ad
--- /dev/null
+++ b/schema/odf1.2/OpenDocument-v1.2-os-manifest-schema.rng
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Open Document Format for Office Applications (OpenDocument) Version 1.2
+ OASIS Standard, 29 September 2011
+ Manifest Relax-NG Schema
+ Source: http://docs.oasis-open.org/office/v1.2/os/
+ Copyright (c) OASIS Open 2002-2011. All Rights Reserved.
+
+ All capitalized terms in the following text have the meanings assigned to them
+ in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The
+ full Policy may be found at the OASIS website.
+
+ This document and translations of it may be copied and furnished to others, and
+ derivative works that comment on or otherwise explain it or assist in its
+ implementation may be prepared, copied, published, and distributed, in whole or
+ in part, without restriction of any kind, provided that the above copyright
+ notice and this section are included on all such copies and derivative works.
+ However, this document itself may not be modified in any way, including by
+ removing the copyright notice or references to OASIS, except as needed for the
+ purpose of developing any document or deliverable produced by an OASIS
+ Technical Committee (in which case the rules applicable to copyrights, as set
+ forth in the OASIS IPR Policy, must be followed) or as required to translate it
+ into languages other than English.
+
+ The limited permissions granted above are perpetual and will not be revoked by
+ OASIS or its successors or assigns.
+
+ This document and the information contained herein is provided on an "AS IS"
+ basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+ LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
+ INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
+ FITNESS FOR A PARTICULAR PURPOSE.
+-->
+<grammar
+ xmlns="http://relaxng.org/ns/structure/1.0"
+
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
+
+ xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"
+>
+<start>
+ <choice>
+ <ref name="manifest"/>
+ </choice>
+</start>
+<define name="manifest">
+ <element name="manifest:manifest">
+ <ref name="manifest-attlist"/>
+ <oneOrMore>
+ <ref name="file-entry"/>
+ </oneOrMore>
+ </element>
+</define>
+<define name="manifest-attlist">
+ <attribute name="manifest:version">
+ <value>1.2</value>
+ </attribute>
+</define>
+<define name="file-entry">
+ <element name="manifest:file-entry">
+ <ref name="file-entry-attlist"/>
+ <optional>
+ <ref name="encryption-data"/>
+ </optional>
+ </element>
+</define>
+<define name="file-entry-attlist">
+ <interleave>
+ <attribute name="manifest:full-path">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="manifest:size">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <attribute name="manifest:media-type">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="manifest:preferred-view-mode">
+ <choice>
+ <value>edit</value>
+ <value>presentation-slide-show</value>
+ <value>read-only</value>
+ <ref name="namespacedToken"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="manifest:version">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+</define>
+
+<define name="encryption-data">
+ <element name="manifest:encryption-data">
+ <ref name="encryption-data-attlist"/>
+ <ref name="algorithm"/>
+ <optional>
+ <ref name="start-key-generation"/>
+ </optional>
+ <ref name="key-derivation"/>
+ </element>
+</define>
+<define name="encryption-data-attlist">
+ <interleave>
+ <attribute name="manifest:checksum-type">
+ <choice>
+ <value>SHA1/1K</value>
+ <ref name="anyURI"/>
+ </choice>
+ </attribute>
+ <attribute name="manifest:checksum">
+ <ref name="base64Binary"/>
+ </attribute>
+ </interleave>
+</define>
+<define name="algorithm">
+ <element name="manifest:algorithm">
+ <ref name="algorithm-attlist"/>
+ <ref name="anyElements"/>
+ </element>
+</define>
+<define name="algorithm-attlist">
+ <interleave>
+ <attribute name="manifest:algorithm-name">
+ <choice>
+ <value>Blowfish CFB</value>
+ <ref name="anyURI"/>
+ </choice>
+ </attribute>
+ <attribute name="manifest:initialisation-vector">
+ <ref name="base64Binary"/>
+ </attribute>
+ </interleave>
+</define>
+<define name="anyAttListOrElements">
+ <zeroOrMore>
+ <attribute>
+ <anyName/>
+ <text/>
+ </attribute>
+ </zeroOrMore>
+ <ref name="anyElements"/>
+</define>
+<define name="anyElements">
+ <zeroOrMore>
+ <element>
+ <anyName/>
+ <mixed>
+ <ref name="anyAttListOrElements"/>
+ </mixed>
+ </element>
+ </zeroOrMore>
+</define>
+<define name="key-derivation">
+ <element name="manifest:key-derivation">
+ <ref name="key-derivation-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="key-derivation-attlist">
+ <interleave>
+ <attribute name="manifest:key-derivation-name">
+ <choice>
+ <value>PBKDF2</value>
+ <ref name="anyURI"/>
+ </choice>
+ </attribute>
+ <attribute name="manifest:salt">
+ <ref name="base64Binary"/>
+ </attribute>
+ <attribute name="manifest:iteration-count">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ <optional>
+ <attribute name="manifest:key-size">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+</define>
+<define name="start-key-generation">
+ <element name="manifest:start-key-generation">
+ <ref name="start-key-generation-attlist"/>
+ <empty/>
+ </element>
+</define>
+<define name="start-key-generation-attlist">
+ <interleave>
+ <attribute name="manifest:start-key-generation-name">
+ <choice>
+ <value>SHA1</value>
+ <ref name="anyURI"/>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="manifest:key-size">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+</define>
+<define name="base64Binary">
+ <data type="base64Binary"/>
+</define>
+<define name="namespacedToken">
+ <data type="QName">
+ <param name="pattern">[^:]+:[^:]+</param>
+ </data>
+</define>
+<define name="nonNegativeInteger">
+ <data type="nonNegativeInteger"/>
+</define>
+<define name="string">
+ <data type="string"/>
+</define>
+<define name="anyURI">
+ <data type="anyURI"/>
+</define>
+</grammar>
diff --git a/schema/odf1.2/OpenDocument-v1.2-os-metadata.owl b/schema/odf1.2/OpenDocument-v1.2-os-metadata.owl
new file mode 100644
index 000000000000..a1eff11e4f18
--- /dev/null
+++ b/schema/odf1.2/OpenDocument-v1.2-os-metadata.owl
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Open Document Format for Office Applications (OpenDocument) Version 1.2
+ OASIS Standard, 29 September 2011
+ OWL Metadata Manifest Description
+ Source: http://docs.oasis-open.org/office/v1.2/os/
+ Copyright (c) OASIS Open 2002-2011. All Rights Reserved.
+
+ All capitalized terms in the following text have the meanings assigned to them
+ in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The
+ full Policy may be found at the OASIS website.
+
+ This document and translations of it may be copied and furnished to others, and
+ derivative works that comment on or otherwise explain it or assist in its
+ implementation may be prepared, copied, published, and distributed, in whole or
+ in part, without restriction of any kind, provided that the above copyright
+ notice and this section are included on all such copies and derivative works.
+ However, this document itself may not be modified in any way, including by
+ removing the copyright notice or references to OASIS, except as needed for the
+ purpose of developing any document or deliverable produced by an OASIS
+ Technical Committee (in which case the rules applicable to copyrights, as set
+ forth in the OASIS IPR Policy, must be followed) or as required to translate it
+ into languages other than English.
+
+ The limited permissions granted above are perpetual and will not be revoked by
+ OASIS or its successors or assigns.
+
+ This document and the information contained herein is provided on an "AS IS"
+ basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+ LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
+ INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
+ FITNESS FOR A PARTICULAR PURPOSE.
+-->
+
+<rdf:RDF
+ xmlns="http://www.w3.org/2000/01/rdf-schema#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:owl="http://www.w3.org/2002/07/owl#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:pkg="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#"
+ xmlns:odf="http://docs.oasis-open.org/ns/office/1.2/meta/odf#">
+
+<owl:Ontology rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#">
+ <owl:imports rdf:resource="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-package-metadata.owl" />
+ <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+ <dc:title xml:lang="en">Open Document Schema Metadata Manifest Ontology</dc:title>
+ <label xml:lang="en">ODF Schema Metadata Manifest</label>
+</owl:Ontology>
+
+<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#ContentFile">
+ <label xml:lang="en">The OpenDocument Content File</label>
+ <comment xml:lang="en">The unique content.xml from the root path of the document</comment>
+ <subClassOf rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File"/>
+</owl:Class>
+
+<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#StylesFile">
+ <label xml:lang="en">The OpenDocument Styles File</label>
+ <comment xml:lang="en">The unique styles.xml from the root path of the document</comment>
+ <subClassOf rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File"/>
+</owl:Class>
+
+<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#Element">
+ <label xml:lang="en">OpenDocument Package ODF XML Element</label>
+ <subClassOf rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Element"/>
+</owl:Class>
+
+<owl:Class rdf:about="urn:oasis:names:tc:opendocument:xmlns:text:1.0meta-field">
+ <label xml:lang="en">OpenDocument Meta field Element</label>
+ <subClassOf rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/odf#Element"/>
+</owl:Class>
+
+<owl:DatatypeProperty rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#prefix">
+ <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
+ <domain rdf:resource="urn:oasis:names:tc:opendocument:xmlns:text:1.0meta-field"/>
+ <range rdf:resource="http://www.w3.org/2001/XMLSchema-datatypes#string"/>
+ <label xml:lang="en">has prefix</label>
+</owl:DatatypeProperty>
+
+<owl:DatatypeProperty rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#suffix">
+ <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
+ <domain rdf:resource="urn:oasis:names:tc:opendocument:xmlns:text:1.0meta-field"/>
+ <range rdf:resource="http://www.w3.org/2001/XMLSchema-datatypes#string"/>
+ <label xml:lang="en">has suffix</label>
+</owl:DatatypeProperty>
+</rdf:RDF>
+
diff --git a/schema/odf1.2/OpenDocument-v1.2-os-package-metadata.owl b/schema/odf1.2/OpenDocument-v1.2-os-package-metadata.owl
new file mode 100644
index 000000000000..24169558d0f4
--- /dev/null
+++ b/schema/odf1.2/OpenDocument-v1.2-os-package-metadata.owl
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Open Document Format for Office Applications (OpenDocument) Version 1.2
+ OASIS Standard, 29 September 2011
+ OWL Metadata Manifest Description
+ Source: http://docs.oasis-open.org/office/v1.2/os/
+ Copyright (c) OASIS Open 2002-2011. All Rights Reserved.
+
+ All capitalized terms in the following text have the meanings assigned to them
+ in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The
+ full Policy may be found at the OASIS website.
+
+ This document and translations of it may be copied and furnished to others, and
+ derivative works that comment on or otherwise explain it or assist in its
+ implementation may be prepared, copied, published, and distributed, in whole or
+ in part, without restriction of any kind, provided that the above copyright
+ notice and this section are included on all such copies and derivative works.
+ However, this document itself may not be modified in any way, including by
+ removing the copyright notice or references to OASIS, except as needed for the
+ purpose of developing any document or deliverable produced by an OASIS
+ Technical Committee (in which case the rules applicable to copyrights, as set
+ forth in the OASIS IPR Policy, must be followed) or as required to translate it
+ into languages other than English.
+
+ The limited permissions granted above are perpetual and will not be revoked by
+ OASIS or its successors or assigns.
+
+ This document and the information contained herein is provided on an "AS IS"
+ basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+ LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
+ INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
+ FITNESS FOR A PARTICULAR PURPOSE.
+-->
+
+<rdf:RDF
+ xmlns="http://www.w3.org/2000/01/rdf-schema#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:owl="http://www.w3.org/2002/07/owl#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:pkg="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#">
+
+<owl:Ontology rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#">
+ <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+ <dc:title xml:lang="en">Open Document Package Metadata Manifest Ontology</dc:title>
+ <label xml:lang="en">ODF Package Metadata Manifest</label>
+</owl:Ontology>
+
+<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Document">
+ <label xml:lang="en">OpenDocument Document</label>
+</owl:Class>
+
+<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File">
+ <label xml:lang="en"> OpenDocument Document Package File</label>
+</owl:Class>
+
+<owl:ObjectProperty rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#hasPart">
+ <domain rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Document"/>
+ <range rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File"/>
+ <label xml:lang="en">contains</label>
+ <comment xml:lang="en">Related to dcterms:hasPart of the Dublin Core Metadata Initiative</comment>
+</owl:ObjectProperty>
+
+<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#MetadataFile">
+ <label xml:lang="en">An OpenDocument Metadata File</label>
+ <comment xml:lang="en">Used for any metadata file in the document</comment>
+ <subClassOf rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File"/>
+</owl:Class>
+
+<owl:DatatypeProperty rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#mimeType">
+ <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
+ <domain rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File"/>
+ <range rdf:resource="http://www.w3.org/2001/XMLSchema-datatypes#string"/>
+ <label xml:lang="en">the MIME type</label>
+ <comment xml:lang="en">A string representing the MIME media type of a file (see RFC4288).</comment>
+</owl:DatatypeProperty>
+
+<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Element">
+ <label xml:lang="en">OpenDocument Package XML Element</label>
+</owl:Class>
+
+</rdf:RDF>
diff --git a/schema/odf1.2/OpenDocument-v1.2-os-schema.rng b/schema/odf1.2/OpenDocument-v1.2-os-schema.rng
new file mode 100644
index 000000000000..538c335b3bf6
--- /dev/null
+++ b/schema/odf1.2/OpenDocument-v1.2-os-schema.rng
@@ -0,0 +1,18127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Open Document Format for Office Applications (OpenDocument) Version 1.2
+ OASIS Standard, 29 September 2011
+ Relax-NG Schema
+ Source: http://docs.oasis-open.org/office/v1.2/os/
+ Copyright (c) OASIS Open 2002-2011. All Rights Reserved.
+
+ All capitalized terms in the following text have the meanings assigned to them
+ in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The
+ full Policy may be found at the OASIS website.
+
+ This document and translations of it may be copied and furnished to others, and
+ derivative works that comment on or otherwise explain it or assist in its
+ implementation may be prepared, copied, published, and distributed, in whole or
+ in part, without restriction of any kind, provided that the above copyright
+ notice and this section are included on all such copies and derivative works.
+ However, this document itself may not be modified in any way, including by
+ removing the copyright notice or references to OASIS, except as needed for the
+ purpose of developing any document or deliverable produced by an OASIS
+ Technical Committee (in which case the rules applicable to copyrights, as set
+ forth in the OASIS IPR Policy, must be followed) or as required to translate it
+ into languages other than English.
+
+ The limited permissions granted above are perpetual and will not be revoked by
+ OASIS or its successors or assigns.
+
+ This document and the information contained herein is provided on an "AS IS"
+ basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+ LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
+ INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
+ FITNESS FOR A PARTICULAR PURPOSE.
+-->
+<grammar
+ xmlns="http://relaxng.org/ns/structure/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:db="urn:oasis:names:tc:opendocument:xmlns:database: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:grddl="http://www.w3.org/2003/g/data-view#"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml"
+
+ 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">
+ <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">
+ <interleave>
+ <attribute name="office:version">
+ <value>1.2</value>
+ </attribute>
+ <optional>
+ <attribute name="grddl:transformation">
+ <list>
+ <zeroOrMore>
+ <ref name="anyIRI"/>
+ </zeroOrMore>
+ </list>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="office-document-attrs">
+ <attribute name="office:mimetype">
+ <ref name="string"/>
+ </attribute>
+ </define>
+ <define name="office-meta">
+ <optional>
+ <element name="office:meta">
+ <ref name="office-meta-content-strict"/>
+ </element>
+ </optional>
+ </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">
+ <choice>
+ <element name="office:text">
+ <ref name="office-text-attlist"/>
+ <ref name="office-text-content-prelude"/>
+ <ref name="office-text-content-main"/>
+ <ref name="office-text-content-epilogue"/>
+ </element>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <ref name="office-database"/>
+ </choice>
+ </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="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="text-section"/>
+ <ref name="text-soft-page-break"/>
+ <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">
+ <interleave>
+ <optional>
+ <attribute name="text:global">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-soft-page-breaks">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </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-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-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-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-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">
+ <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">
+ <interleave>
+ <attribute name="config:name">
+ <ref name="string"/>
+ </attribute>
+ <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>
+ </interleave>
+ </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">
+ <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">
+ <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">
+ <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="style-default-page-layout"/>
+ </optional>
+ <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>
+ <zeroOrMore>
+ <ref name="table-table-template"/>
+ </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">
+ <choice>
+ <element name="meta:generator">
+ <ref name="string"/>
+ </element>
+ <element name="dc:title">
+ <ref name="string"/>
+ </element>
+ <element name="dc:description">
+ <ref name="string"/>
+ </element>
+ <element name="dc:subject">
+ <ref name="string"/>
+ </element>
+ <element name="meta:keyword">
+ <ref name="string"/>
+ </element>
+ <element name="meta:initial-creator">
+ <ref name="string"/>
+ </element>
+ <ref name="dc-creator"/>
+ <element name="meta:printed-by">
+ <ref name="string"/>
+ </element>
+ <element name="meta:creation-date">
+ <ref name="dateTime"/>
+ </element>
+ <ref name="dc-date"/>
+ <element name="meta:print-date">
+ <ref name="dateTime"/>
+ </element>
+ <element name="meta:template">
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:actuate">
+ <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>
+ <element name="meta:auto-reload">
+ <optional>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:show">
+ <value>replace</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate">
+ <value>onLoad</value>
+ </attribute>
+ </optional>
+ </optional>
+ <optional>
+ <attribute name="meta:delay">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+ </element>
+ <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>
+ <element name="dc:language">
+ <ref name="language"/>
+ </element>
+ <element name="meta:editing-cycles">
+ <ref name="nonNegativeInteger"/>
+ </element>
+ <element name="meta:editing-duration">
+ <ref name="duration"/>
+ </element>
+ <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: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="meta:frame-count">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="meta:sentence-count">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="meta:syllable-count">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="meta: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>
+ </element>
+ <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>
+ </choice>
+ </define>
+ <define name="dc-creator">
+ <element name="dc:creator">
+ <ref name="string"/>
+ </element>
+ </define>
+ <define name="dc-date">
+ <element name="dc:date">
+ <ref name="dateTime"/>
+ </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-or-hyperlink"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="heading-attrs">
+ <interleave>
+ <attribute name="text:outline-level">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <optional>
+ <attribute name="text:restart-numbering">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:start-value">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:is-list-header">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </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-or-hyperlink"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="paragraph-attrs">
+ <interleave>
+ <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>
+ <optional>
+ <group>
+ <ref name="xml-id"/>
+ <optional>
+ <attribute name="text:id">
+ <ref name="NCName"/>
+ </attribute>
+ </optional>
+ </group>
+ </optional>
+ <optional>
+ <ref name="common-in-content-meta-attlist"/>
+ </optional>
+ </interleave>
+ </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">
+ <interleave>
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:continue-numbering">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:continue-list">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </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"/>
+ <ref name="text-soft-page-break"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="text-list-item-attr">
+ <interleave>
+ <optional>
+ <attribute name="text:start-value">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:style-override">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-list-header">
+ <element name="text:list-header">
+ <ref name="text-list-header-attr"/>
+ <ref name="text-list-item-content"/>
+ </element>
+ </define>
+ <define name="text-list-header-attr">
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </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">
+ <interleave>
+ <attribute name="text:list-id">
+ <ref name="NCName"/>
+ </attribute>
+ <optional>
+ <attribute name="text:level">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ <attribute name="text:continue-numbering">
+ <ref name="boolean"/>
+ </attribute>
+ <attribute name="text:start-value">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-section">
+ <element name="text:section">
+ <ref name="text-section-attlist"/>
+ <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-attlist">
+ <interleave>
+ <ref name="common-section-attlist"/>
+ <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>
+ </interleave>
+ </define>
+ <define name="common-section-attlist">
+ <interleave>
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <attribute name="text:name">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="text:protected">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:protection-key">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:protection-key-digest-algorithm">
+ <ref name="anyIRI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </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">
+ <interleave>
+ <optional>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:show">
+ <value>embed</value>
+ </attribute>
+ </optional>
+ </optional>
+ <optional>
+ <attribute name="text:section-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:filter-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </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">
+ <optional>
+ <attribute name="text:track-changes">
+ <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">
+ <group>
+ <ref name="xml-id"/>
+ <optional>
+ <attribute name="text:id">
+ <ref name="NCName"/>
+ </attribute>
+ </optional>
+ </group>
+ </define>
+ <define name="text-changed-region-content">
+ <choice>
+ <element name="text:insertion">
+ <ref name="office-change-info"/>
+ </element>
+ <element name="text:deletion">
+ <ref name="office-change-info"/>
+ <zeroOrMore>
+ <ref name="text-content"/>
+ </zeroOrMore>
+ </element>
+ <element name="text:format-change">
+ <ref name="office-change-info"/>
+ </element>
+ </choice>
+ </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-soft-page-break">
+ <element name="text:soft-page-break">
+ <empty/>
+ </element>
+ </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-or-hyperlink">
+ <choice>
+ <ref name="paragraph-content"/>
+ <ref name="text-a"/>
+ </choice>
+ </define>
+ <define name="paragraph-content">
+ <choice>
+ <text/>
+ <element name="text:s">
+ <optional>
+ <attribute name="text:c">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ </element>
+ <element name="text:tab">
+ <ref name="text-tab-attr"/>
+ </element>
+ <element name="text:line-break">
+ <empty/>
+ </element>
+ <ref name="text-soft-page-break"/>
+ <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-or-hyperlink"/>
+ </zeroOrMore>
+ </element>
+ <element name="text:meta">
+ <ref name="text-meta-attlist"/>
+ <zeroOrMore>
+ <ref name="paragraph-content-or-hyperlink"/>
+ </zeroOrMore>
+ </element>
+ <choice>
+ <ref name="text-bookmark"/>
+ <ref name="text-bookmark-start"/>
+ <ref name="text-bookmark-end"/>
+ </choice>
+ <element name="text:reference-mark">
+ <attribute name="text:name">
+ <ref name="string"/>
+ </attribute>
+ </element>
+ <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>
+ <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>
+ <element name="text:ruby">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <element name="text:ruby-base">
+ <zeroOrMore>
+ <ref name="paragraph-content-or-hyperlink"/>
+ </zeroOrMore>
+ </element>
+ <element name="text:ruby-text">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+ </element>
+ <choice>
+ <ref name="office-annotation"/>
+ <ref name="office-annotation-end"/>
+ </choice>
+ <ref name="change-marks"/>
+ <ref name="shape"/>
+ <element name="text:date">
+ <ref name="text-date-attlist"/>
+ <text/>
+ </element>
+ <element name="text:time">
+ <ref name="text-time-attlist"/>
+ <text/>
+ </element>
+ <element name="text:page-number">
+ <ref name="text-page-number-attlist"/>
+ <text/>
+ </element>
+ <element name="text:page-continuation">
+ <ref name="text-page-continuation-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-firstname">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-lastname">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-initials">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-title">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-position">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-email">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-phone-private">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-fax">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-company">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-phone-work">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-street">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-city">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-postal-code">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-country">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sender-state-or-province">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:author-name">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:author-initials">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:chapter">
+ <ref name="text-chapter-attlist"/>
+ <text/>
+ </element>
+ <element name="text:file-name">
+ <ref name="text-file-name-attlist"/>
+ <text/>
+ </element>
+ <element name="text:template-name">
+ <ref name="text-template-name-attlist"/>
+ <text/>
+ </element>
+ <element name="text:sheet-name">
+ <text/>
+ </element>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <element name="text:text-input">
+ <ref name="common-field-description-attlist"/>
+ <text/>
+ </element>
+ <element name="text:initial-creator">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <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>
+ <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>
+ <element name="text:description">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <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>
+ <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>
+ <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>
+ <element name="text:printed-by">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:title">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:subject">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:keywords">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <element name="text:editing-cycles">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <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>
+ <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>
+ <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>
+ <element name="text:creator">
+ <ref name="common-field-fixed-attlist"/>
+ <text/>
+ </element>
+ <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>
+ <element name="text:database-display">
+ <ref name="text-database-display-attlist"/>
+ <text/>
+ </element>
+ <element name="text:database-next">
+ <ref name="text-database-next-attlist"/>
+ </element>
+ <element name="text:database-row-select">
+ <ref name="text-database-row-select-attlist"/>
+ </element>
+ <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>
+ <element name="text:database-name">
+ <ref name="common-field-database-table"/>
+ <text/>
+ </element>
+ <element name="text:page-variable-set">
+ <ref name="text-set-page-variable-attlist"/>
+ <text/>
+ </element>
+ <element name="text:page-variable-get">
+ <ref name="text-get-page-variable-attlist"/>
+ <text/>
+ </element>
+ <element name="text:placeholder">
+ <ref name="text-placeholder-attlist"/>
+ <text/>
+ </element>
+ <element name="text:conditional-text">
+ <ref name="text-conditional-text-attlist"/>
+ <text/>
+ </element>
+ <element name="text:hidden-text">
+ <ref name="text-hidden-text-attlist"/>
+ <text/>
+ </element>
+ <element>
+ <choice>
+ <name>text:reference-ref</name>
+ <name>text:bookmark-ref</name>
+ </choice>
+ <interleave>
+ <ref name="text-common-ref-content"/>
+ <ref name="text-bookmark-ref-content"/>
+ </interleave>
+ </element>
+ <element name="text:note-ref">
+ <interleave>
+ <ref name="text-common-ref-content"/>
+ <ref name="text-note-ref-content"/>
+ </interleave>
+ </element>
+ <element name="text:sequence-ref">
+ <interleave>
+ <ref name="text-common-ref-content"/>
+ <ref name="text-sequence-ref-content"/>
+ </interleave>
+ </element>
+ <element name="text:script">
+ <interleave>
+ <choice>
+ <group>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ </group>
+ <text/>
+ </choice>
+ <optional>
+ <attribute name="script:language">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </element>
+ <element name="text:execute-macro">
+ <optional>
+ <attribute name="text:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <text/>
+ </element>
+ <element name="text:hidden-paragraph">
+ <ref name="text-hidden-paragraph-attlist"/>
+ <text/>
+ </element>
+ <element name="text:dde-connection">
+ <attribute name="text:connection-name">
+ <ref name="string"/>
+ </attribute>
+ <text/>
+ </element>
+ <element name="text:measure">
+ <attribute name="text:kind">
+ <choice>
+ <value>value</value>
+ <value>unit</value>
+ <value>gap</value>
+ </choice>
+ </attribute>
+ <text/>
+ </element>
+ <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>
+ <element name="text:meta-field">
+ <ref name="text-meta-field-attlist"/>
+ <zeroOrMore>
+ <ref name="paragraph-content-or-hyperlink"/>
+ </zeroOrMore>
+ </element>
+ <element name="text:toc-mark-start">
+ <ref name="text-toc-mark-start-attrs"/>
+ </element>
+ <element name="text:toc-mark-end">
+ <ref name="text-id"/>
+ </element>
+ <element name="text:toc-mark">
+ <attribute name="text:string-value">
+ <ref name="string"/>
+ </attribute>
+ <ref name="text-outline-level"/>
+ </element>
+ <element name="text:user-index-mark-start">
+ <ref name="text-id"/>
+ <ref name="text-outline-level"/>
+ <ref name="text-index-name"/>
+ </element>
+ <element name="text:user-index-mark-end">
+ <ref name="text-id"/>
+ </element>
+ <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>
+ <element name="text:alphabetical-index-mark-start">
+ <ref name="text-id"/>
+ <ref name="text-alphabetical-index-mark-attrs"/>
+ </element>
+ <element name="text:alphabetical-index-mark-end">
+ <ref name="text-id"/>
+ </element>
+ <element name="text:alphabetical-index-mark">
+ <attribute name="text:string-value">
+ <ref name="string"/>
+ </attribute>
+ <ref name="text-alphabetical-index-mark-attrs"/>
+ </element>
+ <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>
+ <element name="presentation:header">
+ <empty/>
+ </element>
+ <element name="presentation:footer">
+ <empty/>
+ </element>
+ <element name="presentation:date-time">
+ <empty/>
+ </element>
+ </choice>
+ </define>
+ <define name="text-tab-attr">
+ <optional>
+ <attribute name="text:tab-ref">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="text-a">
+ <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">
+ <interleave>
+ <optional>
+ <attribute name="office:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="office:title">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:actuate">
+ <value>onRequest</value>
+ </attribute>
+ </optional>
+ <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>
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:visited-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-meta-attlist">
+ <interleave>
+ <optional>
+ <ref name="common-in-content-meta-attlist"/>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-bookmark">
+ <element name="text:bookmark">
+ <ref name="text-bookmark-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="text-bookmark-start">
+ <element name="text:bookmark-start">
+ <ref name="text-bookmark-start-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="text-bookmark-end">
+ <element name="text:bookmark-end">
+ <ref name="text-bookmark-end-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="text-bookmark-attlist">
+ <interleave>
+ <attribute name="text:name">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-bookmark-start-attlist">
+ <interleave>
+ <attribute name="text:name">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ <optional>
+ <ref name="common-in-content-meta-attlist"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-bookmark-end-attlist">
+ <attribute name="text:name">
+ <ref name="string"/>
+ </attribute>
+ </define>
+ <define name="text-note-class">
+ <attribute name="text:note-class">
+ <choice>
+ <value>footnote</value>
+ <value>endnote</value>
+ </choice>
+ </attribute>
+ </define>
+ <define name="text-date-attlist">
+ <interleave>
+ <interleave>
+ <ref name="common-field-fixed-attlist"/>
+ <ref name="common-field-data-style-name-attlist"/>
+ </interleave>
+ <optional>
+ <attribute name="text:date-value">
+ <ref name="dateOrDateTime"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:date-adjust">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-time-attlist">
+ <interleave>
+ <interleave>
+ <ref name="common-field-fixed-attlist"/>
+ <ref name="common-field-data-style-name-attlist"/>
+ </interleave>
+ <optional>
+ <attribute name="text:time-value">
+ <ref name="timeOrDateTime"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:time-adjust">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-page-number-attlist">
+ <interleave>
+ <interleave>
+ <ref name="common-field-num-format-attlist"/>
+ <ref name="common-field-fixed-attlist"/>
+ </interleave>
+ <optional>
+ <attribute name="text:page-adjust">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:select-page">
+ <choice>
+ <value>previous</value>
+ <value>current</value>
+ <value>next</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-page-continuation-attlist">
+ <interleave>
+ <attribute name="text:select-page">
+ <choice>
+ <value>previous</value>
+ <value>next</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="text:string-value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-chapter-attlist">
+ <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>
+ <attribute name="text:outline-level">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="text-file-name-attlist">
+ <interleave>
+ <optional>
+ <attribute name="text:display">
+ <choice>
+ <value>full</value>
+ <value>path</value>
+ <value>name</value>
+ <value>name-and-extension</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="common-field-fixed-attlist"/>
+ </interleave>
+ </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="text-variable-decl">
+ <element name="text:variable-decl">
+ <ref name="common-field-name-attlist"/>
+ <ref name="common-value-type-attlist"/>
+ </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="text-sequence-decl">
+ <element name="text:sequence-decl">
+ <ref name="text-sequence-decl-attlist"/>
+ </element>
+ </define>
+ <define name="text-sequence-decl-attlist">
+ <interleave>
+ <ref name="common-field-name-attlist"/>
+ <attribute name="text:display-outline-level">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ <optional>
+ <attribute name="text:separation-character">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-sequence-ref-name">
+ <optional>
+ <attribute name="text:ref-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </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">
+ <choice>
+ <optional>
+ <attribute name="text:database-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <ref name="form-connection-resource"/>
+ </choice>
+ </define>
+ <define name="common-field-database-table-attlist">
+ <interleave>
+ <attribute name="text:table-name">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="text:table-type">
+ <choice>
+ <value>table</value>
+ <value>query</value>
+ <value>command</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-database-display-attlist">
+ <interleave>
+ <ref name="common-field-database-table"/>
+ <ref name="common-field-data-style-name-attlist"/>
+ <attribute name="text:column-name">
+ <ref name="string"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="text-database-next-attlist">
+ <interleave>
+ <ref name="common-field-database-table"/>
+ <optional>
+ <attribute name="text:condition">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-database-row-select-attlist">
+ <interleave>
+ <ref name="common-field-database-table"/>
+ <optional>
+ <attribute name="text:condition">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:row-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-set-page-variable-attlist">
+ <interleave>
+ <optional>
+ <attribute name="text:active">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:page-adjust">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-get-page-variable-attlist">
+ <ref name="common-field-num-format-attlist"/>
+ </define>
+ <define name="text-placeholder-attlist">
+ <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>
+ <ref name="common-field-description-attlist"/>
+ </interleave>
+ </define>
+ <define name="text-conditional-text-attlist">
+ <interleave>
+ <attribute name="text:condition">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="text:string-value-if-true">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="text:string-value-if-false">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="text:current-value">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-hidden-text-attlist">
+ <interleave>
+ <attribute name="text:condition">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="text:string-value">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="text:is-hidden">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-common-ref-content">
+ <interleave>
+ <text/>
+ <optional>
+ <attribute name="text:ref-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-bookmark-ref-content">
+ <optional>
+ <attribute name="text:reference-format">
+ <choice>
+ <ref name="common-ref-format-values"/>
+ <value>number-no-superior</value>
+ <value>number-all-superior</value>
+ <value>number</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="text-note-ref-content">
+ <interleave>
+ <optional>
+ <attribute name="text:reference-format">
+ <choice>
+ <ref name="common-ref-format-values"/>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="text-note-class"/>
+ </interleave>
+ </define>
+ <define name="text-sequence-ref-content">
+ <optional>
+ <attribute name="text:reference-format">
+ <choice>
+ <ref name="common-ref-format-values"/>
+ <value>category-and-value</value>
+ <value>caption</value>
+ <value>value</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-ref-format-values">
+ <choice>
+ <value>page</value>
+ <value>chapter</value>
+ <value>direction</value>
+ <value>text</value>
+ </choice>
+ </define>
+ <define name="text-hidden-paragraph-attlist">
+ <interleave>
+ <attribute name="text:condition">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="text:is-hidden">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-meta-field-attlist">
+ <interleave>
+ <ref name="xml-id"/>
+ <ref name="common-field-data-style-name-attlist"/>
+ </interleave>
+ </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">
+ <ref name="string"/>
+ </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="string"/>
+ </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="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="text-index-name">
+ <attribute name="text:index-name">
+ <ref name="string"/>
+ </attribute>
+ </define>
+ <define name="text-alphabetical-index-mark-attrs">
+ <interleave>
+ <optional>
+ <attribute name="text:key1">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:key2">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <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>
+ <optional>
+ <attribute name="text:main-entry">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </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="common-section-attlist"/>
+ <zeroOrMore>
+ <ref name="index-content-main"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="text-table-of-content">
+ <element name="text:table-of-content">
+ <ref name="common-section-attlist"/>
+ <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">
+ <interleave>
+ <optional>
+ <attribute name="text:outline-level">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-outline-level">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-index-marks">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-index-source-styles">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:index-scope">
+ <choice>
+ <value>document</value>
+ <value>chapter</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:relative-tab-stop-position">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </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>
+ <ref name="text-table-of-content-children"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="text-table-of-content-children">
+ <choice>
+ <ref name="text-index-entry-chapter"/>
+ <ref name="text-index-entry-page-number"/>
+ <ref name="text-index-entry-text"/>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ <ref name="text-index-entry-link-start"/>
+ <ref name="text-index-entry-link-end"/>
+ </choice>
+ </define>
+ <define name="text-table-of-content-entry-template-attlist">
+ <interleave>
+ <attribute name="text:outline-level">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="text-illustration-index">
+ <element name="text:illustration-index">
+ <ref name="common-section-attlist"/>
+ <ref name="text-illustration-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+ </define>
+ <define name="text-illustration-index-source">
+ <element name="text:illustration-index-source">
+ <ref name="text-illustration-index-source-attrs"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <optional>
+ <ref name="text-illustration-index-entry-template"/>
+ </optional>
+ </element>
+ </define>
+ <define name="text-illustration-index-source-attrs">
+ <interleave>
+ <ref name="text-index-scope-attr"/>
+ <ref name="text-relative-tab-stop-position-attr"/>
+ <optional>
+ <attribute name="text:use-caption">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:caption-sequence-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:caption-sequence-format">
+ <choice>
+ <value>text</value>
+ <value>category-and-value</value>
+ <value>caption</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-index-scope-attr">
+ <optional>
+ <attribute name="text:index-scope">
+ <choice>
+ <value>document</value>
+ <value>chapter</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="text-relative-tab-stop-position-attr">
+ <optional>
+ <attribute name="text:relative-tab-stop-position">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="text-illustration-index-entry-template">
+ <element name="text:illustration-index-entry-template">
+ <ref name="text-illustration-index-entry-content"/>
+ </element>
+ </define>
+ <define name="text-illustration-index-entry-content">
+ <ref name="text-illustration-index-entry-template-attrs"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-index-entry-chapter"/>
+ <ref name="text-index-entry-page-number"/>
+ <ref name="text-index-entry-text"/>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="text-illustration-index-entry-template-attrs">
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </define>
+ <define name="text-table-index">
+ <element name="text:table-index">
+ <ref name="common-section-attlist"/>
+ <ref name="text-table-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+ </define>
+ <define name="text-table-index-source">
+ <element name="text:table-index-source">
+ <ref name="text-illustration-index-source-attrs"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <optional>
+ <ref name="text-table-index-entry-template"/>
+ </optional>
+ </element>
+ </define>
+ <define name="text-table-index-entry-template">
+ <element name="text:table-index-entry-template">
+ <ref name="text-illustration-index-entry-content"/>
+ </element>
+ </define>
+ <define name="text-object-index">
+ <element name="text:object-index">
+ <ref name="common-section-attlist"/>
+ <ref name="text-object-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+ </define>
+ <define name="text-object-index-source">
+ <element name="text:object-index-source">
+ <ref name="text-object-index-source-attrs"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <optional>
+ <ref name="text-object-index-entry-template"/>
+ </optional>
+ </element>
+ </define>
+ <define name="text-object-index-source-attrs">
+ <interleave>
+ <ref name="text-index-scope-attr"/>
+ <ref name="text-relative-tab-stop-position-attr"/>
+ <optional>
+ <attribute name="text:use-spreadsheet-objects">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-math-objects">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-draw-objects">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-chart-objects">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-other-objects">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-object-index-entry-template">
+ <element name="text:object-index-entry-template">
+ <ref name="text-illustration-index-entry-content"/>
+ </element>
+ </define>
+ <define name="text-user-index">
+ <element name="text:user-index">
+ <ref name="common-section-attlist"/>
+ <ref name="text-user-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+ </define>
+ <define name="text-user-index-source">
+ <element name="text:user-index-source">
+ <ref name="text-user-index-source-attr"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-user-index-entry-template"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="text-index-source-styles"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="text-user-index-source-attr">
+ <interleave>
+ <ref name="text-index-scope-attr"/>
+ <ref name="text-relative-tab-stop-position-attr"/>
+ <optional>
+ <attribute name="text:use-index-marks">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-index-source-styles">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-graphics">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-tables">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-floating-frames">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-objects">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:copy-outline-levels">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <attribute name="text:index-name">
+ <ref name="string"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="text-user-index-entry-template">
+ <element name="text:user-index-entry-template">
+ <ref name="text-user-index-entry-template-attrs"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-index-entry-chapter"/>
+ <ref name="text-index-entry-page-number"/>
+ <ref name="text-index-entry-text"/>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="text-user-index-entry-template-attrs">
+ <interleave>
+ <attribute name="text:outline-level">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="text-alphabetical-index">
+ <element name="text:alphabetical-index">
+ <ref name="common-section-attlist"/>
+ <ref name="text-alphabetical-index-source"/>
+ <ref name="text-index-body"/>
+ </element>
+ </define>
+ <define name="text-alphabetical-index-source">
+ <element name="text:alphabetical-index-source">
+ <ref name="text-alphabetical-index-source-attrs"/>
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-alphabetical-index-entry-template"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="text-alphabetical-index-source-attrs">
+ <interleave>
+ <ref name="text-index-scope-attr"/>
+ <ref name="text-relative-tab-stop-position-attr"/>
+ <optional>
+ <attribute name="text:ignore-case">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:main-entry-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:alphabetical-separators">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:combine-entries">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:combine-entries-with-dash">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:combine-entries-with-pp">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:use-keys-as-entries">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:capitalize-entries">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:comma-separated">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:script">
+ <ref name="scriptCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rfc-language-tag">
+ <ref name="language"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:sort-algorithm">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-alphabetical-index-auto-mark-file">
+ <element name="text:alphabetical-index-auto-mark-file">
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ </element>
+ </define>
+ <define name="text-alphabetical-index-entry-template">
+ <element name="text:alphabetical-index-entry-template">
+ <ref name="text-alphabetical-index-entry-template-attrs"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-index-entry-chapter"/>
+ <ref name="text-index-entry-page-number"/>
+ <ref name="text-index-entry-text"/>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="text-alphabetical-index-entry-template-attrs">
+ <interleave>
+ <attribute name="text:outline-level">
+ <choice>
+ <value>1</value>
+ <value>2</value>
+ <value>3</value>
+ <value>separator</value>
+ </choice>
+ </attribute>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="text-bibliography">
+ <element name="text:bibliography">
+ <ref name="common-section-attlist"/>
+ <ref name="text-bibliography-source"/>
+ <ref name="text-index-body"/>
+ </element>
+ </define>
+ <define name="text-bibliography-source">
+ <element name="text:bibliography-source">
+ <optional>
+ <ref name="text-index-title-template"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-bibliography-entry-template"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="text-bibliography-entry-template">
+ <element name="text:bibliography-entry-template">
+ <ref name="text-bibliography-entry-template-attrs"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-index-entry-span"/>
+ <ref name="text-index-entry-tab-stop"/>
+ <ref name="text-index-entry-bibliography"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="text-bibliography-entry-template-attrs">
+ <interleave>
+ <attribute name="text:bibliography-type">
+ <ref name="text-bibliography-types"/>
+ </attribute>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="text-index-source-styles">
+ <element name="text:index-source-styles">
+ <attribute name="text:outline-level">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <zeroOrMore>
+ <ref name="text-index-source-style"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="text-index-source-style">
+ <element name="text:index-source-style">
+ <attribute name="text:style-name">
+ <ref name="styleName"/>
+ </attribute>
+ <empty/>
+ </element>
+ </define>
+ <define name="text-index-title-template">
+ <element name="text:index-title-template">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+ </define>
+ <define name="text-index-entry-chapter">
+ <element name="text:index-entry-chapter">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <ref name="text-index-entry-chapter-attrs"/>
+ </element>
+ </define>
+ <define name="text-index-entry-chapter-attrs">
+ <interleave>
+ <optional>
+ <attribute name="text:display">
+ <choice>
+ <value>name</value>
+ <value>number</value>
+ <value>number-and-name</value>
+ <value>plain-number</value>
+ <value>plain-number-and-name</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:outline-level">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-index-entry-text">
+ <element name="text:index-entry-text">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="text-index-entry-page-number">
+ <element name="text:index-entry-page-number">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="text-index-entry-span">
+ <element name="text:index-entry-span">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+ </define>
+ <define name="text-index-entry-bibliography">
+ <element name="text:index-entry-bibliography">
+ <ref name="text-index-entry-bibliography-attrs"/>
+ </element>
+ </define>
+ <define name="text-index-entry-bibliography-attrs">
+ <interleave>
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <attribute name="text:bibliography-data-field">
+ <choice>
+ <value>address</value>
+ <value>annote</value>
+ <value>author</value>
+ <value>bibliography-type</value>
+ <value>booktitle</value>
+ <value>chapter</value>
+ <value>custom1</value>
+ <value>custom2</value>
+ <value>custom3</value>
+ <value>custom4</value>
+ <value>custom5</value>
+ <value>edition</value>
+ <value>editor</value>
+ <value>howpublished</value>
+ <value>identifier</value>
+ <value>institution</value>
+ <value>isbn</value>
+ <value>issn</value>
+ <value>journal</value>
+ <value>month</value>
+ <value>note</value>
+ <value>number</value>
+ <value>organizations</value>
+ <value>pages</value>
+ <value>publisher</value>
+ <value>report-type</value>
+ <value>school</value>
+ <value>series</value>
+ <value>title</value>
+ <value>url</value>
+ <value>volume</value>
+ <value>year</value>
+ </choice>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="text-index-entry-tab-stop">
+ <element name="text:index-entry-tab-stop">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <ref name="text-index-entry-tab-stop-attrs"/>
+ </element>
+ </define>
+ <define name="text-index-entry-tab-stop-attrs">
+ <interleave>
+ <optional>
+ <attribute name="style:leader-char">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+ <choice>
+ <attribute name="style:type">
+ <value>right</value>
+ </attribute>
+ <group>
+ <attribute name="style:type">
+ <value>left</value>
+ </attribute>
+ <attribute name="style:position">
+ <ref name="length"/>
+ </attribute>
+ </group>
+ </choice>
+ </interleave>
+ </define>
+ <define name="text-index-entry-link-start">
+ <element name="text:index-entry-link-start">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="text-index-entry-link-end">
+ <element name="text:index-entry-link-end">
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="table-table">
+ <element name="table:table">
+ <ref name="table-table-attlist"/>
+ <optional>
+ <ref name="table-title"/>
+ </optional>
+ <optional>
+ <ref name="table-desc"/>
+ </optional>
+ <optional>
+ <ref name="table-table-source"/>
+ </optional>
+ <optional>
+ <ref name="office-dde-source"/>
+ </optional>
+ <optional>
+ <ref name="table-scenario"/>
+ </optional>
+ <optional>
+ <ref name="office-forms"/>
+ </optional>
+ <optional>
+ <ref name="table-shapes"/>
+ </optional>
+ <ref name="table-columns-and-groups"/>
+ <ref name="table-rows-and-groups"/>
+ <optional>
+ <ref name="table-named-expressions"/>
+ </optional>
+ </element>
+ </define>
+ <define name="table-columns-and-groups">
+ <oneOrMore>
+ <choice>
+ <ref name="table-table-column-group"/>
+ <ref name="table-columns-no-group"/>
+ </choice>
+ </oneOrMore>
+ </define>
+ <define name="table-columns-no-group">
+ <choice>
+ <group>
+ <ref name="table-columns"/>
+ <optional>
+ <ref name="table-table-header-columns"/>
+ <optional>
+ <ref name="table-columns"/>
+ </optional>
+ </optional>
+ </group>
+ <group>
+ <ref name="table-table-header-columns"/>
+ <optional>
+ <ref name="table-columns"/>
+ </optional>
+ </group>
+ </choice>
+ </define>
+ <define name="table-columns">
+ <choice>
+ <ref name="table-table-columns"/>
+ <oneOrMore>
+ <ref name="table-table-column"/>
+ </oneOrMore>
+ </choice>
+ </define>
+ <define name="table-rows-and-groups">
+ <oneOrMore>
+ <choice>
+ <ref name="table-table-row-group"/>
+ <ref name="table-rows-no-group"/>
+ </choice>
+ </oneOrMore>
+ </define>
+ <define name="table-rows-no-group">
+ <choice>
+ <group>
+ <ref name="table-rows"/>
+ <optional>
+ <ref name="table-table-header-rows"/>
+ <optional>
+ <ref name="table-rows"/>
+ </optional>
+ </optional>
+ </group>
+ <group>
+ <ref name="table-table-header-rows"/>
+ <optional>
+ <ref name="table-rows"/>
+ </optional>
+ </group>
+ </choice>
+ </define>
+ <define name="table-rows">
+ <choice>
+ <ref name="table-table-rows"/>
+ <oneOrMore>
+ <optional>
+ <ref name="text-soft-page-break"/>
+ </optional>
+ <ref name="table-table-row"/>
+ </oneOrMore>
+ </choice>
+ </define>
+ <define name="table-table-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:template-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:use-first-row-styles">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:use-last-row-styles">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:use-first-column-styles">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:use-last-column-styles">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:use-banding-rows-styles">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:use-banding-columns-styles">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:protected">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:protection-key">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:protection-key-digest-algorithm">
+ <ref name="anyIRI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:print">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:print-ranges">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ <optional>
+ <attribute name="table:is-sub-table">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-title">
+ <element name="table:title">
+ <text/>
+ </element>
+ </define>
+ <define name="table-desc">
+ <element name="table:desc">
+ <text/>
+ </element>
+ </define>
+ <define name="table-table-row">
+ <element name="table:table-row">
+ <ref name="table-table-row-attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="table-table-cell"/>
+ <ref name="table-covered-table-cell"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-table-row-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:number-rows-repeated">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:default-cell-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:visibility">
+ <ref name="table-visibility-value"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-visibility-value">
+ <choice>
+ <value>visible</value>
+ <value>collapse</value>
+ <value>filter</value>
+ </choice>
+ </define>
+ <define name="table-table-cell">
+ <element name="table:table-cell">
+ <ref name="table-table-cell-attlist"/>
+ <ref name="table-table-cell-attlist-extra"/>
+ <ref name="table-table-cell-content"/>
+ </element>
+ </define>
+ <define name="table-covered-table-cell">
+ <element name="table:covered-table-cell">
+ <ref name="table-table-cell-attlist"/>
+ <ref name="table-table-cell-content"/>
+ </element>
+ </define>
+ <define name="table-table-cell-content">
+ <optional>
+ <ref name="table-cell-range-source"/>
+ </optional>
+ <optional>
+ <ref name="office-annotation"/>
+ </optional>
+ <optional>
+ <ref name="table-detective"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-content"/>
+ </zeroOrMore>
+ </define>
+ <define name="table-table-cell-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:number-columns-repeated">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:content-validation-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:formula">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="common-value-and-type-attlist"/>
+ </optional>
+ <optional>
+ <attribute name="table:protect">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:protected">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ <optional>
+ <ref name="common-in-content-meta-attlist"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-table-cell-attlist-extra">
+ <interleave>
+ <optional>
+ <attribute name="table:number-columns-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:number-rows-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:number-matrix-columns-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:number-matrix-rows-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-table-column">
+ <element name="table:table-column">
+ <ref name="table-table-column-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-table-column-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:number-columns-repeated">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:visibility">
+ <ref name="table-visibility-value"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:default-cell-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-table-header-columns">
+ <element name="table:table-header-columns">
+ <oneOrMore>
+ <ref name="table-table-column"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-table-columns">
+ <element name="table:table-columns">
+ <oneOrMore>
+ <ref name="table-table-column"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-table-column-group">
+ <element name="table:table-column-group">
+ <ref name="table-table-column-group-attlist"/>
+ <ref name="table-columns-and-groups"/>
+ </element>
+ </define>
+ <define name="table-table-column-group-attlist">
+ <optional>
+ <attribute name="table:display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="table-table-header-rows">
+ <element name="table:table-header-rows">
+ <oneOrMore>
+ <optional>
+ <ref name="text-soft-page-break"/>
+ </optional>
+ <ref name="table-table-row"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-table-rows">
+ <element name="table:table-rows">
+ <oneOrMore>
+ <optional>
+ <ref name="text-soft-page-break"/>
+ </optional>
+ <ref name="table-table-row"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-table-row-group">
+ <element name="table:table-row-group">
+ <ref name="table-table-row-group-attlist"/>
+ <ref name="table-rows-and-groups"/>
+ </element>
+ </define>
+ <define name="table-table-row-group-attlist">
+ <optional>
+ <attribute name="table:display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="cellAddress">
+ <data type="string">
+ <param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+</param>
+ </data>
+ </define>
+ <define name="cellRangeAddress">
+ <choice>
+ <data type="string">
+ <param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+(:($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+)?</param>
+ </data>
+ <data type="string">
+ <param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[0-9]+:($?([^\. ']+|'([^']|'')+'))?\.$?[0-9]+</param>
+ </data>
+ <data type="string">
+ <param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+:($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+</param>
+ </data>
+ </choice>
+ </define>
+ <define name="cellRangeAddressList">
+ <data type="string"/>
+ <dc:description>Value is a space separated list of "cellRangeAddress" patterns</dc:description>
+ </define>
+ <define name="table-table-source">
+ <element name="table:table-source">
+ <ref name="table-table-source-attlist"/>
+ <ref name="table-linked-source-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-table-source-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:mode">
+ <choice>
+ <value>copy-all</value>
+ <value>copy-results-only</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:table-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-linked-source-attlist">
+ <interleave>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:actuate">
+ <value>onRequest</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:filter-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:filter-options">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:refresh-delay">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-scenario">
+ <element name="table:scenario">
+ <ref name="table-scenario-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-scenario-attlist">
+ <interleave>
+ <attribute name="table:scenario-ranges">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ <attribute name="table:is-active">
+ <ref name="boolean"/>
+ </attribute>
+ <optional>
+ <attribute name="table:display-border">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:border-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:copy-back">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:copy-styles">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:copy-formulas">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:comment">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:protected">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-shapes">
+ <element name="table:shapes">
+ <oneOrMore>
+ <ref name="shape"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-cell-range-source">
+ <element name="table:cell-range-source">
+ <ref name="table-table-cell-range-source-attlist"/>
+ <ref name="table-linked-source-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-table-cell-range-source-attlist">
+ <interleave>
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:last-column-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <attribute name="table:last-row-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="table-detective">
+ <element name="table:detective">
+ <zeroOrMore>
+ <ref name="table-highlighted-range"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="table-operation"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="table-operation">
+ <element name="table:operation">
+ <ref name="table-operation-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-operation-attlist">
+ <interleave>
+ <attribute name="table:name">
+ <choice>
+ <value>trace-dependents</value>
+ <value>remove-dependents</value>
+ <value>trace-precedents</value>
+ <value>remove-precedents</value>
+ <value>trace-errors</value>
+ </choice>
+ </attribute>
+ <attribute name="table:index">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="table-highlighted-range">
+ <element name="table:highlighted-range">
+ <choice>
+ <group>
+ <ref name="table-highlighted-range-attlist"/>
+ </group>
+ <group>
+ <ref name="table-highlighted-range-attlist-invalid"/>
+ </group>
+ </choice>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-highlighted-range-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+ <attribute name="table:direction">
+ <choice>
+ <value>from-another-table</value>
+ <value>to-another-table</value>
+ <value>from-same-table</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="table:contains-error">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-highlighted-range-attlist-invalid">
+ <attribute name="table:marked-invalid">
+ <ref name="boolean"/>
+ </attribute>
+ </define>
+ <define name="office-spreadsheet-attlist">
+ <optional>
+ <attribute name="table:structure-protected">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:protection-key">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:protection-key-digest-algorithm">
+ <ref name="anyIRI"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="table-calculation-settings">
+ <element name="table:calculation-settings">
+ <ref name="table-calculation-setting-attlist"/>
+ <optional>
+ <ref name="table-null-date"/>
+ </optional>
+ <optional>
+ <ref name="table-iteration"/>
+ </optional>
+ </element>
+ </define>
+ <define name="table-calculation-setting-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:case-sensitive">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:precision-as-shown">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:search-criteria-must-apply-to-whole-cell">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:automatic-find-labels">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:use-regular-expressions">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:use-wildcards">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:null-year">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-null-date">
+ <element name="table:null-date">
+ <optional>
+ <attribute name="table:value-type">
+ <value>date</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:date-value">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-iteration">
+ <element name="table:iteration">
+ <optional>
+ <attribute name="table:status">
+ <choice>
+ <value>enable</value>
+ <value>disable</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:steps">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:maximum-difference">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-content-validations">
+ <element name="table:content-validations">
+ <oneOrMore>
+ <ref name="table-content-validation"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-content-validation">
+ <element name="table:content-validation">
+ <ref name="table-validation-attlist"/>
+ <optional>
+ <ref name="table-help-message"/>
+ </optional>
+ <optional>
+ <choice>
+ <ref name="table-error-message"/>
+ <group>
+ <ref name="table-error-macro"/>
+ <ref name="office-event-listeners"/>
+ </group>
+ </choice>
+ </optional>
+ </element>
+ </define>
+ <define name="table-validation-attlist">
+ <interleave>
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="table:condition">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:base-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:allow-empty-cell">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:display-list">
+ <choice>
+ <value>none</value>
+ <value>unsorted</value>
+ <value>sort-ascending</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-help-message">
+ <element name="table:help-message">
+ <optional>
+ <attribute name="table:title">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="table-error-message">
+ <element name="table:error-message">
+ <optional>
+ <attribute name="table:title">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:message-type">
+ <choice>
+ <value>stop</value>
+ <value>warning</value>
+ <value>information</value>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="table-error-macro">
+ <element name="table:error-macro">
+ <optional>
+ <attribute name="table:execute">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="table-label-ranges">
+ <element name="table:label-ranges">
+ <zeroOrMore>
+ <ref name="table-label-range"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="table-label-range">
+ <element name="table:label-range">
+ <ref name="table-label-range-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-label-range-attlist">
+ <interleave>
+ <attribute name="table:label-cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ <attribute name="table:data-cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ <attribute name="table:orientation">
+ <choice>
+ <value>column</value>
+ <value>row</value>
+ </choice>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="table-named-expressions">
+ <element name="table:named-expressions">
+ <zeroOrMore>
+ <choice>
+ <ref name="table-named-range"/>
+ <ref name="table-named-expression"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="table-named-range">
+ <element name="table:named-range">
+ <ref name="table-named-range-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-named-range-attlist">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ <optional>
+ <attribute name="table:base-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:range-usable-as">
+ <choice>
+ <value>none</value>
+ <list>
+ <oneOrMore>
+ <choice>
+ <value>print-range</value>
+ <value>filter</value>
+ <value>repeat-row</value>
+ <value>repeat-column</value>
+ </choice>
+ </oneOrMore>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="table-named-expression">
+ <element name="table:named-expression">
+ <ref name="table-named-expression-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-named-expression-attlist">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:expression">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="table:base-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="table-database-ranges">
+ <element name="table:database-ranges">
+ <zeroOrMore>
+ <ref name="table-database-range"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="table-database-range">
+ <element name="table:database-range">
+ <ref name="table-database-range-attlist"/>
+ <optional>
+ <choice>
+ <ref name="table-database-source-sql"/>
+ <ref name="table-database-source-table"/>
+ <ref name="table-database-source-query"/>
+ </choice>
+ </optional>
+ <optional>
+ <ref name="table-filter"/>
+ </optional>
+ <optional>
+ <ref name="table-sort"/>
+ </optional>
+ <optional>
+ <ref name="table-subtotal-rules"/>
+ </optional>
+ </element>
+ </define>
+ <define name="table-database-range-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:is-selection">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:on-update-keep-styles">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:on-update-keep-size">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:has-persistent-data">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:orientation">
+ <choice>
+ <value>column</value>
+ <value>row</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:contains-header">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:display-filter-buttons">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <attribute name="table:target-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ <optional>
+ <attribute name="table:refresh-delay">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-database-source-sql">
+ <element name="table:database-source-sql">
+ <ref name="table-database-source-sql-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-database-source-sql-attlist">
+ <interleave>
+ <attribute name="table:database-name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:sql-statement">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="table:parse-sql-statement">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-database-source-query">
+ <element name="table:database-source-table">
+ <ref name="table-database-source-table-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-database-source-table-attlist">
+ <interleave>
+ <attribute name="table:database-name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:database-table-name">
+ <ref name="string"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="table-database-source-table">
+ <element name="table:database-source-query">
+ <ref name="table-database-source-query-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-database-source-query-attlist">
+ <interleave>
+ <attribute name="table:database-name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:query-name">
+ <ref name="string"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="table-sort">
+ <element name="table:sort">
+ <ref name="table-sort-attlist"/>
+ <oneOrMore>
+ <ref name="table-sort-by"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-sort-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:bind-styles-to-content">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:target-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:case-sensitive">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:script">
+ <ref name="scriptCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:rfc-language-tag">
+ <ref name="language"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:algorithm">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:embedded-number-behavior">
+ <choice>
+ <value>alpha-numeric</value>
+ <value>integer</value>
+ <value>double</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-sort-by">
+ <element name="table:sort-by">
+ <ref name="table-sort-by-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-sort-by-attlist">
+ <interleave>
+ <attribute name="table:field-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ <optional>
+ <attribute name="table:data-type">
+ <choice>
+ <value>text</value>
+ <value>number</value>
+ <value>automatic</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:order">
+ <choice>
+ <value>ascending</value>
+ <value>descending</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-subtotal-rules">
+ <element name="table:subtotal-rules">
+ <ref name="table-subtotal-rules-attlist"/>
+ <optional>
+ <ref name="table-sort-groups"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="table-subtotal-rule"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="table-subtotal-rules-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:bind-styles-to-content">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:case-sensitive">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:page-breaks-on-group-change">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-sort-groups">
+ <element name="table:sort-groups">
+ <ref name="table-sort-groups-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-sort-groups-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:data-type">
+ <choice>
+ <value>text</value>
+ <value>number</value>
+ <value>automatic</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:order">
+ <choice>
+ <value>ascending</value>
+ <value>descending</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-subtotal-rule">
+ <element name="table:subtotal-rule">
+ <ref name="table-subtotal-rule-attlist"/>
+ <zeroOrMore>
+ <ref name="table-subtotal-field"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="table-subtotal-rule-attlist">
+ <attribute name="table:group-by-field-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </define>
+ <define name="table-subtotal-field">
+ <element name="table:subtotal-field">
+ <ref name="table-subtotal-field-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-subtotal-field-attlist">
+ <interleave>
+ <attribute name="table:field-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ <attribute name="table:function">
+ <choice>
+ <value>average</value>
+ <value>count</value>
+ <value>countnums</value>
+ <value>max</value>
+ <value>min</value>
+ <value>product</value>
+ <value>stdev</value>
+ <value>stdevp</value>
+ <value>sum</value>
+ <value>var</value>
+ <value>varp</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="table-filter">
+ <element name="table:filter">
+ <ref name="table-filter-attlist"/>
+ <choice>
+ <ref name="table-filter-condition"/>
+ <ref name="table-filter-and"/>
+ <ref name="table-filter-or"/>
+ </choice>
+ </element>
+ </define>
+ <define name="table-filter-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:target-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:condition-source">
+ <choice>
+ <value>self</value>
+ <value>cell-range</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:condition-source-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:display-duplicates">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-filter-and">
+ <element name="table:filter-and">
+ <oneOrMore>
+ <choice>
+ <ref name="table-filter-or"/>
+ <ref name="table-filter-condition"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-filter-or">
+ <element name="table:filter-or">
+ <oneOrMore>
+ <choice>
+ <ref name="table-filter-and"/>
+ <ref name="table-filter-condition"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-filter-condition">
+ <element name="table:filter-condition">
+ <ref name="table-filter-condition-attlist"/>
+ <zeroOrMore>
+ <ref name="table-filter-set-item"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="table-filter-condition-attlist">
+ <interleave>
+ <attribute name="table:field-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ <attribute name="table:value">
+ <choice>
+ <ref name="string"/>
+ <ref name="double"/>
+ </choice>
+ </attribute>
+ <attribute name="table:operator">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="table:case-sensitive">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:data-type">
+ <choice>
+ <value>text</value>
+ <value>number</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-filter-set-item">
+ <element name="table:filter-set-item">
+ <attribute name="table:value">
+ <ref name="string"/>
+ </attribute>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-data-pilot-tables">
+ <element name="table:data-pilot-tables">
+ <zeroOrMore>
+ <ref name="table-data-pilot-table"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="table-data-pilot-table">
+ <element name="table:data-pilot-table">
+ <ref name="table-data-pilot-table-attlist"/>
+ <optional>
+ <choice>
+ <ref name="table-database-source-sql"/>
+ <ref name="table-database-source-table"/>
+ <ref name="table-database-source-query"/>
+ <ref name="table-source-service"/>
+ <ref name="table-source-cell-range"/>
+ </choice>
+ </optional>
+ <oneOrMore>
+ <ref name="table-data-pilot-field"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-data-pilot-table-attlist">
+ <interleave>
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="table:application-data">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:grand-total">
+ <choice>
+ <value>none</value>
+ <value>row</value>
+ <value>column</value>
+ <value>both</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:ignore-empty-rows">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:identify-categories">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <attribute name="table:target-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ <optional>
+ <attribute name="table:buttons">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:show-filter-button">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:drill-down-on-double-click">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-source-cell-range">
+ <element name="table:source-cell-range">
+ <ref name="table-source-cell-range-attlist"/>
+ <optional>
+ <ref name="table-filter"/>
+ </optional>
+ </element>
+ </define>
+ <define name="table-source-cell-range-attlist">
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddress"/>
+ </attribute>
+ </define>
+ <define name="table-source-service">
+ <element name="table:source-service">
+ <ref name="table-source-service-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-source-service-attlist">
+ <interleave>
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:source-name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:object-name">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="table:user-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:password">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-data-pilot-field">
+ <element name="table:data-pilot-field">
+ <ref name="table-data-pilot-field-attlist"/>
+ <optional>
+ <ref name="table-data-pilot-level"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-field-reference"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-groups"/>
+ </optional>
+ </element>
+ </define>
+ <define name="table-data-pilot-field-attlist">
+ <interleave>
+ <attribute name="table:source-field-name">
+ <ref name="string"/>
+ </attribute>
+ <choice>
+ <attribute name="table:orientation">
+ <choice>
+ <value>row</value>
+ <value>column</value>
+ <value>data</value>
+ <value>hidden</value>
+ </choice>
+ </attribute>
+ <group>
+ <attribute name="table:orientation">
+ <value>page</value>
+ </attribute>
+ <attribute name="table:selected-page">
+ <ref name="string"/>
+ </attribute>
+ </group>
+ </choice>
+ <optional>
+ <attribute name="table:is-data-layout-field">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:function">
+ <choice>
+ <value>auto</value>
+ <value>average</value>
+ <value>count</value>
+ <value>countnums</value>
+ <value>max</value>
+ <value>min</value>
+ <value>product</value>
+ <value>stdev</value>
+ <value>stdevp</value>
+ <value>sum</value>
+ <value>var</value>
+ <value>varp</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:used-hierarchy">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-data-pilot-level">
+ <element name="table:data-pilot-level">
+ <ref name="table-data-pilot-level-attlist"/>
+ <optional>
+ <ref name="table-data-pilot-subtotals"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-members"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-display-info"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-sort-info"/>
+ </optional>
+ <optional>
+ <ref name="table-data-pilot-layout-info"/>
+ </optional>
+ </element>
+ </define>
+ <define name="table-data-pilot-level-attlist">
+ <optional>
+ <attribute name="table:show-empty">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="table-data-pilot-subtotals">
+ <element name="table:data-pilot-subtotals">
+ <zeroOrMore>
+ <ref name="table-data-pilot-subtotal"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="table-data-pilot-subtotal">
+ <element name="table:data-pilot-subtotal">
+ <ref name="table-data-pilot-subtotal-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-data-pilot-subtotal-attlist">
+ <attribute name="table:function">
+ <choice>
+ <value>auto</value>
+ <value>average</value>
+ <value>count</value>
+ <value>countnums</value>
+ <value>max</value>
+ <value>min</value>
+ <value>product</value>
+ <value>stdev</value>
+ <value>stdevp</value>
+ <value>sum</value>
+ <value>var</value>
+ <value>varp</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </define>
+ <define name="table-data-pilot-members">
+ <element name="table:data-pilot-members">
+ <zeroOrMore>
+ <ref name="table-data-pilot-member"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="table-data-pilot-member">
+ <element name="table:data-pilot-member">
+ <ref name="table-data-pilot-member-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-data-pilot-member-attlist">
+ <interleave>
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="table:display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:show-details">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-data-pilot-display-info">
+ <element name="table:data-pilot-display-info">
+ <ref name="table-data-pilot-display-info-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-data-pilot-display-info-attlist">
+ <interleave>
+ <attribute name="table:enabled">
+ <ref name="boolean"/>
+ </attribute>
+ <attribute name="table:data-field">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:member-count">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ <attribute name="table:display-member-mode">
+ <choice>
+ <value>from-top</value>
+ <value>from-bottom</value>
+ </choice>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="table-data-pilot-sort-info">
+ <element name="table:data-pilot-sort-info">
+ <ref name="table-data-pilot-sort-info-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-data-pilot-sort-info-attlist">
+ <interleave>
+ <choice>
+ <group>
+ <attribute name="table:sort-mode">
+ <value>data</value>
+ </attribute>
+ <attribute name="table:data-field">
+ <ref name="string"/>
+ </attribute>
+ </group>
+ <attribute name="table:sort-mode">
+ <choice>
+ <value>none</value>
+ <value>manual</value>
+ <value>name</value>
+ </choice>
+ </attribute>
+ </choice>
+ <attribute name="table:order">
+ <choice>
+ <value>ascending</value>
+ <value>descending</value>
+ </choice>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="table-data-pilot-layout-info">
+ <element name="table:data-pilot-layout-info">
+ <ref name="table-data-pilot-layout-info-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-data-pilot-layout-info-attlist">
+ <interleave>
+ <attribute name="table:layout-mode">
+ <choice>
+ <value>tabular-layout</value>
+ <value>outline-subtotals-top</value>
+ <value>outline-subtotals-bottom</value>
+ </choice>
+ </attribute>
+ <attribute name="table:add-empty-lines">
+ <ref name="boolean"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="table-data-pilot-field-reference">
+ <element name="table:data-pilot-field-reference">
+ <ref name="table-data-pilot-field-reference-attlist"/>
+ </element>
+ </define>
+ <define name="table-data-pilot-field-reference-attlist">
+ <interleave>
+ <attribute name="table:field-name">
+ <ref name="string"/>
+ </attribute>
+ <choice>
+ <group>
+ <attribute name="table:member-type">
+ <value>named</value>
+ </attribute>
+ <attribute name="table:member-name">
+ <ref name="string"/>
+ </attribute>
+ </group>
+ <attribute name="table:member-type">
+ <choice>
+ <value>previous</value>
+ <value>next</value>
+ </choice>
+ </attribute>
+ </choice>
+ <attribute name="table:type">
+ <choice>
+ <value>none</value>
+ <value>member-difference</value>
+ <value>member-percentage</value>
+ <value>member-percentage-difference</value>
+ <value>running-total</value>
+ <value>row-percentage</value>
+ <value>column-percentage</value>
+ <value>total-percentage</value>
+ <value>index</value>
+ </choice>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="table-data-pilot-groups">
+ <element name="table:data-pilot-groups">
+ <ref name="table-data-pilot-groups-attlist"/>
+ <oneOrMore>
+ <ref name="table-data-pilot-group"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-data-pilot-groups-attlist">
+ <interleave>
+ <attribute name="table:source-field-name">
+ <ref name="string"/>
+ </attribute>
+ <choice>
+ <attribute name="table:date-start">
+ <choice>
+ <ref name="dateOrDateTime"/>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ <attribute name="table:start">
+ <choice>
+ <ref name="double"/>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ </choice>
+ <choice>
+ <attribute name="table:date-end">
+ <choice>
+ <ref name="dateOrDateTime"/>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ <attribute name="table:end">
+ <choice>
+ <ref name="double"/>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ </choice>
+ <attribute name="table:step">
+ <ref name="double"/>
+ </attribute>
+ <attribute name="table:grouped-by">
+ <choice>
+ <value>seconds</value>
+ <value>minutes</value>
+ <value>hours</value>
+ <value>days</value>
+ <value>months</value>
+ <value>quarters</value>
+ <value>years</value>
+ </choice>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="table-data-pilot-group">
+ <element name="table:data-pilot-group">
+ <ref name="table-data-pilot-group-attlist"/>
+ <oneOrMore>
+ <ref name="table-data-pilot-group-member"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-data-pilot-group-attlist">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ </define>
+ <define name="table-data-pilot-group-member">
+ <element name="table:data-pilot-group-member">
+ <ref name="table-data-pilot-group-member-attlist"/>
+ </element>
+ </define>
+ <define name="table-data-pilot-group-member-attlist">
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ </define>
+ <define name="table-consolidation">
+ <element name="table:consolidation">
+ <ref name="table-consolidation-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-consolidation-attlist">
+ <interleave>
+ <attribute name="table:function">
+ <choice>
+ <value>average</value>
+ <value>count</value>
+ <value>countnums</value>
+ <value>max</value>
+ <value>min</value>
+ <value>product</value>
+ <value>stdev</value>
+ <value>stdevp</value>
+ <value>sum</value>
+ <value>var</value>
+ <value>varp</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ <attribute name="table:source-cell-range-addresses">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ <attribute name="table:target-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ <optional>
+ <attribute name="table:use-labels">
+ <choice>
+ <value>none</value>
+ <value>row</value>
+ <value>column</value>
+ <value>both</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:link-to-source-data">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-dde-links">
+ <element name="table:dde-links">
+ <oneOrMore>
+ <ref name="table-dde-link"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-tracked-changes">
+ <element name="table:tracked-changes">
+ <ref name="table-tracked-changes-attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="table-cell-content-change"/>
+ <ref name="table-insertion"/>
+ <ref name="table-deletion"/>
+ <ref name="table-movement"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="table-tracked-changes-attlist">
+ <optional>
+ <attribute name="table:track-changes">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="table-insertion">
+ <element name="table:insertion">
+ <ref name="table-insertion-attlist"/>
+ <ref name="common-table-change-attlist"/>
+ <ref name="office-change-info"/>
+ <optional>
+ <ref name="table-dependencies"/>
+ </optional>
+ <optional>
+ <ref name="table-deletions"/>
+ </optional>
+ </element>
+ </define>
+ <define name="table-insertion-attlist">
+ <interleave>
+ <attribute name="table:type">
+ <choice>
+ <value>row</value>
+ <value>column</value>
+ <value>table</value>
+ </choice>
+ </attribute>
+ <attribute name="table:position">
+ <ref name="integer"/>
+ </attribute>
+ <optional>
+ <attribute name="table:count">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:table">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-dependencies">
+ <element name="table:dependencies">
+ <oneOrMore>
+ <ref name="table-dependency"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-dependency">
+ <element name="table:dependency">
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-deletions">
+ <element name="table:deletions">
+ <oneOrMore>
+ <choice>
+ <ref name="table-cell-content-deletion"/>
+ <ref name="table-change-deletion"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="table-cell-content-deletion">
+ <element name="table:cell-content-deletion">
+ <optional>
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="table-cell-address"/>
+ </optional>
+ <optional>
+ <ref name="table-change-track-table-cell"/>
+ </optional>
+ </element>
+ </define>
+ <define name="table-change-deletion">
+ <element name="table:change-deletion">
+ <optional>
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-deletion">
+ <element name="table:deletion">
+ <ref name="table-deletion-attlist"/>
+ <ref name="common-table-change-attlist"/>
+ <ref name="office-change-info"/>
+ <optional>
+ <ref name="table-dependencies"/>
+ </optional>
+ <optional>
+ <ref name="table-deletions"/>
+ </optional>
+ <optional>
+ <ref name="table-cut-offs"/>
+ </optional>
+ </element>
+ </define>
+ <define name="table-deletion-attlist">
+ <interleave>
+ <attribute name="table:type">
+ <choice>
+ <value>row</value>
+ <value>column</value>
+ <value>table</value>
+ </choice>
+ </attribute>
+ <attribute name="table:position">
+ <ref name="integer"/>
+ </attribute>
+ <optional>
+ <attribute name="table:table">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:multi-deletion-spanned">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-cut-offs">
+ <element name="table:cut-offs">
+ <choice>
+ <oneOrMore>
+ <ref name="table-movement-cut-off"/>
+ </oneOrMore>
+ <group>
+ <ref name="table-insertion-cut-off"/>
+ <zeroOrMore>
+ <ref name="table-movement-cut-off"/>
+ </zeroOrMore>
+ </group>
+ </choice>
+ </element>
+ </define>
+ <define name="table-insertion-cut-off">
+ <element name="table:insertion-cut-off">
+ <ref name="table-insertion-cut-off-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-insertion-cut-off-attlist">
+ <interleave>
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:position">
+ <ref name="integer"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="table-movement-cut-off">
+ <element name="table:movement-cut-off">
+ <ref name="table-movement-cut-off-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-movement-cut-off-attlist">
+ <choice>
+ <attribute name="table:position">
+ <ref name="integer"/>
+ </attribute>
+ <group>
+ <attribute name="table:start-position">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:end-position">
+ <ref name="integer"/>
+ </attribute>
+ </group>
+ </choice>
+ </define>
+ <define name="table-movement">
+ <element name="table:movement">
+ <ref name="common-table-change-attlist"/>
+ <ref name="table-source-range-address"/>
+ <ref name="table-target-range-address"/>
+ <ref name="office-change-info"/>
+ <optional>
+ <ref name="table-dependencies"/>
+ </optional>
+ <optional>
+ <ref name="table-deletions"/>
+ </optional>
+ </element>
+ </define>
+ <define name="table-source-range-address">
+ <element name="table:source-range-address">
+ <ref name="common-table-range-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-target-range-address">
+ <element name="table:target-range-address">
+ <ref name="common-table-range-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="common-table-range-attlist">
+ <choice>
+ <group>
+ <ref name="common-table-cell-address-attlist"/>
+ </group>
+ <group>
+ <ref name="common-table-cell-range-address-attlist"/>
+ </group>
+ </choice>
+ </define>
+ <define name="common-table-cell-address-attlist">
+ <attribute name="table:column">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:row">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:table">
+ <ref name="integer"/>
+ </attribute>
+ </define>
+ <define name="common-table-cell-range-address-attlist">
+ <attribute name="table:start-column">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:start-row">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:start-table">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:end-column">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:end-row">
+ <ref name="integer"/>
+ </attribute>
+ <attribute name="table:end-table">
+ <ref name="integer"/>
+ </attribute>
+ </define>
+ <define name="table-change-track-table-cell">
+ <element name="table:change-track-table-cell">
+ <ref name="table-change-track-table-cell-attlist"/>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="table-change-track-table-cell-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:matrix-covered">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:formula">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:number-matrix-columns-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:number-matrix-rows-spanned">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="common-value-and-type-attlist"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-cell-content-change">
+ <element name="table:cell-content-change">
+ <ref name="common-table-change-attlist"/>
+ <ref name="table-cell-address"/>
+ <ref name="office-change-info"/>
+ <optional>
+ <ref name="table-dependencies"/>
+ </optional>
+ <optional>
+ <ref name="table-deletions"/>
+ </optional>
+ <ref name="table-previous"/>
+ </element>
+ </define>
+ <define name="table-cell-address">
+ <element name="table:cell-address">
+ <ref name="common-table-cell-address-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-previous">
+ <element name="table:previous">
+ <optional>
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <ref name="table-change-track-table-cell"/>
+ </element>
+ </define>
+ <define name="common-table-change-attlist">
+ <interleave>
+ <attribute name="table:id">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="table:acceptance-state">
+ <choice>
+ <value>accepted</value>
+ <value>rejected</value>
+ <value>pending</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:rejecting-change-id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-handout-master">
+ <element name="style:handout-master">
+ <ref name="common-presentation-header-footer-attlist"/>
+ <ref name="style-handout-master-attlist"/>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="style-handout-master-attlist">
+ <interleave>
+ <optional>
+ <attribute name="presentation:presentation-page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <attribute name="style:page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-layer-set">
+ <element name="draw:layer-set">
+ <zeroOrMore>
+ <ref name="draw-layer"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="draw-layer">
+ <element name="draw:layer">
+ <ref name="draw-layer-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ </element>
+ </define>
+ <define name="draw-layer-attlist">
+ <interleave>
+ <attribute name="draw:name">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="draw:protected">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:display">
+ <choice>
+ <value>always</value>
+ <value>screen</value>
+ <value>printer</value>
+ <value>none</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-page">
+ <element name="draw:page">
+ <ref name="common-presentation-header-footer-attlist"/>
+ <ref name="draw-page-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="draw-layer-set"/>
+ </optional>
+ <optional>
+ <ref name="office-forms"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ <optional>
+ <choice>
+ <ref name="presentation-animations"/>
+ <ref name="animation-element"/>
+ </choice>
+ </optional>
+ <optional>
+ <ref name="presentation-notes"/>
+ </optional>
+ </element>
+ </define>
+ <define name="draw-page-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <attribute name="draw:master-page-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ <optional>
+ <attribute name="presentation:presentation-page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <group>
+ <ref name="xml-id"/>
+ <optional>
+ <attribute name="draw:id">
+ <ref name="NCName"/>
+ </attribute>
+ </optional>
+ </group>
+ </optional>
+ <optional>
+ <attribute name="draw:nav-order">
+ <ref name="IDREFS"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-presentation-header-footer-attlist">
+ <interleave>
+ <optional>
+ <attribute name="presentation:use-header-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:use-footer-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:use-date-time-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="shape">
+ <choice>
+ <ref name="shape-instance"/>
+ <ref name="draw-a"/>
+ </choice>
+ </define>
+ <define name="shape-instance">
+ <choice>
+ <ref name="draw-rect"/>
+ <ref name="draw-line"/>
+ <ref name="draw-polyline"/>
+ <ref name="draw-polygon"/>
+ <ref name="draw-regular-polygon"/>
+ <ref name="draw-path"/>
+ <ref name="draw-circle"/>
+ <ref name="draw-ellipse"/>
+ <ref name="draw-g"/>
+ <ref name="draw-page-thumbnail"/>
+ <ref name="draw-frame"/>
+ <ref name="draw-measure"/>
+ <ref name="draw-caption"/>
+ <ref name="draw-connector"/>
+ <ref name="draw-control"/>
+ <ref name="dr3d-scene"/>
+ <ref name="draw-custom-shape"/>
+ </choice>
+ </define>
+ <define name="draw-rect">
+ <element name="draw:rect">
+ <ref name="draw-rect-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+ </define>
+ <define name="draw-rect-attlist">
+ <choice>
+ <optional>
+ <attribute name="draw:corner-radius">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <group>
+ <optional>
+ <attribute name="svg:rx">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:ry">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ </group>
+ </choice>
+ </define>
+ <define name="draw-line">
+ <element name="draw:line">
+ <ref name="draw-line-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+ </define>
+ <define name="draw-line-attlist">
+ <interleave>
+ <attribute name="svg:x1">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y1">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:x2">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y2">
+ <ref name="coordinate"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="draw-polyline">
+ <element name="draw:polyline">
+ <ref name="common-draw-points-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+ </define>
+ <define name="common-draw-points-attlist">
+ <attribute name="draw:points">
+ <ref name="points"/>
+ </attribute>
+ </define>
+ <define name="draw-polygon">
+ <element name="draw:polygon">
+ <ref name="common-draw-points-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+ </define>
+ <define name="draw-regular-polygon">
+ <element name="draw:regular-polygon">
+ <ref name="draw-regular-polygon-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+ </define>
+ <define name="draw-regular-polygon-attlist">
+ <interleave>
+ <choice>
+ <attribute name="draw:concave">
+ <value>false</value>
+ </attribute>
+ <group>
+ <attribute name="draw:concave">
+ <value>true</value>
+ </attribute>
+ <ref name="draw-regular-polygon-sharpness-attlist"/>
+ </group>
+ </choice>
+ <attribute name="draw:corners">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="draw-regular-polygon-sharpness-attlist">
+ <attribute name="draw:sharpness">
+ <ref name="percent"/>
+ </attribute>
+ </define>
+ <define name="draw-path">
+ <element name="draw:path">
+ <ref name="common-draw-path-data-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+ </define>
+ <define name="common-draw-path-data-attlist">
+ <attribute name="svg:d">
+ <ref name="pathData"/>
+ </attribute>
+ </define>
+ <define name="draw-circle">
+ <element name="draw:circle">
+ <choice>
+ <group>
+ <ref name="draw-circle-attlist"/>
+ <ref name="common-draw-circle-ellipse-pos-attlist"/>
+ </group>
+ <group>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ </group>
+ </choice>
+ <ref name="common-draw-circle-ellipse-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+ </define>
+ <define name="common-draw-circle-ellipse-pos-attlist">
+ <attribute name="svg:cx">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:cy">
+ <ref name="coordinate"/>
+ </attribute>
+ </define>
+ <define name="draw-circle-attlist">
+ <attribute name="svg:r">
+ <ref name="length"/>
+ </attribute>
+ </define>
+ <define name="common-draw-circle-ellipse-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:kind">
+ <choice>
+ <value>full</value>
+ <value>section</value>
+ <value>cut</value>
+ <value>arc</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:start-angle">
+ <ref name="angle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end-angle">
+ <ref name="angle"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-ellipse">
+ <element name="draw:ellipse">
+ <choice>
+ <group>
+ <ref name="draw-ellipse-attlist"/>
+ <ref name="common-draw-circle-ellipse-pos-attlist"/>
+ </group>
+ <group>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ </group>
+ </choice>
+ <ref name="common-draw-circle-ellipse-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+ </define>
+ <define name="draw-ellipse-attlist">
+ <attribute name="svg:rx">
+ <ref name="length"/>
+ </attribute>
+ <attribute name="svg:ry">
+ <ref name="length"/>
+ </attribute>
+ </define>
+ <define name="draw-connector">
+ <element name="draw:connector">
+ <ref name="draw-connector-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+ </define>
+ <define name="draw-connector-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:type">
+ <choice>
+ <value>standard</value>
+ <value>lines</value>
+ <value>line</value>
+ <value>curve</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:x1">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y1">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:start-shape">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:start-glue-point">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:x2">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y2">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end-shape">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end-glue-point">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:line-skew">
+ <list>
+ <ref name="length"/>
+ <optional>
+ <ref name="length"/>
+ <optional>
+ <ref name="length"/>
+ </optional>
+ </optional>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:d">
+ <ref name="pathData"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-caption">
+ <element name="draw:caption">
+ <ref name="draw-caption-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+ </define>
+ <define name="draw-caption-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:caption-point-x">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="draw:caption-point-y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:corner-radius">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-measure">
+ <element name="draw:measure">
+ <ref name="draw-measure-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ </element>
+ </define>
+ <define name="draw-measure-attlist">
+ <interleave>
+ <attribute name="svg:x1">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y1">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:x2">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y2">
+ <ref name="coordinate"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="draw-control">
+ <element name="draw:control">
+ <ref name="draw-control-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="draw-control-attlist">
+ <attribute name="draw:control">
+ <ref name="IDREF"/>
+ </attribute>
+ </define>
+ <define name="draw-page-thumbnail">
+ <element name="draw:page-thumbnail">
+ <ref name="draw-page-thumbnail-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="presentation-shape-attlist"/>
+ <ref name="common-draw-shape-with-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ </element>
+ </define>
+ <define name="draw-page-thumbnail-attlist">
+ <optional>
+ <attribute name="draw:page-number">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="draw-g">
+ <element name="draw:g">
+ <ref name="draw-g-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-name-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-text-spreadsheet-shape-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="draw-g-attlist">
+ <optional>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-draw-name-attlist">
+ <optional>
+ <attribute name="draw:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-draw-caption-id-attlist">
+ <optional>
+ <attribute name="draw:caption-id">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-draw-position-attlist">
+ <optional>
+ <attribute name="svg:x">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-draw-size-attlist">
+ <optional>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-draw-transform-attlist">
+ <optional>
+ <attribute name="draw:transform">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-draw-viewbox-attlist">
+ <attribute name="svg:viewBox">
+ <list>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ </list>
+ </attribute>
+ </define>
+ <define name="common-draw-style-name-attlist">
+ <choice>
+ <group>
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:class-names">
+ <ref name="styleNameRefs"/>
+ </attribute>
+ </optional>
+ </group>
+ <group>
+ <optional>
+ <attribute name="presentation:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:class-names">
+ <ref name="styleNameRefs"/>
+ </attribute>
+ </optional>
+ </group>
+ </choice>
+ </define>
+ <define name="common-draw-text-style-name-attlist">
+ <optional>
+ <attribute name="draw:text-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-draw-layer-name-attlist">
+ <optional>
+ <attribute name="draw:layer">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-draw-id-attlist">
+ <optional>
+ <group>
+ <ref name="xml-id"/>
+ <optional>
+ <attribute name="draw:id">
+ <ref name="NCName"/>
+ </attribute>
+ </optional>
+ </group>
+ </optional>
+ </define>
+ <define name="common-draw-z-index-attlist">
+ <optional>
+ <attribute name="draw:z-index">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-text-spreadsheet-shape-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:end-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:end-x">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:end-y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:table-background">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <ref name="common-text-anchor-attlist"/>
+ </interleave>
+ </define>
+ <define name="common-text-anchor-attlist">
+ <interleave>
+ <optional>
+ <attribute name="text:anchor-type">
+ <choice>
+ <value>page</value>
+ <value>frame</value>
+ <value>paragraph</value>
+ <value>char</value>
+ <value>as-char</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:anchor-page-number">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-text">
+ <zeroOrMore>
+ <choice>
+ <ref name="text-p"/>
+ <ref name="text-list"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="common-draw-shape-with-styles-attlist">
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-draw-transform-attlist"/>
+ <ref name="common-draw-name-attlist"/>
+ <ref name="common-text-spreadsheet-shape-attlist"/>
+ </define>
+ <define name="common-draw-shape-with-text-and-styles-attlist">
+ <ref name="common-draw-shape-with-styles-attlist"/>
+ <ref name="common-draw-text-style-name-attlist"/>
+ </define>
+ <define name="draw-glue-point">
+ <element name="draw:glue-point">
+ <ref name="draw-glue-point-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="draw-glue-point-attlist">
+ <interleave>
+ <attribute name="draw:id">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ <attribute name="svg:x">
+ <choice>
+ <ref name="distance"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <attribute name="svg:y">
+ <choice>
+ <ref name="distance"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="draw:align">
+ <choice>
+ <value>top-left</value>
+ <value>top</value>
+ <value>top-right</value>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>bottom-left</value>
+ <value>bottom-right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <attribute name="draw:escape-direction">
+ <choice>
+ <value>auto</value>
+ <value>left</value>
+ <value>right</value>
+ <value>up</value>
+ <value>down</value>
+ <value>horizontal</value>
+ <value>vertical</value>
+ </choice>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="svg-title">
+ <element name="svg:title">
+ <text/>
+ </element>
+ </define>
+ <define name="svg-desc">
+ <element name="svg:desc">
+ <text/>
+ </element>
+ </define>
+ <define name="draw-frame">
+ <element name="draw:frame">
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-rel-size-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <ref name="presentation-shape-attlist"/>
+ <ref name="draw-frame-attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="draw-text-box"/>
+ <ref name="draw-image"/>
+ <ref name="draw-object"/>
+ <ref name="draw-object-ole"/>
+ <ref name="draw-applet"/>
+ <ref name="draw-floating-frame"/>
+ <ref name="draw-plugin"/>
+ <ref name="table-table"/>
+ </choice>
+ </zeroOrMore>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="draw-image-map"/>
+ </optional>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <choice>
+ <ref name="draw-contour-polygon"/>
+ <ref name="draw-contour-path"/>
+ </choice>
+ </optional>
+ </element>
+ </define>
+ <define name="common-draw-rel-size-attlist">
+ <ref name="common-draw-size-attlist"/>
+ <optional>
+ <attribute name="style:rel-width">
+ <choice>
+ <ref name="percent"/>
+ <value>scale</value>
+ <value>scale-min</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rel-height">
+ <choice>
+ <ref name="percent"/>
+ <value>scale</value>
+ <value>scale-min</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="draw-frame-attlist">
+ <optional>
+ <attribute name="draw:copy-of">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="draw-text-box">
+ <element name="draw:text-box">
+ <ref name="draw-text-box-attlist"/>
+ <zeroOrMore>
+ <ref name="text-content"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="draw-text-box-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:chain-next-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:corner-radius">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:min-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:min-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:max-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:max-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <group>
+ <ref name="xml-id"/>
+ <optional>
+ <attribute name="text:id">
+ <ref name="NCName"/>
+ </attribute>
+ </optional>
+ </group>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-image">
+ <element name="draw:image">
+ <ref name="draw-image-attlist"/>
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-binary-data"/>
+ </choice>
+ <ref name="draw-text"/>
+ </element>
+ </define>
+ <define name="common-draw-data-attlist">
+ <group>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:show">
+ <value>embed</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate">
+ <value>onLoad</value>
+ </attribute>
+ </optional>
+ </group>
+ </define>
+ <define name="office-binary-data">
+ <element name="office:binary-data">
+ <ref name="base64Binary"/>
+ </element>
+ </define>
+ <define name="draw-image-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:filter-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-object">
+ <element name="draw:object">
+ <ref name="draw-object-attlist"/>
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-document"/>
+ <ref name="math-math"/>
+ </choice>
+ </element>
+ </define>
+ <define name="draw-object-ole">
+ <element name="draw:object-ole">
+ <ref name="draw-object-ole-attlist"/>
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-binary-data"/>
+ </choice>
+ </element>
+ </define>
+ <define name="draw-object-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:notify-on-update-of-ranges">
+ <choice>
+ <ref name="cellRangeAddressList"/>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-object-ole-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:class-id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-applet">
+ <element name="draw:applet">
+ <ref name="draw-applet-attlist"/>
+ <optional>
+ <ref name="common-draw-data-attlist"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-param"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="draw-applet-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:code">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:object">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:archive">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:may-script">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-plugin">
+ <element name="draw:plugin">
+ <ref name="draw-plugin-attlist"/>
+ <ref name="common-draw-data-attlist"/>
+ <zeroOrMore>
+ <ref name="draw-param"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="draw-plugin-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:mime-type">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-param">
+ <element name="draw:param">
+ <ref name="draw-param-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="draw-param-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-floating-frame">
+ <element name="draw:floating-frame">
+ <ref name="draw-floating-frame-attlist"/>
+ <ref name="common-draw-data-attlist"/>
+ </element>
+ </define>
+ <define name="draw-floating-frame-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:frame-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-contour-polygon">
+ <element name="draw:contour-polygon">
+ <ref name="common-contour-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-points-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="draw-contour-path">
+ <element name="draw:contour-path">
+ <ref name="common-contour-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-path-data-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="common-contour-attlist">
+ <attribute name="draw:recreate-on-edit">
+ <ref name="boolean"/>
+ </attribute>
+ </define>
+ <define name="draw-a">
+ <element name="draw:a">
+ <ref name="draw-a-attlist"/>
+ <ref name="shape-instance"/>
+ </element>
+ </define>
+ <define name="draw-a-attlist">
+ <interleave>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:actuate">
+ <value>onRequest</value>
+ </attribute>
+ </optional>
+ <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>
+ <optional>
+ <attribute name="office:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="office:title">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="office:server-map">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-image-map">
+ <element name="draw:image-map">
+ <zeroOrMore>
+ <choice>
+ <ref name="draw-area-rectangle"/>
+ <ref name="draw-area-circle"/>
+ <ref name="draw-area-polygon"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="draw-area-rectangle">
+ <element name="draw:area-rectangle">
+ <ref name="common-draw-area-attlist"/>
+ <attribute name="svg:x">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ </element>
+ </define>
+ <define name="draw-area-circle">
+ <element name="draw:area-circle">
+ <ref name="common-draw-area-attlist"/>
+ <attribute name="svg:cx">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:cy">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:r">
+ <ref name="length"/>
+ </attribute>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ </element>
+ </define>
+ <define name="draw-area-polygon">
+ <element name="draw:area-polygon">
+ <ref name="common-draw-area-attlist"/>
+ <attribute name="svg:x">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-points-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ </element>
+ </define>
+ <define name="common-draw-area-attlist">
+ <interleave>
+ <optional>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <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>
+ </optional>
+ <optional>
+ <attribute name="office:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:nohref">
+ <value>nohref</value>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="dr3d-scene">
+ <element name="dr3d:scene">
+ <ref name="dr3d-scene-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-text-spreadsheet-shape-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="dr3d-light"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="shapes3d"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="shapes3d">
+ <choice>
+ <ref name="dr3d-scene"/>
+ <ref name="dr3d-extrude"/>
+ <ref name="dr3d-sphere"/>
+ <ref name="dr3d-rotate"/>
+ <ref name="dr3d-cube"/>
+ </choice>
+ </define>
+ <define name="dr3d-scene-attlist">
+ <interleave>
+ <optional>
+ <attribute name="dr3d:vrp">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:vpn">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:vup">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:projection">
+ <choice>
+ <value>parallel</value>
+ <value>perspective</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:distance">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:focal-length">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:shadow-slant">
+ <ref name="angle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:shade-mode">
+ <choice>
+ <value>flat</value>
+ <value>phong</value>
+ <value>gouraud</value>
+ <value>draft</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:ambient-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:lighting-mode">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-dr3d-transform-attlist">
+ <optional>
+ <attribute name="dr3d:transform">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="dr3d-light">
+ <element name="dr3d:light">
+ <ref name="dr3d-light-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="dr3d-light-attlist">
+ <interleave>
+ <optional>
+ <attribute name="dr3d:diffuse-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <attribute name="dr3d:direction">
+ <ref name="vector3D"/>
+ </attribute>
+ <optional>
+ <attribute name="dr3d:enabled">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:specular">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="dr3d-cube">
+ <element name="dr3d:cube">
+ <ref name="dr3d-cube-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="dr3d-cube-attlist">
+ <optional>
+ <attribute name="dr3d:min-edge">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:max-edge">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="dr3d-sphere">
+ <element name="dr3d:sphere">
+ <ref name="dr3d-sphere-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="dr3d-sphere-attlist">
+ <interleave>
+ <optional>
+ <attribute name="dr3d:center">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:size">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="dr3d-extrude">
+ <element name="dr3d:extrude">
+ <ref name="common-draw-path-data-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="dr3d-rotate">
+ <element name="dr3d:rotate">
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-path-data-attlist"/>
+ <ref name="common-draw-z-index-attlist"/>
+ <ref name="common-draw-id-attlist"/>
+ <ref name="common-draw-layer-name-attlist"/>
+ <ref name="common-draw-style-name-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="draw-custom-shape">
+ <element name="draw:custom-shape">
+ <ref name="draw-custom-shape-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <ref name="common-draw-caption-id-attlist"/>
+ <optional>
+ <ref name="svg-title"/>
+ </optional>
+ <optional>
+ <ref name="svg-desc"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="draw-glue-point"/>
+ </zeroOrMore>
+ <ref name="draw-text"/>
+ <optional>
+ <ref name="draw-enhanced-geometry"/>
+ </optional>
+ </element>
+ </define>
+ <define name="draw-custom-shape-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:engine">
+ <ref name="namespacedToken"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:data">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-enhanced-geometry">
+ <element name="draw:enhanced-geometry">
+ <ref name="draw-enhanced-geometry-attlist"/>
+ <zeroOrMore>
+ <ref name="draw-equation"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="draw-handle"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="draw-enhanced-geometry-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:type">
+ <ref name="custom-shape-type"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:viewBox">
+ <list>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ <ref name="integer"/>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:mirror-vertical">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:mirror-horizontal">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:text-rotate-angle">
+ <ref name="angle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-allowed">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:text-path-allowed">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:concentric-gradient-fill-allowed">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-brightness">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-depth">
+ <list>
+ <ref name="length"/>
+ <ref name="double"/>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-diffusion">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-number-of-line-segments">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-light-face">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-first-light-harsh">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-second-light-harsh">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-first-light-level">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-second-light-level">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-first-light-direction">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-second-light-direction">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-metal">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:shade-mode">
+ <choice>
+ <value>flat</value>
+ <value>phong</value>
+ <value>gouraud</value>
+ <value>draft</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-rotation-angle">
+ <list>
+ <ref name="angle"/>
+ <ref name="angle"/>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-rotation-center">
+ <ref name="vector3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-shininess">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-skew">
+ <list>
+ <ref name="double"/>
+ <ref name="angle"/>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-specularity">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:projection">
+ <choice>
+ <value>parallel</value>
+ <value>perspective</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-viewpoint">
+ <ref name="point3D"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-origin">
+ <list>
+ <ref name="extrusionOrigin"/>
+ <ref name="extrusionOrigin"/>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:extrusion-color">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:enhanced-path">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:path-stretchpoint-x">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:path-stretchpoint-y">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:text-areas">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:glue-points">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:glue-point-type">
+ <choice>
+ <value>none</value>
+ <value>segments</value>
+ <value>rectangle</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:glue-point-leaving-directions">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:text-path">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:text-path-mode">
+ <choice>
+ <value>normal</value>
+ <value>path</value>
+ <value>shape</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:text-path-scale">
+ <choice>
+ <value>path</value>
+ <value>shape</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:text-path-same-letter-heights">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:modifiers">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="custom-shape-type">
+ <choice>
+ <value>non-primitive</value>
+ <ref name="string"/>
+ </choice>
+ </define>
+ <define name="point3D">
+ <data type="string">
+ <param name="pattern">\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc))([ ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc))){2}[ ]*\)</param>
+ </data>
+ </define>
+ <define name="extrusionOrigin">
+ <data type="double">
+ <param name="minInclusive">-0.5</param>
+ <param name="maxInclusive">0.5</param>
+ </data>
+ </define>
+ <define name="draw-equation">
+ <element name="draw:equation">
+ <ref name="draw-equation-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="draw-equation-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:formula">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-handle">
+ <element name="draw:handle">
+ <ref name="draw-handle-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="draw-handle-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:handle-mirror-vertical">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:handle-mirror-horizontal">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:handle-switched">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <attribute name="draw:handle-position">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="draw:handle-range-x-minimum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:handle-range-x-maximum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:handle-range-y-minimum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:handle-range-y-maximum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:handle-polar">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:handle-radius-range-minimum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:handle-radius-range-maximum">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="presentation-shape-attlist">
+ <interleave>
+ <optional>
+ <attribute name="presentation:class">
+ <ref name="presentation-classes"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:placeholder">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:user-transformed">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="presentation-classes">
+ <choice>
+ <value>title</value>
+ <value>outline</value>
+ <value>subtitle</value>
+ <value>text</value>
+ <value>graphic</value>
+ <value>object</value>
+ <value>chart</value>
+ <value>table</value>
+ <value>orgchart</value>
+ <value>page</value>
+ <value>notes</value>
+ <value>handout</value>
+ <value>header</value>
+ <value>footer</value>
+ <value>date-time</value>
+ <value>page-number</value>
+ </choice>
+ </define>
+ <define name="presentation-animations">
+ <element name="presentation:animations">
+ <zeroOrMore>
+ <choice>
+ <ref name="presentation-animation-elements"/>
+ <ref name="presentation-animation-group"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="presentation-animation-elements">
+ <choice>
+ <ref name="presentation-show-shape"/>
+ <ref name="presentation-show-text"/>
+ <ref name="presentation-hide-shape"/>
+ <ref name="presentation-hide-text"/>
+ <ref name="presentation-dim"/>
+ <ref name="presentation-play"/>
+ </choice>
+ </define>
+ <define name="presentation-sound">
+ <element name="presentation:sound">
+ <ref name="presentation-sound-attlist"/>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:actuate">
+ <value>onRequest</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:show">
+ <choice>
+ <value>new</value>
+ <value>replace</value>
+ </choice>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+ </define>
+ <define name="presentation-sound-attlist">
+ <interleave>
+ <optional>
+ <attribute name="presentation:play-full">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="presentation-show-shape">
+ <element name="presentation:show-shape">
+ <ref name="common-presentation-effect-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+ </define>
+ <define name="common-presentation-effect-attlist">
+ <interleave>
+ <attribute name="draw:shape-id">
+ <ref name="IDREF"/>
+ </attribute>
+ <optional>
+ <attribute name="presentation:effect">
+ <ref name="presentationEffects"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:direction">
+ <ref name="presentationEffectDirections"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:speed">
+ <ref name="presentationSpeeds"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:delay">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:start-scale">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:path-id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="presentationEffects">
+ <choice>
+ <value>none</value>
+ <value>fade</value>
+ <value>move</value>
+ <value>stripes</value>
+ <value>open</value>
+ <value>close</value>
+ <value>dissolve</value>
+ <value>wavyline</value>
+ <value>random</value>
+ <value>lines</value>
+ <value>laser</value>
+ <value>appear</value>
+ <value>hide</value>
+ <value>move-short</value>
+ <value>checkerboard</value>
+ <value>rotate</value>
+ <value>stretch</value>
+ </choice>
+ </define>
+ <define name="presentationEffectDirections">
+ <choice>
+ <value>none</value>
+ <value>from-left</value>
+ <value>from-top</value>
+ <value>from-right</value>
+ <value>from-bottom</value>
+ <value>from-center</value>
+ <value>from-upper-left</value>
+ <value>from-upper-right</value>
+ <value>from-lower-left</value>
+ <value>from-lower-right</value>
+ <value>to-left</value>
+ <value>to-top</value>
+ <value>to-right</value>
+ <value>to-bottom</value>
+ <value>to-upper-left</value>
+ <value>to-upper-right</value>
+ <value>to-lower-right</value>
+ <value>to-lower-left</value>
+ <value>path</value>
+ <value>spiral-inward-left</value>
+ <value>spiral-inward-right</value>
+ <value>spiral-outward-left</value>
+ <value>spiral-outward-right</value>
+ <value>vertical</value>
+ <value>horizontal</value>
+ <value>to-center</value>
+ <value>clockwise</value>
+ <value>counter-clockwise</value>
+ </choice>
+ </define>
+ <define name="presentationSpeeds">
+ <choice>
+ <value>slow</value>
+ <value>medium</value>
+ <value>fast</value>
+ </choice>
+ </define>
+ <define name="presentation-show-text">
+ <element name="presentation:show-text">
+ <ref name="common-presentation-effect-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+ </define>
+ <define name="presentation-hide-shape">
+ <element name="presentation:hide-shape">
+ <ref name="common-presentation-effect-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+ </define>
+ <define name="presentation-hide-text">
+ <element name="presentation:hide-text">
+ <ref name="common-presentation-effect-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+ </define>
+ <define name="presentation-dim">
+ <element name="presentation:dim">
+ <ref name="presentation-dim-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+ </define>
+ <define name="presentation-dim-attlist">
+ <interleave>
+ <attribute name="draw:shape-id">
+ <ref name="IDREF"/>
+ </attribute>
+ <attribute name="draw:color">
+ <ref name="color"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="presentation-play">
+ <element name="presentation:play">
+ <ref name="presentation-play-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="presentation-play-attlist">
+ <attribute name="draw:shape-id">
+ <ref name="IDREF"/>
+ </attribute>
+ <optional>
+ <attribute name="presentation:speed">
+ <ref name="presentationSpeeds"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="presentation-animation-group">
+ <element name="presentation:animation-group">
+ <zeroOrMore>
+ <ref name="presentation-animation-elements"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="common-anim-attlist">
+ <interleave>
+ <optional>
+ <attribute name="presentation:node-type">
+ <choice>
+ <value>default</value>
+ <value>on-click</value>
+ <value>with-previous</value>
+ <value>after-previous</value>
+ <value>timing-root</value>
+ <value>main-sequence</value>
+ <value>interactive-sequence</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:preset-id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:preset-sub-type">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:preset-class">
+ <choice>
+ <value>custom</value>
+ <value>entrance</value>
+ <value>exit</value>
+ <value>emphasis</value>
+ <value>motion-path</value>
+ <value>ole-action</value>
+ <value>media-call</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:master-element">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:group-id">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <group>
+ <ref name="xml-id"/>
+ <optional>
+ <attribute name="anim:id">
+ <ref name="NCName"/>
+ </attribute>
+ </optional>
+ </group>
+ </optional>
+ </interleave>
+ </define>
+ <define name="presentation-event-listener">
+ <element name="presentation:event-listener">
+ <ref name="presentation-event-listener-attlist"/>
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </element>
+ </define>
+ <define name="presentation-event-listener-attlist">
+ <interleave>
+ <attribute name="script:event-name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="presentation:action">
+ <choice>
+ <value>none</value>
+ <value>previous-page</value>
+ <value>next-page</value>
+ <value>first-page</value>
+ <value>last-page</value>
+ <value>hide</value>
+ <value>stop</value>
+ <value>execute</value>
+ <value>show</value>
+ <value>verb</value>
+ <value>fade-out</value>
+ <value>sound</value>
+ <value>last-visited-page</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="presentation:effect">
+ <ref name="presentationEffects"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:direction">
+ <ref name="presentationEffectDirections"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:speed">
+ <ref name="presentationSpeeds"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:start-scale">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:show">
+ <value>embed</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate">
+ <value>onRequest</value>
+ </attribute>
+ </optional>
+ </optional>
+ <optional>
+ <attribute name="presentation:verb">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="presentation-decls">
+ <zeroOrMore>
+ <ref name="presentation-decl"/>
+ </zeroOrMore>
+ </define>
+ <define name="presentation-decl">
+ <choice>
+ <element name="presentation:header-decl">
+ <ref name="presentation-header-decl-attlist"/>
+ <text/>
+ </element>
+ <element name="presentation:footer-decl">
+ <ref name="presentation-footer-decl-attlist"/>
+ <text/>
+ </element>
+ <element name="presentation:date-time-decl">
+ <ref name="presentation-date-time-decl-attlist"/>
+ <text/>
+ </element>
+ </choice>
+ </define>
+ <define name="presentation-header-decl-attlist">
+ <attribute name="presentation:name">
+ <ref name="string"/>
+ </attribute>
+ </define>
+ <define name="presentation-footer-decl-attlist">
+ <attribute name="presentation:name">
+ <ref name="string"/>
+ </attribute>
+ </define>
+ <define name="presentation-date-time-decl-attlist">
+ <interleave>
+ <attribute name="presentation:name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="presentation:source">
+ <choice>
+ <value>fixed</value>
+ <value>current-date</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="style:data-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="presentation-settings">
+ <optional>
+ <element name="presentation:settings">
+ <ref name="presentation-settings-attlist"/>
+ <zeroOrMore>
+ <ref name="presentation-show"/>
+ </zeroOrMore>
+ </element>
+ </optional>
+ </define>
+ <define name="presentation-settings-attlist">
+ <interleave>
+ <optional>
+ <attribute name="presentation:start-page">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:show">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:full-screen">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:endless">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:pause">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:show-logo">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:force-manual">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:mouse-visible">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:mouse-as-pen">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:start-with-navigator">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:animations">
+ <choice>
+ <value>enabled</value>
+ <value>disabled</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:transition-on-click">
+ <choice>
+ <value>enabled</value>
+ <value>disabled</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:stay-on-top">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:show-end-of-presentation-slide">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="presentation-show">
+ <element name="presentation:show">
+ <ref name="presentation-show-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="presentation-show-attlist">
+ <interleave>
+ <attribute name="presentation:name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="presentation:pages">
+ <ref name="string"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="chart-chart">
+ <element name="chart:chart">
+ <ref name="chart-chart-attlist"/>
+ <optional>
+ <ref name="chart-title"/>
+ </optional>
+ <optional>
+ <ref name="chart-subtitle"/>
+ </optional>
+ <optional>
+ <ref name="chart-footer"/>
+ </optional>
+ <optional>
+ <ref name="chart-legend"/>
+ </optional>
+ <ref name="chart-plot-area"/>
+ <optional>
+ <ref name="table-table"/>
+ </optional>
+ </element>
+ </define>
+ <define name="chart-chart-attlist">
+ <interleave>
+ <attribute name="chart:class">
+ <ref name="namespacedToken"/>
+ </attribute>
+ <ref name="common-draw-size-attlist"/>
+ <optional>
+ <attribute name="chart:column-mapping">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:row-mapping">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <group>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ </group>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="chart-title">
+ <element name="chart:title">
+ <ref name="chart-title-attlist"/>
+ <optional>
+ <ref name="text-p"/>
+ </optional>
+ </element>
+ </define>
+ <define name="chart-title-attlist">
+ <interleave>
+ <optional>
+ <attribute name="table:cell-range">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ </optional>
+ <ref name="common-draw-position-attlist"/>
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="chart-subtitle">
+ <element name="chart:subtitle">
+ <ref name="chart-title-attlist"/>
+ <optional>
+ <ref name="text-p"/>
+ </optional>
+ </element>
+ </define>
+ <define name="chart-footer">
+ <element name="chart:footer">
+ <ref name="chart-title-attlist"/>
+ <optional>
+ <ref name="text-p"/>
+ </optional>
+ </element>
+ </define>
+ <define name="chart-legend">
+ <element name="chart:legend">
+ <ref name="chart-legend-attlist"/>
+ <optional>
+ <ref name="text-p"/>
+ </optional>
+ </element>
+ </define>
+ <define name="chart-legend-attlist">
+ <interleave>
+ <choice>
+ <group>
+ <attribute name="chart:legend-position">
+ <choice>
+ <value>start</value>
+ <value>end</value>
+ <value>top</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="chart:legend-align">
+ <choice>
+ <value>start</value>
+ <value>center</value>
+ <value>end</value>
+ </choice>
+ </attribute>
+ </optional>
+ </group>
+ <attribute name="chart:legend-position">
+ <choice>
+ <value>top-start</value>
+ <value>bottom-start</value>
+ <value>top-end</value>
+ <value>bottom-end</value>
+ </choice>
+ </attribute>
+ <empty/>
+ </choice>
+ <ref name="common-draw-position-attlist"/>
+ <choice>
+ <attribute name="style:legend-expansion">
+ <choice>
+ <value>wide</value>
+ <value>high</value>
+ <value>balanced</value>
+ </choice>
+ </attribute>
+ <group>
+ <attribute name="style:legend-expansion">
+ <value>custom</value>
+ </attribute>
+ <attribute name="style:legend-expansion-aspect-ratio">
+ <ref name="double"/>
+ </attribute>
+ </group>
+ <empty/>
+ </choice>
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="chart-plot-area">
+ <element name="chart:plot-area">
+ <ref name="chart-plot-area-attlist"/>
+ <zeroOrMore>
+ <ref name="dr3d-light"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="chart-axis"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="chart-series"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="chart-stock-gain-marker"/>
+ </optional>
+ <optional>
+ <ref name="chart-stock-loss-marker"/>
+ </optional>
+ <optional>
+ <ref name="chart-stock-range-line"/>
+ </optional>
+ <optional>
+ <ref name="chart-wall"/>
+ </optional>
+ <optional>
+ <ref name="chart-floor"/>
+ </optional>
+ </element>
+ </define>
+ <define name="chart-plot-area-attlist">
+ <interleave>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:data-source-has-labels">
+ <choice>
+ <value>none</value>
+ <value>row</value>
+ <value>column</value>
+ <value>both</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="dr3d-scene-attlist"/>
+ <ref name="common-dr3d-transform-attlist"/>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="chart-wall">
+ <element name="chart:wall">
+ <ref name="chart-wall-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="chart-wall-attlist">
+ <interleave>
+ <optional>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="chart-floor">
+ <element name="chart:floor">
+ <ref name="chart-floor-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="chart-floor-attlist">
+ <interleave>
+ <optional>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="chart-axis">
+ <element name="chart:axis">
+ <ref name="chart-axis-attlist"/>
+ <optional>
+ <ref name="chart-title"/>
+ </optional>
+ <optional>
+ <ref name="chart-categories"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="chart-grid"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="chart-axis-attlist">
+ <interleave>
+ <attribute name="chart:dimension">
+ <ref name="chart-dimension"/>
+ </attribute>
+ <optional>
+ <attribute name="chart:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="chart-dimension">
+ <choice>
+ <value>x</value>
+ <value>y</value>
+ <value>z</value>
+ </choice>
+ </define>
+ <define name="chart-categories">
+ <element name="chart:categories">
+ <optional>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="chart-grid">
+ <element name="chart:grid">
+ <ref name="chart-grid-attlist"/>
+ </element>
+ </define>
+ <define name="chart-grid-attlist">
+ <interleave>
+ <optional>
+ <attribute name="chart:class">
+ <choice>
+ <value>major</value>
+ <value>minor</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="chart-series">
+ <element name="chart:series">
+ <ref name="chart-series-attlist"/>
+ <zeroOrMore>
+ <ref name="chart-domain"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="chart-mean-value"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="chart-regression-curve"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="chart-error-indicator"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="chart-data-point"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="chart-data-label"/>
+ </optional>
+ </element>
+ </define>
+ <define name="chart-series-attlist">
+ <interleave>
+ <optional>
+ <attribute name="chart:values-cell-range-address">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:label-cell-address">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:class">
+ <ref name="namespacedToken"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:attached-axis">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="chart-domain">
+ <element name="chart:domain">
+ <optional>
+ <attribute name="table:cell-range-address">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="chart-data-point">
+ <element name="chart:data-point">
+ <ref name="chart-data-point-attlist"/>
+ <optional>
+ <ref name="chart-data-label"/>
+ </optional>
+ </element>
+ </define>
+ <define name="chart-data-point-attlist">
+ <interleave>
+ <optional>
+ <attribute name="chart:repeated">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="xml-id"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="chart-data-label">
+ <element name="chart:data-label">
+ <ref name="chart-data-label-attlist"/>
+ <optional>
+ <ref name="text-p"/>
+ </optional>
+ </element>
+ </define>
+ <define name="chart-data-label-attlist">
+ <interleave>
+ <ref name="common-draw-position-attlist"/>
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="chart-mean-value">
+ <element name="chart:mean-value">
+ <ref name="chart-mean-value-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="chart-mean-value-attlist">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="chart-error-indicator">
+ <element name="chart:error-indicator">
+ <ref name="chart-error-indicator-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="chart-error-indicator-attlist">
+ <interleave>
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <attribute name="chart:dimension">
+ <ref name="chart-dimension"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="chart-regression-curve">
+ <element name="chart:regression-curve">
+ <ref name="chart-regression-curve-attlist"/>
+ <optional>
+ <ref name="chart-equation"/>
+ </optional>
+ </element>
+ </define>
+ <define name="chart-regression-curve-attlist">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="chart-equation">
+ <element name="chart:equation">
+ <ref name="chart-equation-attlist"/>
+ <optional>
+ <ref name="text-p"/>
+ </optional>
+ </element>
+ </define>
+ <define name="chart-equation-attlist">
+ <interleave>
+ <optional>
+ <attribute name="chart:automatic-content">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:display-r-square">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:display-equation">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <ref name="common-draw-position-attlist"/>
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="chart-stock-gain-marker">
+ <element name="chart:stock-gain-marker">
+ <ref name="common-stock-marker-attlist"/>
+ </element>
+ </define>
+ <define name="chart-stock-loss-marker">
+ <element name="chart:stock-loss-marker">
+ <ref name="common-stock-marker-attlist"/>
+ </element>
+ </define>
+ <define name="chart-stock-range-line">
+ <element name="chart:stock-range-line">
+ <ref name="common-stock-marker-attlist"/>
+ </element>
+ </define>
+ <define name="common-stock-marker-attlist">
+ <optional>
+ <attribute name="chart:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="office-database">
+ <element name="office:database">
+ <ref name="db-data-source"/>
+ <optional>
+ <ref name="db-forms"/>
+ </optional>
+ <optional>
+ <ref name="db-reports"/>
+ </optional>
+ <optional>
+ <ref name="db-queries"/>
+ </optional>
+ <optional>
+ <ref name="db-table-presentations"/>
+ </optional>
+ <optional>
+ <ref name="db-schema-definition"/>
+ </optional>
+ </element>
+ </define>
+ <define name="db-data-source">
+ <element name="db:data-source">
+ <ref name="db-data-source-attlist"/>
+ <ref name="db-connection-data"/>
+ <optional>
+ <ref name="db-driver-settings"/>
+ </optional>
+ <optional>
+ <ref name="db-application-connection-settings"/>
+ </optional>
+ </element>
+ </define>
+ <define name="db-data-source-attlist">
+ <empty/>
+ </define>
+ <define name="db-connection-data">
+ <element name="db:connection-data">
+ <ref name="db-connection-data-attlist"/>
+ <choice>
+ <ref name="db-database-description"/>
+ <ref name="db-connection-resource"/>
+ </choice>
+ <optional>
+ <ref name="db-login"/>
+ </optional>
+ </element>
+ </define>
+ <define name="db-connection-data-attlist">
+ <empty/>
+ </define>
+ <define name="db-database-description">
+ <element name="db:database-description">
+ <ref name="db-database-description-attlist"/>
+ <choice>
+ <ref name="db-file-based-database"/>
+ <ref name="db-server-database"/>
+ </choice>
+ </element>
+ </define>
+ <define name="db-database-description-attlist">
+ <empty/>
+ </define>
+ <define name="db-file-based-database">
+ <element name="db:file-based-database">
+ <ref name="db-file-based-database-attlist"/>
+ </element>
+ </define>
+ <define name="db-file-based-database-attlist">
+ <interleave>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <attribute name="db:media-type">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="db:extension">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="db-server-database">
+ <element name="db:server-database">
+ <ref name="db-server-database-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="db-server-database-attlist">
+ <interleave>
+ <attribute name="db:type">
+ <ref name="namespacedToken"/>
+ </attribute>
+ <choice>
+ <ref name="db-host-and-port"/>
+ <ref name="db-local-socket-name"/>
+ </choice>
+ <optional>
+ <attribute name="db:database-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="db-host-and-port">
+ <attribute name="db:hostname">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="db:port">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="db-local-socket-name">
+ <optional>
+ <attribute name="db:local-socket">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="db-connection-resource">
+ <element name="db:connection-resource">
+ <ref name="db-connection-resource-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="db-connection-resource-attlist">
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:show">
+ <value>none</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate">
+ <value>onRequest</value>
+ </attribute>
+ </optional>
+ </define>
+ <define name="db-login">
+ <element name="db:login">
+ <ref name="db-login-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="db-login-attlist">
+ <interleave>
+ <optional>
+ <choice>
+ <attribute name="db:user-name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="db:use-system-user">
+ <ref name="boolean"/>
+ </attribute>
+ </choice>
+ </optional>
+ <optional>
+ <attribute name="db:is-password-required">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:login-timeout">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="db-driver-settings">
+ <element name="db:driver-settings">
+ <ref name="db-driver-settings-attlist"/>
+ <optional>
+ <ref name="db-auto-increment"/>
+ </optional>
+ <optional>
+ <ref name="db-delimiter"/>
+ </optional>
+ <optional>
+ <ref name="db-character-set"/>
+ </optional>
+ <optional>
+ <ref name="db-table-settings"/>
+ </optional>
+ </element>
+ </define>
+ <define name="db-driver-settings-attlist">
+ <interleave>
+ <ref name="db-show-deleted"/>
+ <optional>
+ <attribute name="db:system-driver-settings">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:base-dn">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <ref name="db-is-first-row-header-line"/>
+ <optional>
+ <attribute name="db:parameter-name-substitution">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="db-show-deleted">
+ <optional>
+ <attribute name="db:show-deleted">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="db-is-first-row-header-line">
+ <optional>
+ <attribute name="db:is-first-row-header-line">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="db-auto-increment">
+ <element name="db:auto-increment">
+ <ref name="db-auto-increment-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="db-auto-increment-attlist">
+ <interleave>
+ <optional>
+ <attribute name="db:additional-column-statement">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:row-retrieving-statement">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="db-delimiter">
+ <element name="db:delimiter">
+ <ref name="db-delimiter-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="db-delimiter-attlist">
+ <interleave>
+ <optional>
+ <attribute name="db:field">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:string">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:decimal">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:thousand">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="db-character-set">
+ <element name="db:character-set">
+ <ref name="db-character-set-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="db-character-set-attlist">
+ <optional>
+ <attribute name="db:encoding">
+ <ref name="textEncoding"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="db-table-settings">
+ <element name="db:table-settings">
+ <zeroOrMore>
+ <ref name="db-table-setting"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="db-table-setting">
+ <element name="db:table-setting">
+ <ref name="db-table-setting-attlist"/>
+ <optional>
+ <ref name="db-delimiter"/>
+ </optional>
+ <optional>
+ <ref name="db-character-set"/>
+ </optional>
+ <empty/>
+ </element>
+ </define>
+ <define name="db-table-setting-attlist">
+ <ref name="db-is-first-row-header-line"/>
+ <ref name="db-show-deleted"/>
+ </define>
+ <define name="db-application-connection-settings">
+ <element name="db:application-connection-settings">
+ <ref name="db-application-connection-settings-attlist"/>
+ <optional>
+ <ref name="db-table-filter"/>
+ </optional>
+ <optional>
+ <ref name="db-table-type-filter"/>
+ </optional>
+ <optional>
+ <ref name="db-data-source-settings"/>
+ </optional>
+ </element>
+ </define>
+ <define name="db-application-connection-settings-attlist">
+ <interleave>
+ <optional>
+ <attribute name="db:is-table-name-length-limited">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:enable-sql92-check">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:append-table-alias-name">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:ignore-driver-privileges">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:boolean-comparison-mode">
+ <choice>
+ <value>equal-integer</value>
+ <value>is-boolean</value>
+ <value>equal-boolean</value>
+ <value>equal-use-only-zero</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:use-catalog">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:max-row-count">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:suppress-version-columns">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="db-table-filter">
+ <element name="db:table-filter">
+ <ref name="db-table-filter-attlist"/>
+ <optional>
+ <ref name="db-table-include-filter"/>
+ </optional>
+ <optional>
+ <ref name="db-table-exclude-filter"/>
+ </optional>
+ </element>
+ </define>
+ <define name="db-table-filter-attlist">
+ <empty/>
+ </define>
+ <define name="db-table-include-filter">
+ <element name="db:table-include-filter">
+ <ref name="db-table-include-filter-attlist"/>
+ <oneOrMore>
+ <ref name="db-table-filter-pattern"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="db-table-include-filter-attlist">
+ <empty/>
+ </define>
+ <define name="db-table-exclude-filter">
+ <element name="db:table-exclude-filter">
+ <ref name="db-table-exclude-filter-attlist"/>
+ <oneOrMore>
+ <ref name="db-table-filter-pattern"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="db-table-exclude-filter-attlist">
+ <empty/>
+ </define>
+ <define name="db-table-filter-pattern">
+ <element name="db:table-filter-pattern">
+ <ref name="db-table-filter-pattern-attlist"/>
+ <ref name="string"/>
+ </element>
+ </define>
+ <define name="db-table-filter-pattern-attlist">
+ <empty/>
+ </define>
+ <define name="db-table-type-filter">
+ <element name="db:table-type-filter">
+ <ref name="db-table-type-filter-attlist"/>
+ <zeroOrMore>
+ <ref name="db-table-type"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="db-table-type-filter-attlist">
+ <empty/>
+ </define>
+ <define name="db-table-type">
+ <element name="db:table-type">
+ <ref name="db-table-type-attlist"/>
+ <ref name="string"/>
+ </element>
+ </define>
+ <define name="db-table-type-attlist">
+ <empty/>
+ </define>
+ <define name="db-data-source-settings">
+ <element name="db:data-source-settings">
+ <ref name="db-data-source-settings-attlist"/>
+ <oneOrMore>
+ <ref name="db-data-source-setting"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="db-data-source-settings-attlist">
+ <empty/>
+ </define>
+ <define name="db-data-source-setting">
+ <element name="db:data-source-setting">
+ <ref name="db-data-source-setting-attlist"/>
+ <oneOrMore>
+ <ref name="db-data-source-setting-value"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="db-data-source-setting-attlist">
+ <interleave>
+ <optional>
+ <attribute name="db:data-source-setting-is-list">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <attribute name="db:data-source-setting-name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="db:data-source-setting-type">
+ <ref name="db-data-source-setting-types"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="db-data-source-setting-types">
+ <choice>
+ <value>boolean</value>
+ <value>short</value>
+ <value>int</value>
+ <value>long</value>
+ <value>double</value>
+ <value>string</value>
+ </choice>
+ </define>
+ <define name="db-data-source-setting-value">
+ <element name="db:data-source-setting-value">
+ <ref name="db-data-source-setting-value-attlist"/>
+ <ref name="string"/>
+ </element>
+ </define>
+ <define name="db-data-source-setting-value-attlist">
+ <empty/>
+ </define>
+ <define name="db-forms">
+ <element name="db:forms">
+ <ref name="db-forms-attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="db-component"/>
+ <ref name="db-component-collection"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="db-forms-attlist">
+ <empty/>
+ </define>
+ <define name="db-reports">
+ <element name="db:reports">
+ <ref name="db-reports-attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="db-component"/>
+ <ref name="db-component-collection"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="db-reports-attlist">
+ <empty/>
+ </define>
+ <define name="db-component-collection">
+ <element name="db:component-collection">
+ <ref name="db-component-collection-attlist"/>
+ <ref name="common-db-object-name"/>
+ <ref name="common-db-object-title"/>
+ <ref name="common-db-object-description"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="db-component"/>
+ <ref name="db-component-collection"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="db-component-collection-attlist">
+ <empty/>
+ </define>
+ <define name="db-component">
+ <element name="db:component">
+ <ref name="db-component-attlist"/>
+ <ref name="common-db-object-name"/>
+ <ref name="common-db-object-title"/>
+ <ref name="common-db-object-description"/>
+ <optional>
+ <choice>
+ <ref name="office-document"/>
+ <ref name="math-math"/>
+ </choice>
+ </optional>
+ </element>
+ </define>
+ <define name="db-component-attlist">
+ <interleave>
+ <optional>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:show">
+ <value>none</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate">
+ <value>onRequest</value>
+ </attribute>
+ </optional>
+ </optional>
+ <optional>
+ <attribute name="db:as-template">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="db-queries">
+ <element name="db:queries">
+ <ref name="db-queries-attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="db-query"/>
+ <ref name="db-query-collection"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="db-queries-attlist">
+ <empty/>
+ </define>
+ <define name="db-query-collection">
+ <element name="db:query-collection">
+ <ref name="db-query-collection-attlist"/>
+ <ref name="common-db-object-name"/>
+ <ref name="common-db-object-title"/>
+ <ref name="common-db-object-description"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="db-query"/>
+ <ref name="db-query-collection"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="db-query-collection-attlist">
+ <empty/>
+ </define>
+ <define name="db-query">
+ <element name="db:query">
+ <ref name="db-query-attlist"/>
+ <ref name="common-db-object-name"/>
+ <ref name="common-db-object-title"/>
+ <ref name="common-db-object-description"/>
+ <ref name="common-db-table-style-name"/>
+ <optional>
+ <ref name="db-order-statement"/>
+ </optional>
+ <optional>
+ <ref name="db-filter-statement"/>
+ </optional>
+ <optional>
+ <ref name="db-columns"/>
+ </optional>
+ <optional>
+ <ref name="db-update-table"/>
+ </optional>
+ </element>
+ </define>
+ <define name="db-query-attlist">
+ <interleave>
+ <attribute name="db:command">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="db:escape-processing">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="db-order-statement">
+ <element name="db:order-statement">
+ <ref name="db-command"/>
+ <ref name="db-apply-command"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="db-filter-statement">
+ <element name="db:filter-statement">
+ <ref name="db-command"/>
+ <ref name="db-apply-command"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="db-update-table">
+ <element name="db:update-table">
+ <ref name="common-db-table-name-attlist"/>
+ </element>
+ </define>
+ <define name="db-table-presentations">
+ <element name="db:table-representations">
+ <ref name="db-table-presentations-attlist"/>
+ <zeroOrMore>
+ <ref name="db-table-presentation"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="db-table-presentations-attlist">
+ <empty/>
+ </define>
+ <define name="db-table-presentation">
+ <element name="db:table-representation">
+ <ref name="db-table-presentation-attlist"/>
+ <ref name="common-db-table-name-attlist"/>
+ <ref name="common-db-object-title"/>
+ <ref name="common-db-object-description"/>
+ <ref name="common-db-table-style-name"/>
+ <optional>
+ <ref name="db-order-statement"/>
+ </optional>
+ <optional>
+ <ref name="db-filter-statement"/>
+ </optional>
+ <optional>
+ <ref name="db-columns"/>
+ </optional>
+ </element>
+ </define>
+ <define name="db-table-presentation-attlist">
+ <empty/>
+ </define>
+ <define name="db-columns">
+ <element name="db:columns">
+ <ref name="db-columns-attlist"/>
+ <oneOrMore>
+ <ref name="db-column"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="db-columns-attlist">
+ <empty/>
+ </define>
+ <define name="db-column">
+ <element name="db:column">
+ <ref name="db-column-attlist"/>
+ <ref name="common-db-object-name"/>
+ <ref name="common-db-object-title"/>
+ <ref name="common-db-object-description"/>
+ <ref name="common-db-default-value"/>
+ </element>
+ </define>
+ <define name="db-column-attlist">
+ <interleave>
+ <optional>
+ <attribute name="db:visible">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+
+ <optional>
+ <attribute name="db:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:default-cell-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="db-command">
+ <attribute name="db:command">
+ <ref name="string"/>
+ </attribute>
+ </define>
+ <define name="db-apply-command">
+ <optional>
+ <attribute name="db:apply-command">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-db-table-name-attlist">
+ <interleave>
+ <attribute name="db:name">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="db:catalog-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:schema-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-db-object-name">
+ <attribute name="db:name">
+ <ref name="string"/>
+ </attribute>
+ </define>
+ <define name="common-db-object-title">
+ <optional>
+ <attribute name="db:title">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-db-object-description">
+ <optional>
+ <attribute name="db:description">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-db-table-style-name">
+ <interleave>
+ <optional>
+ <attribute name="db:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="db:default-row-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-db-default-value">
+ <optional>
+ <ref name="common-value-and-type-attlist"/>
+ </optional>
+ </define>
+ <define name="db-schema-definition">
+ <element name="db:schema-definition">
+ <ref name="db-schema-definition-attlist"/>
+ <ref name="db-table-definitions"/>
+ </element>
+ </define>
+ <define name="db-schema-definition-attlist">
+ <empty/>
+ </define>
+ <define name="db-table-definitions">
+ <element name="db:table-definitions">
+ <ref name="db-table-definitions-attlist"/>
+ <zeroOrMore>
+ <ref name="db-table-definition"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="db-table-definitions-attlist">
+ <empty/>
+ </define>
+ <define name="db-table-definition">
+ <element name="db:table-definition">
+ <ref name="common-db-table-name-attlist"/>
+ <ref name="db-table-definition-attlist"/>
+ <ref name="db-column-definitions"/>
+ <optional>
+ <ref name="db-keys"/>
+ </optional>
+ <optional>
+ <ref name="db-indices"/>
+ </optional>
+ </element>
+ </define>
+ <define name="db-table-definition-attlist">
+ <optional>
+ <attribute name="db:type">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="db-column-definitions">
+ <element name="db:column-definitions">
+ <ref name="db-column-definitions-attlist"/>
+ <oneOrMore>
+ <ref name="db-column-definition"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="db-column-definitions-attlist">
+ <empty/>
+ </define>
+ <define name="db-column-definition">
+ <element name="db:column-definition">
+ <ref name="db-column-definition-attlist"/>
+ <ref name="common-db-default-value"/>
+ </element>
+ </define>
+ <define name="db-column-definition-attlist">
+ <interleave>
+ <attribute name="db:name">
+ <ref name="string"/>
+ </attribute>
+
+ <optional>
+ <attribute name="db:data-type">
+ <ref name="db-data-types"/>
+ </attribute>
+ </optional>
+
+ <optional>
+ <attribute name="db:type-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+
+ <optional>
+ <attribute name="db:precision">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+
+ <optional>
+ <attribute name="db:scale">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+
+ <optional>
+ <attribute name="db:is-nullable">
+ <choice>
+ <value>no-nulls</value>
+ <value>nullable</value>
+ </choice>
+ </attribute>
+ </optional>
+
+ <optional>
+ <attribute name="db:is-empty-allowed">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+
+ <optional>
+ <attribute name="db:is-autoincrement">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="db-data-types">
+ <choice>
+ <value>bit</value>
+ <value>boolean</value>
+ <value>tinyint</value>
+ <value>smallint</value>
+ <value>integer</value>
+ <value>bigint</value>
+ <value>float</value>
+ <value>real</value>
+ <value>double</value>
+ <value>numeric</value>
+ <value>decimal</value>
+ <value>char</value>
+ <value>varchar</value>
+ <value>longvarchar</value>
+ <value>date</value>
+ <value>time</value>
+ <value>timestmp</value>
+ <value>binary</value>
+ <value>varbinary</value>
+ <value>longvarbinary</value>
+ <value>sqlnull</value>
+ <value>other</value>
+ <value>object</value>
+ <value>distinct</value>
+ <value>struct</value>
+ <value>array</value>
+ <value>blob</value>
+ <value>clob</value>
+ <value>ref</value>
+ </choice>
+ </define>
+ <define name="db-keys">
+ <element name="db:keys">
+ <ref name="db-keys-attlist"/>
+ <oneOrMore>
+ <ref name="db-key"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="db-keys-attlist">
+ <empty/>
+ </define>
+ <define name="db-key">
+ <element name="db:key">
+ <ref name="db-key-attlist"/>
+ <oneOrMore>
+ <ref name="db-key-columns"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="db-key-attlist">
+ <interleave>
+ <optional>
+ <attribute name="db:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+
+ <attribute name="db:type">
+ <choice>
+ <value>primary</value>
+ <value>unique</value>
+ <value>foreign</value>
+ </choice>
+ </attribute>
+
+ <optional>
+ <attribute name="db:referenced-table-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+
+ <optional>
+ <attribute name="db:update-rule">
+ <choice>
+ <value>cascade</value>
+ <value>restrict</value>
+ <value>set-null</value>
+ <value>no-action</value>
+ <value>set-default</value>
+ </choice>
+ </attribute>
+ </optional>
+
+ <optional>
+ <attribute name="db:delete-rule">
+ <choice>
+ <value>cascade</value>
+ <value>restrict</value>
+ <value>set-null</value>
+ <value>no-action</value>
+ <value>set-default</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="db-key-columns">
+ <element name="db:key-columns">
+ <ref name="db-key-columns-attlist"/>
+ <oneOrMore>
+ <ref name="db-key-column"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="db-key-columns-attlist">
+ <empty/>
+ </define>
+ <define name="db-key-column">
+ <element name="db:key-column">
+ <ref name="db-key-column-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="db-key-column-attlist">
+ <interleave>
+ <optional>
+ <attribute name="db:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+
+ <optional>
+ <attribute name="db:related-column-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="db-indices">
+ <element name="db:indices">
+ <ref name="db-indices-attlist"/>
+ <oneOrMore>
+ <ref name="db-index"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="db-indices-attlist">
+ <empty/>
+ </define>
+ <define name="db-index">
+ <element name="db:index">
+ <ref name="db-index-attlist"/>
+ <oneOrMore>
+ <ref name="db-index-columns"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="db-index-attlist">
+ <interleave>
+ <attribute name="db:name">
+ <ref name="string"/>
+ </attribute>
+
+ <optional>
+ <attribute name="db:catalog-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+
+ <optional>
+ <attribute name="db:is-unique">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+
+ <optional>
+ <attribute name="db:is-clustered">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="db-index-columns">
+ <element name="db:index-columns">
+ <oneOrMore>
+ <ref name="db-index-column"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="db-index-column">
+ <element name="db:index-column">
+ <ref name="db-index-column-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="db-index-column-attlist">
+ <interleave>
+ <attribute name="db:name">
+ <ref name="string"/>
+ </attribute>
+
+ <optional>
+ <attribute name="db:is-ascending">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="office-forms">
+ <optional>
+ <element name="office:forms">
+ <ref name="office-forms-attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="form-form"/>
+ <ref name="xforms-model"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </optional>
+ </define>
+ <define name="office-forms-attlist">
+ <interleave>
+ <optional>
+ <attribute name="form:automatic-focus">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:apply-design-mode">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="form-form">
+ <element name="form:form">
+ <ref name="common-form-control-attlist"/>
+ <ref name="form-form-attlist"/>
+ <optional>
+ <ref name="form-properties"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ <zeroOrMore>
+ <choice>
+ <ref name="controls"/>
+ <ref name="form-form"/>
+ </choice>
+ </zeroOrMore>
+ <optional>
+ <ref name="form-connection-resource"/>
+ </optional>
+ </element>
+ </define>
+ <define name="form-form-attlist">
+ <interleave>
+ <optional>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:actuate">
+ <value>onRequest</value>
+ </attribute>
+ </optional>
+ </optional>
+ <optional>
+ <attribute name="office:target-frame">
+ <ref name="targetFrameName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:method">
+ <choice>
+ <value>get</value>
+ <value>post</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:enctype">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:allow-deletes">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:allow-inserts">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:allow-updates">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:apply-filter">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:command-type">
+ <choice>
+ <value>table</value>
+ <value>query</value>
+ <value>command</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:command">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:datasource">
+ <choice>
+ <ref name="anyIRI"/>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:master-fields">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:detail-fields">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:escape-processing">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:filter">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:ignore-result">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:navigation-mode">
+ <ref name="navigation"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:order">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:tab-cycle">
+ <ref name="tab-cycles"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="navigation">
+ <choice>
+ <value>none</value>
+ <value>current</value>
+ <value>parent</value>
+ </choice>
+ </define>
+ <define name="tab-cycles">
+ <choice>
+ <value>records</value>
+ <value>current</value>
+ <value>page</value>
+ </choice>
+ </define>
+ <define name="form-connection-resource">
+ <element name="form:connection-resource">
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <empty/>
+ </element>
+ </define>
+ <define name="xforms-model">
+ <element name="xforms:model">
+ <ref name="anyAttListOrElements"/>
+ </element>
+ </define>
+ <define name="column-controls">
+ <choice>
+ <element name="form:text">
+ <ref name="form-text-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+ <element name="form:textarea">
+ <ref name="form-textarea-attlist"/>
+ <ref name="common-form-control-content"/>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+ <element name="form:formatted-text">
+ <ref name="form-formatted-text-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+ <element name="form:number">
+ <ref name="form-number-attlist"/>
+ <ref name="common-numeric-control-attlist"/>
+ <ref name="common-form-control-content"/>
+ <ref name="common-linked-cell"/>
+ <ref name="common-spin-button"/>
+ <ref name="common-repeat"/>
+ <ref name="common-delay-for-repeat"/>
+ </element>
+ <element name="form:date">
+ <ref name="form-date-attlist"/>
+ <ref name="common-numeric-control-attlist"/>
+ <ref name="common-form-control-content"/>
+ <ref name="common-linked-cell"/>
+ <ref name="common-spin-button"/>
+ <ref name="common-repeat"/>
+ <ref name="common-delay-for-repeat"/>
+ </element>
+ <element name="form:time">
+ <ref name="form-time-attlist"/>
+ <ref name="common-numeric-control-attlist"/>
+ <ref name="common-form-control-content"/>
+ <ref name="common-linked-cell"/>
+ <ref name="common-spin-button"/>
+ <ref name="common-repeat"/>
+ <ref name="common-delay-for-repeat"/>
+ </element>
+ <element name="form:combobox">
+ <ref name="form-combobox-attlist"/>
+ <ref name="common-form-control-content"/>
+ <zeroOrMore>
+ <ref name="form-item"/>
+ </zeroOrMore>
+ </element>
+ <element name="form:listbox">
+ <ref name="form-listbox-attlist"/>
+ <ref name="common-form-control-content"/>
+ <zeroOrMore>
+ <ref name="form-option"/>
+ </zeroOrMore>
+ </element>
+ <element name="form:checkbox">
+ <ref name="form-checkbox-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+ </choice>
+ </define>
+ <define name="controls">
+ <choice>
+ <ref name="column-controls"/>
+ <element name="form:password">
+ <ref name="form-password-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+ <element name="form:file">
+ <ref name="form-file-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+ <element name="form:fixed-text">
+ <ref name="form-fixed-text-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+ <element name="form:button">
+ <ref name="form-button-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+ <element name="form:image">
+ <ref name="form-image-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+ <element name="form:radio">
+ <ref name="form-radio-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+ <element name="form:frame">
+ <ref name="form-frame-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+ <element name="form:image-frame">
+ <ref name="form-image-frame-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+ <element name="form:hidden">
+ <ref name="form-hidden-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+ <element name="form:grid">
+ <ref name="form-grid-attlist"/>
+ <ref name="common-form-control-content"/>
+ <zeroOrMore>
+ <ref name="form-column"/>
+ </zeroOrMore>
+ </element>
+ <element name="form:value-range">
+ <ref name="form-value-range-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+ <element name="form:generic-control">
+ <ref name="form-generic-control-attlist"/>
+ <ref name="common-form-control-content"/>
+ </element>
+ </choice>
+ </define>
+ <define name="form-text-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="common-linked-cell"/>
+ </define>
+ <define name="form-control-attlist">
+ <ref name="common-form-control-attlist"/>
+ <ref name="common-control-id-attlist"/>
+ <ref name="xforms-bind-attlist"/>
+ </define>
+ <define name="common-form-control-content">
+ <optional>
+ <ref name="form-properties"/>
+ </optional>
+ <optional>
+ <ref name="office-event-listeners"/>
+ </optional>
+ </define>
+ <define name="form-textarea-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="common-linked-cell"/>
+ </define>
+ <define name="form-password-attlist">
+ <interleave>
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-linked-cell"/>
+ <optional>
+ <attribute name="form:echo-char">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="form-file-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-linked-cell"/>
+ </define>
+ <define name="form-formatted-text-attlist">
+ <interleave>
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="common-linked-cell"/>
+ <ref name="common-spin-button"/>
+ <ref name="common-repeat"/>
+ <ref name="common-delay-for-repeat"/>
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:validation">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-numeric-control-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+ </define>
+ <define name="form-number-attlist">
+ <interleave>
+ <optional>
+ <attribute name="form:value">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:current-value">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="form-date-attlist">
+ <interleave>
+ <optional>
+ <attribute name="form:value">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:current-value">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="date"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="form-time-attlist">
+ <interleave>
+ <optional>
+ <attribute name="form:value">
+ <ref name="time"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:current-value">
+ <ref name="time"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="time"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="time"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="form-fixed-text-attlist">
+ <interleave>
+ <ref name="form-control-attlist"/>
+ <ref name="for"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="label"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-title-attlist"/>
+ <optional>
+ <attribute name="form:multi-line">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="form-combobox-attlist">
+ <interleave>
+ <ref name="form-control-attlist"/>
+ <ref name="common-current-value-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="dropdown"/>
+ <ref name="common-maxlength-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="size"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-convert-empty-attlist"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="list-source"/>
+ <ref name="list-source-type"/>
+ <ref name="common-linked-cell"/>
+ <ref name="common-source-cell-range"/>
+ <optional>
+ <attribute name="form:auto-complete">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="form-item">
+ <element name="form:item">
+ <ref name="form-item-attlist"/>
+ <text/>
+ </element>
+ </define>
+ <define name="form-item-attlist">
+ <ref name="label"/>
+ </define>
+ <define name="form-listbox-attlist">
+ <interleave>
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="dropdown"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="size"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="bound-column"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="list-source"/>
+ <ref name="list-source-type"/>
+ <ref name="common-linked-cell"/>
+ <ref name="list-linkage-type"/>
+ <ref name="common-source-cell-range"/>
+ <optional>
+ <attribute name="form:multiple">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:xforms-list-source">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="list-linkage-type">
+ <optional>
+ <attribute name="form:list-linkage-type">
+ <choice>
+ <value>selection</value>
+ <value>selection-indices</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="form-option">
+ <element name="form:option">
+ <ref name="form-option-attlist"/>
+ <text/>
+ </element>
+ </define>
+ <define name="form-option-attlist">
+ <ref name="current-selected"/>
+ <ref name="selected"/>
+ <ref name="label"/>
+ <ref name="common-value-attlist"/>
+ </define>
+ <define name="form-button-attlist">
+ <interleave>
+ <ref name="form-control-attlist"/>
+ <ref name="button-type"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="label"/>
+ <ref name="image-data"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="target-frame"/>
+ <ref name="target-location"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-form-relative-image-position-attlist"/>
+ <ref name="common-repeat"/>
+ <ref name="common-delay-for-repeat"/>
+ <optional>
+ <attribute name="form:default-button">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:toggle">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:focus-on-click">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:xforms-submission">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="form-image-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="button-type"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="image-data"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="target-frame"/>
+ <ref name="target-location"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ </define>
+ <define name="form-checkbox-attlist">
+ <interleave>
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="label"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="common-form-visual-effect-attlist"/>
+ <ref name="common-form-relative-image-position-attlist"/>
+ <ref name="common-linked-cell"/>
+ <optional>
+ <attribute name="form:current-state">
+ <ref name="states"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:is-tristate">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:state">
+ <ref name="states"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="states">
+ <choice>
+ <value>unchecked</value>
+ <value>checked</value>
+ <value>unknown</value>
+ </choice>
+ </define>
+ <define name="form-radio-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="current-selected"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="label"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="selected"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-data-field-attlist"/>
+ <ref name="common-form-visual-effect-attlist"/>
+ <ref name="common-form-relative-image-position-attlist"/>
+ <ref name="common-linked-cell"/>
+ </define>
+ <define name="form-frame-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="for"/>
+ <ref name="label"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-title-attlist"/>
+ </define>
+ <define name="form-image-frame-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="image-data"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-readonly-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-data-field-attlist"/>
+ </define>
+ <define name="form-hidden-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="common-value-attlist"/>
+ </define>
+ <define name="form-grid-attlist">
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ </define>
+ <define name="form-column">
+ <element name="form:column">
+ <ref name="form-column-attlist"/>
+ <oneOrMore>
+ <ref name="column-controls"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="form-column-attlist">
+ <ref name="common-form-control-attlist"/>
+ <ref name="label"/>
+ <ref name="text-style-name"/>
+ </define>
+ <define name="text-style-name">
+ <optional>
+ <attribute name="form:text-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="form-value-range-attlist">
+ <interleave>
+ <ref name="form-control-attlist"/>
+ <ref name="common-disabled-attlist"/>
+ <ref name="common-printable-attlist"/>
+ <ref name="common-tab-attlist"/>
+ <ref name="common-title-attlist"/>
+ <ref name="common-value-attlist"/>
+ <ref name="common-linked-cell"/>
+ <ref name="common-repeat"/>
+ <ref name="common-delay-for-repeat"/>
+ <optional>
+ <attribute name="form:max-value">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:min-value">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:step-size">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:page-step-size">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:orientation">
+ <choice>
+ <value>horizontal</value>
+ <value>vertical</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="form-generic-control-attlist">
+ <ref name="form-control-attlist"/>
+ </define>
+ <define name="common-form-control-attlist">
+ <interleave>
+ <optional>
+ <attribute name="form:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:control-implementation">
+ <ref name="namespacedToken"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="xforms-bind-attlist">
+ <optional>
+ <attribute name="xforms:bind">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="types">
+ <choice>
+ <value>submit</value>
+ <value>reset</value>
+ <value>push</value>
+ <value>url</value>
+ </choice>
+ </define>
+ <define name="button-type">
+ <optional>
+ <attribute name="form:button-type">
+ <ref name="types"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-control-id-attlist">
+ <group>
+ <ref name="xml-id"/>
+ <optional>
+ <attribute name="form:id">
+ <ref name="NCName"/>
+ </attribute>
+ </optional>
+ </group>
+ </define>
+ <define name="current-selected">
+ <optional>
+ <attribute name="form:current-selected">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-value-attlist">
+ <optional>
+ <attribute name="form:value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-current-value-attlist">
+ <optional>
+ <attribute name="form:current-value">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-disabled-attlist">
+ <optional>
+ <attribute name="form:disabled">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="dropdown">
+ <optional>
+ <attribute name="form:dropdown">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="for">
+ <optional>
+ <attribute name="form:for">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="image-data">
+ <optional>
+ <attribute name="form:image-data">
+ <ref name="anyIRI"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="label">
+ <optional>
+ <attribute name="form:label">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-maxlength-attlist">
+ <optional>
+ <attribute name="form:max-length">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-printable-attlist">
+ <optional>
+ <attribute name="form:printable">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-readonly-attlist">
+ <optional>
+ <attribute name="form:readonly">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="selected">
+ <optional>
+ <attribute name="form:selected">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="size">
+ <optional>
+ <attribute name="form:size">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-tab-attlist">
+ <interleave>
+ <optional>
+ <attribute name="form:tab-index">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form:tab-stop">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="target-frame">
+ <optional>
+ <attribute name="office:target-frame">
+ <ref name="targetFrameName"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="target-location">
+ <optional>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-title-attlist">
+ <optional>
+ <attribute name="form:title">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-form-visual-effect-attlist">
+ <optional>
+ <attribute name="form:visual-effect">
+ <choice>
+ <value>flat</value>
+ <value>3d</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-form-relative-image-position-attlist">
+ <choice>
+ <optional>
+ <attribute name="form:image-position">
+ <value>center</value>
+ </attribute>
+ </optional>
+ <group>
+ <attribute name="form:image-position">
+ <choice>
+ <value>start</value>
+ <value>end</value>
+ <value>top</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="form:image-align">
+ <choice>
+ <value>start</value>
+ <value>center</value>
+ <value>end</value>
+ </choice>
+ </attribute>
+ </optional>
+ </group>
+ </choice>
+ </define>
+ <define name="bound-column">
+ <optional>
+ <attribute name="form:bound-column">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-convert-empty-attlist">
+ <optional>
+ <attribute name="form:convert-empty-to-null">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-data-field-attlist">
+ <optional>
+ <attribute name="form:data-field">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="list-source">
+ <optional>
+ <attribute name="form:list-source">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="list-source-type">
+ <optional>
+ <attribute name="form:list-source-type">
+ <choice>
+ <value>table</value>
+ <value>query</value>
+ <value>sql</value>
+ <value>sql-pass-through</value>
+ <value>value-list</value>
+ <value>table-fields</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-linked-cell">
+ <optional>
+ <attribute name="form:linked-cell">
+ <choice>
+ <ref name="cellAddress"/>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-source-cell-range">
+ <optional>
+ <attribute name="form:source-cell-range">
+ <choice>
+ <ref name="cellRangeAddress"/>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-spin-button">
+ <optional>
+ <attribute name="form:spin-button">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-repeat">
+ <optional>
+ <attribute name="form:repeat">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-delay-for-repeat">
+ <optional>
+ <attribute name="form:delay-for-repeat">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="form-properties">
+ <element name="form:properties">
+ <oneOrMore>
+ <ref name="form-property"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="form-property">
+ <choice>
+ <element name="form:property">
+ <ref name="form-property-name"/>
+ <ref name="form-property-value-and-type-attlist"/>
+ </element>
+ <element name="form:list-property">
+ <ref name="form-property-name"/>
+ <ref name="form-property-type-and-value-list"/>
+ </element>
+ </choice>
+ </define>
+ <define name="form-property-name">
+ <attribute name="form:property-name">
+ <ref name="string"/>
+ </attribute>
+ </define>
+ <define name="form-property-value-and-type-attlist">
+ <choice>
+ <ref name="common-value-and-type-attlist"/>
+ <attribute name="office:value-type">
+ <value>void</value>
+ </attribute>
+ </choice>
+ </define>
+ <define name="form-property-type-and-value-list">
+ <choice>
+ <group>
+ <attribute name="office:value-type">
+ <value>float</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:value">
+ <ref name="double"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>percentage</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:value">
+ <ref name="double"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>currency</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:value">
+ <ref name="double"/>
+ </attribute>
+ <optional>
+ <attribute name="office:currency">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>date</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:date-value">
+ <ref name="dateOrDateTime"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>time</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:time-value">
+ <ref name="duration"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>boolean</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:boolean-value">
+ <ref name="boolean"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="office:value-type">
+ <value>string</value>
+ </attribute>
+ <zeroOrMore>
+ <element name="form:list-value">
+ <attribute name="office:string-value">
+ <ref name="string"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </group>
+ <attribute name="office:value-type">
+ <value>void</value>
+ </attribute>
+ </choice>
+ </define>
+ <define name="office-annotation">
+ <element name="office:annotation">
+ <ref name="office-annotation-attlist"/>
+ <ref name="draw-caption-attlist"/>
+ <ref name="common-draw-position-attlist"/>
+ <ref name="common-draw-size-attlist"/>
+ <ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <optional>
+ <ref name="dc-creator"/>
+ </optional>
+ <optional>
+ <ref name="dc-date"/>
+ </optional>
+ <optional>
+ <ref name="meta-date-string"/>
+ </optional>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-p"/>
+ <ref name="text-list"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="office-annotation-end">
+ <element name="office:annotation-end">
+ <ref name="office-annotation-end-attlist"/>
+ </element>
+ </define>
+ <define name="office-annotation-attlist">
+ <interleave>
+ <optional>
+ <attribute name="office:display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="common-office-annotation-name-attlist"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="office-annotation-end-attlist">
+ <ref name="common-office-annotation-name-attlist"/>
+ </define>
+ <define name="common-office-annotation-name-attlist">
+ <attribute name="office:name">
+ <ref name="string"/>
+ </attribute>
+ </define>
+ <define name="meta-date-string">
+ <element name="meta:date-string">
+ <ref name="string"/>
+ </element>
+ </define>
+ <define name="common-num-format-prefix-suffix-attlist">
+ <optional>
+ <attribute name="style:num-prefix">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:num-suffix">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-num-format-attlist">
+ <choice>
+ <attribute name="style:num-format">
+ <choice>
+ <value>1</value>
+ <value>i</value>
+ <value>I</value>
+ <ref name="string"/>
+ <empty/>
+ </choice>
+ </attribute>
+ <group>
+ <attribute name="style:num-format">
+ <choice>
+ <value>a</value>
+ <value>A</value>
+ </choice>
+ </attribute>
+ <ref name="style-num-letter-sync-attlist"/>
+ </group>
+ <empty/>
+ </choice>
+ </define>
+ <define name="style-num-letter-sync-attlist">
+ <optional>
+ <attribute name="style:num-letter-sync">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="office-change-info">
+ <element name="office:change-info">
+ <ref name="dc-creator"/>
+ <ref name="dc-date"/>
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="office-event-listeners">
+ <element name="office:event-listeners">
+ <zeroOrMore>
+ <choice>
+ <ref name="script-event-listener"/>
+ <ref name="presentation-event-listener"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="script-event-listener">
+ <element name="script:event-listener">
+ <ref name="script-event-listener-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="script-event-listener-attlist">
+ <interleave>
+ <attribute name="script:event-name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="script:language">
+ <ref name="string"/>
+ </attribute>
+ <choice>
+ <attribute name="script:macro-name">
+ <ref name="string"/>
+ </attribute>
+ <group>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:actuate">
+ <value>onRequest</value>
+ </attribute>
+ </optional>
+ </group>
+ </choice>
+ </interleave>
+ </define>
+ <define name="math-math">
+ <element name="math:math">
+ <ref name="mathMarkup"/>
+ </element>
+ </define>
+ <define name="mathMarkup">
+ <dc:description>To avoid inclusion of the complete MathML schema, anything is allowed within a math:math top-level element</dc:description>
+ <zeroOrMore>
+ <choice>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <text/>
+ <element>
+ <anyName/>
+ <ref name="mathMarkup"/>
+ </element>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="text-dde-connection-decl">
+ <element name="text:dde-connection-decl">
+ <ref name="text-dde-connection-decl-attlist"/>
+ <ref name="common-dde-connection-decl-attlist"/>
+ </element>
+ </define>
+ <define name="text-dde-connection-decl-attlist">
+ <attribute name="office:name">
+ <ref name="string"/>
+ </attribute>
+ </define>
+ <define name="common-dde-connection-decl-attlist">
+ <interleave>
+ <attribute name="office:dde-application">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="office:dde-topic">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="office:dde-item">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="office:automatic-update">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-dde-link">
+ <element name="table:dde-link">
+ <ref name="office-dde-source"/>
+ <ref name="table-table"/>
+ </element>
+ </define>
+ <define name="office-dde-source">
+ <element name="office:dde-source">
+ <ref name="office-dde-source-attlist"/>
+ <ref name="common-dde-connection-decl-attlist"/>
+ </element>
+ </define>
+ <define name="office-dde-source-attlist">
+ <interleave>
+ <optional>
+ <attribute name="office:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="office:conversion-mode">
+ <choice>
+ <value>into-default-style-data-style</value>
+ <value>into-english-number</value>
+ <value>keep-text</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="animation-element">
+ <choice>
+ <element name="anim:animate">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="common-anim-spline-mode-attlist"/>
+ <ref name="common-spline-anim-value-attlist"/>
+ <ref name="common-timing-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ </element>
+ <element name="anim:set">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-set-values-attlist"/>
+ <ref name="common-timing-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ </element>
+ <element name="anim:animateMotion">
+ <ref name="anim-animate-motion-attlist"/>
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="common-timing-attlist"/>
+ <ref name="common-spline-anim-value-attlist"/>
+ </element>
+ <element name="anim:animateColor">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="common-anim-spline-mode-attlist"/>
+ <ref name="common-spline-anim-value-attlist"/>
+ <ref name="anim-animate-color-attlist"/>
+ <ref name="common-timing-attlist"/>
+ </element>
+ <element name="anim:animateTransform">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-named-target-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="anim-animate-transform-attlist"/>
+ <ref name="common-timing-attlist"/>
+ </element>
+ <element name="anim:transitionFilter">
+ <ref name="common-anim-target-attlist"/>
+ <ref name="common-anim-add-accum-attlist"/>
+ <ref name="common-anim-values-attlist"/>
+ <ref name="common-anim-spline-mode-attlist"/>
+ <ref name="anim-transition-filter-attlist"/>
+ <ref name="common-timing-attlist"/>
+ </element>
+ <element name="anim:par">
+ <ref name="common-anim-attlist"/>
+ <ref name="common-timing-attlist"/>
+ <ref name="common-endsync-timing-attlist"/>
+ <zeroOrMore>
+ <ref name="animation-element"/>
+ </zeroOrMore>
+ </element>
+ <element name="anim:seq">
+ <ref name="common-anim-attlist"/>
+ <ref name="common-endsync-timing-attlist"/>
+ <ref name="common-timing-attlist"/>
+ <zeroOrMore>
+ <ref name="animation-element"/>
+ </zeroOrMore>
+ </element>
+ <element name="anim:iterate">
+ <ref name="common-anim-attlist"/>
+ <ref name="anim-iterate-attlist"/>
+ <ref name="common-timing-attlist"/>
+ <ref name="common-endsync-timing-attlist"/>
+ <zeroOrMore>
+ <ref name="animation-element"/>
+ </zeroOrMore>
+ </element>
+ <element name="anim:audio">
+ <ref name="common-anim-attlist"/>
+ <ref name="anim-audio-attlist"/>
+ <ref name="common-basic-timing-attlist"/>
+ </element>
+ <element name="anim:command">
+ <ref name="common-anim-attlist"/>
+ <ref name="anim-command-attlist"/>
+ <ref name="common-begin-end-timing-attlist"/>
+ <ref name="common-anim-target-attlist"/>
+ <zeroOrMore>
+ <element name="anim:param">
+ <attribute name="anim:name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="anim:value">
+ <ref name="string"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </element>
+ </choice>
+ </define>
+ <define name="anim-animate-motion-attlist">
+ <interleave>
+ <optional>
+ <attribute name="svg:path">
+ <ref name="pathData"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:origin">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:calcMode">
+ <choice>
+ <value>discrete</value>
+ <value>linear</value>
+ <value>paced</value>
+ <value>spline</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="anim-animate-color-attlist">
+ <interleave>
+ <optional>
+ <attribute name="anim:color-interpolation">
+ <choice>
+ <value>rgb</value>
+ <value>hsl</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="anim:color-interpolation-direction">
+ <choice>
+ <value>clockwise</value>
+ <value>counter-clockwise</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="anim-animate-transform-attlist">
+ <attribute name="svg:type">
+ <choice>
+ <value>translate</value>
+ <value>scale</value>
+ <value>rotate</value>
+ <value>skewX</value>
+ <value>skewY</value>
+ </choice>
+ </attribute>
+ </define>
+ <define name="anim-transition-filter-attlist">
+ <interleave>
+ <attribute name="smil:type">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="smil:subtype">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:direction">
+ <choice>
+ <value>forward</value>
+ <value>reverse</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:fadeColor">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:mode">
+ <choice>
+ <value>in</value>
+ <value>out</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-anim-target-attlist">
+ <interleave>
+ <optional>
+ <attribute name="smil:targetElement">
+ <ref name="IDREF"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="anim:sub-item">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-anim-named-target-attlist">
+ <attribute name="smil:attributeName">
+ <ref name="string"/>
+ </attribute>
+ </define>
+ <define name="common-anim-values-attlist">
+ <interleave>
+ <optional>
+ <attribute name="smil:values">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="anim:formula">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <ref name="common-anim-set-values-attlist"/>
+ <optional>
+ <attribute name="smil:from">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:by">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-anim-spline-mode-attlist">
+ <optional>
+ <attribute name="smil:calcMode">
+ <choice>
+ <value>discrete</value>
+ <value>linear</value>
+ <value>paced</value>
+ <value>spline</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-spline-anim-value-attlist">
+ <interleave>
+ <optional>
+ <attribute name="smil:keyTimes">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:keySplines">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-anim-add-accum-attlist">
+ <interleave>
+ <optional>
+ <attribute name="smil:accumulate">
+ <choice>
+ <value>none</value>
+ <value>sum</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:additive">
+ <choice>
+ <value>replace</value>
+ <value>sum</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-anim-set-values-attlist">
+ <optional>
+ <attribute name="smil:to">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-begin-end-timing-attlist">
+ <interleave>
+ <optional>
+ <attribute name="smil:begin">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:end">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-dur-timing-attlist">
+ <optional>
+ <attribute name="smil:dur">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-endsync-timing-attlist">
+ <optional>
+ <attribute name="smil:endsync">
+ <choice>
+ <value>first</value>
+ <value>last</value>
+ <value>all</value>
+ <value>media</value>
+ <ref name="IDREF"/>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-repeat-timing-attlist">
+ <optional>
+ <attribute name="smil:repeatDur">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:repeatCount">
+ <choice>
+ <ref name="nonNegativeDecimal"/>
+ <value>indefinite</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="nonNegativeDecimal">
+ <data type="decimal">
+ <param name="minInclusive">0.0</param>
+ </data>
+ </define>
+ <define name="common-fill-timing-attlist">
+ <optional>
+ <attribute name="smil:fill">
+ <choice>
+ <value>remove</value>
+ <value>freeze</value>
+ <value>hold</value>
+ <value>auto</value>
+ <value>default</value>
+ <value>transition</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-fill-default-attlist">
+ <optional>
+ <attribute name="smil:fillDefault">
+ <choice>
+ <value>remove</value>
+ <value>freeze</value>
+ <value>hold</value>
+ <value>transition</value>
+ <value>auto</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-restart-timing-attlist">
+ <optional>
+ <attribute name="smil:restart">
+ <choice>
+ <value>never</value>
+ <value>always</value>
+ <value>whenNotActive</value>
+ <value>default</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-restart-default-attlist">
+ <optional>
+ <attribute name="smil:restartDefault">
+ <choice>
+ <value>never</value>
+ <value>always</value>
+ <value>whenNotActive</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-time-manip-attlist">
+ <interleave>
+ <optional>
+ <attribute name="smil:accelerate">
+ <ref name="zeroToOneDecimal"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:decelerate">
+ <ref name="zeroToOneDecimal"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:autoReverse">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="zeroToOneDecimal">
+ <data type="decimal">
+ <param name="minInclusive">0</param>
+ <param name="maxInclusive">1</param>
+ </data>
+ </define>
+ <define name="common-basic-timing-attlist">
+ <ref name="common-begin-end-timing-attlist"/>
+ <ref name="common-dur-timing-attlist"/>
+ <ref name="common-repeat-timing-attlist"/>
+ <ref name="common-restart-timing-attlist"/>
+ <ref name="common-restart-default-attlist"/>
+ <ref name="common-fill-timing-attlist"/>
+ <ref name="common-fill-default-attlist"/>
+ </define>
+ <define name="common-timing-attlist">
+ <ref name="common-basic-timing-attlist"/>
+ <ref name="common-time-manip-attlist"/>
+ </define>
+ <define name="anim-iterate-attlist">
+ <interleave>
+ <ref name="common-anim-target-attlist"/>
+ <optional>
+ <attribute name="anim:iterate-type">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="anim:iterate-interval">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="anim-audio-attlist">
+ <interleave>
+ <optional>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="anim:audio-level">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="anim-command-attlist">
+ <attribute name="anim:command">
+ <ref name="string"/>
+ </attribute>
+ </define>
+ <define name="style-style">
+ <element name="style:style">
+ <ref name="style-style-attlist"/>
+ <ref name="style-style-content"/>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="common-in-content-meta-attlist">
+ <attribute name="xhtml:about">
+ <ref name="URIorSafeCURIE"/>
+ </attribute>
+ <attribute name="xhtml:property">
+ <ref name="CURIEs"/>
+ </attribute>
+ <ref name="common-meta-literal-attlist"/>
+ </define>
+ <define name="common-meta-literal-attlist">
+ <optional>
+ <attribute name="xhtml:datatype">
+ <ref name="CURIE"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xhtml:content">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="xml-id">
+ <attribute name="xml:id">
+ <ref name="ID"/>
+ </attribute>
+ </define>
+ <define name="style-style-attlist">
+ <interleave>
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:parent-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:next-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:list-level">
+ <choice>
+ <ref name="positiveInteger"/>
+ <empty/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:list-style-name">
+ <choice>
+ <ref name="styleName"/>
+ <empty/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:master-page-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:auto-update">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:data-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:percentage-data-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:class">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:default-outline-level">
+ <choice>
+ <ref name="positiveInteger"/>
+ <empty/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-map">
+ <element name="style:map">
+ <ref name="style-map-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="style-map-attlist">
+ <interleave>
+ <attribute name="style:condition">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="style:apply-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ <optional>
+ <attribute name="style:base-cell-address">
+ <ref name="cellAddress"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-default-style">
+ <element name="style:default-style">
+ <ref name="style-style-content"/>
+ </element>
+ </define>
+ <define name="style-page-layout">
+ <element name="style:page-layout">
+ <ref name="style-page-layout-attlist"/>
+ <ref name="style-page-layout-content"/>
+ </element>
+ </define>
+ <define name="style-page-layout-content">
+ <optional>
+ <ref name="style-page-layout-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-header-style"/>
+ </optional>
+ <optional>
+ <ref name="style-footer-style"/>
+ </optional>
+ </define>
+ <define name="style-page-layout-attlist">
+ <interleave>
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+ <optional>
+ <attribute name="style:page-usage">
+ <choice>
+ <value>all</value>
+ <value>left</value>
+ <value>right</value>
+ <value>mirrored</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-header-style">
+ <element name="style:header-style">
+ <optional>
+ <ref name="style-header-footer-properties"/>
+ </optional>
+ </element>
+ </define>
+ <define name="style-footer-style">
+ <element name="style:footer-style">
+ <optional>
+ <ref name="style-header-footer-properties"/>
+ </optional>
+ </element>
+ </define>
+ <define name="style-default-page-layout">
+ <element name="style:default-page-layout">
+ <ref name="style-page-layout-content"/>
+ </element>
+ </define>
+ <define name="style-master-page">
+ <element name="style:master-page">
+ <ref name="style-master-page-attlist"/>
+ <optional>
+ <ref name="style-header"/>
+ <optional>
+ <ref name="style-header-left"/>
+ </optional>
+ </optional>
+ <optional>
+ <ref name="style-footer"/>
+ <optional>
+ <ref name="style-footer-left"/>
+ </optional>
+ </optional>
+ <optional>
+ <ref name="draw-layer-set"/>
+ </optional>
+ <optional>
+ <ref name="office-forms"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="animation-element"/>
+ </optional>
+ <optional>
+ <ref name="presentation-notes"/>
+ </optional>
+ </element>
+ </define>
+ <define name="style-master-page-attlist">
+ <interleave>
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <attribute name="style:page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:next-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-header">
+ <element name="style:header">
+ <ref name="common-style-header-footer-attlist"/>
+ <ref name="header-footer-content"/>
+ </element>
+ </define>
+ <define name="style-footer">
+ <element name="style:footer">
+ <ref name="common-style-header-footer-attlist"/>
+ <ref name="header-footer-content"/>
+ </element>
+ </define>
+ <define name="style-header-left">
+ <element name="style:header-left">
+ <ref name="common-style-header-footer-attlist"/>
+ <ref name="header-footer-content"/>
+ </element>
+ </define>
+ <define name="style-footer-left">
+ <element name="style:footer-left">
+ <ref name="common-style-header-footer-attlist"/>
+ <ref name="header-footer-content"/>
+ </element>
+ </define>
+ <define name="header-footer-content">
+ <choice>
+ <group>
+ <ref name="text-tracked-changes"/>
+ <ref name="text-decls"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="text-h"/>
+ <ref name="text-p"/>
+ <ref name="text-list"/>
+ <ref name="table-table"/>
+ <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="text-index-title"/>
+ <ref name="change-marks"/>
+ </choice>
+ </zeroOrMore>
+ </group>
+ <group>
+ <optional>
+ <ref name="style-region-left"/>
+ </optional>
+ <optional>
+ <ref name="style-region-center"/>
+ </optional>
+ <optional>
+ <ref name="style-region-right"/>
+ </optional>
+ </group>
+ </choice>
+ </define>
+ <define name="common-style-header-footer-attlist">
+ <optional>
+ <attribute name="style:display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="style-region-left">
+ <element name="style:region-left">
+ <ref name="region-content"/>
+ </element>
+ </define>
+ <define name="style-region-center">
+ <element name="style:region-center">
+ <ref name="region-content"/>
+ </element>
+ </define>
+ <define name="style-region-right">
+ <element name="style:region-right">
+ <ref name="region-content"/>
+ </element>
+ </define>
+ <define name="region-content">
+ <zeroOrMore>
+ <ref name="text-p"/>
+ </zeroOrMore>
+ </define>
+ <define name="presentation-notes">
+ <element name="presentation:notes">
+ <ref name="common-presentation-header-footer-attlist"/>
+ <ref name="presentation-notes-attlist"/>
+ <ref name="office-forms"/>
+ <zeroOrMore>
+ <ref name="shape"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="presentation-notes-attlist">
+ <interleave>
+ <optional>
+ <attribute name="style:page-layout-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table-table-template">
+ <element name="table:table-template">
+ <ref name="table-table-template-attlist"/>
+ <optional>
+ <ref name="table-first-row"/>
+ </optional>
+ <optional>
+ <ref name="table-last-row"/>
+ </optional>
+ <optional>
+ <ref name="table-first-column"/>
+ </optional>
+ <optional>
+ <ref name="table-last-column"/>
+ </optional>
+ <ref name="table-body"/>
+ <optional>
+ <ref name="table-even-rows"/>
+ </optional>
+ <optional>
+ <ref name="table-odd-rows"/>
+ </optional>
+ <optional>
+ <ref name="table-even-columns"/>
+ </optional>
+ <optional>
+ <ref name="table-odd-columns"/>
+ </optional>
+ <optional>
+ <ref name="table-background"/>
+ </optional>
+ </element>
+ </define>
+ <define name="table-table-template-attlist">
+ <interleave>
+ <attribute name="table:name">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="table:first-row-start-column">
+ <ref name="rowOrCol"/>
+ </attribute>
+ <attribute name="table:first-row-end-column">
+ <ref name="rowOrCol"/>
+ </attribute>
+ <attribute name="table:last-row-start-column">
+ <ref name="rowOrCol"/>
+ </attribute>
+ <attribute name="table:last-row-end-column">
+ <ref name="rowOrCol"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="rowOrCol">
+ <choice>
+ <value>row</value>
+ <value>column</value>
+ </choice>
+ </define>
+ <define name="table-first-row">
+ <element name="table:first-row">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-last-row">
+ <element name="table:last-row">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-first-column">
+ <element name="table:first-column">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-last-column">
+ <element name="table:last-column">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-body">
+ <element name="table:body">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-even-rows">
+ <element name="table:even-rows">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-odd-rows">
+ <element name="table:odd-rows">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-even-columns">
+ <element name="table:even-columns">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-odd-columns">
+ <element name="table:odd-columns">
+ <ref name="common-table-template-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="common-table-template-attlist">
+ <attribute name="table:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ <optional>
+ <attribute name="table:paragraph-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="table-background">
+ <element name="table:background">
+ <ref name="table-background-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="table-background-attlist">
+ <attribute name="table:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </define>
+ <define name="style-font-face">
+ <element name="style:font-face">
+ <ref name="style-font-face-attlist"/>
+ <optional>
+ <ref name="svg-font-face-src"/>
+ </optional>
+ <optional>
+ <ref name="svg-definition-src"/>
+ </optional>
+ </element>
+ </define>
+ <define name="style-font-face-attlist">
+ <interleave>
+ <optional>
+ <attribute name="svg:font-family">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-style">
+ <ref name="fontStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-variant">
+ <ref name="fontVariant"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-weight">
+ <ref name="fontWeight"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-stretch">
+ <choice>
+ <value>normal</value>
+ <value>ultra-condensed</value>
+ <value>extra-condensed</value>
+ <value>condensed</value>
+ <value>semi-condensed</value>
+ <value>semi-expanded</value>
+ <value>expanded</value>
+ <value>extra-expanded</value>
+ <value>ultra-expanded</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:font-size">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:unicode-range">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:units-per-em">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:panose-1">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:stemv">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:stemh">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:slope">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:cap-height">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:x-height">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:accent-height">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:ascent">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:descent">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:widths">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:bbox">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:ideographic">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:alphabetic">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:mathematical">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:hanging">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:v-ideographic">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:v-alphabetic">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:v-mathematical">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:v-hanging">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:underline-position">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:underline-thickness">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:strikethrough-position">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:strikethrough-thickness">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:overline-position">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:overline-thickness">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <attribute name="style:name">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="style:font-adornments">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-family-generic">
+ <ref name="fontFamilyGeneric"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-pitch">
+ <ref name="fontPitch"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-charset">
+ <ref name="textEncoding"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="svg-font-face-src">
+ <element name="svg:font-face-src">
+ <oneOrMore>
+ <choice>
+ <ref name="svg-font-face-uri"/>
+ <ref name="svg-font-face-name"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="svg-font-face-uri">
+ <element name="svg:font-face-uri">
+ <ref name="common-svg-font-face-xlink-attlist"/>
+ <zeroOrMore>
+ <ref name="svg-font-face-format"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="svg-font-face-format">
+ <element name="svg:font-face-format">
+ <optional>
+ <attribute name="svg:string">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+ </define>
+ <define name="svg-font-face-name">
+ <element name="svg:font-face-name">
+ <optional>
+ <attribute name="svg:name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+ </define>
+ <define name="svg-definition-src">
+ <element name="svg:definition-src">
+ <ref name="common-svg-font-face-xlink-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="common-svg-font-face-xlink-attlist">
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:actuate">
+ <value>onRequest</value>
+ </attribute>
+ </optional>
+ </define>
+ <define name="number-number-style">
+ <element name="number:number-style">
+ <ref name="common-data-style-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <optional>
+ <ref name="any-number"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="any-number">
+ <choice>
+ <ref name="number-number"/>
+ <ref name="number-scientific-number"/>
+ <ref name="number-fraction"/>
+ </choice>
+ </define>
+ <define name="number-number">
+ <element name="number:number">
+ <ref name="number-number-attlist"/>
+ <ref name="common-decimal-places-attlist"/>
+ <ref name="common-number-attlist"/>
+ <zeroOrMore>
+ <ref name="number-embedded-text"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="number-number-attlist">
+ <interleave>
+ <optional>
+ <attribute name="number:decimal-replacement">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:display-factor">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="number-embedded-text">
+ <element name="number:embedded-text">
+ <ref name="number-embedded-text-attlist"/>
+ <text/>
+ </element>
+ </define>
+ <define name="number-embedded-text-attlist">
+ <attribute name="number:position">
+ <ref name="integer"/>
+ </attribute>
+ </define>
+ <define name="number-scientific-number">
+ <element name="number:scientific-number">
+ <ref name="number-scientific-number-attlist"/>
+ <ref name="common-decimal-places-attlist"/>
+ <ref name="common-number-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="number-scientific-number-attlist">
+ <optional>
+ <attribute name="number:min-exponent-digits">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="number-fraction">
+ <element name="number:fraction">
+ <ref name="number-fraction-attlist"/>
+ <ref name="common-number-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="number-fraction-attlist">
+ <interleave>
+ <optional>
+ <attribute name="number:min-numerator-digits">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:min-denominator-digits">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:denominator-value">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="number-currency-style">
+ <element name="number:currency-style">
+ <ref name="common-data-style-attlist"/>
+ <ref name="common-auto-reorder-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <optional>
+ <choice>
+ <group>
+ <ref name="number-and-text"/>
+ <optional>
+ <ref name="currency-symbol-and-text"/>
+ </optional>
+ </group>
+ <group>
+ <ref name="currency-symbol-and-text"/>
+ <optional>
+ <ref name="number-and-text"/>
+ </optional>
+ </group>
+ </choice>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="currency-symbol-and-text">
+ <ref name="number-currency-symbol"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </define>
+ <define name="number-and-text">
+ <ref name="number-number"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </define>
+ <define name="number-currency-symbol">
+ <element name="number:currency-symbol">
+ <ref name="number-currency-symbol-attlist"/>
+ <text/>
+ </element>
+ </define>
+ <define name="number-currency-symbol-attlist">
+ <optional>
+ <attribute name="number:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:script">
+ <ref name="scriptCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:rfc-language-tag">
+ <ref name="language"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="number-percentage-style">
+ <element name="number:percentage-style">
+ <ref name="common-data-style-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <optional>
+ <ref name="number-and-text"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="number-date-style">
+ <element name="number:date-style">
+ <ref name="common-data-style-attlist"/>
+ <ref name="common-auto-reorder-attlist"/>
+ <ref name="common-format-source-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <oneOrMore>
+ <ref name="any-date"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="any-date">
+ <choice>
+ <ref name="number-day"/>
+ <ref name="number-month"/>
+ <ref name="number-year"/>
+ <ref name="number-era"/>
+ <ref name="number-day-of-week"/>
+ <ref name="number-week-of-year"/>
+ <ref name="number-quarter"/>
+ <ref name="number-hours"/>
+ <ref name="number-am-pm"/>
+ <ref name="number-minutes"/>
+ <ref name="number-seconds"/>
+ </choice>
+ </define>
+ <define name="number-day">
+ <element name="number:day">
+ <ref name="number-day-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="number-day-attlist">
+ <optional>
+ <attribute name="number:style">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="number-month">
+ <element name="number:month">
+ <ref name="number-month-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="number-month-attlist">
+ <interleave>
+ <optional>
+ <attribute name="number:textual">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:possessive-form">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:style">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="number-year">
+ <element name="number:year">
+ <ref name="number-year-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="number-year-attlist">
+ <optional>
+ <attribute name="number:style">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="number-era">
+ <element name="number:era">
+ <ref name="number-era-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="number-era-attlist">
+ <optional>
+ <attribute name="number:style">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="number-day-of-week">
+ <element name="number:day-of-week">
+ <ref name="number-day-of-week-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="number-day-of-week-attlist">
+ <optional>
+ <attribute name="number:style">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="number-week-of-year">
+ <element name="number:week-of-year">
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="number-quarter">
+ <element name="number:quarter">
+ <ref name="number-quarter-attlist"/>
+ <ref name="common-calendar-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="number-quarter-attlist">
+ <optional>
+ <attribute name="number:style">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="number-time-style">
+ <element name="number:time-style">
+ <ref name="number-time-style-attlist"/>
+ <ref name="common-data-style-attlist"/>
+ <ref name="common-format-source-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <oneOrMore>
+ <ref name="any-time"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="any-time">
+ <choice>
+ <ref name="number-hours"/>
+ <ref name="number-am-pm"/>
+ <ref name="number-minutes"/>
+ <ref name="number-seconds"/>
+ </choice>
+ </define>
+ <define name="number-time-style-attlist">
+ <optional>
+ <attribute name="number:truncate-on-overflow">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="number-hours">
+ <element name="number:hours">
+ <ref name="number-hours-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="number-hours-attlist">
+ <optional>
+ <attribute name="number:style">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="number-minutes">
+ <element name="number:minutes">
+ <ref name="number-minutes-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="number-minutes-attlist">
+ <optional>
+ <attribute name="number:style">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="number-seconds">
+ <element name="number:seconds">
+ <ref name="number-seconds-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="number-seconds-attlist">
+ <interleave>
+ <optional>
+ <attribute name="number:style">
+ <choice>
+ <value>short</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:decimal-places">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="number-am-pm">
+ <element name="number:am-pm">
+ <empty/>
+ </element>
+ </define>
+ <define name="number-boolean-style">
+ <element name="number:boolean-style">
+ <ref name="common-data-style-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <optional>
+ <ref name="number-boolean"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="number-boolean">
+ <element name="number:boolean">
+ <empty/>
+ </element>
+ </define>
+ <define name="number-text-style">
+ <element name="number:text-style">
+ <ref name="common-data-style-attlist"/>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="number-text-content"/>
+ <optional>
+ <ref name="number-text"/>
+ </optional>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="style-map"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="number-text">
+ <element name="number:text">
+ <text/>
+ </element>
+ </define>
+ <define name="number-text-content">
+ <element name="number:text-content">
+ <empty/>
+ </element>
+ </define>
+ <define name="common-data-style-attlist">
+ <interleave>
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:script">
+ <ref name="scriptCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:rfc-language-tag">
+ <ref name="language"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:title">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:volatile">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:transliteration-format">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:transliteration-language">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:transliteration-country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:transliteration-style">
+ <choice>
+ <value>short</value>
+ <value>medium</value>
+ <value>long</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-auto-reorder-attlist">
+ <optional>
+ <attribute name="number:automatic-order">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-format-source-attlist">
+ <optional>
+ <attribute name="number:format-source">
+ <choice>
+ <value>fixed</value>
+ <value>language</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-decimal-places-attlist">
+ <optional>
+ <attribute name="number:decimal-places">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-number-attlist">
+ <interleave>
+ <optional>
+ <attribute name="number:min-integer-digits">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="number:grouping">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-calendar-attlist">
+ <optional>
+ <attribute name="number:calendar">
+ <choice>
+ <value>gregorian</value>
+ <value>gengou</value>
+ <value>ROC</value>
+ <value>hanja_yoil</value>
+ <value>hanja</value>
+ <value>hijri</value>
+ <value>jewish</value>
+ <value>buddhist</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="style-style-content">
+ <choice>
+ <group>
+ <attribute name="style:family">
+ <value>text</value>
+ </attribute>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+ <group>
+ <attribute name="style:family">
+ <value>paragraph</value>
+ </attribute>
+ <optional>
+ <ref name="style-paragraph-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+ <group>
+ <attribute name="style:family">
+ <value>section</value>
+ </attribute>
+ <optional>
+ <ref name="style-section-properties"/>
+ </optional>
+ </group>
+ <group>
+ <attribute name="style:family">
+ <value>ruby</value>
+ </attribute>
+ <optional>
+ <ref name="style-ruby-properties"/>
+ </optional>
+ </group>
+ <group>
+ <attribute name="style:family">
+ <value>table</value>
+ </attribute>
+ <optional>
+ <ref name="style-table-properties"/>
+ </optional>
+ </group>
+ <group>
+ <attribute name="style:family">
+ <value>table-column</value>
+ </attribute>
+ <optional>
+ <ref name="style-table-column-properties"/>
+ </optional>
+ </group>
+ <group>
+ <attribute name="style:family">
+ <value>table-row</value>
+ </attribute>
+ <optional>
+ <ref name="style-table-row-properties"/>
+ </optional>
+ </group>
+ <group>
+ <attribute name="style:family">
+ <value>table-cell</value>
+ </attribute>
+ <optional>
+ <ref name="style-table-cell-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-paragraph-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+ <group>
+ <attribute name="style:family">
+ <choice>
+ <value>graphic</value>
+ <value>presentation</value>
+ </choice>
+ </attribute>
+ <optional>
+ <ref name="style-graphic-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-paragraph-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+ <group>
+ <attribute name="style:family">
+ <value>drawing-page</value>
+ </attribute>
+ <optional>
+ <ref name="style-drawing-page-properties"/>
+ </optional>
+ </group>
+ <group>
+ <attribute name="style:family">
+ <value>chart</value>
+ </attribute>
+ <optional>
+ <ref name="style-chart-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-graphic-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-paragraph-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </group>
+ </choice>
+ </define>
+ <define name="text-linenumbering-configuration">
+ <element name="text:linenumbering-configuration">
+ <ref name="text-linenumbering-configuration-attlist"/>
+ <optional>
+ <ref name="text-linenumbering-separator"/>
+ </optional>
+ </element>
+ </define>
+ <define name="text-linenumbering-configuration-attlist">
+ <interleave>
+ <optional>
+ <attribute name="text:number-lines">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="common-num-format-attlist"/>
+ </optional>
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:increment">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:number-position">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>inner</value>
+ <value>outer</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:offset">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:count-empty-lines">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:count-in-text-boxes">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:restart-on-page">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-linenumbering-separator">
+ <element name="text:linenumbering-separator">
+ <optional>
+ <attribute name="text:increment">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+ </define>
+ <define name="text-notes-configuration">
+ <element name="text:notes-configuration">
+ <ref name="text-notes-configuration-content"/>
+ </element>
+ </define>
+ <define name="text-notes-configuration-content">
+ <interleave>
+ <ref name="text-note-class"/>
+ <optional>
+ <attribute name="text:citation-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:citation-body-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:default-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:master-page-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:start-value">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+ <optional>
+ <ref name="common-num-format-attlist"/>
+ </optional>
+ <optional>
+ <attribute name="text:start-numbering-at">
+ <choice>
+ <value>document</value>
+ <value>chapter</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:footnotes-position">
+ <choice>
+ <value>text</value>
+ <value>page</value>
+ <value>section</value>
+ <value>document</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <element name="text:note-continuation-notice-forward">
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name="text:note-continuation-notice-backward">
+ <text/>
+ </element>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-bibliography-configuration">
+ <element name="text:bibliography-configuration">
+ <ref name="text-bibliography-configuration-attlist"/>
+ <zeroOrMore>
+ <ref name="text-sort-key"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="text-bibliography-configuration-attlist">
+ <interleave>
+ <optional>
+ <attribute name="text:prefix">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:suffix">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:numbered-entries">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:sort-by-position">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:script">
+ <ref name="scriptCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rfc-language-tag">
+ <ref name="language"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:sort-algorithm">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-sort-key">
+ <element name="text:sort-key">
+ <ref name="text-sort-key-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="text-sort-key-attlist">
+ <attribute name="text:key">
+ <choice>
+ <value>address</value>
+ <value>annote</value>
+ <value>author</value>
+ <value>bibliography-type</value>
+ <value>booktitle</value>
+ <value>chapter</value>
+ <value>custom1</value>
+ <value>custom2</value>
+ <value>custom3</value>
+ <value>custom4</value>
+ <value>custom5</value>
+ <value>edition</value>
+ <value>editor</value>
+ <value>howpublished</value>
+ <value>identifier</value>
+ <value>institution</value>
+ <value>isbn</value>
+ <value>issn</value>
+ <value>journal</value>
+ <value>month</value>
+ <value>note</value>
+ <value>number</value>
+ <value>organizations</value>
+ <value>pages</value>
+ <value>publisher</value>
+ <value>report-type</value>
+ <value>school</value>
+ <value>series</value>
+ <value>title</value>
+ <value>url</value>
+ <value>volume</value>
+ <value>year</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="text:sort-ascending">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="text-list-style">
+ <element name="text:list-style">
+ <ref name="text-list-style-attr"/>
+ <zeroOrMore>
+ <ref name="text-list-style-content"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="text-list-style-attr">
+ <interleave>
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:consecutive-numbering">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-list-style-content">
+ <choice>
+ <element name="text:list-level-style-number">
+ <ref name="text-list-level-style-attr"/>
+ <ref name="text-list-level-style-number-attr"/>
+ <optional>
+ <ref name="style-list-level-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </element>
+ <element name="text:list-level-style-bullet">
+ <ref name="text-list-level-style-attr"/>
+ <ref name="text-list-level-style-bullet-attr"/>
+ <optional>
+ <ref name="style-list-level-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </element>
+ <element name="text:list-level-style-image">
+ <ref name="text-list-level-style-attr"/>
+ <ref name="text-list-level-style-image-attr"/>
+ <optional>
+ <ref name="style-list-level-properties"/>
+ </optional>
+ </element>
+ </choice>
+ </define>
+ <define name="text-list-level-style-number-attr">
+ <interleave>
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <ref name="common-num-format-attlist"/>
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+ <optional>
+ <attribute name="text:display-levels">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:start-value">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-list-level-style-bullet-attr">
+ <interleave>
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <attribute name="text:bullet-char">
+ <ref name="character"/>
+ </attribute>
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+ <optional>
+ <attribute name="text:bullet-relative-size">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text-list-level-style-image-attr">
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-binary-data"/>
+ </choice>
+ </define>
+ <define name="text-list-level-style-attr">
+ <attribute name="text:level">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </define>
+ <define name="text-outline-style">
+ <element name="text:outline-style">
+ <ref name="text-outline-style-attr"/>
+ <oneOrMore>
+ <ref name="text-outline-level-style"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="text-outline-style-attr">
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+ </define>
+ <define name="text-outline-level-style">
+ <element name="text:outline-level-style">
+ <ref name="text-outline-level-style-attlist"/>
+ <optional>
+ <ref name="style-list-level-properties"/>
+ </optional>
+ <optional>
+ <ref name="style-text-properties"/>
+ </optional>
+ </element>
+ </define>
+ <define name="text-outline-level-style-attlist">
+ <interleave>
+ <attribute name="text:level">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <optional>
+ <attribute name="text:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <ref name="common-num-format-attlist"/>
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+ <optional>
+ <attribute name="text:display-levels">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:start-value">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-graphic-properties">
+ <element name="style:graphic-properties">
+ <ref name="style-graphic-properties-content-strict"/>
+ </element>
+ </define>
+ <define name="style-graphic-properties-content-strict">
+ <ref name="style-graphic-properties-attlist"/>
+ <ref name="style-graphic-fill-properties-attlist"/>
+ <ref name="style-graphic-properties-elements"/>
+ </define>
+ <define name="style-drawing-page-properties">
+ <element name="style:drawing-page-properties">
+ <ref name="style-drawing-page-properties-content-strict"/>
+ </element>
+ </define>
+ <define name="style-drawing-page-properties-content-strict">
+ <ref name="style-graphic-fill-properties-attlist"/>
+ <ref name="style-drawing-page-properties-attlist"/>
+ <ref name="style-drawing-page-properties-elements"/>
+ </define>
+ <define name="draw-gradient">
+ <element name="draw:gradient">
+ <ref name="common-draw-gradient-attlist"/>
+ <ref name="draw-gradient-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="common-draw-gradient-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <attribute name="draw:style">
+ <ref name="gradient-style"/>
+ </attribute>
+ <optional>
+ <attribute name="draw:cx">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:cy">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:angle">
+ <ref name="angle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:border">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="gradient-style">
+ <choice>
+ <value>linear</value>
+ <value>axial</value>
+ <value>radial</value>
+ <value>ellipsoid</value>
+ <value>square</value>
+ <value>rectangular</value>
+ </choice>
+ </define>
+ <define name="draw-gradient-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:start-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:start-intensity">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end-intensity">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="svg-linearGradient">
+ <element name="svg:linearGradient">
+ <ref name="common-svg-gradient-attlist"/>
+ <optional>
+ <attribute name="svg:x1">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:y1">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:x2">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:y2">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="svg-stop"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="svg-radialGradient">
+ <element name="svg:radialGradient">
+ <ref name="common-svg-gradient-attlist"/>
+ <optional>
+ <attribute name="svg:cx">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:cy">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:r">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:fx">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:fy">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="svg-stop"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="svg-stop">
+ <element name="svg:stop">
+ <attribute name="svg:offset">
+ <choice>
+ <ref name="double"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="svg:stop-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:stop-opacity">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="common-svg-gradient-attlist">
+ <interleave>
+ <optional>
+ <attribute name="svg:gradientUnits">
+ <value>objectBoundingBox</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:gradientTransform">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:spreadMethod">
+ <choice>
+ <value>pad</value>
+ <value>reflect</value>
+ <value>repeat</value>
+ </choice>
+ </attribute>
+ </optional>
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-hatch">
+ <element name="draw:hatch">
+ <ref name="draw-hatch-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="draw-hatch-attlist">
+ <interleave>
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <attribute name="draw:style">
+ <choice>
+ <value>single</value>
+ <value>double</value>
+ <value>triple</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="draw:color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:distance">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:rotation">
+ <ref name="angle"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-fill-image">
+ <element name="draw:fill-image">
+ <ref name="draw-fill-image-attlist"/>
+ <attribute name="xlink:type">
+ <value>simple</value>
+ </attribute>
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:show">
+ <value>embed</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate">
+ <value>onLoad</value>
+ </attribute>
+ </optional>
+ <empty/>
+ </element>
+ </define>
+ <define name="draw-fill-image-attlist">
+ <interleave>
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-opacity">
+ <element name="draw:opacity">
+ <ref name="common-draw-gradient-attlist"/>
+ <ref name="draw-opacity-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="draw-opacity-attlist">
+ <optional>
+ <attribute name="draw:start">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="draw-marker">
+ <element name="draw:marker">
+ <ref name="draw-marker-attlist"/>
+ <ref name="common-draw-viewbox-attlist"/>
+ <ref name="common-draw-path-data-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="draw-marker-attlist">
+ <interleave>
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="draw-stroke-dash">
+ <element name="draw:stroke-dash">
+ <ref name="draw-stroke-dash-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="draw-stroke-dash-attlist">
+ <interleave>
+ <attribute name="draw:name">
+ <ref name="styleName"/>
+ </attribute>
+ <optional>
+ <attribute name="draw:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:style">
+ <choice>
+ <value>rect</value>
+ <value>round</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:dots1">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:dots1-length">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:dots2">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:dots2-length">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:distance">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-presentation-page-layout">
+ <element name="style:presentation-page-layout">
+ <attribute name="style:name">
+ <ref name="styleName"/>
+ </attribute>
+ <optional>
+ <attribute name="style:display-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="presentation-placeholder"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="presentation-placeholder">
+ <element name="presentation:placeholder">
+ <attribute name="presentation:object">
+ <ref name="presentation-classes"/>
+ </attribute>
+ <attribute name="svg:x">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <attribute name="svg:y">
+ <choice>
+ <ref name="coordinate"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <attribute name="svg:width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <attribute name="svg:height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ <empty/>
+ </element>
+ </define>
+ <define name="style-page-layout-properties">
+ <element name="style:page-layout-properties">
+ <ref name="style-page-layout-properties-content-strict"/>
+ </element>
+ </define>
+ <define name="style-page-layout-properties-content-strict">
+ <ref name="style-page-layout-properties-attlist"/>
+ <ref name="style-page-layout-properties-elements"/>
+ </define>
+ <define name="style-page-layout-properties-attlist">
+ <interleave>
+ <optional>
+ <attribute name="fo:page-width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:page-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="common-num-format-attlist"/>
+ </optional>
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+ <optional>
+ <attribute name="style:paper-tray-name">
+ <choice>
+ <value>default</value>
+ <ref name="string"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:print-orientation">
+ <choice>
+ <value>portrait</value>
+ <value>landscape</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="common-horizontal-margin-attlist"/>
+ <ref name="common-vertical-margin-attlist"/>
+ <ref name="common-margin-attlist"/>
+ <ref name="common-border-attlist"/>
+ <ref name="common-border-line-width-attlist"/>
+ <ref name="common-padding-attlist"/>
+ <ref name="common-shadow-attlist"/>
+ <ref name="common-background-color-attlist"/>
+ <optional>
+ <attribute name="style:register-truth-ref-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:print">
+ <list>
+ <zeroOrMore>
+ <choice>
+ <value>headers</value>
+ <value>grid</value>
+ <value>annotations</value>
+ <value>objects</value>
+ <value>charts</value>
+ <value>drawings</value>
+ <value>formulas</value>
+ <value>zero-values</value>
+ </choice>
+ </zeroOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:print-page-order">
+ <choice>
+ <value>ttb</value>
+ <value>ltr</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:first-page-number">
+ <choice>
+ <ref name="positiveInteger"/>
+ <value>continue</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:scale-to">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:scale-to-pages">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:table-centering">
+ <choice>
+ <value>horizontal</value>
+ <value>vertical</value>
+ <value>both</value>
+ <value>none</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:footnote-max-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <ref name="common-writing-mode-attlist"/>
+ <optional>
+ <attribute name="style:layout-grid-mode">
+ <choice>
+ <value>none</value>
+ <value>line</value>
+ <value>both</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:layout-grid-standard-mode">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:layout-grid-base-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:layout-grid-ruby-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:layout-grid-lines">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:layout-grid-base-width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:layout-grid-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:layout-grid-ruby-below">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:layout-grid-print">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:layout-grid-display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:layout-grid-snap-to">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-page-layout-properties-elements">
+ <interleave>
+ <ref name="style-background-image"/>
+ <ref name="style-columns"/>
+ <ref name="style-footnote-sep"/>
+ </interleave>
+ </define>
+ <define name="style-footnote-sep">
+ <optional>
+ <element name="style:footnote-sep">
+ <ref name="style-footnote-sep-attlist"/>
+ <empty/>
+ </element>
+ </optional>
+ </define>
+ <define name="style-footnote-sep-attlist">
+ <optional>
+ <attribute name="style:width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rel-width">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:line-style">
+ <ref name="lineStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:adjustment">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:distance-before-sep">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:distance-after-sep">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="style-header-footer-properties">
+ <element name="style:header-footer-properties">
+ <ref name="style-header-footer-properties-content-strict"/>
+ </element>
+ </define>
+ <define name="style-header-footer-properties-content-strict">
+ <ref name="style-header-footer-properties-attlist"/>
+ <ref name="style-header-footer-properties-elements"/>
+ </define>
+ <define name="style-header-footer-properties-attlist">
+ <interleave>
+ <optional>
+ <attribute name="svg:height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:min-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <ref name="common-horizontal-margin-attlist"/>
+ <ref name="common-vertical-margin-attlist"/>
+ <ref name="common-margin-attlist"/>
+ <ref name="common-border-attlist"/>
+ <ref name="common-border-line-width-attlist"/>
+ <ref name="common-padding-attlist"/>
+ <ref name="common-background-color-attlist"/>
+ <ref name="common-shadow-attlist"/>
+ <optional>
+ <attribute name="style:dynamic-spacing">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-header-footer-properties-elements">
+ <ref name="style-background-image"/>
+ </define>
+ <define name="style-text-properties">
+ <element name="style:text-properties">
+ <ref name="style-text-properties-content-strict"/>
+ </element>
+ </define>
+ <define name="style-text-properties-content-strict">
+ <ref name="style-text-properties-attlist"/>
+ <ref name="style-text-properties-elements"/>
+ </define>
+ <define name="style-text-properties-elements">
+ <empty/>
+ </define>
+ <define name="style-text-properties-attlist">
+ <interleave>
+ <optional>
+ <attribute name="fo:font-variant">
+ <ref name="fontVariant"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:text-transform">
+ <choice>
+ <value>none</value>
+ <value>lowercase</value>
+ <value>uppercase</value>
+ <value>capitalize</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:use-window-font-color">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-outline">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-line-through-type">
+ <ref name="lineType"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-line-through-style">
+ <ref name="lineStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-line-through-width">
+ <ref name="lineWidth"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-line-through-color">
+ <choice>
+ <value>font-color</value>
+ <ref name="color"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-line-through-text">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-line-through-text-style">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-position">
+ <list>
+ <choice>
+ <ref name="percent"/>
+ <value>super</value>
+ <value>sub</value>
+ </choice>
+ <optional>
+ <ref name="percent"/>
+ </optional>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-name-asian">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-name-complex">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:font-family">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-family-asian">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-family-complex">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-family-generic">
+ <ref name="fontFamilyGeneric"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-family-generic-asian">
+ <ref name="fontFamilyGeneric"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-family-generic-complex">
+ <ref name="fontFamilyGeneric"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-style-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-style-name-asian">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-style-name-complex">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-pitch">
+ <ref name="fontPitch"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-pitch-asian">
+ <ref name="fontPitch"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-pitch-complex">
+ <ref name="fontPitch"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-charset">
+ <ref name="textEncoding"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-charset-asian">
+ <ref name="textEncoding"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-charset-complex">
+ <ref name="textEncoding"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:font-size">
+ <choice>
+ <ref name="positiveLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-size-asian">
+ <choice>
+ <ref name="positiveLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-size-complex">
+ <choice>
+ <ref name="positiveLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-size-rel">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-size-rel-asian">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-size-rel-complex">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:script-type">
+ <choice>
+ <value>latin</value>
+ <value>asian</value>
+ <value>complex</value>
+ <value>ignore</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:letter-spacing">
+ <choice>
+ <ref name="length"/>
+ <value>normal</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:language">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:language-asian">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:language-complex">
+ <ref name="languageCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:country">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:country-asian">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:country-complex">
+ <ref name="countryCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:script">
+ <ref name="scriptCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:script-asian">
+ <ref name="scriptCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:script-complex">
+ <ref name="scriptCode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rfc-language-tag">
+ <ref name="language"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rfc-language-tag-asian">
+ <ref name="language"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rfc-language-tag-complex">
+ <ref name="language"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:font-style">
+ <ref name="fontStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-style-asian">
+ <ref name="fontStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-style-complex">
+ <ref name="fontStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-relief">
+ <choice>
+ <value>none</value>
+ <value>embossed</value>
+ <value>engraved</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:text-shadow">
+ <ref name="shadowType"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-underline-type">
+ <ref name="lineType"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-underline-style">
+ <ref name="lineStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-underline-width">
+ <ref name="lineWidth"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-underline-color">
+ <choice>
+ <value>font-color</value>
+ <ref name="color"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-overline-type">
+ <ref name="lineType"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-overline-style">
+ <ref name="lineStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-overline-width">
+ <ref name="lineWidth"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-overline-color">
+ <choice>
+ <value>font-color</value>
+ <ref name="color"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-overline-mode">
+ <ref name="lineMode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:font-weight">
+ <ref name="fontWeight"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-weight-asian">
+ <ref name="fontWeight"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-weight-complex">
+ <ref name="fontWeight"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-underline-mode">
+ <ref name="lineMode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-line-through-mode">
+ <ref name="lineMode"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:letter-kerning">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-blinking">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <ref name="common-background-color-attlist"/>
+ <optional>
+ <attribute name="style:text-combine">
+ <choice>
+ <value>none</value>
+ <value>letters</value>
+ <value>lines</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-combine-start-char">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-combine-end-char">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-emphasize">
+ <choice>
+ <value>none</value>
+ <list>
+ <choice>
+ <value>none</value>
+ <value>accent</value>
+ <value>dot</value>
+ <value>circle</value>
+ <value>disc</value>
+ </choice>
+ <choice>
+ <value>above</value>
+ <value>below</value>
+ </choice>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-scale">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-rotation-angle">
+ <ref name="angle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-rotation-scale">
+ <choice>
+ <value>fixed</value>
+ <value>line-height</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:hyphenate">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:hyphenation-remain-char-count">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:hyphenation-push-char-count">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <choice>
+ <attribute name="text:display">
+ <value>true</value>
+ </attribute>
+ <attribute name="text:display">
+ <value>none</value>
+ </attribute>
+ <group>
+ <attribute name="text:display">
+ <value>condition</value>
+ </attribute>
+ <attribute name="text:condition">
+ <value>none</value>
+ </attribute>
+ </group>
+ <empty/>
+ </choice>
+ </interleave>
+ </define>
+ <define name="fontVariant">
+ <choice>
+ <value>normal</value>
+ <value>small-caps</value>
+ </choice>
+ </define>
+ <define name="fontFamilyGeneric">
+ <choice>
+ <value>roman</value>
+ <value>swiss</value>
+ <value>modern</value>
+ <value>decorative</value>
+ <value>script</value>
+ <value>system</value>
+ </choice>
+ </define>
+ <define name="fontPitch">
+ <choice>
+ <value>fixed</value>
+ <value>variable</value>
+ </choice>
+ </define>
+ <define name="textEncoding">
+ <data type="string">
+ <param name="pattern">[A-Za-z][A-Za-z0-9._\-]*</param>
+ </data>
+ </define>
+ <define name="fontStyle">
+ <choice>
+ <value>normal</value>
+ <value>italic</value>
+ <value>oblique</value>
+ </choice>
+ </define>
+ <define name="shadowType">
+ <choice>
+ <value>none</value>
+ <ref name="string"/>
+ </choice>
+ </define>
+ <define name="lineType">
+ <choice>
+ <value>none</value>
+ <value>single</value>
+ <value>double</value>
+ </choice>
+ </define>
+ <define name="lineStyle">
+ <choice>
+ <value>none</value>
+ <value>solid</value>
+ <value>dotted</value>
+ <value>dash</value>
+ <value>long-dash</value>
+ <value>dot-dash</value>
+ <value>dot-dot-dash</value>
+ <value>wave</value>
+ </choice>
+ </define>
+ <define name="lineWidth">
+ <choice>
+ <value>auto</value>
+ <value>normal</value>
+ <value>bold</value>
+ <value>thin</value>
+ <value>medium</value>
+ <value>thick</value>
+ <ref name="positiveInteger"/>
+ <ref name="percent"/>
+ <ref name="positiveLength"/>
+ </choice>
+ </define>
+ <define name="fontWeight">
+ <choice>
+ <value>normal</value>
+ <value>bold</value>
+ <value>100</value>
+ <value>200</value>
+ <value>300</value>
+ <value>400</value>
+ <value>500</value>
+ <value>600</value>
+ <value>700</value>
+ <value>800</value>
+ <value>900</value>
+ </choice>
+ </define>
+ <define name="lineMode">
+ <choice>
+ <value>continuous</value>
+ <value>skip-white-space</value>
+ </choice>
+ </define>
+ <define name="style-paragraph-properties">
+ <element name="style:paragraph-properties">
+ <ref name="style-paragraph-properties-content-strict"/>
+ </element>
+ </define>
+ <define name="style-paragraph-properties-content-strict">
+ <ref name="style-paragraph-properties-attlist"/>
+ <ref name="style-paragraph-properties-elements"/>
+ </define>
+ <define name="style-paragraph-properties-attlist">
+ <interleave>
+ <optional>
+ <attribute name="fo:line-height">
+ <choice>
+ <value>normal</value>
+ <ref name="nonNegativeLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:line-height-at-least">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:line-spacing">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-independent-line-spacing">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <ref name="common-text-align"/>
+ <optional>
+ <attribute name="fo:text-align-last">
+ <choice>
+ <value>start</value>
+ <value>center</value>
+ <value>justify</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:justify-single-word">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:keep-together">
+ <choice>
+ <value>auto</value>
+ <value>always</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:widows">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:orphans">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:tab-stop-distance">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:hyphenation-keep">
+ <choice>
+ <value>auto</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:hyphenation-ladder-count">
+ <choice>
+ <value>no-limit</value>
+ <ref name="positiveInteger"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:register-true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+
+ <ref name="common-horizontal-margin-attlist"/>
+ <optional>
+ <attribute name="fo:text-indent">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:auto-text-indent">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <ref name="common-vertical-margin-attlist"/>
+ <ref name="common-margin-attlist"/>
+ <ref name="common-break-attlist"/>
+ <ref name="common-background-color-attlist"/>
+ <ref name="common-border-attlist"/>
+ <ref name="common-border-line-width-attlist"/>
+ <optional>
+ <attribute name="style:join-border">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <ref name="common-padding-attlist"/>
+ <ref name="common-shadow-attlist"/>
+ <ref name="common-keep-with-next-attlist"/>
+ <optional>
+ <attribute name="text:number-lines">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:line-number">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-autospace">
+ <choice>
+ <value>none</value>
+ <value>ideograph-alpha</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:punctuation-wrap">
+ <choice>
+ <value>simple</value>
+ <value>hanging</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:line-break">
+ <choice>
+ <value>normal</value>
+ <value>strict</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:vertical-align">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>auto</value>
+ <value>baseline</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="common-writing-mode-attlist"/>
+ <optional>
+ <attribute name="style:writing-mode-automatic">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:snap-to-layout-grid">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <ref name="common-page-number-attlist"/>
+ <ref name="common-background-transparency-attlist"/>
+ </interleave>
+ </define>
+ <define name="common-text-align">
+ <optional>
+ <attribute name="fo:text-align">
+ <choice>
+ <value>start</value>
+ <value>end</value>
+ <value>left</value>
+ <value>right</value>
+ <value>center</value>
+ <value>justify</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="style-paragraph-properties-elements">
+ <interleave>
+ <ref name="style-tab-stops"/>
+ <ref name="style-drop-cap"/>
+ <ref name="style-background-image"/>
+ </interleave>
+ </define>
+ <define name="style-tab-stops">
+ <optional>
+ <element name="style:tab-stops">
+ <zeroOrMore>
+ <ref name="style-tab-stop"/>
+ </zeroOrMore>
+ </element>
+ </optional>
+ </define>
+ <define name="style-tab-stop">
+ <element name="style:tab-stop">
+ <ref name="style-tab-stop-attlist"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="style-tab-stop-attlist">
+ <interleave>
+ <attribute name="style:position">
+ <ref name="length"/>
+ </attribute>
+ <choice>
+ <optional>
+ <attribute name="style:type">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <group>
+ <attribute name="style:type">
+ <value>char</value>
+ </attribute>
+ <ref name="style-tab-stop-char-attlist"/>
+ </group>
+ </choice>
+ <optional>
+ <attribute name="style:leader-type">
+ <ref name="lineType"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:leader-style">
+ <ref name="lineStyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:leader-width">
+ <ref name="lineWidth"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:leader-color">
+ <choice>
+ <value>font-color</value>
+ <ref name="color"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:leader-text">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:leader-text-style">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-tab-stop-char-attlist">
+ <attribute name="style:char">
+ <ref name="character"/>
+ </attribute>
+ </define>
+ <define name="style-drop-cap">
+ <optional>
+ <element name="style:drop-cap">
+ <ref name="style-drop-cap-attlist"/>
+ <empty/>
+ </element>
+ </optional>
+ </define>
+ <define name="style-drop-cap-attlist">
+ <interleave>
+ <optional>
+ <attribute name="style:length">
+ <choice>
+ <value>word</value>
+ <ref name="positiveInteger"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:lines">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:distance">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-horizontal-margin-attlist">
+ <optional>
+ <attribute name="fo:margin-left">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:margin-right">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-vertical-margin-attlist">
+ <optional>
+ <attribute name="fo:margin-top">
+ <choice>
+ <ref name="nonNegativeLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:margin-bottom">
+ <choice>
+ <ref name="nonNegativeLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-margin-attlist">
+ <optional>
+ <attribute name="fo:margin">
+ <choice>
+ <ref name="nonNegativeLength"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-break-attlist">
+ <optional>
+ <attribute name="fo:break-before">
+ <choice>
+ <value>auto</value>
+ <value>column</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:break-after">
+ <choice>
+ <value>auto</value>
+ <value>column</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-background-color-attlist">
+ <optional>
+ <attribute name="fo:background-color">
+ <choice>
+ <value>transparent</value>
+ <ref name="color"/>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="style-background-image">
+ <optional>
+ <element name="style:background-image">
+ <ref name="style-background-image-attlist"/>
+ <choice>
+ <ref name="common-draw-data-attlist"/>
+ <ref name="office-binary-data"/>
+ <empty/>
+ </choice>
+ </element>
+ </optional>
+ </define>
+ <define name="style-background-image-attlist">
+ <interleave>
+ <optional>
+ <attribute name="style:repeat">
+ <choice>
+ <value>no-repeat</value>
+ <value>repeat</value>
+ <value>stretch</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:position">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>top</value>
+ <value>bottom</value>
+ <list>
+ <ref name="horiBackPos"/>
+ <ref name="vertBackPos"/>
+ </list>
+ <list>
+ <ref name="vertBackPos"/>
+ <ref name="horiBackPos"/>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:filter-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:opacity">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="horiBackPos">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </define>
+ <define name="vertBackPos">
+ <choice>
+ <value>top</value>
+ <value>center</value>
+ <value>bottom</value>
+ </choice>
+ </define>
+ <define name="common-border-attlist">
+ <optional>
+ <attribute name="fo:border">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:border-top">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:border-bottom">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:border-left">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:border-right">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-border-line-width-attlist">
+ <optional>
+ <attribute name="style:border-line-width">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:border-line-width-top">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:border-line-width-bottom">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:border-line-width-left">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:border-line-width-right">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="borderWidths">
+ <list>
+ <ref name="positiveLength"/>
+ <ref name="positiveLength"/>
+ <ref name="positiveLength"/>
+ </list>
+ </define>
+ <define name="common-padding-attlist">
+ <optional>
+ <attribute name="fo:padding">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:padding-top">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:padding-bottom">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:padding-left">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:padding-right">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-shadow-attlist">
+ <optional>
+ <attribute name="style:shadow">
+ <ref name="shadowType"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-keep-with-next-attlist">
+ <optional>
+ <attribute name="fo:keep-with-next">
+ <choice>
+ <value>auto</value>
+ <value>always</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-writing-mode-attlist">
+ <optional>
+ <attribute name="style:writing-mode">
+ <choice>
+ <value>lr-tb</value>
+ <value>rl-tb</value>
+ <value>tb-rl</value>
+ <value>tb-lr</value>
+ <value>lr</value>
+ <value>rl</value>
+ <value>tb</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-page-number-attlist">
+ <optional>
+ <attribute name="style:page-number">
+ <choice>
+ <ref name="positiveInteger"/>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-background-transparency-attlist">
+ <optional>
+ <attribute name="style:background-transparency">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="style-ruby-properties">
+ <element name="style:ruby-properties">
+ <ref name="style-ruby-properties-content-strict"/>
+ </element>
+ </define>
+ <define name="style-ruby-properties-content-strict">
+ <ref name="style-ruby-properties-attlist"/>
+ <ref name="style-ruby-properties-elements"/>
+ </define>
+ <define name="style-ruby-properties-elements">
+ <empty/>
+ </define>
+ <define name="style-ruby-properties-attlist">
+ <interleave>
+ <optional>
+ <attribute name="style:ruby-position">
+ <choice>
+ <value>above</value>
+ <value>below</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:ruby-align">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>distribute-letter</value>
+ <value>distribute-space</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-section-properties">
+ <element name="style:section-properties">
+ <ref name="style-section-properties-content-strict"/>
+ </element>
+ </define>
+ <define name="style-section-properties-content-strict">
+ <ref name="style-section-properties-attlist"/>
+ <ref name="style-section-properties-elements"/>
+ </define>
+ <define name="style-section-properties-attlist">
+ <interleave>
+ <ref name="common-background-color-attlist"/>
+ <ref name="common-horizontal-margin-attlist"/>
+ <optional>
+ <attribute name="style:protect">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <ref name="common-editable-attlist"/>
+ <optional>
+ <attribute name="text:dont-balance-text-columns">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <ref name="common-writing-mode-attlist"/>
+ </interleave>
+ </define>
+ <define name="style-section-properties-elements">
+ <interleave>
+ <ref name="style-background-image"/>
+ <ref name="style-columns"/>
+ <zeroOrMore>
+ <ref name="text-notes-configuration"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="style-columns">
+ <optional>
+ <element name="style:columns">
+ <ref name="style-columns-attlist"/>
+ <optional>
+ <ref name="style-column-sep"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="style-column"/>
+ </zeroOrMore>
+ </element>
+ </optional>
+ </define>
+ <define name="style-columns-attlist">
+ <interleave>
+ <attribute name="fo:column-count">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <optional>
+ <attribute name="fo:column-gap">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-column">
+ <element name="style:column">
+ <ref name="style-column-attlist"/>
+ </element>
+ </define>
+ <define name="style-column-attlist">
+ <interleave>
+ <attribute name="style:rel-width">
+ <ref name="relativeLength"/>
+ </attribute>
+ <optional>
+ <attribute name="fo:start-indent">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:end-indent">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:space-before">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:space-after">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-column-sep">
+ <element name="style:column-sep">
+ <ref name="style-column-sep-attlist"/>
+ </element>
+ </define>
+ <define name="style-column-sep-attlist">
+ <interleave>
+ <optional>
+ <attribute name="style:style">
+ <choice>
+ <value>none</value>
+ <value>solid</value>
+ <value>dotted</value>
+ <value>dashed</value>
+ <value>dot-dashed</value>
+ </choice>
+ </attribute>
+ </optional>
+ <attribute name="style:width">
+ <ref name="length"/>
+ </attribute>
+ <optional>
+ <attribute name="style:height">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:vertical-align">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-table-properties">
+ <element name="style:table-properties">
+ <ref name="style-table-properties-content-strict"/>
+ </element>
+ </define>
+ <define name="style-table-properties-content-strict">
+ <ref name="style-table-properties-attlist"/>
+ <ref name="style-table-properties-elements"/>
+ </define>
+ <define name="style-table-properties-attlist">
+ <interleave>
+ <optional>
+ <attribute name="style:width">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rel-width">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:align">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>margins</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="common-horizontal-margin-attlist"/>
+ <ref name="common-vertical-margin-attlist"/>
+ <ref name="common-margin-attlist"/>
+ <ref name="common-page-number-attlist"/>
+ <ref name="common-break-attlist"/>
+ <ref name="common-background-color-attlist"/>
+ <ref name="common-shadow-attlist"/>
+ <ref name="common-keep-with-next-attlist"/>
+ <optional>
+ <attribute name="style:may-break-between-rows">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="table:border-model">
+ <choice>
+ <value>collapsing</value>
+ <value>separating</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="common-writing-mode-attlist"/>
+ <optional>
+ <attribute name="table:display">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-table-properties-elements">
+ <ref name="style-background-image"/>
+ </define>
+ <define name="style-table-column-properties">
+ <element name="style:table-column-properties">
+ <ref name="style-table-column-properties-content-strict"/>
+ </element>
+ </define>
+ <define name="style-table-column-properties-content-strict">
+ <ref name="style-table-column-properties-attlist"/>
+ <ref name="style-table-column-properties-elements"/>
+ </define>
+ <define name="style-table-column-properties-elements">
+ <empty/>
+ </define>
+ <define name="style-table-column-properties-attlist">
+ <interleave>
+ <optional>
+ <attribute name="style:column-width">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:rel-column-width">
+ <ref name="relativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:use-optimal-column-width">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <ref name="common-break-attlist"/>
+ </interleave>
+ </define>
+ <define name="style-table-row-properties">
+ <element name="style:table-row-properties">
+ <ref name="style-table-row-properties-content-strict"/>
+ </element>
+ </define>
+ <define name="style-table-row-properties-content-strict">
+ <ref name="style-table-row-properties-attlist"/>
+ <ref name="style-table-row-properties-elements"/>
+ </define>
+ <define name="style-table-row-properties-attlist">
+ <interleave>
+ <optional>
+ <attribute name="style:row-height">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:min-row-height">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:use-optimal-row-height">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <ref name="common-background-color-attlist"/>
+ <ref name="common-break-attlist"/>
+ <optional>
+ <attribute name="fo:keep-together">
+ <choice>
+ <value>auto</value>
+ <value>always</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-table-row-properties-elements">
+ <ref name="style-background-image"/>
+ </define>
+ <define name="style-table-cell-properties">
+ <element name="style:table-cell-properties">
+ <ref name="style-table-cell-properties-content-strict"/>
+ </element>
+ </define>
+ <define name="style-table-cell-properties-content-strict">
+ <ref name="style-table-cell-properties-attlist"/>
+ <ref name="style-table-cell-properties-elements"/>
+ </define>
+ <define name="style-table-cell-properties-attlist">
+ <interleave>
+ <optional>
+ <attribute name="style:vertical-align">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>automatic</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:text-align-source">
+ <choice>
+ <value>fix</value>
+ <value>value-type</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="common-style-direction-attlist"/>
+ <optional>
+ <attribute name="style:glyph-orientation-vertical">
+ <choice>
+ <value>auto</value>
+ <value>0</value>
+ <value>0deg</value>
+ <value>0rad</value>
+ <value>0grad</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="common-writing-mode-attlist"/>
+ <ref name="common-shadow-attlist"/>
+ <ref name="common-background-color-attlist"/>
+ <ref name="common-border-attlist"/>
+ <optional>
+ <attribute name="style:diagonal-tl-br">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:diagonal-tl-br-widths">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:diagonal-bl-tr">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:diagonal-bl-tr-widths">
+ <ref name="borderWidths"/>
+ </attribute>
+ </optional>
+ <ref name="common-border-line-width-attlist"/>
+ <ref name="common-padding-attlist"/>
+ <optional>
+ <attribute name="fo:wrap-option">
+ <choice>
+ <value>no-wrap</value>
+ <value>wrap</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="common-rotation-angle-attlist"/>
+ <optional>
+ <attribute name="style:rotation-align">
+ <choice>
+ <value>none</value>
+ <value>bottom</value>
+ <value>top</value>
+ <value>center</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:cell-protect">
+ <choice>
+ <value>none</value>
+ <value>hidden-and-protected</value>
+ <list>
+ <oneOrMore>
+ <choice>
+ <value>protected</value>
+ <value>formula-hidden</value>
+ </choice>
+ </oneOrMore>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:print-content">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:decimal-places">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:repeat-content">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:shrink-to-fit">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="common-style-direction-attlist">
+ <optional>
+ <attribute name="style:direction">
+ <choice>
+ <value>ltr</value>
+ <value>ttb</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="style-table-cell-properties-elements">
+ <ref name="style-background-image"/>
+ </define>
+ <define name="common-rotation-angle-attlist">
+ <optional>
+ <attribute name="style:rotation-angle">
+ <ref name="angle"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="style-list-level-properties">
+ <element name="style:list-level-properties">
+ <ref name="style-list-level-properties-content-strict"/>
+ </element>
+ </define>
+ <define name="style-list-level-properties-content-strict">
+ <ref name="style-list-level-properties-attlist"/>
+ <ref name="style-list-level-properties-elements"/>
+ </define>
+ <define name="style-list-level-properties-attlist">
+ <interleave>
+ <ref name="common-text-align"/>
+ <optional>
+ <attribute name="text:space-before">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:min-label-width">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:min-label-distance">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:font-name">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:width">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:height">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <ref name="common-vertical-rel-attlist"/>
+ <ref name="common-vertical-pos-attlist"/>
+ <optional>
+ <attribute name="text:list-level-position-and-space-mode">
+ <choice>
+ <value>label-width-and-position</value>
+ <value>label-alignment</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-list-level-properties-elements">
+ <ref name="style-list-level-label-alignment"/>
+ </define>
+ <define name="style-list-level-label-alignment">
+ <optional>
+ <element name="style:list-level-label-alignment">
+ <ref name="style-list-level-label-alignment-attlist"/>
+ <empty/>
+ </element>
+ </optional>
+ </define>
+ <define name="style-list-level-label-alignment-attlist">
+ <interleave>
+ <attribute name="text:label-followed-by">
+ <choice>
+ <value>listtab</value>
+ <value>space</value>
+ <value>nothing</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="text:list-tab-stop-position">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:text-indent">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:margin-left">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-graphic-properties-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:stroke">
+ <choice>
+ <value>none</value>
+ <value>dash</value>
+ <value>solid</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:stroke-dash">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:stroke-dash-names">
+ <ref name="styleNameRefs"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:stroke-width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:stroke-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:marker-start">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:marker-end">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:marker-start-width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:marker-end-width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:marker-start-center">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:marker-end-center">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:stroke-opacity">
+ <choice>
+ <data type="double">
+ <param name="minInclusive">0</param>
+ <param name="maxInclusive">1</param>
+ </data>
+ <ref name="zeroToHundredPercent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:stroke-linejoin">
+ <choice>
+ <value>miter</value>
+ <value>round</value>
+ <value>bevel</value>
+ <value>middle</value>
+ <value>none</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:stroke-linecap">
+ <choice>
+ <value>butt</value>
+ <value>square</value>
+ <value>round</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:symbol-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:animation">
+ <choice>
+ <value>none</value>
+ <value>scroll</value>
+ <value>alternate</value>
+ <value>slide</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:animation-direction">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>up</value>
+ <value>down</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:animation-start-inside">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:animation-stop-inside">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:animation-repeat">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:animation-delay">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:animation-steps">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:auto-grow-width">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:auto-grow-height">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fit-to-size">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fit-to-contour">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:textarea-vertical-align">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>justify</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:textarea-horizontal-align">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>justify</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:wrap-option">
+ <choice>
+ <value>no-wrap</value>
+ <value>wrap</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:shrink-to-fit">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:color-mode">
+ <choice>
+ <value>greyscale</value>
+ <value>mono</value>
+ <value>watermark</value>
+ <value>standard</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:color-inversion">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:luminance">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:contrast">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:gamma">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:red">
+ <ref name="signedZeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:green">
+ <ref name="signedZeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:blue">
+ <ref name="signedZeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:image-opacity">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:shadow">
+ <choice>
+ <value>visible</value>
+ <value>hidden</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:shadow-offset-x">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:shadow-offset-y">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:shadow-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:shadow-opacity">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:start-line-spacing-horizontal">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:start-line-spacing-vertical">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end-line-spacing-horizontal">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end-line-spacing-vertical">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:line-distance">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:guide-overhang">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:guide-distance">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:start-guide">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:end-guide">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:placing">
+ <choice>
+ <value>below</value>
+ <value>above</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:parallel">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:measure-align">
+ <choice>
+ <value>automatic</value>
+ <value>left-outside</value>
+ <value>inside</value>
+ <value>right-outside</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:measure-vertical-align">
+ <choice>
+ <value>automatic</value>
+ <value>above</value>
+ <value>below</value>
+ <value>center</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:unit">
+ <choice>
+ <value>automatic</value>
+ <value>mm</value>
+ <value>cm</value>
+ <value>m</value>
+ <value>km</value>
+ <value>pt</value>
+ <value>pc</value>
+ <value>inch</value>
+ <value>ft</value>
+ <value>mi</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:show-unit">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:decimal-places">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:caption-type">
+ <choice>
+ <value>straight-line</value>
+ <value>angled-line</value>
+ <value>angled-connector-line</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:caption-angle-type">
+ <choice>
+ <value>fixed</value>
+ <value>free</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:caption-angle">
+ <ref name="angle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:caption-gap">
+ <ref name="distance"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:caption-escape-direction">
+ <choice>
+ <value>horizontal</value>
+ <value>vertical</value>
+ <value>auto</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:caption-escape">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:caption-line-length">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:caption-fit-line-length">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:horizontal-segments">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:vertical-segments">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:edge-rounding">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:edge-rounding-mode">
+ <choice>
+ <value>correct</value>
+ <value>attractive</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:back-scale">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:depth">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:backface-culling">
+ <choice>
+ <value>enabled</value>
+ <value>disabled</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:end-angle">
+ <ref name="angle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:close-front">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:close-back">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:lighting-mode">
+ <choice>
+ <value>standard</value>
+ <value>double-sided</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:normals-kind">
+ <choice>
+ <value>object</value>
+ <value>flat</value>
+ <value>sphere</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:normals-direction">
+ <choice>
+ <value>normal</value>
+ <value>inverse</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:texture-generation-mode-x">
+ <choice>
+ <value>object</value>
+ <value>parallel</value>
+ <value>sphere</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:texture-generation-mode-y">
+ <choice>
+ <value>object</value>
+ <value>parallel</value>
+ <value>sphere</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:texture-kind">
+ <choice>
+ <value>luminance</value>
+ <value>intensity</value>
+ <value>color</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:texture-filter">
+ <choice>
+ <value>enabled</value>
+ <value>disabled</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:texture-mode">
+ <choice>
+ <value>replace</value>
+ <value>modulate</value>
+ <value>blend</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:ambient-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:emissive-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:specular-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:diffuse-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:shininess">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dr3d:shadow">
+ <choice>
+ <value>visible</value>
+ <value>hidden</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="common-draw-rel-size-attlist"/>
+ <optional>
+ <attribute name="fo:min-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:min-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:max-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:max-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="common-horizontal-margin-attlist"/>
+ <ref name="common-vertical-margin-attlist"/>
+ <ref name="common-margin-attlist"/>
+ <optional>
+ <attribute name="style:print-content">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:protect">
+ <choice>
+ <value>none</value>
+ <list>
+ <oneOrMore>
+ <choice>
+ <value>content</value>
+ <value>position</value>
+ <value>size</value>
+ </choice>
+ </oneOrMore>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:horizontal-pos">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>from-left</value>
+ <value>inside</value>
+ <value>outside</value>
+ <value>from-inside</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:x">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:horizontal-rel">
+ <choice>
+ <value>page</value>
+ <value>page-content</value>
+ <value>page-start-margin</value>
+ <value>page-end-margin</value>
+ <value>frame</value>
+ <value>frame-content</value>
+ <value>frame-start-margin</value>
+ <value>frame-end-margin</value>
+ <value>paragraph</value>
+ <value>paragraph-content</value>
+ <value>paragraph-start-margin</value>
+ <value>paragraph-end-margin</value>
+ <value>char</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="common-vertical-pos-attlist"/>
+ <ref name="common-vertical-rel-attlist"/>
+ <ref name="common-text-anchor-attlist"/>
+ <ref name="common-border-attlist"/>
+ <ref name="common-border-line-width-attlist"/>
+ <ref name="common-padding-attlist"/>
+ <ref name="common-shadow-attlist"/>
+ <ref name="common-background-color-attlist"/>
+ <ref name="common-background-transparency-attlist"/>
+ <ref name="common-editable-attlist"/>
+ <optional>
+ <attribute name="style:wrap">
+ <choice>
+ <value>none</value>
+ <value>left</value>
+ <value>right</value>
+ <value>parallel</value>
+ <value>dynamic</value>
+ <value>run-through</value>
+ <value>biggest</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:wrap-dynamic-threshold">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:number-wrapped-paragraphs">
+ <choice>
+ <value>no-limit</value>
+ <ref name="positiveInteger"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:wrap-contour">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:wrap-contour-mode">
+ <choice>
+ <value>full</value>
+ <value>outside</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:run-through">
+ <choice>
+ <value>foreground</value>
+ <value>background</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:flow-with-text">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:overflow-behavior">
+ <choice>
+ <value>clip</value>
+ <value>auto-create-new-frame</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:mirror">
+ <choice>
+ <value>none</value>
+ <value>vertical</value>
+ <ref name="horizontal-mirror"/>
+ <list>
+ <value>vertical</value>
+ <ref name="horizontal-mirror"/>
+ </list>
+ <list>
+ <ref name="horizontal-mirror"/>
+ <value>vertical</value>
+ </list>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fo:clip">
+ <choice>
+ <value>auto</value>
+ <ref name="clipShape"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:wrap-influence-on-position">
+ <choice>
+ <value>iterative</value>
+ <value>once-concurrent</value>
+ <value>once-successive</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="common-writing-mode-attlist"/>
+ <optional>
+ <attribute name="draw:frame-display-scrollbar">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:frame-display-border">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:frame-margin-horizontal">
+ <ref name="nonNegativePixelLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:frame-margin-vertical">
+ <ref name="nonNegativePixelLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:visible-area-left">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:visible-area-top">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:visible-area-width">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:visible-area-height">
+ <ref name="positiveLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:draw-aspect">
+ <choice>
+ <value>content</value>
+ <value>thumbnail</value>
+ <value>icon</value>
+ <value>print-view</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:ole-draw-aspect">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-graphic-fill-properties-attlist">
+ <interleave>
+ <optional>
+ <attribute name="draw:fill">
+ <choice>
+ <value>none</value>
+ <value>solid</value>
+ <value>bitmap</value>
+ <value>gradient</value>
+ <value>hatch</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:secondary-fill-color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-gradient-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:gradient-step-count">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-hatch-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-hatch-solid">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-image-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:repeat">
+ <choice>
+ <value>no-repeat</value>
+ <value>repeat</value>
+ <value>stretch</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-image-width">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-image-height">
+ <choice>
+ <ref name="length"/>
+ <ref name="percent"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-image-ref-point-x">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-image-ref-point-y">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:fill-image-ref-point">
+ <choice>
+ <value>top-left</value>
+ <value>top</value>
+ <value>top-right</value>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>bottom-left</value>
+ <value>bottom</value>
+ <value>bottom-right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:tile-repeat-offset">
+ <list>
+ <ref name="zeroToHundredPercent"/>
+ <choice>
+ <value>horizontal</value>
+ <value>vertical</value>
+ </choice>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:opacity">
+ <ref name="zeroToHundredPercent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:opacity-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:fill-rule">
+ <choice>
+ <value>nonzero</value>
+ <value>evenodd</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-graphic-properties-elements">
+ <interleave>
+ <optional>
+ <ref name="text-list-style"/>
+ </optional>
+ <ref name="style-background-image"/>
+ <ref name="style-columns"/>
+ </interleave>
+ </define>
+ <define name="common-vertical-pos-attlist">
+ <optional>
+ <attribute name="style:vertical-pos">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>from-top</value>
+ <value>below</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="svg:y">
+ <ref name="coordinate"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-vertical-rel-attlist">
+ <optional>
+ <attribute name="style:vertical-rel">
+ <choice>
+ <value>page</value>
+ <value>page-content</value>
+ <value>frame</value>
+ <value>frame-content</value>
+ <value>paragraph</value>
+ <value>paragraph-content</value>
+ <value>char</value>
+ <value>line</value>
+ <value>baseline</value>
+ <value>text</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common-editable-attlist">
+ <optional>
+ <attribute name="style:editable">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="horizontal-mirror">
+ <choice>
+ <value>horizontal</value>
+ <value>horizontal-on-odd</value>
+ <value>horizontal-on-even</value>
+ </choice>
+ </define>
+ <define name="clipShape">
+ <data type="string">
+ <param name="pattern">rect\([ ]*((-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)))|(auto))([ ]*,[ ]*((-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc))))|(auto)){3}[ ]*\)</param>
+ </data>
+ </define>
+ <define name="nonNegativePixelLength">
+ <data type="string">
+ <param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)(px)</param>
+ </data>
+ </define>
+ <define name="style-chart-properties">
+ <element name="style:chart-properties">
+ <ref name="style-chart-properties-content-strict"/>
+ </element>
+ </define>
+ <define name="style-chart-properties-content-strict">
+ <ref name="style-chart-properties-attlist"/>
+ <ref name="style-chart-properties-elements"/>
+ </define>
+ <define name="style-chart-properties-elements">
+ <empty/>
+ </define>
+ <define name="style-chart-properties-attlist">
+ <interleave>
+ <optional>
+ <attribute name="chart:scale-text">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:three-dimensional">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:deep">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:right-angled-axes">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <choice>
+ <attribute name="chart:symbol-type">
+ <value>none</value>
+ </attribute>
+ <attribute name="chart:symbol-type">
+ <value>automatic</value>
+ </attribute>
+ <group>
+ <attribute name="chart:symbol-type">
+ <value>named-symbol</value>
+ </attribute>
+ <attribute name="chart:symbol-name">
+ <choice>
+ <value>square</value>
+ <value>diamond</value>
+ <value>arrow-down</value>
+ <value>arrow-up</value>
+ <value>arrow-right</value>
+ <value>arrow-left</value>
+ <value>bow-tie</value>
+ <value>hourglass</value>
+ <value>circle</value>
+ <value>star</value>
+ <value>x</value>
+ <value>plus</value>
+ <value>asterisk</value>
+ <value>horizontal-bar</value>
+ <value>vertical-bar</value>
+ </choice>
+ </attribute>
+ </group>
+ <group>
+ <attribute name="chart:symbol-type">
+ <value>image</value>
+ </attribute>
+ <element name="chart:symbol-image">
+ <attribute name="xlink:href">
+ <ref name="anyIRI"/>
+ </attribute>
+ </element>
+ </group>
+ <empty/>
+ </choice>
+ <optional>
+ <attribute name="chart:symbol-width">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:symbol-height">
+ <ref name="nonNegativeLength"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:sort-by-x-values">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:vertical">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:connect-bars">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:gap-width">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:overlap">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:group-bars-per-axis">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:japanese-candle-stick">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:interpolation">
+ <choice>
+ <value>none</value>
+ <value>cubic-spline</value>
+ <value>b-spline</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:spline-order">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:spline-resolution">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:pie-offset">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:angle-offset">
+ <ref name="angle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:hole-size">
+ <ref name="percent"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:lines">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:solid-type">
+ <choice>
+ <value>cuboid</value>
+ <value>cylinder</value>
+ <value>cone</value>
+ <value>pyramid</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:stacked">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:percentage">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:treat-empty-cells">
+ <choice>
+ <value>use-zero</value>
+ <value>leave-gap</value>
+ <value>ignore</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:link-data-style-to-source">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:logarithmic">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:maximum">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:minimum">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:origin">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:interval-major">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:interval-minor-divisor">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:tick-marks-major-inner">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:tick-marks-major-outer">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:tick-marks-minor-inner">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:tick-marks-minor-outer">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:reverse-direction">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:display-label">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:text-overlap">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text:line-break">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:label-arrangement">
+ <choice>
+ <value>side-by-side</value>
+ <value>stagger-even</value>
+ <value>stagger-odd</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="common-style-direction-attlist"/>
+ <ref name="common-rotation-angle-attlist"/>
+ <optional>
+ <attribute name="chart:data-label-number">
+ <choice>
+ <value>none</value>
+ <value>value</value>
+ <value>percentage</value>
+ <value>value-and-percentage</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:data-label-text">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:data-label-symbol">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <element name="chart:label-separator">
+ <ref name="text-p"/>
+ </element>
+ </optional>
+ <optional>
+ <attribute name="chart:label-position">
+ <ref name="labelPositions"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:label-position-negative">
+ <ref name="labelPositions"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:visible">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:auto-position">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:auto-size">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:mean-value">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:error-category">
+ <choice>
+ <value>none</value>
+ <value>variance</value>
+ <value>standard-deviation</value>
+ <value>percentage</value>
+ <value>error-margin</value>
+ <value>constant</value>
+ <value>standard-error</value>
+ <value>cell-range</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:error-percentage">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:error-margin">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:error-lower-limit">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:error-upper-limit">
+ <ref name="double"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:error-upper-indicator">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:error-lower-indicator">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:error-lower-range">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:error-upper-range">
+ <ref name="cellRangeAddressList"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:series-source">
+ <choice>
+ <value>columns</value>
+ <value>rows</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:regression-type">
+ <choice>
+ <value>none</value>
+ <value>linear</value>
+ <value>logarithmic</value>
+ <value>exponential</value>
+ <value>power</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:axis-position">
+ <choice>
+ <value>start</value>
+ <value>end</value>
+ <ref name="double"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:axis-label-position">
+ <choice>
+ <value>near-axis</value>
+ <value>near-axis-other-side</value>
+ <value>outside-start</value>
+ <value>outside-end</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:tick-mark-position">
+ <choice>
+ <value>at-labels</value>
+ <value>at-axis</value>
+ <value>at-labels-and-axis</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="chart:include-hidden-cells">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="labelPositions">
+ <choice>
+ <value>avoid-overlap</value>
+ <value>center</value>
+ <value>top</value>
+ <value>top-right</value>
+ <value>right</value>
+ <value>bottom-right</value>
+ <value>bottom</value>
+ <value>bottom-left</value>
+ <value>left</value>
+ <value>top-left</value>
+ <value>inside</value>
+ <value>outside</value>
+ <value>near-origin</value>
+ </choice>
+ </define>
+ <define name="style-drawing-page-properties-attlist">
+ <interleave>
+ <optional>
+ <attribute name="presentation:transition-type">
+ <choice>
+ <value>manual</value>
+ <value>automatic</value>
+ <value>semi-automatic</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:transition-style">
+ <choice>
+ <value>none</value>
+ <value>fade-from-left</value>
+ <value>fade-from-top</value>
+ <value>fade-from-right</value>
+ <value>fade-from-bottom</value>
+ <value>fade-from-upperleft</value>
+ <value>fade-from-upperright</value>
+ <value>fade-from-lowerleft</value>
+ <value>fade-from-lowerright</value>
+ <value>move-from-left</value>
+ <value>move-from-top</value>
+ <value>move-from-right</value>
+ <value>move-from-bottom</value>
+ <value>move-from-upperleft</value>
+ <value>move-from-upperright</value>
+ <value>move-from-lowerleft</value>
+ <value>move-from-lowerright</value>
+ <value>uncover-to-left</value>
+ <value>uncover-to-top</value>
+ <value>uncover-to-right</value>
+ <value>uncover-to-bottom</value>
+ <value>uncover-to-upperleft</value>
+ <value>uncover-to-upperright</value>
+ <value>uncover-to-lowerleft</value>
+ <value>uncover-to-lowerright</value>
+ <value>fade-to-center</value>
+ <value>fade-from-center</value>
+ <value>vertical-stripes</value>
+ <value>horizontal-stripes</value>
+ <value>clockwise</value>
+ <value>counterclockwise</value>
+ <value>open-vertical</value>
+ <value>open-horizontal</value>
+ <value>close-vertical</value>
+ <value>close-horizontal</value>
+ <value>wavyline-from-left</value>
+ <value>wavyline-from-top</value>
+ <value>wavyline-from-right</value>
+ <value>wavyline-from-bottom</value>
+ <value>spiralin-left</value>
+ <value>spiralin-right</value>
+ <value>spiralout-left</value>
+ <value>spiralout-right</value>
+ <value>roll-from-top</value>
+ <value>roll-from-left</value>
+ <value>roll-from-right</value>
+ <value>roll-from-bottom</value>
+ <value>stretch-from-left</value>
+ <value>stretch-from-top</value>
+ <value>stretch-from-right</value>
+ <value>stretch-from-bottom</value>
+ <value>vertical-lines</value>
+ <value>horizontal-lines</value>
+ <value>dissolve</value>
+ <value>random</value>
+ <value>vertical-checkerboard</value>
+ <value>horizontal-checkerboard</value>
+ <value>interlocking-horizontal-left</value>
+ <value>interlocking-horizontal-right</value>
+ <value>interlocking-vertical-top</value>
+ <value>interlocking-vertical-bottom</value>
+ <value>fly-away</value>
+ <value>open</value>
+ <value>close</value>
+ <value>melt</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:transition-speed">
+ <ref name="presentationSpeeds"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:type">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:subtype">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:direction">
+ <choice>
+ <value>forward</value>
+ <value>reverse</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="smil:fadeColor">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:duration">
+ <ref name="duration"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:visibility">
+ <choice>
+ <value>visible</value>
+ <value>hidden</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="draw:background-size">
+ <choice>
+ <value>full</value>
+ <value>border</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:background-objects-visible">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:background-visible">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:display-header">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:display-footer">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:display-page-number">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="presentation:display-date-time">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="style-drawing-page-properties-elements">
+ <optional>
+ <ref name="presentation-sound"/>
+ </optional>
+ </define>
+ <define name="string">
+ <data type="string"/>
+ </define>
+ <define name="date">
+ <data type="date"/>
+ </define>
+ <define name="time">
+ <data type="time"/>
+ </define>
+ <define name="dateTime">
+ <data type="dateTime"/>
+ </define>
+ <define name="duration">
+ <data type="duration"/>
+ </define>
+ <define name="integer">
+ <data type="integer"/>
+ </define>
+ <define name="nonNegativeInteger">
+ <data type="nonNegativeInteger"/>
+ </define>
+ <define name="positiveInteger">
+ <data type="positiveInteger"/>
+ </define>
+ <define name="double">
+ <data type="double"/>
+ </define>
+ <define name="anyURI">
+ <data type="anyURI"/>
+ </define>
+ <define name="base64Binary">
+ <data type="base64Binary"/>
+ </define>
+ <define name="ID">
+ <data type="ID"/>
+ </define>
+ <define name="IDREF">
+ <data type="IDREF"/>
+ </define>
+ <define name="IDREFS">
+ <data type="IDREFS"/>
+ </define>
+ <define name="NCName">
+ <data type="NCName"/>
+ </define>
+ <define name="boolean">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </define>
+ <define name="dateOrDateTime">
+ <choice>
+ <data type="date"/>
+ <data type="dateTime"/>
+ </choice>
+ </define>
+ <define name="timeOrDateTime">
+ <choice>
+ <data type="time"/>
+ <data type="dateTime"/>
+ </choice>
+ </define>
+ <define name="language">
+ <data type="language"/>
+ </define>
+ <define name="countryCode">
+ <data type="token">
+ <param name="pattern">[A-Za-z0-9]{1,8}</param>
+ </data>
+ </define>
+ <define name="languageCode">
+ <data type="token">
+ <param name="pattern">[A-Za-z]{1,8}</param>
+ </data>
+ </define>
+ <define name="scriptCode">
+ <data type="token">
+ <param name="pattern">[A-Za-z0-9]{1,8}</param>
+ </data>
+ </define>
+ <define name="character">
+ <data type="string">
+ <param name="length">1</param>
+ </data>
+ </define>
+ <define name="length">
+ <data type="string">
+ <param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
+ </data>
+ </define>
+ <define name="nonNegativeLength">
+ <data type="string">
+ <param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
+ </data>
+ </define>
+ <define name="positiveLength">
+ <data type="string">
+ <param name="pattern">([0-9]*[1-9][0-9]*(\.[0-9]*)?|0+\.[0-9]*[1-9][0-9]*|\.[0-9]*[1-9][0-9]*)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
+ </data>
+ </define>
+ <define name="percent">
+ <data type="string">
+ <param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)%</param>
+ </data>
+ </define>
+ <define name="zeroToHundredPercent">
+ <data type="string">
+ <param name="pattern">([0-9]?[0-9](\.[0-9]*)?|100(\.0*)?|\.[0-9]+)%</param>
+ </data>
+ </define>
+ <define name="signedZeroToHundredPercent">
+ <data type="string">
+ <param name="pattern">-?([0-9]?[0-9](\.[0-9]*)?|100(\.0*)?|\.[0-9]+)%</param>
+ </data>
+ </define>
+ <define name="relativeLength">
+ <data type="string">
+ <param name="pattern">[0-9]+\*</param>
+ </data>
+ </define>
+ <define name="coordinate">
+ <ref name="length"/>
+ </define>
+ <define name="distance">
+ <ref name="length"/>
+ </define>
+ <define name="color">
+ <data type="string">
+ <param name="pattern">#[0-9a-fA-F]{6}</param>
+ </data>
+ </define>
+ <define name="angle">
+ <data type="string"/>
+ </define>
+ <define name="CURIE">
+ <data type="string">
+ <param name="pattern">(([\i-[:]][\c-[:]]*)?:)?.+</param>
+ <param name="minLength">1</param>
+ </data>
+ </define>
+ <define name="CURIEs">
+ <list>
+ <oneOrMore>
+ <ref name="CURIE"/>
+ </oneOrMore>
+ </list>
+ </define>
+ <define name="SafeCURIE">
+ <data type="string">
+ <param name="pattern">\[(([\i-[:]][\c-[:]]*)?:)?.+\]</param>
+ <param name="minLength">3</param>
+ </data>
+ </define>
+ <define name="URIorSafeCURIE">
+ <choice>
+ <ref name="anyURI"/>
+ <ref name="SafeCURIE"/>
+ </choice>
+ </define>
+ <define name="styleName">
+ <data type="NCName"/>
+ </define>
+ <define name="styleNameRef">
+ <choice>
+ <data type="NCName"/>
+ <empty/>
+ </choice>
+ </define>
+ <define name="styleNameRefs">
+ <list>
+ <zeroOrMore>
+ <data type="NCName"/>
+ </zeroOrMore>
+ </list>
+ </define>
+ <define name="variableName">
+ <data type="string"/>
+ </define>
+ <define name="targetFrameName">
+ <choice>
+ <value>_self</value>
+ <value>_blank</value>
+ <value>_parent</value>
+ <value>_top</value>
+ <ref name="string"/>
+ </choice>
+ </define>
+ <define name="valueType">
+ <choice>
+ <value>float</value>
+ <value>time</value>
+ <value>date</value>
+ <value>percentage</value>
+ <value>currency</value>
+ <value>boolean</value>
+ <value>string</value>
+ </choice>
+ </define>
+ <define name="points">
+ <data type="string">
+ <param name="pattern">-?[0-9]+,-?[0-9]+([ ]+-?[0-9]+,-?[0-9]+)*</param>
+ </data>
+ </define>
+ <define name="pathData">
+ <data type="string"/>
+ </define>
+ <define name="vector3D">
+ <data type="string">
+ <param name="pattern">\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)([ ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)){2}[ ]*\)</param>
+ </data>
+ </define>
+ <define name="namespacedToken">
+ <data type="QName">
+ <param name="pattern">[^:]+:[^:]+</param>
+ </data>
+ </define>
+ <define name="anyIRI">
+ <data type="anyURI"/>
+ <dc:description>An IRI-reference as defined in [RFC3987]. See ODF 1.2 Part 1 section 18.3.</dc:description>
+ </define>
+ <define name="anyAttListOrElements">
+ <zeroOrMore>
+ <attribute>
+ <anyName/>
+ <text/>
+ </attribute>
+ </zeroOrMore>
+ <ref name="anyElements"/>
+ </define>
+ <define name="anyElements">
+ <zeroOrMore>
+ <element>
+ <anyName/>
+ <mixed>
+ <ref name="anyAttListOrElements"/>
+ </mixed>
+ </element>
+ </zeroOrMore>
+ </define>
+</grammar>
diff --git a/schema/odf1.3/OpenDocument-dsig-schema-v1.3.rng b/schema/odf1.3/OpenDocument-dsig-schema-v1.3.rng
new file mode 100644
index 000000000000..2694b58dda83
--- /dev/null
+++ b/schema/odf1.3/OpenDocument-dsig-schema-v1.3.rng
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Open Document Format for Office Applications (OpenDocument) Version 1.3
+ OASIS Standard, in progress
+ Digital Signatures Relax-NG Schema
+ Source: https://tools.oasis-open.org/version-control/svn/office/
+ Copyright (c) OASIS Open 2002-2011. All Rights Reserved.
+
+ All capitalized terms in the following text have the meanings assigned to them
+ in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The
+ full Policy may be found at the OASIS website.
+
+ This document and translations of it may be copied and furnished to others, and
+ derivative works that comment on or otherwise explain it or assist in its
+ implementation may be prepared, copied, published, and distributed, in whole or
+ in part, without restriction of any kind, provided that the above copyright
+ notice and this section are included on all such copies and derivative works.
+ However, this document itself may not be modified in any way, including by
+ removing the copyright notice or references to OASIS, except as needed for the
+ purpose of developing any document or deliverable produced by an OASIS
+ Technical Committee (in which case the rules applicable to copyrights, as set
+ forth in the OASIS IPR Policy, must be followed) or as required to translate it
+ into languages other than English.
+
+ The limited permissions granted above are perpetual and will not be revoked by
+ OASIS or its successors or assigns.
+
+ This document and the information contained herein is provided on an "AS IS"
+ basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+ LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
+ INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
+ FITNESS FOR A PARTICULAR PURPOSE.
+-->
+<rng:grammar xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsig="urn:oasis:names:tc:opendocument:xmlns:digitalsignature:1.0" xmlns:rng="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <rng:start>
+ <rng:choice>
+ <rng:ref name="dsig-document-signatures"/>
+ </rng:choice>
+ </rng:start>
+ <rng:define name="ds-signature">
+ <rng:element name="ds:Signature">
+ <!-- The permitted content of this element is the permitted -->
+ <!-- content of the Signature element defined by W3C XML -->
+ <!-- Signature Syntax and Processing (Second Edition). -->
+ <!-- See OpenDocument v1.3 part 2, section 5.3. -->
+ <!-- resolved by https://issues.oasis-open.org/browse/OFFICE-3874 -->
+ <rng:ref name="dsMarkup"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="dsMarkup">
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:attribute>
+ <rng:anyName/>
+ </rng:attribute>
+ <rng:text/>
+ <rng:element>
+ <rng:anyName/>
+ <rng:ref name="dsMarkup"/>
+ </rng:element>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:define>
+ <rng:define name="dsig-document-signatures">
+ <rng:element name="dsig:document-signatures">
+ <rng:ref name="dsig-document-signatures-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="ds-signature"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="dsig-document-signatures-attlist">
+ <rng:attribute name="dsig:version">
+ <rng:value>1.3</rng:value>
+ </rng:attribute>
+ </rng:define>
+</rng:grammar>
diff --git a/schema/odf1.3/OpenDocument-manifest-schema-v1.3.rng b/schema/odf1.3/OpenDocument-manifest-schema-v1.3.rng
new file mode 100644
index 000000000000..f485ffbd019c
--- /dev/null
+++ b/schema/odf1.3/OpenDocument-manifest-schema-v1.3.rng
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Open Document Format for Office Applications (OpenDocument) Version 1.3
+ OASIS Standard in progress
+ Manifest Relax-NG Schema
+ Source: https://tools.oasis-open.org/version-control/svn/office/
+ Copyright (c) OASIS Open 2002-2011. All Rights Reserved.
+
+ All capitalized terms in the following text have the meanings assigned to them
+ in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The
+ full Policy may be found at the OASIS website.
+
+ This document and translations of it may be copied and furnished to others, and
+ derivative works that comment on or otherwise explain it or assist in its
+ implementation may be prepared, copied, published, and distributed, in whole or
+ in part, without restriction of any kind, provided that the above copyright
+ notice and this section are included on all such copies and derivative works.
+ However, this document itself may not be modified in any way, including by
+ removing the copyright notice or references to OASIS, except as needed for the
+ purpose of developing any document or deliverable produced by an OASIS
+ Technical Committee (in which case the rules applicable to copyrights, as set
+ forth in the OASIS IPR Policy, must be followed) or as required to translate it
+ into languages other than English.
+
+ The limited permissions granted above are perpetual and will not be revoked by
+ OASIS or its successors or assigns.
+
+ This document and the information contained herein is provided on an "AS IS"
+ basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+ LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
+ INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
+ FITNESS FOR A PARTICULAR PURPOSE.
+-->
+<rng:grammar xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0" xmlns:rng="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <rng:start>
+ <rng:choice>
+ <rng:ref name="manifest"/>
+ </rng:choice>
+ </rng:start>
+ <rng:define name="algorithm">
+ <rng:element name="manifest:algorithm">
+ <rng:ref name="algorithm-attlist"/>
+ <rng:ref name="anyElements"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="algorithm-attlist">
+ <rng:interleave>
+ <rng:attribute name="manifest:algorithm-name">
+ <rng:choice>
+ <rng:value>Blowfish CFB</rng:value>
+ <rng:ref name="anyURI"/>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="manifest:initialisation-vector">
+ <rng:ref name="base64Binary"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="anyAttListOrElements">
+ <rng:zeroOrMore>
+ <rng:attribute>
+ <rng:anyName/>
+ <rng:text/>
+ </rng:attribute>
+ </rng:zeroOrMore>
+ <rng:ref name="anyElements"/>
+ </rng:define>
+ <rng:define name="anyElements">
+ <rng:zeroOrMore>
+ <rng:element>
+ <rng:anyName/>
+ <rng:mixed>
+ <rng:ref name="anyAttListOrElements"/>
+ </rng:mixed>
+ </rng:element>
+ </rng:zeroOrMore>
+ </rng:define>
+ <rng:define name="anyURI">
+ <rng:data type="anyURI"/>
+ </rng:define>
+ <rng:define name="base64Binary">
+ <rng:data type="base64Binary"/>
+ </rng:define>
+ <rng:define name="encryption-data">
+ <rng:element name="manifest:encryption-data">
+ <rng:ref name="encryption-data-attlist"/>
+ <rng:ref name="algorithm"/>
+ <rng:optional>
+ <rng:ref name="start-key-generation"/>
+ </rng:optional>
+ <rng:ref name="key-derivation"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="encryption-data-attlist">
+ <rng:interleave>
+ <rng:attribute name="manifest:checksum-type">
+ <rng:choice>
+ <rng:value>SHA1/1K</rng:value>
+ <rng:ref name="anyURI"/>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="manifest:checksum">
+ <rng:ref name="base64Binary"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="file-entry">
+ <rng:element name="manifest:file-entry">
+ <rng:ref name="file-entry-attlist"/>
+ <rng:optional>
+ <rng:ref name="encryption-data"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="file-entry-attlist">
+ <rng:interleave>
+ <rng:attribute name="manifest:full-path">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="manifest:size">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="manifest:media-type">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="manifest:preferred-view-mode">
+ <rng:choice>
+ <rng:value>edit</rng:value>
+ <rng:value>presentation-slide-show</rng:value>
+ <rng:value>read-only</rng:value>
+ <rng:ref name="namespacedToken"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="manifest:version">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="key-derivation">
+ <rng:element name="manifest:key-derivation">
+ <rng:ref name="key-derivation-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="key-derivation-attlist">
+ <rng:interleave>
+ <rng:attribute name="manifest:key-derivation-name">
+ <rng:choice>
+ <rng:value>PBKDF2</rng:value>
+ <rng:ref name="anyURI"/>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="manifest:salt">
+ <rng:ref name="base64Binary"/>
+ </rng:attribute>
+ <rng:attribute name="manifest:iteration-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="manifest:key-size">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="manifest">
+ <rng:element name="manifest:manifest">
+ <rng:ref name="manifest-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="file-entry"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="manifest-attlist">
+ <rng:attribute name="manifest:version">
+ <rng:value>1.3</rng:value>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="namespacedToken">
+ <rng:data type="QName">
+ <rng:param name="pattern">[^:]+:[^:]+</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="nonNegativeInteger">
+ <rng:data type="nonNegativeInteger"/>
+ </rng:define>
+ <rng:define name="start-key-generation">
+ <rng:element name="manifest:start-key-generation">
+ <rng:ref name="start-key-generation-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="start-key-generation-attlist">
+ <rng:interleave>
+ <rng:attribute name="manifest:start-key-generation-name">
+ <rng:choice>
+ <rng:value>SHA1</rng:value>
+ <rng:ref name="anyURI"/>
+ </rng:choice>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="manifest:key-size">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="string">
+ <rng:data type="string"/>
+ </rng:define>
+</rng:grammar>
diff --git a/schema/odf1.3/OpenDocument-schema-v1.3.rng b/schema/odf1.3/OpenDocument-schema-v1.3.rng
new file mode 100644
index 000000000000..76e6184886c7
--- /dev/null
+++ b/schema/odf1.3/OpenDocument-schema-v1.3.rng
@@ -0,0 +1,18079 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Open Document Format for Office Applications (OpenDocument) Version 1.3
+ OASIS Standard, In progress
+ Relax-NG Schema
+ Source: https://tools.oasis-open.org/version-control/svn/office/
+ Copyright (c) OASIS Open 2002-2015. All Rights Reserved.
+
+ All capitalized terms in the following text have the meanings assigned to them
+ in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The
+ full Policy may be found at the OASIS website.
+
+ This document and translations of it may be copied and furnished to others, and
+ derivative works that comment on or otherwise explain it or assist in its
+ implementation may be prepared, copied, published, and distributed, in whole or
+ in part, without restriction of any kind, provided that the above copyright
+ notice and this section are included on all such copies and derivative works.
+ However, this document itself may not be modified in any way, including by
+ removing the copyright notice or references to OASIS, except as needed for the
+ purpose of developing any document or deliverable produced by an OASIS
+ Technical Committee (in which case the rules applicable to copyrights, as set
+ forth in the OASIS IPR Policy, must be followed) or as required to translate it
+ into languages other than English.
+
+ The limited permissions granted above are perpetual and will not be revoked by
+ OASIS or its successors or assigns.
+
+ This document and the information contained herein is provided on an "AS IS"
+ basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+ LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
+ INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
+ FITNESS FOR A PARTICULAR PURPOSE.
+-->
+<rng:grammar xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:db="urn:oasis:names:tc:opendocument:xmlns:database:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <rng:start>
+ <rng:choice>
+ <rng:ref name="office-document"/>
+ <rng:ref name="office-document-content"/>
+ <rng:ref name="office-document-styles"/>
+ <rng:ref name="office-document-meta"/>
+ <rng:ref name="office-document-settings"/>
+ </rng:choice>
+ </rng:start>
+ <rng:define name="CURIE">
+ <rng:data type="string">
+ <rng:param name="pattern">(([\i-[:]][\c-[:]]*)?:)?.+</rng:param>
+ <rng:param name="minLength">1</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="CURIEs">
+ <rng:list>
+ <rng:oneOrMore>
+ <rng:ref name="CURIE"/>
+ </rng:oneOrMore>
+ </rng:list>
+ </rng:define>
+ <rng:define name="ID">
+ <rng:data type="ID"/>
+ </rng:define>
+ <rng:define name="IDREF">
+ <rng:data type="IDREF"/>
+ </rng:define>
+ <rng:define name="IDREFS">
+ <rng:data type="IDREFS"/>
+ </rng:define>
+ <rng:define name="NCName">
+ <rng:data type="NCName"/>
+ </rng:define>
+ <rng:define name="SafeCURIE">
+ <rng:data type="string">
+ <rng:param name="pattern">\[(([\i-[:]][\c-[:]]*)?:)?.+\]</rng:param>
+ <rng:param name="minLength">3</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="URIorSafeCURIE">
+ <rng:choice>
+ <rng:ref name="anyURI"/>
+ <rng:ref name="SafeCURIE"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="angle">
+ <rng:data type="string"/>
+ </rng:define>
+ <rng:define name="anim-animate-color-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="anim:color-interpolation">
+ <rng:choice>
+ <rng:value>rgb</rng:value>
+ <rng:value>hsl</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="anim:color-interpolation-direction">
+ <rng:choice>
+ <rng:value>clockwise</rng:value>
+ <rng:value>counter-clockwise</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="anim-animate-motion-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="svg:path">
+ <rng:ref name="pathData"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:origin">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:calcMode">
+ <rng:choice>
+ <rng:value>discrete</rng:value>
+ <rng:value>linear</rng:value>
+ <rng:value>paced</rng:value>
+ <rng:value>spline</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="anim-animate-transform-attlist">
+ <rng:attribute name="svg:type">
+ <rng:choice>
+ <rng:value>translate</rng:value>
+ <rng:value>scale</rng:value>
+ <rng:value>rotate</rng:value>
+ <rng:value>skewX</rng:value>
+ <rng:value>skewY</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="anim-audio-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="anim:audio-level">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="anim-command-attlist">
+ <rng:attribute name="anim:command">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="anim-iterate-attlist">
+ <rng:interleave>
+ <rng:ref name="common-anim-target-attlist"/>
+ <rng:optional>
+ <rng:attribute name="anim:iterate-type">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="anim:iterate-interval">
+ <rng:ref name="duration"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="anim-transition-filter-attlist">
+ <rng:interleave>
+ <rng:attribute name="smil:type">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="smil:subtype">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:direction">
+ <rng:choice>
+ <rng:value>forward</rng:value>
+ <rng:value>reverse</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:fadeColor">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:mode">
+ <rng:choice>
+ <rng:value>in</rng:value>
+ <rng:value>out</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="animation-element">
+ <rng:choice>
+ <rng:element name="anim:animate">
+ <rng:ref name="common-anim-target-attlist"/>
+ <rng:ref name="common-anim-named-target-attlist"/>
+ <rng:ref name="common-anim-values-attlist"/>
+ <rng:ref name="common-anim-spline-mode-attlist"/>
+ <rng:ref name="common-spline-anim-value-attlist"/>
+ <rng:ref name="common-timing-attlist"/>
+ <rng:ref name="common-anim-add-accum-attlist"/>
+ </rng:element>
+ <rng:element name="anim:set">
+ <rng:ref name="common-anim-target-attlist"/>
+ <rng:ref name="common-anim-named-target-attlist"/>
+ <rng:ref name="common-anim-set-values-attlist"/>
+ <rng:ref name="common-timing-attlist"/>
+ <rng:ref name="common-anim-add-accum-attlist"/>
+ </rng:element>
+ <rng:element name="anim:animateMotion">
+ <rng:ref name="anim-animate-motion-attlist"/>
+ <rng:ref name="common-anim-target-attlist"/>
+ <rng:ref name="common-anim-named-target-attlist"/>
+ <rng:ref name="common-anim-add-accum-attlist"/>
+ <rng:ref name="common-anim-values-attlist"/>
+ <rng:ref name="common-timing-attlist"/>
+ <rng:ref name="common-spline-anim-value-attlist"/>
+ </rng:element>
+ <rng:element name="anim:animateColor">
+ <rng:ref name="common-anim-target-attlist"/>
+ <rng:ref name="common-anim-named-target-attlist"/>
+ <rng:ref name="common-anim-add-accum-attlist"/>
+ <rng:ref name="common-anim-values-attlist"/>
+ <rng:ref name="common-anim-spline-mode-attlist"/>
+ <rng:ref name="common-spline-anim-value-attlist"/>
+ <rng:ref name="anim-animate-color-attlist"/>
+ <rng:ref name="common-timing-attlist"/>
+ </rng:element>
+ <rng:element name="anim:animateTransform">
+ <rng:ref name="common-anim-target-attlist"/>
+ <rng:ref name="common-anim-named-target-attlist"/>
+ <rng:ref name="common-anim-add-accum-attlist"/>
+ <rng:ref name="common-anim-values-attlist"/>
+ <rng:ref name="anim-animate-transform-attlist"/>
+ <rng:ref name="common-timing-attlist"/>
+ </rng:element>
+ <rng:element name="anim:transitionFilter">
+ <rng:ref name="common-anim-target-attlist"/>
+ <rng:ref name="common-anim-add-accum-attlist"/>
+ <rng:ref name="common-anim-values-attlist"/>
+ <rng:ref name="common-anim-spline-mode-attlist"/>
+ <rng:ref name="anim-transition-filter-attlist"/>
+ <rng:ref name="common-timing-attlist"/>
+ </rng:element>
+ <rng:element name="anim:par">
+ <rng:ref name="common-anim-attlist"/>
+ <rng:ref name="common-timing-attlist"/>
+ <rng:ref name="common-endsync-timing-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="animation-element"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ <rng:element name="anim:seq">
+ <rng:ref name="common-anim-attlist"/>
+ <rng:ref name="common-endsync-timing-attlist"/>
+ <rng:ref name="common-timing-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="animation-element"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ <rng:element name="anim:iterate">
+ <rng:ref name="common-anim-attlist"/>
+ <rng:ref name="anim-iterate-attlist"/>
+ <rng:ref name="common-timing-attlist"/>
+ <rng:ref name="common-endsync-timing-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="animation-element"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ <rng:element name="anim:audio">
+ <rng:ref name="common-anim-attlist"/>
+ <rng:ref name="anim-audio-attlist"/>
+ <rng:ref name="common-basic-timing-attlist"/>
+ </rng:element>
+ <rng:element name="anim:command">
+ <rng:ref name="common-anim-attlist"/>
+ <rng:ref name="anim-command-attlist"/>
+ <rng:ref name="common-begin-end-timing-attlist"/>
+ <rng:ref name="common-anim-target-attlist"/>
+ <rng:zeroOrMore>
+ <rng:element name="anim:param">
+ <rng:attribute name="anim:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="anim:value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:element>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="any-date">
+ <rng:choice>
+ <rng:ref name="number-day"/>
+ <rng:ref name="number-month"/>
+ <rng:ref name="number-year"/>
+ <rng:ref name="number-era"/>
+ <rng:ref name="number-day-of-week"/>
+ <rng:ref name="number-week-of-year"/>
+ <rng:ref name="number-quarter"/>
+ <rng:ref name="number-hours"/>
+ <rng:ref name="number-am-pm"/>
+ <rng:ref name="number-minutes"/>
+ <rng:ref name="number-seconds"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="any-number">
+ <rng:choice>
+ <rng:ref name="number-number"/>
+ <rng:ref name="number-scientific-number"/>
+ <rng:ref name="number-fraction"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="any-time">
+ <rng:choice>
+ <rng:ref name="number-hours"/>
+ <rng:ref name="number-am-pm"/>
+ <rng:ref name="number-minutes"/>
+ <rng:ref name="number-seconds"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="anyAttListOrElements">
+ <rng:zeroOrMore>
+ <rng:attribute>
+ <rng:anyName/>
+ <rng:text/>
+ </rng:attribute>
+ </rng:zeroOrMore>
+ <rng:ref name="anyElements"/>
+ </rng:define>
+ <rng:define name="anyElements">
+ <rng:zeroOrMore>
+ <rng:element>
+ <rng:anyName/>
+ <rng:mixed>
+ <rng:ref name="anyAttListOrElements"/>
+ </rng:mixed>
+ </rng:element>
+ </rng:zeroOrMore>
+ </rng:define>
+ <rng:define name="anyIRI">
+ <rng:data type="anyURI"/>
+ <dc:description>An IRI-reference as defined in [RFC3987]. See ODF 1.3 Part 3 section 18.3.</dc:description>
+ </rng:define>
+ <rng:define name="anyURI">
+ <rng:data type="anyURI"/>
+ </rng:define>
+ <rng:define name="base64Binary">
+ <rng:data type="base64Binary"/>
+ </rng:define>
+ <rng:define name="boolean">
+ <rng:choice>
+ <rng:value>true</rng:value>
+ <rng:value>false</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="borderWidths">
+ <rng:list>
+ <rng:ref name="positiveLength"/>
+ <rng:ref name="positiveLength"/>
+ <rng:ref name="positiveLength"/>
+ </rng:list>
+ </rng:define>
+ <rng:define name="bound-column">
+ <rng:optional>
+ <rng:attribute name="form:bound-column">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="button-type">
+ <rng:optional>
+ <rng:attribute name="form:button-type">
+ <rng:ref name="types"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="cellAddress">
+ <rng:data type="string">
+ <rng:param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="cellRangeAddress">
+ <rng:choice>
+ <rng:data type="string">
+ <rng:param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+(:($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+)?</rng:param>
+ </rng:data>
+ <rng:data type="string">
+ <rng:param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[0-9]+:($?([^\. ']+|'([^']|'')+'))?\.$?[0-9]+</rng:param>
+ </rng:data>
+ <rng:data type="string">
+ <rng:param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+:($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+</rng:param>
+ </rng:data>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="cellRangeAddressList">
+ <rng:data type="string"/>
+ <dc:description>Value is a space separated list of "cellRangeAddress" patterns</dc:description>
+ </rng:define>
+ <rng:define name="change-mark-attr">
+ <rng:attribute name="text:change-id">
+ <rng:ref name="IDREF"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="change-marks">
+ <rng:choice>
+ <rng:element name="text:change">
+ <rng:ref name="change-mark-attr"/>
+ </rng:element>
+ <rng:element name="text:change-start">
+ <rng:ref name="change-mark-attr"/>
+ </rng:element>
+ <rng:element name="text:change-end">
+ <rng:ref name="change-mark-attr"/>
+ </rng:element>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="character">
+ <rng:data type="string">
+ <rng:param name="length">1</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="chart-axis">
+ <rng:element name="chart:axis">
+ <rng:ref name="chart-axis-attlist"/>
+ <rng:optional>
+ <rng:ref name="chart-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="chart-categories"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="chart-grid"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-axis-attlist">
+ <rng:interleave>
+ <rng:attribute name="chart:dimension">
+ <rng:ref name="chart-dimension"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="chart:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="chart-categories">
+ <rng:element name="chart:categories">
+ <rng:optional>
+ <rng:attribute name="table:cell-range-address">
+ <rng:ref name="cellRangeAddressList"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-chart">
+ <rng:element name="chart:chart">
+ <rng:ref name="chart-chart-attlist"/>
+ <rng:optional>
+ <rng:ref name="chart-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="chart-subtitle"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="chart-footer"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="chart-legend"/>
+ </rng:optional>
+ <rng:ref name="chart-plot-area"/>
+ <rng:optional>
+ <rng:ref name="table-table"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-chart-attlist">
+ <rng:interleave>
+ <rng:attribute name="chart:class">
+ <rng:ref name="namespacedToken"/>
+ </rng:attribute>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:optional>
+ <rng:attribute name="chart:column-mapping">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:row-mapping">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:group>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ </rng:group>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="chart-data-label">
+ <rng:element name="chart:data-label">
+ <rng:ref name="chart-data-label-attlist"/>
+ <rng:optional>
+ <rng:ref name="text-p"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-data-label-attlist">
+ <rng:interleave>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="chart-data-point">
+ <rng:element name="chart:data-point">
+ <rng:ref name="chart-data-point-attlist"/>
+ <rng:optional>
+ <rng:ref name="chart-data-label"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-data-point-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="chart:repeated">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="chart-dimension">
+ <rng:choice>
+ <rng:value>x</rng:value>
+ <rng:value>y</rng:value>
+ <rng:value>z</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="chart-domain">
+ <rng:element name="chart:domain">
+ <rng:optional>
+ <rng:attribute name="table:cell-range-address">
+ <rng:ref name="cellRangeAddressList"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-equation">
+ <rng:element name="chart:equation">
+ <rng:ref name="chart-equation-attlist"/>
+ <rng:optional>
+ <rng:ref name="text-p"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-equation-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="chart:automatic-content">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:display-r-square">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:display-equation">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="chart-error-indicator">
+ <rng:element name="chart:error-indicator">
+ <rng:ref name="chart-error-indicator-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-error-indicator-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="chart:dimension">
+ <rng:ref name="chart-dimension"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="chart-floor">
+ <rng:element name="chart:floor">
+ <rng:ref name="chart-floor-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-floor-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="svg:width">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="chart-footer">
+ <rng:element name="chart:footer">
+ <rng:ref name="chart-title-attlist"/>
+ <rng:optional>
+ <rng:ref name="text-p"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-grid">
+ <rng:element name="chart:grid">
+ <rng:ref name="chart-grid-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-grid-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="chart:class">
+ <rng:choice>
+ <rng:value>major</rng:value>
+ <rng:value>minor</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="chart-legend">
+ <rng:element name="chart:legend">
+ <rng:ref name="chart-legend-attlist"/>
+ <rng:optional>
+ <rng:ref name="text-p"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-legend-attlist">
+ <rng:interleave>
+ <rng:choice>
+ <rng:group>
+ <rng:attribute name="chart:legend-position">
+ <rng:choice>
+ <rng:value>start</rng:value>
+ <rng:value>end</rng:value>
+ <rng:value>top</rng:value>
+ <rng:value>bottom</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="chart:legend-align">
+ <rng:choice>
+ <rng:value>start</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>end</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ <rng:attribute name="chart:legend-position">
+ <rng:choice>
+ <rng:value>top-start</rng:value>
+ <rng:value>bottom-start</rng:value>
+ <rng:value>top-end</rng:value>
+ <rng:value>bottom-end</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:empty/>
+ </rng:choice>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:choice>
+ <rng:attribute name="style:legend-expansion">
+ <rng:choice>
+ <rng:value>wide</rng:value>
+ <rng:value>high</rng:value>
+ <rng:value>balanced</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:group>
+ <rng:attribute name="style:legend-expansion">
+ <rng:value>custom</rng:value>
+ </rng:attribute>
+ <rng:attribute name="style:legend-expansion-aspect-ratio">
+ <rng:ref name="double"/>
+ <ref name="common-draw-size-attlist"/>
+ </rng:attribute>
+ </rng:group>
+ <rng:empty/>
+ </rng:choice>
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="chart-mean-value">
+ <rng:element name="chart:mean-value">
+ <rng:ref name="chart-mean-value-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-mean-value-attlist">
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="chart-plot-area">
+ <rng:element name="chart:plot-area">
+ <rng:ref name="chart-plot-area-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="dr3d-light"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="chart-axis"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="chart-series"/>
+ </rng:zeroOrMore>
+ <rng:optional>
+ <rng:ref name="chart-stock-gain-marker"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="chart-stock-loss-marker"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="chart-stock-range-line"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="chart-wall"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="chart-floor"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-plot-area-attlist">
+ <rng:interleave>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:cell-range-address">
+ <rng:ref name="cellRangeAddressList"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:data-source-has-labels">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>row</rng:value>
+ <rng:value>column</rng:value>
+ <rng:value>both</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="dr3d-scene-attlist"/>
+ <rng:ref name="common-dr3d-transform-attlist"/>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="chart-regression-curve">
+ <rng:element name="chart:regression-curve">
+ <rng:ref name="chart-regression-curve-attlist"/>
+ <rng:optional>
+ <rng:ref name="chart-equation"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-regression-curve-attlist">
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="chart-series">
+ <rng:element name="chart:series">
+ <rng:ref name="chart-series-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="chart-domain"/>
+ </rng:zeroOrMore>
+ <rng:optional>
+ <rng:ref name="chart-mean-value"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="chart-regression-curve"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="chart-error-indicator"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="chart-data-point"/>
+ </rng:zeroOrMore>
+ <rng:optional>
+ <rng:ref name="chart-data-label"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-series-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="chart:values-cell-range-address">
+ <rng:ref name="cellRangeAddressList"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:label-cell-address">
+ <rng:ref name="cellRangeAddressList"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:class">
+ <rng:ref name="namespacedToken"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:attached-axis">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="chart-stock-gain-marker">
+ <rng:element name="chart:stock-gain-marker">
+ <rng:ref name="common-stock-marker-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-stock-loss-marker">
+ <rng:element name="chart:stock-loss-marker">
+ <rng:ref name="common-stock-marker-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-stock-range-line">
+ <rng:element name="chart:stock-range-line">
+ <rng:ref name="common-stock-marker-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-subtitle">
+ <rng:element name="chart:subtitle">
+ <rng:ref name="chart-title-attlist"/>
+ <rng:optional>
+ <rng:ref name="text-p"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-title">
+ <rng:element name="chart:title">
+ <rng:ref name="chart-title-attlist"/>
+ <rng:optional>
+ <rng:ref name="text-p"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-title-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:cell-range">
+ <rng:ref name="cellRangeAddressList"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="chart-wall">
+ <rng:element name="chart:wall">
+ <rng:ref name="chart-wall-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="chart-wall-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="svg:width">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="clipShape">
+ <rng:data type="string">
+ <rng:param name="pattern">rect\([ ]*((-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)))|(auto))([ ]*,[ ]*((-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc))))|(auto)){3}[ ]*\)</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="color">
+ <rng:data type="string">
+ <rng:param name="pattern">#[0-9a-fA-F]{6}</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="column-controls">
+ <rng:choice>
+ <rng:element name="form:text">
+ <rng:ref name="form-text-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ </rng:element>
+ <rng:element name="form:textarea">
+ <rng:ref name="form-textarea-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ <rng:zeroOrMore>
+ <rng:ref name="text-p"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ <rng:element name="form:formatted-text">
+ <rng:ref name="form-formatted-text-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ </rng:element>
+ <rng:element name="form:number">
+ <rng:ref name="form-number-attlist"/>
+ <rng:ref name="common-numeric-control-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ <rng:ref name="common-linked-cell"/>
+ <rng:ref name="common-spin-button"/>
+ <rng:ref name="common-repeat"/>
+ <rng:ref name="common-delay-for-repeat"/>
+ </rng:element>
+ <rng:element name="form:date">
+ <rng:ref name="form-date-attlist"/>
+ <rng:ref name="common-numeric-control-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ <rng:ref name="common-linked-cell"/>
+ <rng:ref name="common-spin-button"/>
+ <rng:ref name="common-repeat"/>
+ <rng:ref name="common-delay-for-repeat"/>
+ </rng:element>
+ <rng:element name="form:time">
+ <rng:ref name="form-time-attlist"/>
+ <rng:ref name="common-numeric-control-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ <rng:ref name="common-linked-cell"/>
+ <rng:ref name="common-spin-button"/>
+ <rng:ref name="common-repeat"/>
+ <rng:ref name="common-delay-for-repeat"/>
+ </rng:element>
+ <rng:element name="form:combobox">
+ <rng:ref name="form-combobox-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ <rng:zeroOrMore>
+ <rng:ref name="form-item"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ <rng:element name="form:listbox">
+ <rng:ref name="form-listbox-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ <rng:zeroOrMore>
+ <rng:ref name="form-option"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ <rng:element name="form:checkbox">
+ <rng:ref name="form-checkbox-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ </rng:element>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="common-anim-add-accum-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="smil:accumulate">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>sum</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:additive">
+ <rng:choice>
+ <rng:value>replace</rng:value>
+ <rng:value>sum</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-anim-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="presentation:node-type">
+ <rng:choice>
+ <rng:value>default</rng:value>
+ <rng:value>on-click</rng:value>
+ <rng:value>with-previous</rng:value>
+ <rng:value>after-previous</rng:value>
+ <rng:value>timing-root</rng:value>
+ <rng:value>main-sequence</rng:value>
+ <rng:value>interactive-sequence</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:preset-id">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:preset-sub-type">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:preset-class">
+ <rng:choice>
+ <rng:value>custom</rng:value>
+ <rng:value>entrance</rng:value>
+ <rng:value>exit</rng:value>
+ <rng:value>emphasis</rng:value>
+ <rng:value>motion-path</rng:value>
+ <rng:value>ole-action</rng:value>
+ <rng:value>media-call</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:master-element">
+ <rng:ref name="IDREF"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:group-id">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:group>
+ <rng:ref name="xml-id"/>
+ <rng:optional>
+ <rng:attribute name="anim:id">
+ <rng:ref name="NCName"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-anim-named-target-attlist">
+ <rng:attribute name="smil:attributeName">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="common-anim-set-values-attlist">
+ <rng:optional>
+ <rng:attribute name="smil:to">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-anim-spline-mode-attlist">
+ <rng:optional>
+ <rng:attribute name="smil:calcMode">
+ <rng:choice>
+ <rng:value>discrete</rng:value>
+ <rng:value>linear</rng:value>
+ <rng:value>paced</rng:value>
+ <rng:value>spline</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-anim-target-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="smil:targetElement">
+ <rng:ref name="IDREF"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="anim:sub-item">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-anim-values-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="smil:values">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="anim:formula">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-anim-set-values-attlist"/>
+ <rng:optional>
+ <rng:attribute name="smil:from">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:by">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-auto-reorder-attlist">
+ <rng:optional>
+ <rng:attribute name="number:automatic-order">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-background-color-attlist">
+ <rng:optional>
+ <rng:attribute name="fo:background-color">
+ <rng:choice>
+ <rng:value>transparent</rng:value>
+ <rng:ref name="color"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-background-transparency-attlist">
+ <rng:optional>
+ <rng:attribute name="style:background-transparency">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-basic-timing-attlist">
+ <rng:ref name="common-begin-end-timing-attlist"/>
+ <rng:ref name="common-dur-timing-attlist"/>
+ <rng:ref name="common-repeat-timing-attlist"/>
+ <rng:ref name="common-restart-timing-attlist"/>
+ <rng:ref name="common-restart-default-attlist"/>
+ <rng:ref name="common-fill-timing-attlist"/>
+ <rng:ref name="common-fill-default-attlist"/>
+ </rng:define>
+ <rng:define name="common-begin-end-timing-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="smil:begin">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:end">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-border-attlist">
+ <rng:optional>
+ <rng:attribute name="fo:border">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:border-top">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:border-bottom">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:border-left">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:border-right">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-border-line-width-attlist">
+ <rng:optional>
+ <rng:attribute name="style:border-line-width">
+ <rng:ref name="borderWidths"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:border-line-width-top">
+ <rng:ref name="borderWidths"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:border-line-width-bottom">
+ <rng:ref name="borderWidths"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:border-line-width-left">
+ <rng:ref name="borderWidths"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:border-line-width-right">
+ <rng:ref name="borderWidths"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-break-attlist">
+ <rng:optional>
+ <rng:attribute name="fo:break-before">
+ <rng:choice>
+ <rng:value>auto</rng:value>
+ <rng:value>column</rng:value>
+ <rng:value>page</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:break-after">
+ <rng:choice>
+ <rng:value>auto</rng:value>
+ <rng:value>column</rng:value>
+ <rng:value>page</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-calendar-attlist">
+ <rng:optional>
+ <rng:attribute name="number:calendar">
+ <rng:choice>
+ <rng:value>gregorian</rng:value>
+ <rng:value>gengou</rng:value>
+ <rng:value>ROC</rng:value>
+ <rng:value>hanja_yoil</rng:value>
+ <rng:value>hanja</rng:value>
+ <rng:value>hijri</rng:value>
+ <rng:value>jewish</rng:value>
+ <rng:value>buddhist</rng:value>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-contour-attlist">
+ <rng:attribute name="draw:recreate-on-edit">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="common-control-id-attlist">
+ <rng:group>
+ <rng:ref name="xml-id"/>
+ <rng:optional>
+ <rng:attribute name="form:id">
+ <rng:ref name="NCName"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ </rng:define>
+ <rng:define name="common-convert-empty-attlist">
+ <rng:optional>
+ <rng:attribute name="form:convert-empty-to-null">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-current-value-attlist">
+ <rng:optional>
+ <rng:attribute name="form:current-value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-data-field-attlist">
+ <rng:optional>
+ <rng:attribute name="form:data-field">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-data-style-attlist">
+ <rng:interleave>
+ <rng:attribute name="style:name">
+ <rng:ref name="styleName"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="style:display-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:language">
+ <rng:ref name="languageCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:country">
+ <rng:ref name="countryCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:script">
+ <rng:ref name="scriptCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:rfc-language-tag">
+ <rng:ref name="language"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:title">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:volatile">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:transliteration-format">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:transliteration-language">
+ <rng:ref name="countryCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:transliteration-country">
+ <rng:ref name="countryCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:transliteration-style">
+ <rng:choice>
+ <rng:value>short</rng:value>
+ <rng:value>medium</rng:value>
+ <rng:value>long</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-db-default-value">
+ <rng:optional>
+ <rng:ref name="common-value-and-type-attlist"/>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-db-object-description">
+ <rng:optional>
+ <rng:attribute name="db:description">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-db-object-name">
+ <rng:attribute name="db:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="common-db-object-title">
+ <rng:optional>
+ <rng:attribute name="db:title">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-db-table-name-attlist">
+ <rng:interleave>
+ <rng:attribute name="db:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="db:catalog-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:schema-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-db-table-style-name">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="db:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:default-row-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-dde-connection-decl-attlist">
+ <rng:interleave>
+ <rng:attribute name="office:dde-application">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="office:dde-topic">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="office:dde-item">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="office:automatic-update">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-decimal-places-attlist">
+ <rng:optional>
+ <rng:attribute name="number:decimal-places">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-delay-for-repeat">
+ <rng:optional>
+ <rng:attribute name="form:delay-for-repeat">
+ <rng:ref name="duration"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-disabled-attlist">
+ <rng:optional>
+ <rng:attribute name="form:disabled">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-dr3d-transform-attlist">
+ <rng:optional>
+ <rng:attribute name="dr3d:transform">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-draw-area-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="office:target-frame-name">
+ <rng:ref name="targetFrameName"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="xlink:show">
+ <rng:choice>
+ <rng:value>new</rng:value>
+ <rng:value>replace</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="office:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:nohref">
+ <rng:value>nohref</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-draw-caption-id-attlist">
+ <rng:optional>
+ <rng:attribute name="draw:caption-id">
+ <rng:ref name="IDREF"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-draw-circle-ellipse-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:kind">
+ <rng:choice>
+ <rng:value>full</rng:value>
+ <rng:value>section</rng:value>
+ <rng:value>cut</rng:value>
+ <rng:value>arc</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:start-angle">
+ <rng:ref name="angle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:end-angle">
+ <rng:ref name="angle"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-draw-circle-ellipse-pos-attlist">
+ <rng:attribute name="svg:cx">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:cy">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="common-draw-data-attlist">
+ <rng:group>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:show">
+ <rng:value>embed</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="xlink:actuate">
+ <rng:value>onLoad</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ </rng:define>
+ <rng:define name="common-draw-gradient-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:name">
+ <rng:ref name="styleName"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:display-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="draw:style">
+ <rng:ref name="gradient-style"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="draw:cx">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:cy">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:angle">
+ <rng:ref name="angle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:border">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-draw-id-attlist">
+ <rng:optional>
+ <rng:group>
+ <rng:ref name="xml-id"/>
+ <rng:optional>
+ <rng:attribute name="draw:id">
+ <rng:ref name="NCName"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-draw-layer-name-attlist">
+ <rng:optional>
+ <rng:attribute name="draw:layer">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-draw-name-attlist">
+ <rng:optional>
+ <rng:attribute name="draw:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-draw-path-data-attlist">
+ <rng:attribute name="svg:d">
+ <rng:ref name="pathData"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="common-draw-points-attlist">
+ <rng:attribute name="draw:points">
+ <rng:ref name="points"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="common-draw-position-attlist">
+ <rng:optional>
+ <rng:attribute name="svg:x">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:y">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-draw-rel-size-attlist">
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:rel-width">
+ <rng:choice>
+ <rng:ref name="percent"/>
+ <rng:value>scale</rng:value>
+ <rng:value>scale-min</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:rel-height">
+ <rng:choice>
+ <rng:ref name="percent"/>
+ <rng:value>scale</rng:value>
+ <rng:value>scale-min</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-draw-shape-with-styles-attlist">
+ <rng:ref name="common-draw-z-index-attlist"/>
+ <rng:ref name="common-draw-id-attlist"/>
+ <rng:ref name="common-draw-layer-name-attlist"/>
+ <rng:ref name="common-draw-style-name-attlist"/>
+ <rng:ref name="common-draw-transform-attlist"/>
+ <rng:ref name="common-draw-name-attlist"/>
+ <rng:ref name="common-text-spreadsheet-shape-attlist"/>
+ </rng:define>
+ <rng:define name="common-draw-shape-with-text-and-styles-attlist">
+ <rng:ref name="common-draw-shape-with-styles-attlist"/>
+ <rng:ref name="common-draw-text-style-name-attlist"/>
+ </rng:define>
+ <rng:define name="common-draw-size-attlist">
+ <rng:optional>
+ <rng:attribute name="svg:width">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:height">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-draw-style-name-attlist">
+ <rng:choice>
+ <rng:group>
+ <rng:optional>
+ <rng:attribute name="draw:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:class-names">
+ <rng:ref name="styleNameRefs"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:optional>
+ <rng:attribute name="presentation:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:class-names">
+ <rng:ref name="styleNameRefs"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="common-draw-text-style-name-attlist">
+ <rng:optional>
+ <rng:attribute name="draw:text-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-draw-transform-attlist">
+ <rng:optional>
+ <rng:attribute name="draw:transform">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-draw-viewbox-attlist">
+ <rng:attribute name="svg:viewBox">
+ <rng:list>
+ <rng:ref name="integer"/>
+ <rng:ref name="integer"/>
+ <rng:ref name="integer"/>
+ <rng:ref name="integer"/>
+ </rng:list>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="common-draw-z-index-attlist">
+ <rng:optional>
+ <rng:attribute name="draw:z-index">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-dur-timing-attlist">
+ <rng:optional>
+ <rng:attribute name="smil:dur">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-editable-attlist">
+ <rng:optional>
+ <rng:attribute name="style:editable">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-endsync-timing-attlist">
+ <rng:optional>
+ <rng:attribute name="smil:endsync">
+ <rng:choice>
+ <rng:value>first</rng:value>
+ <rng:value>last</rng:value>
+ <rng:value>all</rng:value>
+ <rng:value>media</rng:value>
+ <rng:ref name="IDREF"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-field-data-style-name-attlist">
+ <rng:optional>
+ <rng:attribute name="style:data-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-field-database-name">
+ <rng:choice>
+ <rng:optional>
+ <rng:attribute name="text:database-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="form-connection-resource"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="common-field-database-table">
+ <rng:ref name="common-field-database-table-attlist"/>
+ <rng:ref name="common-field-database-name"/>
+ </rng:define>
+ <rng:define name="common-field-database-table-attlist">
+ <rng:interleave>
+ <rng:attribute name="text:table-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="text:table-type">
+ <rng:choice>
+ <rng:value>table</rng:value>
+ <rng:value>query</rng:value>
+ <rng:value>command</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-field-description-attlist">
+ <rng:optional>
+ <rng:attribute name="text:description">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-field-display-value-formula-attlist">
+ <rng:optional>
+ <rng:attribute name="text:display">
+ <rng:choice>
+ <rng:value>value</rng:value>
+ <rng:value>formula</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-field-display-value-formula-none-attlist">
+ <rng:optional>
+ <rng:attribute name="text:display">
+ <rng:choice>
+ <rng:value>value</rng:value>
+ <rng:value>formula</rng:value>
+ <rng:value>none</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-field-display-value-none-attlist">
+ <rng:optional>
+ <rng:attribute name="text:display">
+ <rng:choice>
+ <rng:value>value</rng:value>
+ <rng:value>none</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-field-fixed-attlist">
+ <rng:optional>
+ <rng:attribute name="text:fixed">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-field-formula-attlist">
+ <rng:optional>
+ <rng:attribute name="text:formula">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-field-name-attlist">
+ <rng:attribute name="text:name">
+ <rng:ref name="variableName"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="common-field-num-format-attlist">
+ <rng:optional>
+ <rng:ref name="common-num-format-attlist"/>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-fill-default-attlist">
+ <rng:optional>
+ <rng:attribute name="smil:fillDefault">
+ <rng:choice>
+ <rng:value>remove</rng:value>
+ <rng:value>freeze</rng:value>
+ <rng:value>hold</rng:value>
+ <rng:value>transition</rng:value>
+ <rng:value>auto</rng:value>
+ <rng:value>inherit</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-fill-timing-attlist">
+ <rng:optional>
+ <rng:attribute name="smil:fill">
+ <rng:choice>
+ <rng:value>remove</rng:value>
+ <rng:value>freeze</rng:value>
+ <rng:value>hold</rng:value>
+ <rng:value>auto</rng:value>
+ <rng:value>default</rng:value>
+ <rng:value>transition</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-form-control-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="form:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:control-implementation">
+ <rng:ref name="namespacedToken"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-form-control-content">
+ <rng:optional>
+ <rng:ref name="form-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-form-relative-image-position-attlist">
+ <rng:choice>
+ <rng:optional>
+ <rng:attribute name="form:image-position">
+ <rng:value>center</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:group>
+ <rng:attribute name="form:image-position">
+ <rng:choice>
+ <rng:value>start</rng:value>
+ <rng:value>end</rng:value>
+ <rng:value>top</rng:value>
+ <rng:value>bottom</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="form:image-align">
+ <rng:choice>
+ <rng:value>start</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>end</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="common-form-visual-effect-attlist">
+ <rng:optional>
+ <rng:attribute name="form:visual-effect">
+ <rng:choice>
+ <rng:value>flat</rng:value>
+ <rng:value>3d</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-format-source-attlist">
+ <rng:optional>
+ <rng:attribute name="number:format-source">
+ <rng:choice>
+ <rng:value>fixed</rng:value>
+ <rng:value>language</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-horizontal-margin-attlist">
+ <rng:optional>
+ <rng:attribute name="fo:margin-left">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:margin-right">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-in-content-meta-attlist">
+ <rng:attribute name="xhtml:about">
+ <rng:ref name="URIorSafeCURIE"/>
+ </rng:attribute>
+ <rng:attribute name="xhtml:property">
+ <rng:ref name="CURIEs"/>
+ </rng:attribute>
+ <rng:ref name="common-meta-literal-attlist"/>
+ </rng:define>
+ <rng:define name="common-keep-with-next-attlist">
+ <rng:optional>
+ <rng:attribute name="fo:keep-with-next">
+ <rng:choice>
+ <rng:value>auto</rng:value>
+ <rng:value>always</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-linked-cell">
+ <rng:optional>
+ <rng:attribute name="form:linked-cell">
+ <rng:choice>
+ <rng:ref name="cellAddress"/>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-margin-attlist">
+ <rng:optional>
+ <rng:attribute name="fo:margin">
+ <rng:choice>
+ <rng:ref name="nonNegativeLength"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-maxlength-attlist">
+ <rng:optional>
+ <rng:attribute name="form:max-length">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-meta-literal-attlist">
+ <rng:optional>
+ <rng:attribute name="xhtml:datatype">
+ <rng:ref name="CURIE"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="xhtml:content">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-num-format-attlist">
+ <rng:choice>
+ <rng:attribute name="style:num-format">
+ <rng:choice>
+ <rng:value>1</rng:value>
+ <rng:value>i</rng:value>
+ <rng:value>I</rng:value>
+ <rng:ref name="string"/>
+ <rng:empty/>
+ </rng:choice>
+ </rng:attribute>
+ <rng:group>
+ <rng:attribute name="style:num-format">
+ <rng:choice>
+ <rng:value>a</rng:value>
+ <rng:value>A</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:ref name="style-num-letter-sync-attlist"/>
+ </rng:group>
+ <rng:empty/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="common-num-format-prefix-suffix-attlist">
+ <rng:optional>
+ <rng:attribute name="style:num-prefix">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:num-suffix">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-number-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="number:min-integer-digits">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:grouping">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-numeric-control-attlist">
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="common-maxlength-attlist"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-readonly-attlist"/>
+ <rng:ref name="common-tab-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:ref name="common-convert-empty-attlist"/>
+ <rng:ref name="common-data-field-attlist"/>
+ </rng:define>
+ <rng:define name="common-office-annotation-name-attlist">
+ <rng:attribute name="office:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="common-padding-attlist">
+ <rng:optional>
+ <rng:attribute name="fo:padding">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:padding-top">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:padding-bottom">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:padding-left">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:padding-right">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-page-number-attlist">
+ <rng:optional>
+ <rng:attribute name="style:page-number">
+ <rng:choice>
+ <rng:ref name="positiveInteger"/>
+ <rng:value>auto</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-presentation-effect-attlist">
+ <rng:interleave>
+ <rng:attribute name="draw:shape-id">
+ <rng:ref name="IDREF"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="presentation:effect">
+ <rng:ref name="presentationEffects"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:direction">
+ <rng:ref name="presentationEffectDirections"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:speed">
+ <rng:ref name="presentationSpeeds"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:delay">
+ <rng:ref name="duration"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:start-scale">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:path-id">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-presentation-header-footer-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="presentation:use-header-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:use-footer-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:use-date-time-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-printable-attlist">
+ <rng:optional>
+ <rng:attribute name="form:printable">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-readonly-attlist">
+ <rng:optional>
+ <rng:attribute name="form:readonly">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-ref-format-values">
+ <rng:choice>
+ <rng:value>page</rng:value>
+ <rng:value>chapter</rng:value>
+ <rng:value>direction</rng:value>
+ <rng:value>text</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="common-repeat">
+ <rng:optional>
+ <rng:attribute name="form:repeat">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-repeat-timing-attlist">
+ <rng:optional>
+ <rng:attribute name="smil:repeatDur">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:repeatCount">
+ <rng:choice>
+ <rng:ref name="nonNegativeDecimal"/>
+ <rng:value>indefinite</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-restart-default-attlist">
+ <rng:optional>
+ <rng:attribute name="smil:restartDefault">
+ <rng:choice>
+ <rng:value>never</rng:value>
+ <rng:value>always</rng:value>
+ <rng:value>whenNotActive</rng:value>
+ <rng:value>inherit</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-restart-timing-attlist">
+ <rng:optional>
+ <rng:attribute name="smil:restart">
+ <rng:choice>
+ <rng:value>never</rng:value>
+ <rng:value>always</rng:value>
+ <rng:value>whenNotActive</rng:value>
+ <rng:value>default</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-rotation-angle-attlist">
+ <rng:optional>
+ <rng:attribute name="style:rotation-angle">
+ <rng:ref name="angle"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-section-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="text:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="text:protected">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:protection-key">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:protection-key-digest-algorithm">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-shadow-attlist">
+ <rng:optional>
+ <rng:attribute name="style:shadow">
+ <rng:ref name="shadowType"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-source-cell-range">
+ <rng:optional>
+ <rng:attribute name="form:source-cell-range">
+ <rng:choice>
+ <rng:ref name="cellRangeAddress"/>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-spin-button">
+ <rng:optional>
+ <rng:attribute name="form:spin-button">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-spline-anim-value-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="smil:keyTimes">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:keySplines">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-stock-marker-attlist">
+ <rng:optional>
+ <rng:attribute name="chart:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-style-direction-attlist">
+ <rng:optional>
+ <rng:attribute name="style:direction">
+ <rng:choice>
+ <rng:value>ltr</rng:value>
+ <rng:value>ttb</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-style-header-footer-attlist">
+ <rng:optional>
+ <rng:attribute name="style:display">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-svg-font-face-xlink-attlist">
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:actuate">
+ <rng:value>onRequest</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-svg-gradient-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="svg:gradientUnits">
+ <rng:value>objectBoundingBox</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:gradientTransform">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:spreadMethod">
+ <rng:choice>
+ <rng:value>pad</rng:value>
+ <rng:value>reflect</rng:value>
+ <rng:value>repeat</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="draw:name">
+ <rng:ref name="styleName"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="draw:display-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-tab-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="form:tab-index">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:tab-stop">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-table-cell-address-attlist">
+ <rng:attribute name="table:column">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ <rng:attribute name="table:row">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ <rng:attribute name="table:table">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="common-table-cell-range-address-attlist">
+ <rng:attribute name="table:start-column">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ <rng:attribute name="table:start-row">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ <rng:attribute name="table:start-table">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ <rng:attribute name="table:end-column">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ <rng:attribute name="table:end-row">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ <rng:attribute name="table:end-table">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="common-table-change-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:id">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:acceptance-state">
+ <rng:choice>
+ <rng:value>accepted</rng:value>
+ <rng:value>rejected</rng:value>
+ <rng:value>pending</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:rejecting-change-id">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-table-range-attlist">
+ <rng:choice>
+ <rng:group>
+ <rng:ref name="common-table-cell-address-attlist"/>
+ </rng:group>
+ <rng:group>
+ <rng:ref name="common-table-cell-range-address-attlist"/>
+ </rng:group>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="common-table-template-attlist">
+ <rng:attribute name="table:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:paragraph-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-text-align">
+ <rng:optional>
+ <rng:attribute name="fo:text-align">
+ <rng:choice>
+ <rng:value>start</rng:value>
+ <rng:value>end</rng:value>
+ <rng:value>left</rng:value>
+ <rng:value>right</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>justify</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-text-anchor-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:anchor-type">
+ <rng:choice>
+ <rng:value>page</rng:value>
+ <rng:value>frame</rng:value>
+ <rng:value>paragraph</rng:value>
+ <rng:value>char</rng:value>
+ <rng:value>as-char</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:anchor-page-number">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-text-spreadsheet-shape-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:end-cell-address">
+ <rng:ref name="cellAddress"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:end-x">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:end-y">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:table-background">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-text-anchor-attlist"/>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-time-manip-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="smil:accelerate">
+ <rng:ref name="zeroToOneDecimal"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:decelerate">
+ <rng:ref name="zeroToOneDecimal"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:autoReverse">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="common-timing-attlist">
+ <rng:ref name="common-basic-timing-attlist"/>
+ <rng:ref name="common-time-manip-attlist"/>
+ </rng:define>
+ <rng:define name="common-title-attlist">
+ <rng:optional>
+ <rng:attribute name="form:title">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-value-and-type-attlist">
+ <rng:choice>
+ <rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>float</rng:value>
+ </rng:attribute>
+ <rng:attribute name="office:value">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>percentage</rng:value>
+ </rng:attribute>
+ <rng:attribute name="office:value">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>currency</rng:value>
+ </rng:attribute>
+ <rng:attribute name="office:value">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="office:currency">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>date</rng:value>
+ </rng:attribute>
+ <rng:attribute name="office:date-value">
+ <rng:ref name="dateOrDateTime"/>
+ </rng:attribute>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>time</rng:value>
+ </rng:attribute>
+ <rng:attribute name="office:time-value">
+ <rng:ref name="duration"/>
+ </rng:attribute>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>boolean</rng:value>
+ </rng:attribute>
+ <rng:attribute name="office:boolean-value">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>string</rng:value>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="office:string-value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="common-value-attlist">
+ <rng:optional>
+ <rng:attribute name="form:value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-value-type-attlist">
+ <rng:attribute name="office:value-type">
+ <rng:ref name="valueType"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="common-vertical-margin-attlist">
+ <rng:optional>
+ <rng:attribute name="fo:margin-top">
+ <rng:choice>
+ <rng:ref name="nonNegativeLength"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:margin-bottom">
+ <rng:choice>
+ <rng:ref name="nonNegativeLength"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-vertical-pos-attlist">
+ <rng:optional>
+ <rng:attribute name="style:vertical-pos">
+ <rng:choice>
+ <rng:value>top</rng:value>
+ <rng:value>middle</rng:value>
+ <rng:value>bottom</rng:value>
+ <rng:value>from-top</rng:value>
+ <rng:value>below</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:y">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-vertical-rel-attlist">
+ <rng:optional>
+ <rng:attribute name="style:vertical-rel">
+ <rng:choice>
+ <rng:value>page</rng:value>
+ <rng:value>page-content</rng:value>
+ <rng:value>frame</rng:value>
+ <rng:value>frame-content</rng:value>
+ <rng:value>paragraph</rng:value>
+ <rng:value>paragraph-content</rng:value>
+ <rng:value>char</rng:value>
+ <rng:value>line</rng:value>
+ <rng:value>baseline</rng:value>
+ <rng:value>text</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="common-writing-mode-attlist">
+ <rng:optional>
+ <rng:attribute name="style:writing-mode">
+ <rng:choice>
+ <rng:value>lr-tb</rng:value>
+ <rng:value>rl-tb</rng:value>
+ <rng:value>tb-rl</rng:value>
+ <rng:value>tb-lr</rng:value>
+ <rng:value>lr</rng:value>
+ <rng:value>rl</rng:value>
+ <rng:value>tb</rng:value>
+ <rng:value>page</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="config-config-item">
+ <rng:element name="config:config-item">
+ <rng:ref name="config-config-item-attlist"/>
+ <rng:text/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="config-config-item-attlist">
+ <rng:interleave>
+ <rng:attribute name="config:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="config:type">
+ <rng:choice>
+ <rng:value>boolean</rng:value>
+ <rng:value>short</rng:value>
+ <rng:value>int</rng:value>
+ <rng:value>long</rng:value>
+ <rng:value>double</rng:value>
+ <rng:value>string</rng:value>
+ <rng:value>datetime</rng:value>
+ <rng:value>base64Binary</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="config-config-item-map-entry">
+ <rng:element name="config:config-item-map-entry">
+ <rng:ref name="config-config-item-map-entry-attlist"/>
+ <rng:ref name="config-items"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="config-config-item-map-entry-attlist">
+ <rng:optional>
+ <rng:attribute name="config:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="config-config-item-map-indexed">
+ <rng:element name="config:config-item-map-indexed">
+ <rng:ref name="config-config-item-map-indexed-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="config-config-item-map-entry"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="config-config-item-map-indexed-attlist">
+ <rng:attribute name="config:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="config-config-item-map-named">
+ <rng:element name="config:config-item-map-named">
+ <rng:ref name="config-config-item-map-named-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="config-config-item-map-entry"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="config-config-item-map-named-attlist">
+ <rng:attribute name="config:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="config-config-item-set">
+ <rng:element name="config:config-item-set">
+ <rng:ref name="config-config-item-set-attlist"/>
+ <rng:ref name="config-items"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="config-config-item-set-attlist">
+ <rng:attribute name="config:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="config-items">
+ <rng:oneOrMore>
+ <rng:choice>
+ <rng:ref name="config-config-item"/>
+ <rng:ref name="config-config-item-set"/>
+ <rng:ref name="config-config-item-map-named"/>
+ <rng:ref name="config-config-item-map-indexed"/>
+ </rng:choice>
+ </rng:oneOrMore>
+ </rng:define>
+ <rng:define name="controls">
+ <rng:choice>
+ <rng:ref name="column-controls"/>
+ <rng:element name="form:password">
+ <rng:ref name="form-password-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ </rng:element>
+ <rng:element name="form:file">
+ <rng:ref name="form-file-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ </rng:element>
+ <rng:element name="form:fixed-text">
+ <rng:ref name="form-fixed-text-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ </rng:element>
+ <rng:element name="form:button">
+ <rng:ref name="form-button-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ </rng:element>
+ <rng:element name="form:image">
+ <rng:ref name="form-image-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ </rng:element>
+ <rng:element name="form:radio">
+ <rng:ref name="form-radio-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ </rng:element>
+ <rng:element name="form:frame">
+ <rng:ref name="form-frame-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ </rng:element>
+ <rng:element name="form:image-frame">
+ <rng:ref name="form-image-frame-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ </rng:element>
+ <rng:element name="form:hidden">
+ <rng:ref name="form-hidden-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ </rng:element>
+ <rng:element name="form:grid">
+ <rng:ref name="form-grid-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ <rng:zeroOrMore>
+ <rng:ref name="form-column"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ <rng:element name="form:value-range">
+ <rng:ref name="form-value-range-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ </rng:element>
+ <rng:element name="form:generic-control">
+ <rng:ref name="form-generic-control-attlist"/>
+ <rng:ref name="common-form-control-content"/>
+ </rng:element>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="coordinate">
+ <rng:ref name="length"/>
+ </rng:define>
+ <rng:define name="countryCode">
+ <rng:data type="token">
+ <rng:param name="pattern">[A-Za-z0-9]{1,8}</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="currency-symbol-and-text">
+ <rng:ref name="number-currency-symbol"/>
+ <rng:optional>
+ <rng:ref name="number-text"/>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="current-selected">
+ <rng:optional>
+ <rng:attribute name="form:current-selected">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="custom-shape-type">
+ <rng:choice>
+ <rng:value>non-primitive</rng:value>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="date">
+ <rng:data type="date"/>
+ </rng:define>
+ <rng:define name="dateOrDateTime">
+ <rng:choice>
+ <rng:data type="date"/>
+ <rng:data type="dateTime"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="dateTime">
+ <rng:data type="dateTime"/>
+ </rng:define>
+ <rng:define name="db-application-connection-settings">
+ <rng:element name="db:application-connection-settings">
+ <rng:ref name="db-application-connection-settings-attlist"/>
+ <rng:optional>
+ <rng:ref name="db-table-filter"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-table-type-filter"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-data-source-settings"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-application-connection-settings-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="db:is-table-name-length-limited">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:enable-sql92-check">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:append-table-alias-name">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:ignore-driver-privileges">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:boolean-comparison-mode">
+ <rng:choice>
+ <rng:value>equal-integer</rng:value>
+ <rng:value>is-boolean</rng:value>
+ <rng:value>equal-boolean</rng:value>
+ <rng:value>equal-use-only-zero</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:use-catalog">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:max-row-count">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:suppress-version-columns">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-apply-command">
+ <rng:optional>
+ <rng:attribute name="db:apply-command">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="db-auto-increment">
+ <rng:element name="db:auto-increment">
+ <rng:ref name="db-auto-increment-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-auto-increment-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="db:additional-column-statement">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:row-retrieving-statement">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-character-set">
+ <rng:element name="db:character-set">
+ <rng:ref name="db-character-set-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-character-set-attlist">
+ <rng:optional>
+ <rng:attribute name="db:encoding">
+ <rng:ref name="textEncoding"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="db-column">
+ <rng:element name="db:column">
+ <rng:ref name="db-column-attlist"/>
+ <rng:ref name="common-db-object-name"/>
+ <rng:ref name="common-db-object-title"/>
+ <rng:ref name="common-db-object-description"/>
+ <rng:ref name="common-db-default-value"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-column-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="db:visible">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:default-cell-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-column-definition">
+ <rng:element name="db:column-definition">
+ <rng:ref name="db-column-definition-attlist"/>
+ <rng:ref name="common-db-default-value"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-column-definition-attlist">
+ <rng:interleave>
+ <rng:attribute name="db:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="db:data-type">
+ <rng:ref name="db-data-types"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:type-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:precision">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:scale">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:is-nullable">
+ <rng:choice>
+ <rng:value>no-nulls</rng:value>
+ <rng:value>nullable</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:is-empty-allowed">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:is-autoincrement">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-column-definitions">
+ <rng:element name="db:column-definitions">
+ <rng:ref name="db-column-definitions-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="db-column-definition"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-column-definitions-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-columns">
+ <rng:element name="db:columns">
+ <rng:ref name="db-columns-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="db-column"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-columns-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-command">
+ <rng:attribute name="db:command">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="db-component">
+ <rng:element name="db:component">
+ <rng:ref name="db-component-attlist"/>
+ <rng:ref name="common-db-object-name"/>
+ <rng:ref name="common-db-object-title"/>
+ <rng:ref name="common-db-object-description"/>
+ <rng:optional>
+ <rng:choice>
+ <rng:ref name="office-document"/>
+ <rng:ref name="math-math"/>
+ </rng:choice>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-component-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:show">
+ <rng:value>none</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="xlink:actuate">
+ <rng:value>onRequest</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:as-template">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-component-collection">
+ <rng:element name="db:component-collection">
+ <rng:ref name="db-component-collection-attlist"/>
+ <rng:ref name="common-db-object-name"/>
+ <rng:ref name="common-db-object-title"/>
+ <rng:ref name="common-db-object-description"/>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="db-component"/>
+ <rng:ref name="db-component-collection"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-component-collection-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-connection-data">
+ <rng:element name="db:connection-data">
+ <rng:ref name="db-connection-data-attlist"/>
+ <rng:choice>
+ <rng:ref name="db-database-description"/>
+ <rng:ref name="db-connection-resource"/>
+ </rng:choice>
+ <rng:optional>
+ <rng:ref name="db-login"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-connection-data-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-connection-resource">
+ <rng:element name="db:connection-resource">
+ <rng:ref name="db-connection-resource-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-connection-resource-attlist">
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:show">
+ <rng:value>none</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="xlink:actuate">
+ <rng:value>onRequest</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="db-data-source">
+ <rng:element name="db:data-source">
+ <rng:ref name="db-data-source-attlist"/>
+ <rng:ref name="db-connection-data"/>
+ <rng:optional>
+ <rng:ref name="db-driver-settings"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-application-connection-settings"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-data-source-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-data-source-setting">
+ <rng:element name="db:data-source-setting">
+ <rng:ref name="db-data-source-setting-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="db-data-source-setting-value"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-data-source-setting-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="db:data-source-setting-is-list">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="db:data-source-setting-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="db:data-source-setting-type">
+ <rng:ref name="db-data-source-setting-types"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-data-source-setting-types">
+ <rng:choice>
+ <rng:value>boolean</rng:value>
+ <rng:value>short</rng:value>
+ <rng:value>int</rng:value>
+ <rng:value>long</rng:value>
+ <rng:value>double</rng:value>
+ <rng:value>string</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="db-data-source-setting-value">
+ <rng:element name="db:data-source-setting-value">
+ <rng:ref name="db-data-source-setting-value-attlist"/>
+ <rng:ref name="string"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-data-source-setting-value-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-data-source-settings">
+ <rng:element name="db:data-source-settings">
+ <rng:ref name="db-data-source-settings-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="db-data-source-setting"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-data-source-settings-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-data-types">
+ <rng:choice>
+ <rng:value>bit</rng:value>
+ <rng:value>boolean</rng:value>
+ <rng:value>tinyint</rng:value>
+ <rng:value>smallint</rng:value>
+ <rng:value>integer</rng:value>
+ <rng:value>bigint</rng:value>
+ <rng:value>float</rng:value>
+ <rng:value>real</rng:value>
+ <rng:value>double</rng:value>
+ <rng:value>numeric</rng:value>
+ <rng:value>decimal</rng:value>
+ <rng:value>char</rng:value>
+ <rng:value>varchar</rng:value>
+ <rng:value>longvarchar</rng:value>
+ <rng:value>date</rng:value>
+ <rng:value>time</rng:value>
+ <rng:value>timestmp</rng:value>
+ <rng:value>binary</rng:value>
+ <rng:value>varbinary</rng:value>
+ <rng:value>longvarbinary</rng:value>
+ <rng:value>sqlnull</rng:value>
+ <rng:value>other</rng:value>
+ <rng:value>object</rng:value>
+ <rng:value>distinct</rng:value>
+ <rng:value>struct</rng:value>
+ <rng:value>array</rng:value>
+ <rng:value>blob</rng:value>
+ <rng:value>clob</rng:value>
+ <rng:value>ref</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="db-database-description">
+ <rng:element name="db:database-description">
+ <rng:ref name="db-database-description-attlist"/>
+ <rng:choice>
+ <rng:ref name="db-file-based-database"/>
+ <rng:ref name="db-server-database"/>
+ </rng:choice>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-database-description-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-delimiter">
+ <rng:element name="db:delimiter">
+ <rng:ref name="db-delimiter-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-delimiter-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="db:field">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:string">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:decimal">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:thousand">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-driver-settings">
+ <rng:element name="db:driver-settings">
+ <rng:ref name="db-driver-settings-attlist"/>
+ <rng:optional>
+ <rng:ref name="db-auto-increment"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-delimiter"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-character-set"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-table-settings"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-driver-settings-attlist">
+ <rng:interleave>
+ <rng:ref name="db-show-deleted"/>
+ <rng:optional>
+ <rng:attribute name="db:system-driver-settings">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:base-dn">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="db-is-first-row-header-line"/>
+ <rng:optional>
+ <rng:attribute name="db:parameter-name-substitution">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-file-based-database">
+ <rng:element name="db:file-based-database">
+ <rng:ref name="db-file-based-database-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-file-based-database-attlist">
+ <rng:interleave>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:attribute name="db:media-type">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="db:extension">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-filter-statement">
+ <rng:element name="db:filter-statement">
+ <rng:ref name="db-command"/>
+ <rng:ref name="db-apply-command"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-forms">
+ <rng:element name="db:forms">
+ <rng:ref name="db-forms-attlist"/>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="db-component"/>
+ <rng:ref name="db-component-collection"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-forms-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-host-and-port">
+ <rng:attribute name="db:hostname">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="db:port">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="db-index">
+ <rng:element name="db:index">
+ <rng:ref name="db-index-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="db-index-columns"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-index-attlist">
+ <rng:interleave>
+ <rng:attribute name="db:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="db:catalog-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:is-unique">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:is-clustered">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-index-column">
+ <rng:element name="db:index-column">
+ <rng:ref name="db-index-column-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-index-column-attlist">
+ <rng:interleave>
+ <rng:attribute name="db:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="db:is-ascending">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-index-columns">
+ <rng:element name="db:index-columns">
+ <rng:oneOrMore>
+ <rng:ref name="db-index-column"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-indices">
+ <rng:element name="db:indices">
+ <rng:ref name="db-indices-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="db-index"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-indices-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-is-first-row-header-line">
+ <rng:optional>
+ <rng:attribute name="db:is-first-row-header-line">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="db-key">
+ <rng:element name="db:key">
+ <rng:ref name="db-key-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="db-key-columns"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-key-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="db:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="db:type">
+ <rng:choice>
+ <rng:value>primary</rng:value>
+ <rng:value>unique</rng:value>
+ <rng:value>foreign</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="db:referenced-table-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:update-rule">
+ <rng:choice>
+ <rng:value>cascade</rng:value>
+ <rng:value>restrict</rng:value>
+ <rng:value>set-null</rng:value>
+ <rng:value>no-action</rng:value>
+ <rng:value>set-default</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:delete-rule">
+ <rng:choice>
+ <rng:value>cascade</rng:value>
+ <rng:value>restrict</rng:value>
+ <rng:value>set-null</rng:value>
+ <rng:value>no-action</rng:value>
+ <rng:value>set-default</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-key-column">
+ <rng:element name="db:key-column">
+ <rng:ref name="db-key-column-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-key-column-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="db:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:related-column-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-key-columns">
+ <rng:element name="db:key-columns">
+ <rng:ref name="db-key-columns-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="db-key-column"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-key-columns-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-keys">
+ <rng:element name="db:keys">
+ <rng:ref name="db-keys-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="db-key"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-keys-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-local-socket-name">
+ <rng:optional>
+ <rng:attribute name="db:local-socket">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="db-login">
+ <rng:element name="db:login">
+ <rng:ref name="db-login-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-login-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:choice>
+ <rng:attribute name="db:user-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="db:use-system-user">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:choice>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:is-password-required">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="db:login-timeout">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-order-statement">
+ <rng:element name="db:order-statement">
+ <rng:ref name="db-command"/>
+ <rng:ref name="db-apply-command"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-queries">
+ <rng:element name="db:queries">
+ <rng:ref name="db-queries-attlist"/>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="db-query"/>
+ <rng:ref name="db-query-collection"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-queries-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-query">
+ <rng:element name="db:query">
+ <rng:ref name="db-query-attlist"/>
+ <rng:ref name="common-db-object-name"/>
+ <rng:ref name="common-db-object-title"/>
+ <rng:ref name="common-db-object-description"/>
+ <rng:ref name="common-db-table-style-name"/>
+ <rng:optional>
+ <rng:ref name="db-order-statement"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-filter-statement"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-columns"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-update-table"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-query-attlist">
+ <rng:interleave>
+ <rng:attribute name="db:command">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="db:escape-processing">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-query-collection">
+ <rng:element name="db:query-collection">
+ <rng:ref name="db-query-collection-attlist"/>
+ <rng:ref name="common-db-object-name"/>
+ <rng:ref name="common-db-object-title"/>
+ <rng:ref name="common-db-object-description"/>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="db-query"/>
+ <rng:ref name="db-query-collection"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-query-collection-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-reports">
+ <rng:element name="db:reports">
+ <rng:ref name="db-reports-attlist"/>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="db-component"/>
+ <rng:ref name="db-component-collection"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-reports-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-schema-definition">
+ <rng:element name="db:schema-definition">
+ <rng:ref name="db-schema-definition-attlist"/>
+ <rng:ref name="db-table-definitions"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-schema-definition-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-server-database">
+ <rng:element name="db:server-database">
+ <rng:ref name="db-server-database-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-server-database-attlist">
+ <rng:interleave>
+ <rng:attribute name="db:type">
+ <rng:ref name="namespacedToken"/>
+ </rng:attribute>
+ <rng:choice>
+ <rng:ref name="db-host-and-port"/>
+ <rng:ref name="db-local-socket-name"/>
+ </rng:choice>
+ <rng:optional>
+ <rng:attribute name="db:database-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="db-show-deleted">
+ <rng:optional>
+ <rng:attribute name="db:show-deleted">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="db-table-definition">
+ <rng:element name="db:table-definition">
+ <rng:ref name="common-db-table-name-attlist"/>
+ <rng:ref name="db-table-definition-attlist"/>
+ <rng:ref name="db-column-definitions"/>
+ <rng:optional>
+ <rng:ref name="db-keys"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-indices"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-table-definition-attlist">
+ <rng:optional>
+ <rng:attribute name="db:type">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="db-table-definitions">
+ <rng:element name="db:table-definitions">
+ <rng:ref name="db-table-definitions-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="db-table-definition"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-table-definitions-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-table-exclude-filter">
+ <rng:element name="db:table-exclude-filter">
+ <rng:ref name="db-table-exclude-filter-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="db-table-filter-pattern"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-table-exclude-filter-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-table-filter">
+ <rng:element name="db:table-filter">
+ <rng:ref name="db-table-filter-attlist"/>
+ <rng:optional>
+ <rng:ref name="db-table-include-filter"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-table-exclude-filter"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-table-filter-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-table-filter-pattern">
+ <rng:element name="db:table-filter-pattern">
+ <rng:ref name="db-table-filter-pattern-attlist"/>
+ <rng:ref name="string"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-table-filter-pattern-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-table-include-filter">
+ <rng:element name="db:table-include-filter">
+ <rng:ref name="db-table-include-filter-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="db-table-filter-pattern"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-table-include-filter-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-table-presentation">
+ <rng:element name="db:table-representation">
+ <rng:ref name="db-table-presentation-attlist"/>
+ <rng:ref name="common-db-table-name-attlist"/>
+ <rng:ref name="common-db-object-title"/>
+ <rng:ref name="common-db-object-description"/>
+ <rng:ref name="common-db-table-style-name"/>
+ <rng:optional>
+ <rng:ref name="db-order-statement"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-filter-statement"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-columns"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-table-presentation-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-table-presentations">
+ <rng:element name="db:table-representations">
+ <rng:ref name="db-table-presentations-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="db-table-presentation"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-table-presentations-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-table-setting">
+ <rng:element name="db:table-setting">
+ <rng:ref name="db-table-setting-attlist"/>
+ <rng:optional>
+ <rng:ref name="db-delimiter"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-character-set"/>
+ </rng:optional>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-table-setting-attlist">
+ <rng:ref name="db-is-first-row-header-line"/>
+ <rng:ref name="db-show-deleted"/>
+ </rng:define>
+ <rng:define name="db-table-settings">
+ <rng:element name="db:table-settings">
+ <rng:zeroOrMore>
+ <rng:ref name="db-table-setting"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-table-type">
+ <rng:element name="db:table-type">
+ <rng:ref name="db-table-type-attlist"/>
+ <rng:ref name="string"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-table-type-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-table-type-filter">
+ <rng:element name="db:table-type-filter">
+ <rng:ref name="db-table-type-filter-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="db-table-type"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="db-table-type-filter-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="db-update-table">
+ <rng:element name="db:update-table">
+ <rng:ref name="common-db-table-name-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="dc-creator">
+ <rng:element name="dc:creator">
+ <rng:ref name="string"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="dc-date">
+ <rng:element name="dc:date">
+ <rng:ref name="dateTime"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="distance">
+ <rng:ref name="length"/>
+ </rng:define>
+ <rng:define name="double">
+ <rng:data type="double"/>
+ </rng:define>
+ <rng:define name="dr3d-cube">
+ <rng:element name="dr3d:cube">
+ <rng:ref name="dr3d-cube-attlist"/>
+ <rng:ref name="common-draw-z-index-attlist"/>
+ <rng:ref name="common-draw-id-attlist"/>
+ <rng:ref name="common-draw-layer-name-attlist"/>
+ <rng:ref name="common-draw-style-name-attlist"/>
+ <rng:ref name="common-dr3d-transform-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="dr3d-cube-attlist">
+ <rng:optional>
+ <rng:attribute name="dr3d:min-edge">
+ <rng:ref name="vector3D"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:max-edge">
+ <rng:ref name="vector3D"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="dr3d-extrude">
+ <rng:element name="dr3d:extrude">
+ <rng:ref name="common-draw-path-data-attlist"/>
+ <rng:ref name="common-draw-viewbox-attlist"/>
+ <rng:ref name="common-draw-id-attlist"/>
+ <rng:ref name="common-draw-z-index-attlist"/>
+ <rng:ref name="common-draw-layer-name-attlist"/>
+ <rng:ref name="common-draw-style-name-attlist"/>
+ <rng:ref name="common-dr3d-transform-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="dr3d-light">
+ <rng:element name="dr3d:light">
+ <rng:ref name="dr3d-light-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="dr3d-light-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="dr3d:diffuse-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="dr3d:direction">
+ <rng:ref name="vector3D"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="dr3d:enabled">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:specular">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="dr3d-rotate">
+ <rng:element name="dr3d:rotate">
+ <rng:ref name="common-draw-viewbox-attlist"/>
+ <rng:ref name="common-draw-path-data-attlist"/>
+ <rng:ref name="common-draw-z-index-attlist"/>
+ <rng:ref name="common-draw-id-attlist"/>
+ <rng:ref name="common-draw-layer-name-attlist"/>
+ <rng:ref name="common-draw-style-name-attlist"/>
+ <rng:ref name="common-dr3d-transform-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="dr3d-scene">
+ <rng:element name="dr3d:scene">
+ <rng:ref name="dr3d-scene-attlist"/>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:ref name="common-draw-style-name-attlist"/>
+ <rng:ref name="common-draw-z-index-attlist"/>
+ <rng:ref name="common-draw-id-attlist"/>
+ <rng:ref name="common-draw-layer-name-attlist"/>
+ <rng:ref name="common-text-spreadsheet-shape-attlist"/>
+ <rng:ref name="common-dr3d-transform-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="dr3d-light"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="shapes3d"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="dr3d-scene-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="dr3d:vrp">
+ <rng:ref name="vector3D"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:vpn">
+ <rng:ref name="vector3D"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:vup">
+ <rng:ref name="vector3D"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:projection">
+ <rng:choice>
+ <rng:value>parallel</rng:value>
+ <rng:value>perspective</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:distance">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:focal-length">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:shadow-slant">
+ <rng:ref name="angle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:shade-mode">
+ <rng:choice>
+ <rng:value>flat</rng:value>
+ <rng:value>phong</rng:value>
+ <rng:value>gouraud</rng:value>
+ <rng:value>draft</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:ambient-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:lighting-mode">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="dr3d-sphere">
+ <rng:element name="dr3d:sphere">
+ <rng:ref name="dr3d-sphere-attlist"/>
+ <rng:ref name="common-draw-z-index-attlist"/>
+ <rng:ref name="common-draw-id-attlist"/>
+ <rng:ref name="common-draw-layer-name-attlist"/>
+ <rng:ref name="common-draw-style-name-attlist"/>
+ <rng:ref name="common-dr3d-transform-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="dr3d-sphere-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="dr3d:center">
+ <rng:ref name="vector3D"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:size">
+ <rng:ref name="vector3D"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-a">
+ <rng:element name="draw:a">
+ <rng:ref name="draw-a-attlist"/>
+ <rng:ref name="shape-instance"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-a-attlist">
+ <rng:interleave>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:actuate">
+ <rng:value>onRequest</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="office:target-frame-name">
+ <rng:ref name="targetFrameName"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="xlink:show">
+ <rng:choice>
+ <rng:value>new</rng:value>
+ <rng:value>replace</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="office:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="office:title">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="office:server-map">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-applet">
+ <rng:element name="draw:applet">
+ <rng:ref name="draw-applet-attlist"/>
+ <rng:optional>
+ <rng:ref name="common-draw-data-attlist"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-param"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-applet-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:code">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:object">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:archive">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:may-script">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-area-circle">
+ <rng:element name="draw:area-circle">
+ <rng:ref name="common-draw-area-attlist"/>
+ <rng:attribute name="svg:cx">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:cy">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:r">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-area-polygon">
+ <rng:element name="draw:area-polygon">
+ <rng:ref name="common-draw-area-attlist"/>
+ <rng:attribute name="svg:x">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:y">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:width">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ <rng:attribute name="svg:height">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ <rng:ref name="common-draw-viewbox-attlist"/>
+ <rng:ref name="common-draw-points-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-area-rectangle">
+ <rng:element name="draw:area-rectangle">
+ <rng:ref name="common-draw-area-attlist"/>
+ <rng:attribute name="svg:x">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:y">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:width">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ <rng:attribute name="svg:height">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-caption">
+ <rng:element name="draw:caption">
+ <rng:ref name="draw-caption-attlist"/>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ <rng:ref name="draw-text"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-caption-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:caption-point-x">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="draw:caption-point-y">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:corner-radius">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-circle">
+ <rng:element name="draw:circle">
+ <rng:choice>
+ <rng:group>
+ <rng:ref name="draw-circle-attlist"/>
+ <rng:ref name="common-draw-circle-ellipse-pos-attlist"/>
+ </rng:group>
+ <rng:group>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ </rng:group>
+ </rng:choice>
+ <rng:ref name="common-draw-circle-ellipse-attlist"/>
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ <rng:ref name="draw-text"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-circle-attlist">
+ <rng:attribute name="svg:r">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="draw-connector">
+ <rng:element name="draw:connector">
+ <rng:ref name="draw-connector-attlist"/>
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:ref name="common-draw-viewbox-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ <rng:ref name="draw-text"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-connector-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:type">
+ <rng:choice>
+ <rng:value>standard</rng:value>
+ <rng:value>lines</rng:value>
+ <rng:value>line</rng:value>
+ <rng:value>curve</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:x1">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:y1">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:start-shape">
+ <rng:ref name="IDREF"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:start-glue-point">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:x2">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:y2">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:end-shape">
+ <rng:ref name="IDREF"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:end-glue-point">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:line-skew">
+ <rng:list>
+ <rng:ref name="length"/>
+ <rng:optional>
+ <rng:ref name="length"/>
+ <rng:optional>
+ <rng:ref name="length"/>
+ </rng:optional>
+ </rng:optional>
+ </rng:list>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:d">
+ <rng:ref name="pathData"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-contour-path">
+ <rng:element name="draw:contour-path">
+ <rng:ref name="common-contour-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:ref name="common-draw-viewbox-attlist"/>
+ <rng:ref name="common-draw-path-data-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-contour-polygon">
+ <rng:element name="draw:contour-polygon">
+ <rng:ref name="common-contour-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:ref name="common-draw-viewbox-attlist"/>
+ <rng:ref name="common-draw-points-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-control">
+ <rng:element name="draw:control">
+ <rng:ref name="draw-control-attlist"/>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-control-attlist">
+ <rng:attribute name="draw:control">
+ <rng:ref name="IDREF"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="draw-custom-shape">
+ <rng:element name="draw:custom-shape">
+ <rng:ref name="draw-custom-shape-attlist"/>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ <rng:ref name="draw-text"/>
+ <rng:optional>
+ <rng:ref name="draw-enhanced-geometry"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-custom-shape-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:engine">
+ <rng:ref name="namespacedToken"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:data">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-ellipse">
+ <rng:element name="draw:ellipse">
+ <rng:choice>
+ <rng:group>
+ <rng:ref name="draw-ellipse-attlist"/>
+ <rng:ref name="common-draw-circle-ellipse-pos-attlist"/>
+ </rng:group>
+ <rng:group>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ </rng:group>
+ </rng:choice>
+ <rng:ref name="common-draw-circle-ellipse-attlist"/>
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ <rng:ref name="draw-text"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-ellipse-attlist">
+ <rng:attribute name="svg:rx">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ <rng:attribute name="svg:ry">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="draw-enhanced-geometry">
+ <rng:element name="draw:enhanced-geometry">
+ <rng:ref name="draw-enhanced-geometry-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-equation"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-handle"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-enhanced-geometry-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:type">
+ <rng:ref name="custom-shape-type"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:viewBox">
+ <rng:list>
+ <rng:ref name="integer"/>
+ <rng:ref name="integer"/>
+ <rng:ref name="integer"/>
+ <rng:ref name="integer"/>
+ </rng:list>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:mirror-vertical">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:mirror-horizontal">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:text-rotate-angle">
+ <rng:ref name="angle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-allowed">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:text-path-allowed">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:concentric-gradient-fill-allowed">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-brightness">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-depth">
+ <rng:list>
+ <rng:ref name="length"/>
+ <rng:ref name="double"/>
+ </rng:list>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-diffusion">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-number-of-line-segments">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-light-face">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-first-light-harsh">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-second-light-harsh">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-first-light-level">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-second-light-level">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-first-light-direction">
+ <rng:ref name="vector3D"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-second-light-direction">
+ <rng:ref name="vector3D"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-metal">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:shade-mode">
+ <rng:choice>
+ <rng:value>flat</rng:value>
+ <rng:value>phong</rng:value>
+ <rng:value>gouraud</rng:value>
+ <rng:value>draft</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-rotation-angle">
+ <rng:list>
+ <rng:ref name="angle"/>
+ <rng:ref name="angle"/>
+ </rng:list>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-rotation-center">
+ <rng:ref name="vector3D"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-shininess">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-skew">
+ <rng:list>
+ <rng:ref name="double"/>
+ <rng:ref name="angle"/>
+ </rng:list>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-specularity">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:projection">
+ <rng:choice>
+ <rng:value>parallel</rng:value>
+ <rng:value>perspective</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-viewpoint">
+ <rng:ref name="point3D"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-origin">
+ <rng:list>
+ <rng:ref name="extrusionOrigin"/>
+ <rng:ref name="extrusionOrigin"/>
+ </rng:list>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:extrusion-color">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:enhanced-path">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:path-stretchpoint-x">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:path-stretchpoint-y">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:text-areas">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:glue-points">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:glue-point-type">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>segments</rng:value>
+ <rng:value>rectangle</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:glue-point-leaving-directions">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:text-path">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:text-path-mode">
+ <rng:choice>
+ <rng:value>normal</rng:value>
+ <rng:value>path</rng:value>
+ <rng:value>shape</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:text-path-scale">
+ <rng:choice>
+ <rng:value>path</rng:value>
+ <rng:value>shape</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:text-path-same-letter-heights">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:modifiers">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-equation">
+ <rng:element name="draw:equation">
+ <rng:ref name="draw-equation-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-equation-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:formula">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-fill-image">
+ <rng:element name="draw:fill-image">
+ <rng:ref name="draw-fill-image-attlist"/>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:show">
+ <rng:value>embed</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="xlink:actuate">
+ <rng:value>onLoad</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-fill-image-attlist">
+ <rng:interleave>
+ <rng:attribute name="draw:name">
+ <rng:ref name="styleName"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="draw:display-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:width">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:height">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-floating-frame">
+ <rng:element name="draw:floating-frame">
+ <rng:ref name="draw-floating-frame-attlist"/>
+ <rng:ref name="common-draw-data-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-floating-frame-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:frame-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-frame">
+ <rng:element name="draw:frame">
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-rel-size-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:ref name="presentation-shape-attlist"/>
+ <rng:ref name="draw-frame-attlist"/>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="draw-text-box"/>
+ <rng:ref name="draw-image"/>
+ <rng:ref name="draw-object"/>
+ <rng:ref name="draw-object-ole"/>
+ <rng:ref name="draw-applet"/>
+ <rng:ref name="draw-floating-frame"/>
+ <rng:ref name="draw-plugin"/>
+ <rng:ref name="table-table"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ <rng:optional>
+ <rng:ref name="draw-image-map"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:choice>
+ <rng:ref name="draw-contour-polygon"/>
+ <rng:ref name="draw-contour-path"/>
+ </rng:choice>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-frame-attlist">
+ <rng:optional>
+ <rng:attribute name="draw:copy-of">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="draw-g">
+ <rng:element name="draw:g">
+ <rng:ref name="draw-g-attlist"/>
+ <rng:ref name="common-draw-z-index-attlist"/>
+ <rng:ref name="common-draw-name-attlist"/>
+ <rng:ref name="common-draw-id-attlist"/>
+ <rng:ref name="common-draw-style-name-attlist"/>
+ <rng:ref name="common-text-spreadsheet-shape-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="shape"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-g-attlist">
+ <rng:optional>
+ <rng:attribute name="svg:y">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="draw-glue-point">
+ <rng:element name="draw:glue-point">
+ <rng:ref name="draw-glue-point-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-glue-point-attlist">
+ <rng:interleave>
+ <rng:attribute name="draw:id">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ <rng:attribute name="svg:x">
+ <rng:choice>
+ <rng:ref name="distance"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="svg:y">
+ <rng:choice>
+ <rng:ref name="distance"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="draw:align">
+ <rng:choice>
+ <rng:value>top-left</rng:value>
+ <rng:value>top</rng:value>
+ <rng:value>top-right</rng:value>
+ <rng:value>left</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>right</rng:value>
+ <rng:value>bottom-left</rng:value>
+ <rng:value>bottom-right</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="draw:escape-direction">
+ <rng:choice>
+ <rng:value>auto</rng:value>
+ <rng:value>left</rng:value>
+ <rng:value>right</rng:value>
+ <rng:value>up</rng:value>
+ <rng:value>down</rng:value>
+ <rng:value>horizontal</rng:value>
+ <rng:value>vertical</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-gradient">
+ <rng:element name="draw:gradient">
+ <rng:ref name="common-draw-gradient-attlist"/>
+ <rng:ref name="draw-gradient-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-gradient-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:start-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:end-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:start-intensity">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:end-intensity">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-handle">
+ <rng:element name="draw:handle">
+ <rng:ref name="draw-handle-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-handle-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:handle-mirror-vertical">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:handle-mirror-horizontal">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:handle-switched">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="draw:handle-position">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="draw:handle-range-x-minimum">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:handle-range-x-maximum">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:handle-range-y-minimum">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:handle-range-y-maximum">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:handle-polar">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:handle-radius-range-minimum">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:handle-radius-range-maximum">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-hatch">
+ <rng:element name="draw:hatch">
+ <rng:ref name="draw-hatch-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-hatch-attlist">
+ <rng:interleave>
+ <rng:attribute name="draw:name">
+ <rng:ref name="styleName"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="draw:display-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="draw:style">
+ <rng:choice>
+ <rng:value>single</rng:value>
+ <rng:value>double</rng:value>
+ <rng:value>triple</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="draw:color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:distance">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:rotation">
+ <rng:ref name="angle"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-image">
+ <rng:element name="draw:image">
+ <rng:ref name="draw-image-attlist"/>
+ <rng:choice>
+ <rng:ref name="common-draw-data-attlist"/>
+ <rng:ref name="office-binary-data"/>
+ </rng:choice>
+ <rng:ref name="draw-text"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-image-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:filter-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-image-map">
+ <rng:element name="draw:image-map">
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="draw-area-rectangle"/>
+ <rng:ref name="draw-area-circle"/>
+ <rng:ref name="draw-area-polygon"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-layer">
+ <rng:element name="draw:layer">
+ <rng:ref name="draw-layer-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-layer-attlist">
+ <rng:interleave>
+ <rng:attribute name="draw:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="draw:protected">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:display">
+ <rng:choice>
+ <rng:value>always</rng:value>
+ <rng:value>screen</rng:value>
+ <rng:value>printer</rng:value>
+ <rng:value>none</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-layer-set">
+ <rng:element name="draw:layer-set">
+ <rng:zeroOrMore>
+ <rng:ref name="draw-layer"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-line">
+ <rng:element name="draw:line">
+ <rng:ref name="draw-line-attlist"/>
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ <rng:ref name="draw-text"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-line-attlist">
+ <rng:interleave>
+ <rng:attribute name="svg:x1">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:y1">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:x2">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:y2">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-marker">
+ <rng:element name="draw:marker">
+ <rng:ref name="draw-marker-attlist"/>
+ <rng:ref name="common-draw-viewbox-attlist"/>
+ <rng:ref name="common-draw-path-data-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-marker-attlist">
+ <rng:interleave>
+ <rng:attribute name="draw:name">
+ <rng:ref name="styleName"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="draw:display-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-measure">
+ <rng:element name="draw:measure">
+ <rng:ref name="draw-measure-attlist"/>
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ <rng:ref name="draw-text"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-measure-attlist">
+ <rng:interleave>
+ <rng:attribute name="svg:x1">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:y1">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:x2">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ <rng:attribute name="svg:y2">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-object">
+ <rng:element name="draw:object">
+ <rng:ref name="draw-object-attlist"/>
+ <rng:choice>
+ <rng:ref name="common-draw-data-attlist"/>
+ <rng:ref name="office-document"/>
+ <rng:ref name="math-math"/>
+ </rng:choice>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-object-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:notify-on-update-of-ranges">
+ <rng:choice>
+ <rng:ref name="cellRangeAddressList"/>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-object-ole">
+ <rng:element name="draw:object-ole">
+ <rng:ref name="draw-object-ole-attlist"/>
+ <rng:choice>
+ <rng:ref name="common-draw-data-attlist"/>
+ <rng:ref name="office-binary-data"/>
+ </rng:choice>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-object-ole-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:class-id">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-opacity">
+ <rng:element name="draw:opacity">
+ <rng:ref name="common-draw-gradient-attlist"/>
+ <rng:ref name="draw-opacity-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-opacity-attlist">
+ <rng:optional>
+ <rng:attribute name="draw:start">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:end">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="draw-page">
+ <rng:element name="draw:page">
+ <rng:ref name="common-presentation-header-footer-attlist"/>
+ <rng:ref name="draw-page-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="draw-layer-set"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-forms"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="shape"/>
+ </rng:zeroOrMore>
+ <rng:optional>
+ <rng:choice>
+ <rng:ref name="presentation-animations"/>
+ <rng:ref name="animation-element"/>
+ </rng:choice>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="presentation-notes"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-page-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="draw:master-page-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="presentation:presentation-page-layout-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:group>
+ <rng:ref name="xml-id"/>
+ <rng:optional>
+ <rng:attribute name="draw:id">
+ <rng:ref name="NCName"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:nav-order">
+ <rng:ref name="IDREFS"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-page-thumbnail">
+ <rng:element name="draw:page-thumbnail">
+ <rng:ref name="draw-page-thumbnail-attlist"/>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:ref name="presentation-shape-attlist"/>
+ <rng:ref name="common-draw-shape-with-styles-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-page-thumbnail-attlist">
+ <rng:optional>
+ <rng:attribute name="draw:page-number">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="draw-param">
+ <rng:element name="draw:param">
+ <rng:ref name="draw-param-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-param-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-path">
+ <rng:element name="draw:path">
+ <rng:ref name="common-draw-path-data-attlist"/>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:ref name="common-draw-viewbox-attlist"/>
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ <rng:ref name="draw-text"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-plugin">
+ <rng:element name="draw:plugin">
+ <rng:ref name="draw-plugin-attlist"/>
+ <rng:ref name="common-draw-data-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-param"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-plugin-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:mime-type">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-polygon">
+ <rng:element name="draw:polygon">
+ <rng:ref name="common-draw-points-attlist"/>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:ref name="common-draw-viewbox-attlist"/>
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ <rng:ref name="draw-text"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-polyline">
+ <rng:element name="draw:polyline">
+ <rng:ref name="common-draw-points-attlist"/>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:ref name="common-draw-viewbox-attlist"/>
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ <rng:ref name="draw-text"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-rect">
+ <rng:element name="draw:rect">
+ <rng:ref name="draw-rect-attlist"/>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ <rng:ref name="draw-text"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-rect-attlist">
+ <rng:choice>
+ <rng:optional>
+ <rng:attribute name="draw:corner-radius">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:group>
+ <rng:optional>
+ <rng:attribute name="svg:rx">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:ry">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="draw-regular-polygon">
+ <rng:element name="draw:regular-polygon">
+ <rng:ref name="draw-regular-polygon-attlist"/>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:ref name="common-draw-caption-id-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-glue-point"/>
+ </rng:zeroOrMore>
+ <rng:ref name="draw-text"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-regular-polygon-attlist">
+ <rng:interleave>
+ <rng:choice>
+ <rng:attribute name="draw:concave">
+ <rng:value>false</rng:value>
+ </rng:attribute>
+ <rng:group>
+ <rng:attribute name="draw:concave">
+ <rng:value>true</rng:value>
+ </rng:attribute>
+ <rng:ref name="draw-regular-polygon-sharpness-attlist"/>
+ </rng:group>
+ </rng:choice>
+ <rng:attribute name="draw:corners">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-regular-polygon-sharpness-attlist">
+ <rng:attribute name="draw:sharpness">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="draw-stroke-dash">
+ <rng:element name="draw:stroke-dash">
+ <rng:ref name="draw-stroke-dash-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-stroke-dash-attlist">
+ <rng:interleave>
+ <rng:attribute name="draw:name">
+ <rng:ref name="styleName"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="draw:display-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:style">
+ <rng:choice>
+ <rng:value>rect</rng:value>
+ <rng:value>round</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:dots1">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:dots1-length">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:dots2">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:dots2-length">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:distance">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="draw-text">
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="text-p"/>
+ <rng:ref name="text-list"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:define>
+ <rng:define name="draw-text-box">
+ <rng:element name="draw:text-box">
+ <rng:ref name="draw-text-box-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="text-content"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="draw-text-box-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:chain-next-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:corner-radius">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:min-height">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:min-width">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:max-height">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:max-width">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:group>
+ <rng:ref name="xml-id"/>
+ <rng:optional>
+ <rng:attribute name="text:id">
+ <rng:ref name="NCName"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="dropdown">
+ <rng:optional>
+ <rng:attribute name="form:dropdown">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="duration">
+ <rng:data type="duration"/>
+ </rng:define>
+ <rng:define name="extrusionOrigin">
+ <rng:data type="double">
+ <rng:param name="minInclusive">-0.5</rng:param>
+ <rng:param name="maxInclusive">0.5</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="fontFamilyGeneric">
+ <rng:choice>
+ <rng:value>roman</rng:value>
+ <rng:value>swiss</rng:value>
+ <rng:value>modern</rng:value>
+ <rng:value>decorative</rng:value>
+ <rng:value>script</rng:value>
+ <rng:value>system</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="fontPitch">
+ <rng:choice>
+ <rng:value>fixed</rng:value>
+ <rng:value>variable</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="fontStyle">
+ <rng:choice>
+ <rng:value>normal</rng:value>
+ <rng:value>italic</rng:value>
+ <rng:value>oblique</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="fontVariant">
+ <rng:choice>
+ <rng:value>normal</rng:value>
+ <rng:value>small-caps</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="fontWeight">
+ <rng:choice>
+ <rng:value>normal</rng:value>
+ <rng:value>bold</rng:value>
+ <rng:value>100</rng:value>
+ <rng:value>200</rng:value>
+ <rng:value>300</rng:value>
+ <rng:value>400</rng:value>
+ <rng:value>500</rng:value>
+ <rng:value>600</rng:value>
+ <rng:value>700</rng:value>
+ <rng:value>800</rng:value>
+ <rng:value>900</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="for">
+ <rng:optional>
+ <rng:attribute name="form:for">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="form-button-attlist">
+ <rng:interleave>
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="button-type"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="label"/>
+ <rng:ref name="image-data"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-tab-attlist"/>
+ <rng:ref name="target-frame"/>
+ <rng:ref name="target-location"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:ref name="common-value-attlist"/>
+ <rng:ref name="common-form-relative-image-position-attlist"/>
+ <rng:ref name="common-repeat"/>
+ <rng:ref name="common-delay-for-repeat"/>
+ <rng:optional>
+ <rng:attribute name="form:default-button">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:toggle">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:focus-on-click">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:xforms-submission">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="form-checkbox-attlist">
+ <rng:interleave>
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="label"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-tab-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:ref name="common-value-attlist"/>
+ <rng:ref name="common-data-field-attlist"/>
+ <rng:ref name="common-form-visual-effect-attlist"/>
+ <rng:ref name="common-form-relative-image-position-attlist"/>
+ <rng:ref name="common-linked-cell"/>
+ <rng:optional>
+ <rng:attribute name="form:current-state">
+ <rng:ref name="states"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:is-tristate">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:state">
+ <rng:ref name="states"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="form-column">
+ <rng:element name="form:column">
+ <rng:ref name="form-column-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="column-controls"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="form-column-attlist">
+ <rng:ref name="common-form-control-attlist"/>
+ <rng:ref name="label"/>
+ <rng:ref name="text-style-name"/>
+ </rng:define>
+ <rng:define name="form-combobox-attlist">
+ <rng:interleave>
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="common-current-value-attlist"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="dropdown"/>
+ <rng:ref name="common-maxlength-attlist"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-readonly-attlist"/>
+ <rng:ref name="size"/>
+ <rng:ref name="common-tab-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:ref name="common-value-attlist"/>
+ <rng:ref name="common-convert-empty-attlist"/>
+ <rng:ref name="common-data-field-attlist"/>
+ <rng:ref name="list-source"/>
+ <rng:ref name="list-source-type"/>
+ <rng:ref name="common-linked-cell"/>
+ <rng:ref name="common-source-cell-range"/>
+ <rng:optional>
+ <rng:attribute name="form:auto-complete">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="form-connection-resource">
+ <rng:element name="form:connection-resource">
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="form-control-attlist">
+ <rng:ref name="common-form-control-attlist"/>
+ <rng:ref name="common-control-id-attlist"/>
+ <rng:ref name="xforms-bind-attlist"/>
+ </rng:define>
+ <rng:define name="form-date-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="form:value">
+ <rng:ref name="date"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:current-value">
+ <rng:ref name="date"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:min-value">
+ <rng:ref name="date"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:max-value">
+ <rng:ref name="date"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="form-file-attlist">
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="common-current-value-attlist"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="common-maxlength-attlist"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-readonly-attlist"/>
+ <rng:ref name="common-tab-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:ref name="common-value-attlist"/>
+ <rng:ref name="common-linked-cell"/>
+ </rng:define>
+ <rng:define name="form-fixed-text-attlist">
+ <rng:interleave>
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="for"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="label"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:optional>
+ <rng:attribute name="form:multi-line">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="form-form">
+ <rng:element name="form:form">
+ <rng:ref name="common-form-control-attlist"/>
+ <rng:ref name="form-form-attlist"/>
+ <rng:optional>
+ <rng:ref name="form-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="controls"/>
+ <rng:ref name="form-form"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ <rng:optional>
+ <rng:ref name="form-connection-resource"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="form-form-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:actuate">
+ <rng:value>onRequest</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="office:target-frame">
+ <rng:ref name="targetFrameName"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:method">
+ <rng:choice>
+ <rng:value>get</rng:value>
+ <rng:value>post</rng:value>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:enctype">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:allow-deletes">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:allow-inserts">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:allow-updates">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:apply-filter">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:command-type">
+ <rng:choice>
+ <rng:value>table</rng:value>
+ <rng:value>query</rng:value>
+ <rng:value>command</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:command">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:datasource">
+ <rng:choice>
+ <rng:ref name="anyIRI"/>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:master-fields">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:detail-fields">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:escape-processing">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:filter">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:ignore-result">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:navigation-mode">
+ <rng:ref name="navigation"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:order">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:tab-cycle">
+ <rng:ref name="tab-cycles"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="form-formatted-text-attlist">
+ <rng:interleave>
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="common-current-value-attlist"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="common-maxlength-attlist"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-readonly-attlist"/>
+ <rng:ref name="common-tab-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:ref name="common-value-attlist"/>
+ <rng:ref name="common-convert-empty-attlist"/>
+ <rng:ref name="common-data-field-attlist"/>
+ <rng:ref name="common-linked-cell"/>
+ <rng:ref name="common-spin-button"/>
+ <rng:ref name="common-repeat"/>
+ <rng:ref name="common-delay-for-repeat"/>
+ <rng:optional>
+ <rng:attribute name="form:max-value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:min-value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:validation">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="form-frame-attlist">
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="for"/>
+ <rng:ref name="label"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ </rng:define>
+ <rng:define name="form-generic-control-attlist">
+ <rng:ref name="form-control-attlist"/>
+ </rng:define>
+ <rng:define name="form-grid-attlist">
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-tab-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ </rng:define>
+ <rng:define name="form-hidden-attlist">
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="common-value-attlist"/>
+ </rng:define>
+ <rng:define name="form-image-attlist">
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="button-type"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="image-data"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-tab-attlist"/>
+ <rng:ref name="target-frame"/>
+ <rng:ref name="target-location"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:ref name="common-value-attlist"/>
+ </rng:define>
+ <rng:define name="form-image-frame-attlist">
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="image-data"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-readonly-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:ref name="common-data-field-attlist"/>
+ </rng:define>
+ <rng:define name="form-item">
+ <rng:element name="form:item">
+ <rng:ref name="form-item-attlist"/>
+ <rng:text/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="form-item-attlist">
+ <rng:ref name="label"/>
+ </rng:define>
+ <rng:define name="form-listbox-attlist">
+ <rng:interleave>
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="dropdown"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="size"/>
+ <rng:ref name="common-tab-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:ref name="bound-column"/>
+ <rng:ref name="common-data-field-attlist"/>
+ <rng:ref name="list-source"/>
+ <rng:ref name="list-source-type"/>
+ <rng:ref name="common-linked-cell"/>
+ <rng:ref name="list-linkage-type"/>
+ <rng:ref name="common-source-cell-range"/>
+ <rng:optional>
+ <rng:attribute name="form:multiple">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:xforms-list-source">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="form-number-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="form:value">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:current-value">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:min-value">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:max-value">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="form-option">
+ <rng:element name="form:option">
+ <rng:ref name="form-option-attlist"/>
+ <rng:text/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="form-option-attlist">
+ <rng:ref name="current-selected"/>
+ <rng:ref name="selected"/>
+ <rng:ref name="label"/>
+ <rng:ref name="common-value-attlist"/>
+ </rng:define>
+ <rng:define name="form-password-attlist">
+ <rng:interleave>
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="common-maxlength-attlist"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-tab-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:ref name="common-value-attlist"/>
+ <rng:ref name="common-convert-empty-attlist"/>
+ <rng:ref name="common-linked-cell"/>
+ <rng:optional>
+ <rng:attribute name="form:echo-char">
+ <rng:ref name="character"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="form-properties">
+ <rng:element name="form:properties">
+ <rng:oneOrMore>
+ <rng:ref name="form-property"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="form-property">
+ <rng:choice>
+ <rng:element name="form:property">
+ <rng:ref name="form-property-name"/>
+ <rng:ref name="form-property-value-and-type-attlist"/>
+ </rng:element>
+ <rng:element name="form:list-property">
+ <rng:ref name="form-property-name"/>
+ <rng:ref name="form-property-type-and-value-list"/>
+ </rng:element>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="form-property-name">
+ <rng:attribute name="form:property-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="form-property-type-and-value-list">
+ <rng:choice>
+ <rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>float</rng:value>
+ </rng:attribute>
+ <rng:zeroOrMore>
+ <rng:element name="form:list-value">
+ <rng:attribute name="office:value">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:element>
+ </rng:zeroOrMore>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>percentage</rng:value>
+ </rng:attribute>
+ <rng:zeroOrMore>
+ <rng:element name="form:list-value">
+ <rng:attribute name="office:value">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:element>
+ </rng:zeroOrMore>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>currency</rng:value>
+ </rng:attribute>
+ <rng:zeroOrMore>
+ <rng:element name="form:list-value">
+ <rng:attribute name="office:value">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="office:currency">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:element>
+ </rng:zeroOrMore>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>date</rng:value>
+ </rng:attribute>
+ <rng:zeroOrMore>
+ <rng:element name="form:list-value">
+ <rng:attribute name="office:date-value">
+ <rng:ref name="dateOrDateTime"/>
+ </rng:attribute>
+ </rng:element>
+ </rng:zeroOrMore>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>time</rng:value>
+ </rng:attribute>
+ <rng:zeroOrMore>
+ <rng:element name="form:list-value">
+ <rng:attribute name="office:time-value">
+ <rng:ref name="duration"/>
+ </rng:attribute>
+ </rng:element>
+ </rng:zeroOrMore>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>boolean</rng:value>
+ </rng:attribute>
+ <rng:zeroOrMore>
+ <rng:element name="form:list-value">
+ <rng:attribute name="office:boolean-value">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:element>
+ </rng:zeroOrMore>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>string</rng:value>
+ </rng:attribute>
+ <rng:zeroOrMore>
+ <rng:element name="form:list-value">
+ <rng:attribute name="office:string-value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:element>
+ </rng:zeroOrMore>
+ </rng:group>
+ <rng:attribute name="office:value-type">
+ <rng:value>void</rng:value>
+ </rng:attribute>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="form-property-value-and-type-attlist">
+ <rng:choice>
+ <rng:ref name="common-value-and-type-attlist"/>
+ <rng:attribute name="office:value-type">
+ <rng:value>void</rng:value>
+ </rng:attribute>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="form-radio-attlist">
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="current-selected"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="label"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="selected"/>
+ <rng:ref name="common-tab-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:ref name="common-value-attlist"/>
+ <rng:ref name="common-data-field-attlist"/>
+ <rng:ref name="common-form-visual-effect-attlist"/>
+ <rng:ref name="common-form-relative-image-position-attlist"/>
+ <rng:ref name="common-linked-cell"/>
+ </rng:define>
+ <rng:define name="form-text-attlist">
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="common-current-value-attlist"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="common-maxlength-attlist"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-readonly-attlist"/>
+ <rng:ref name="common-tab-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:ref name="common-value-attlist"/>
+ <rng:ref name="common-convert-empty-attlist"/>
+ <rng:ref name="common-data-field-attlist"/>
+ <rng:ref name="common-linked-cell"/>
+ </rng:define>
+ <rng:define name="form-textarea-attlist">
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="common-current-value-attlist"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="common-maxlength-attlist"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-readonly-attlist"/>
+ <rng:ref name="common-tab-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:ref name="common-value-attlist"/>
+ <rng:ref name="common-convert-empty-attlist"/>
+ <rng:ref name="common-data-field-attlist"/>
+ <rng:ref name="common-linked-cell"/>
+ </rng:define>
+ <rng:define name="form-time-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="form:value">
+ <rng:ref name="time"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:current-value">
+ <rng:ref name="time"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:min-value">
+ <rng:ref name="time"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:max-value">
+ <rng:ref name="time"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="form-value-range-attlist">
+ <rng:interleave>
+ <rng:ref name="form-control-attlist"/>
+ <rng:ref name="common-disabled-attlist"/>
+ <rng:ref name="common-printable-attlist"/>
+ <rng:ref name="common-tab-attlist"/>
+ <rng:ref name="common-title-attlist"/>
+ <rng:ref name="common-value-attlist"/>
+ <rng:ref name="common-linked-cell"/>
+ <rng:ref name="common-repeat"/>
+ <rng:ref name="common-delay-for-repeat"/>
+ <rng:optional>
+ <rng:attribute name="form:max-value">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:min-value">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:step-size">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:page-step-size">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:orientation">
+ <rng:choice>
+ <rng:value>horizontal</rng:value>
+ <rng:value>vertical</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="gradient-style">
+ <rng:choice>
+ <rng:value>linear</rng:value>
+ <rng:value>axial</rng:value>
+ <rng:value>radial</rng:value>
+ <rng:value>ellipsoid</rng:value>
+ <rng:value>square</rng:value>
+ <rng:value>rectangular</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="header-footer-content">
+ <rng:choice>
+ <rng:group>
+ <rng:ref name="text-tracked-changes"/>
+ <rng:ref name="text-decls"/>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="text-h"/>
+ <rng:ref name="text-p"/>
+ <rng:ref name="text-list"/>
+ <rng:ref name="table-table"/>
+ <rng:ref name="text-section"/>
+ <rng:ref name="text-table-of-content"/>
+ <rng:ref name="text-illustration-index"/>
+ <rng:ref name="text-table-index"/>
+ <rng:ref name="text-object-index"/>
+ <rng:ref name="text-user-index"/>
+ <rng:ref name="text-alphabetical-index"/>
+ <rng:ref name="text-bibliography"/>
+ <rng:ref name="text-index-title"/>
+ <rng:ref name="change-marks"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:group>
+ <rng:group>
+ <rng:optional>
+ <rng:ref name="style-region-left"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-region-center"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-region-right"/>
+ </rng:optional>
+ </rng:group>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="heading-attrs">
+ <rng:interleave>
+ <rng:attribute name="text:outline-level">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="text:restart-numbering">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:start-value">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:is-list-header">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="horiBackPos">
+ <rng:choice>
+ <rng:value>left</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>right</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="horizontal-mirror">
+ <rng:choice>
+ <rng:value>horizontal</rng:value>
+ <rng:value>horizontal-on-odd</rng:value>
+ <rng:value>horizontal-on-even</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="image-data">
+ <rng:optional>
+ <rng:attribute name="form:image-data">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="index-content-main">
+ <rng:choice>
+ <rng:ref name="text-content"/>
+ <rng:ref name="text-index-title"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="integer">
+ <rng:data type="integer"/>
+ </rng:define>
+ <rng:define name="label">
+ <rng:optional>
+ <rng:attribute name="form:label">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="labelPositions">
+ <rng:choice>
+ <rng:value>avoid-overlap</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>top</rng:value>
+ <rng:value>top-right</rng:value>
+ <rng:value>right</rng:value>
+ <rng:value>bottom-right</rng:value>
+ <rng:value>bottom</rng:value>
+ <rng:value>bottom-left</rng:value>
+ <rng:value>left</rng:value>
+ <rng:value>top-left</rng:value>
+ <rng:value>inside</rng:value>
+ <rng:value>outside</rng:value>
+ <rng:value>near-origin</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="language">
+ <rng:data type="language"/>
+ </rng:define>
+ <rng:define name="languageCode">
+ <rng:data type="token">
+ <rng:param name="pattern">[A-Za-z]{1,8}</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="length">
+ <rng:data type="string">
+ <rng:param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="lineMode">
+ <rng:choice>
+ <rng:value>continuous</rng:value>
+ <rng:value>skip-white-space</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="lineStyle">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>solid</rng:value>
+ <rng:value>dotted</rng:value>
+ <rng:value>dash</rng:value>
+ <rng:value>long-dash</rng:value>
+ <rng:value>dot-dash</rng:value>
+ <rng:value>dot-dot-dash</rng:value>
+ <rng:value>wave</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="lineType">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>single</rng:value>
+ <rng:value>double</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="lineWidth">
+ <rng:choice>
+ <rng:value>auto</rng:value>
+ <rng:value>normal</rng:value>
+ <rng:value>bold</rng:value>
+ <rng:value>thin</rng:value>
+ <rng:value>medium</rng:value>
+ <rng:value>thick</rng:value>
+ <rng:ref name="positiveInteger"/>
+ <rng:ref name="percent"/>
+ <rng:ref name="positiveLength"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="list-linkage-type">
+ <rng:optional>
+ <rng:attribute name="form:list-linkage-type">
+ <rng:choice>
+ <rng:value>selection</rng:value>
+ <rng:value>selection-indices</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="list-source">
+ <rng:optional>
+ <rng:attribute name="form:list-source">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="list-source-type">
+ <rng:optional>
+ <rng:attribute name="form:list-source-type">
+ <rng:choice>
+ <rng:value>table</rng:value>
+ <rng:value>query</rng:value>
+ <rng:value>sql</rng:value>
+ <rng:value>sql-pass-through</rng:value>
+ <rng:value>value-list</rng:value>
+ <rng:value>table-fields</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="math-math">
+ <rng:element name="math:math">
+ <rng:ref name="mathMarkup"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="mathMarkup">
+ <dc:description>To avoid inclusion of the complete MathML schema, anything is allowed within a math:math top-level element</dc:description>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:attribute>
+ <rng:anyName/>
+ </rng:attribute>
+ <rng:text/>
+ <rng:element>
+ <rng:anyName/>
+ <rng:ref name="mathMarkup"/>
+ </rng:element>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:define>
+ <rng:define name="meta-date-string">
+ <rng:element name="meta:date-string">
+ <rng:ref name="string"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="namespacedToken">
+ <rng:data type="QName">
+ <rng:param name="pattern">[^:]+:[^:]+</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="navigation">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>current</rng:value>
+ <rng:value>parent</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="nonNegativeDecimal">
+ <rng:data type="decimal">
+ <rng:param name="minInclusive">0.0</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="nonNegativeInteger">
+ <rng:data type="nonNegativeInteger"/>
+ </rng:define>
+ <rng:define name="nonNegativeLength">
+ <rng:data type="string">
+ <rng:param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="nonNegativePixelLength">
+ <rng:data type="string">
+ <rng:param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)(px)</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="number-am-pm">
+ <rng:element name="number:am-pm">
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-and-text">
+ <rng:ref name="number-number"/>
+ <rng:optional>
+ <rng:ref name="number-text"/>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="number-boolean">
+ <rng:element name="number:boolean">
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-boolean-style">
+ <rng:element name="number:boolean-style">
+ <rng:ref name="common-data-style-attlist"/>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="number-text"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="number-boolean"/>
+ <rng:optional>
+ <rng:ref name="number-text"/>
+ </rng:optional>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="style-map"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-currency-style">
+ <rng:element name="number:currency-style">
+ <rng:ref name="common-data-style-attlist"/>
+ <rng:ref name="common-auto-reorder-attlist"/>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="number-text"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:choice>
+ <rng:group>
+ <rng:ref name="number-and-text"/>
+ <rng:optional>
+ <rng:ref name="currency-symbol-and-text"/>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:ref name="currency-symbol-and-text"/>
+ <rng:optional>
+ <rng:ref name="number-and-text"/>
+ </rng:optional>
+ </rng:group>
+ </rng:choice>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="style-map"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-currency-symbol">
+ <rng:element name="number:currency-symbol">
+ <rng:ref name="number-currency-symbol-attlist"/>
+ <rng:text/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-currency-symbol-attlist">
+ <rng:optional>
+ <rng:attribute name="number:language">
+ <rng:ref name="languageCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:country">
+ <rng:ref name="countryCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:script">
+ <rng:ref name="scriptCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:rfc-language-tag">
+ <rng:ref name="language"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="number-date-style">
+ <rng:element name="number:date-style">
+ <rng:ref name="common-data-style-attlist"/>
+ <rng:ref name="common-auto-reorder-attlist"/>
+ <rng:ref name="common-format-source-attlist"/>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="number-text"/>
+ </rng:optional>
+ <rng:oneOrMore>
+ <rng:ref name="any-date"/>
+ <rng:optional>
+ <rng:ref name="number-text"/>
+ </rng:optional>
+ </rng:oneOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="style-map"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-day">
+ <rng:element name="number:day">
+ <rng:ref name="number-day-attlist"/>
+ <rng:ref name="common-calendar-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-day-attlist">
+ <rng:optional>
+ <rng:attribute name="number:style">
+ <rng:choice>
+ <rng:value>short</rng:value>
+ <rng:value>long</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="number-day-of-week">
+ <rng:element name="number:day-of-week">
+ <rng:ref name="number-day-of-week-attlist"/>
+ <rng:ref name="common-calendar-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-day-of-week-attlist">
+ <rng:optional>
+ <rng:attribute name="number:style">
+ <rng:choice>
+ <rng:value>short</rng:value>
+ <rng:value>long</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="number-embedded-text">
+ <rng:element name="number:embedded-text">
+ <rng:ref name="number-embedded-text-attlist"/>
+ <rng:text/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-embedded-text-attlist">
+ <rng:attribute name="number:position">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="number-era">
+ <rng:element name="number:era">
+ <rng:ref name="number-era-attlist"/>
+ <rng:ref name="common-calendar-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-era-attlist">
+ <rng:optional>
+ <rng:attribute name="number:style">
+ <rng:choice>
+ <rng:value>short</rng:value>
+ <rng:value>long</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="number-fraction">
+ <rng:element name="number:fraction">
+ <rng:ref name="number-fraction-attlist"/>
+ <rng:ref name="common-number-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-fraction-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="number:min-numerator-digits">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:min-denominator-digits">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:denominator-value">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="number-hours">
+ <rng:element name="number:hours">
+ <rng:ref name="number-hours-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-hours-attlist">
+ <rng:optional>
+ <rng:attribute name="number:style">
+ <rng:choice>
+ <rng:value>short</rng:value>
+ <rng:value>long</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="number-minutes">
+ <rng:element name="number:minutes">
+ <rng:ref name="number-minutes-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-minutes-attlist">
+ <rng:optional>
+ <rng:attribute name="number:style">
+ <rng:choice>
+ <rng:value>short</rng:value>
+ <rng:value>long</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="number-month">
+ <rng:element name="number:month">
+ <rng:ref name="number-month-attlist"/>
+ <rng:ref name="common-calendar-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-month-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="number:textual">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:possessive-form">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:style">
+ <rng:choice>
+ <rng:value>short</rng:value>
+ <rng:value>long</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="number-number">
+ <rng:element name="number:number">
+ <rng:ref name="number-number-attlist"/>
+ <rng:ref name="common-decimal-places-attlist"/>
+ <rng:ref name="common-number-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="number-embedded-text"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-number-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="number:decimal-replacement">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:display-factor">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="number-number-style">
+ <rng:element name="number:number-style">
+ <rng:ref name="common-data-style-attlist"/>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="number-text"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="any-number"/>
+ <rng:optional>
+ <rng:ref name="number-text"/>
+ </rng:optional>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="style-map"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-percentage-style">
+ <rng:element name="number:percentage-style">
+ <rng:ref name="common-data-style-attlist"/>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="number-text"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="number-and-text"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="style-map"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-quarter">
+ <rng:element name="number:quarter">
+ <rng:ref name="number-quarter-attlist"/>
+ <rng:ref name="common-calendar-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-quarter-attlist">
+ <rng:optional>
+ <rng:attribute name="number:style">
+ <rng:choice>
+ <rng:value>short</rng:value>
+ <rng:value>long</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="number-scientific-number">
+ <rng:element name="number:scientific-number">
+ <rng:ref name="number-scientific-number-attlist"/>
+ <rng:ref name="common-decimal-places-attlist"/>
+ <rng:ref name="common-number-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-scientific-number-attlist">
+ <rng:optional>
+ <rng:attribute name="number:min-exponent-digits">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="number-seconds">
+ <rng:element name="number:seconds">
+ <rng:ref name="number-seconds-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-seconds-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="number:style">
+ <rng:choice>
+ <rng:value>short</rng:value>
+ <rng:value>long</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="number:decimal-places">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="number-text">
+ <rng:element name="number:text">
+ <rng:text/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-text-content">
+ <rng:element name="number:text-content">
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-text-style">
+ <rng:element name="number:text-style">
+ <rng:ref name="common-data-style-attlist"/>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="number-text"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="number-text-content"/>
+ <rng:optional>
+ <rng:ref name="number-text"/>
+ </rng:optional>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="style-map"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-time-style">
+ <rng:element name="number:time-style">
+ <rng:ref name="number-time-style-attlist"/>
+ <rng:ref name="common-data-style-attlist"/>
+ <rng:ref name="common-format-source-attlist"/>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="number-text"/>
+ </rng:optional>
+ <rng:oneOrMore>
+ <rng:ref name="any-time"/>
+ <rng:optional>
+ <rng:ref name="number-text"/>
+ </rng:optional>
+ </rng:oneOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="style-map"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-time-style-attlist">
+ <rng:optional>
+ <rng:attribute name="number:truncate-on-overflow">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="number-week-of-year">
+ <rng:element name="number:week-of-year">
+ <rng:ref name="common-calendar-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-year">
+ <rng:element name="number:year">
+ <rng:ref name="number-year-attlist"/>
+ <rng:ref name="common-calendar-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="number-year-attlist">
+ <rng:optional>
+ <rng:attribute name="number:style">
+ <rng:choice>
+ <rng:value>short</rng:value>
+ <rng:value>long</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="office-annotation">
+ <rng:element name="office:annotation">
+ <rng:ref name="office-annotation-attlist"/>
+ <rng:ref name="draw-caption-attlist"/>
+ <rng:ref name="common-draw-position-attlist"/>
+ <rng:ref name="common-draw-size-attlist"/>
+ <rng:ref name="common-draw-shape-with-text-and-styles-attlist"/>
+ <rng:optional>
+ <rng:ref name="dc-creator"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="dc-date"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="meta-date-string"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="text-p"/>
+ <rng:ref name="text-list"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="office-annotation-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="office:display">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="common-office-annotation-name-attlist"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="office-annotation-end">
+ <rng:element name="office:annotation-end">
+ <rng:ref name="office-annotation-end-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="office-annotation-end-attlist">
+ <rng:ref name="common-office-annotation-name-attlist"/>
+ </rng:define>
+ <rng:define name="office-automatic-styles">
+ <rng:optional>
+ <rng:element name="office:automatic-styles">
+ <rng:interleave>
+ <rng:ref name="styles"/>
+ <rng:zeroOrMore>
+ <rng:ref name="style-page-layout"/>
+ </rng:zeroOrMore>
+ </rng:interleave>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="office-binary-data">
+ <rng:element name="office:binary-data">
+ <rng:ref name="base64Binary"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="office-body">
+ <rng:element name="office:body">
+ <rng:ref name="office-body-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="office-body-content">
+ <rng:choice>
+ <rng:element name="office:text">
+ <rng:ref name="office-text-attlist"/>
+ <rng:ref name="office-text-content-prelude"/>
+ <rng:ref name="office-text-content-main"/>
+ <rng:ref name="office-text-content-epilogue"/>
+ </rng:element>
+ <rng:element name="office:drawing">
+ <rng:ref name="office-drawing-attlist"/>
+ <rng:ref name="office-drawing-content-prelude"/>
+ <rng:ref name="office-drawing-content-main"/>
+ <rng:ref name="office-drawing-content-epilogue"/>
+ </rng:element>
+ <rng:element name="office:presentation">
+ <rng:ref name="office-presentation-attlist"/>
+ <rng:ref name="office-presentation-content-prelude"/>
+ <rng:ref name="office-presentation-content-main"/>
+ <rng:ref name="office-presentation-content-epilogue"/>
+ </rng:element>
+ <rng:element name="office:spreadsheet">
+ <rng:ref name="office-spreadsheet-attlist"/>
+ <rng:ref name="office-spreadsheet-content-prelude"/>
+ <rng:ref name="office-spreadsheet-content-main"/>
+ <rng:ref name="office-spreadsheet-content-epilogue"/>
+ </rng:element>
+ <rng:element name="office:chart">
+ <rng:ref name="office-chart-attlist"/>
+ <rng:ref name="office-chart-content-prelude"/>
+ <rng:ref name="office-chart-content-main"/>
+ <rng:ref name="office-chart-content-epilogue"/>
+ </rng:element>
+ <rng:element name="office:image">
+ <rng:ref name="office-image-attlist"/>
+ <rng:ref name="office-image-content-prelude"/>
+ <rng:ref name="office-image-content-main"/>
+ <rng:ref name="office-image-content-epilogue"/>
+ </rng:element>
+ <rng:ref name="office-database"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="office-change-info">
+ <rng:element name="office:change-info">
+ <rng:ref name="dc-creator"/>
+ <rng:ref name="dc-date"/>
+ <rng:zeroOrMore>
+ <rng:ref name="text-p"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="office-chart-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="office-chart-content-epilogue">
+ <rng:ref name="table-functions"/>
+ </rng:define>
+ <rng:define name="office-chart-content-main">
+ <rng:ref name="chart-chart"/>
+ </rng:define>
+ <rng:define name="office-chart-content-prelude">
+ <rng:ref name="text-decls"/>
+ <rng:ref name="table-decls"/>
+ </rng:define>
+ <rng:define name="office-database">
+ <rng:element name="office:database">
+ <rng:ref name="db-data-source"/>
+ <rng:optional>
+ <rng:ref name="db-forms"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-reports"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-queries"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-table-presentations"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="db-schema-definition"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="office-dde-source">
+ <rng:element name="office:dde-source">
+ <rng:ref name="office-dde-source-attlist"/>
+ <rng:ref name="common-dde-connection-decl-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="office-dde-source-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="office:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="office:conversion-mode">
+ <rng:choice>
+ <rng:value>into-default-style-data-style</rng:value>
+ <rng:value>into-english-number</rng:value>
+ <rng:value>keep-text</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="office-document">
+ <rng:element name="office:document">
+ <rng:ref name="office-document-attrs"/>
+ <rng:ref name="office-document-common-attrs"/>
+ <rng:ref name="office-meta"/>
+ <rng:ref name="office-settings"/>
+ <rng:ref name="office-scripts"/>
+ <rng:ref name="office-font-face-decls"/>
+ <rng:ref name="office-styles"/>
+ <rng:ref name="office-automatic-styles"/>
+ <rng:ref name="office-master-styles"/>
+ <rng:ref name="office-body"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="office-document-attrs">
+ <rng:attribute name="office:mimetype">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="office-document-common-attrs">
+ <rng:interleave>
+ <rng:attribute name="office:version">
+ <rng:value>1.3</rng:value>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="grddl:transformation">
+ <rng:list>
+ <rng:zeroOrMore>
+ <rng:ref name="anyIRI"/>
+ </rng:zeroOrMore>
+ </rng:list>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="office-document-content">
+ <rng:element name="office:document-content">
+ <rng:ref name="office-document-common-attrs"/>
+ <rng:ref name="office-scripts"/>
+ <rng:ref name="office-font-face-decls"/>
+ <rng:ref name="office-automatic-styles"/>
+ <rng:ref name="office-body"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="office-document-meta">
+ <rng:element name="office:document-meta">
+ <rng:ref name="office-document-common-attrs"/>
+ <rng:ref name="office-meta"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="office-document-settings">
+ <rng:element name="office:document-settings">
+ <rng:ref name="office-document-common-attrs"/>
+ <rng:ref name="office-settings"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="office-document-styles">
+ <rng:element name="office:document-styles">
+ <rng:ref name="office-document-common-attrs"/>
+ <rng:ref name="office-font-face-decls"/>
+ <rng:ref name="office-styles"/>
+ <rng:ref name="office-automatic-styles"/>
+ <rng:ref name="office-master-styles"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="office-drawing-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="office-drawing-content-epilogue">
+ <rng:ref name="table-functions"/>
+ </rng:define>
+ <rng:define name="office-drawing-content-main">
+ <rng:zeroOrMore>
+ <rng:ref name="draw-page"/>
+ </rng:zeroOrMore>
+ </rng:define>
+ <rng:define name="office-drawing-content-prelude">
+ <rng:ref name="text-decls"/>
+ <rng:ref name="table-decls"/>
+ </rng:define>
+ <rng:define name="office-event-listeners">
+ <rng:element name="office:event-listeners">
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="script-event-listener"/>
+ <rng:ref name="presentation-event-listener"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="office-font-face-decls">
+ <rng:optional>
+ <rng:element name="office:font-face-decls">
+ <rng:zeroOrMore>
+ <rng:ref name="style-font-face"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="office-forms">
+ <rng:optional>
+ <rng:element name="office:forms">
+ <rng:ref name="office-forms-attlist"/>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="form-form"/>
+ <rng:ref name="xforms-model"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="office-forms-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="form:automatic-focus">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="form:apply-design-mode">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="office-image-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="office-image-content-epilogue">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="office-image-content-main">
+ <rng:ref name="draw-frame"/>
+ </rng:define>
+ <rng:define name="office-image-content-prelude">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="office-master-styles">
+ <rng:optional>
+ <rng:element name="office:master-styles">
+ <rng:interleave>
+ <rng:zeroOrMore>
+ <rng:ref name="style-master-page"/>
+ </rng:zeroOrMore>
+ <rng:optional>
+ <rng:ref name="style-handout-master"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="draw-layer-set"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="office-meta">
+ <rng:optional>
+ <rng:element name="office:meta">
+ <rng:ref name="office-meta-content-strict"/>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="office-meta-content-strict">
+ <rng:zeroOrMore>
+ <rng:ref name="office-meta-data"/>
+ </rng:zeroOrMore>
+ </rng:define>
+ <rng:define name="office-meta-data">
+ <rng:choice>
+ <rng:element name="meta:generator">
+ <rng:ref name="string"/>
+ </rng:element>
+ <rng:element name="dc:title">
+ <rng:ref name="string"/>
+ </rng:element>
+ <rng:element name="dc:description">
+ <rng:ref name="string"/>
+ </rng:element>
+ <rng:element name="dc:subject">
+ <rng:ref name="string"/>
+ </rng:element>
+ <rng:element name="meta:keyword">
+ <rng:ref name="string"/>
+ </rng:element>
+ <rng:element name="meta:initial-creator">
+ <rng:ref name="string"/>
+ </rng:element>
+ <rng:ref name="dc-creator"/>
+ <rng:element name="meta:printed-by">
+ <rng:ref name="string"/>
+ </rng:element>
+ <rng:element name="meta:creation-date">
+ <rng:ref name="dateTime"/>
+ </rng:element>
+ <rng:ref name="dc-date"/>
+ <rng:element name="meta:print-date">
+ <rng:ref name="dateTime"/>
+ </rng:element>
+ <rng:element name="meta:template">
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:actuate">
+ <rng:value>onRequest</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="xlink:title">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:date">
+ <rng:ref name="dateTime"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:element>
+ <rng:element name="meta:auto-reload">
+ <rng:optional>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:show">
+ <rng:value>replace</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="xlink:actuate">
+ <rng:value>onLoad</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:delay">
+ <rng:ref name="duration"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:element>
+ <rng:element name="meta:hyperlink-behaviour">
+ <rng:optional>
+ <rng:attribute name="office:target-frame-name">
+ <rng:ref name="targetFrameName"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="xlink:show">
+ <rng:choice>
+ <rng:value>new</rng:value>
+ <rng:value>replace</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:element>
+ <rng:element name="dc:language">
+ <rng:ref name="language"/>
+ </rng:element>
+ <rng:element name="meta:editing-cycles">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:element>
+ <rng:element name="meta:editing-duration">
+ <rng:ref name="duration"/>
+ </rng:element>
+ <rng:element name="meta:document-statistic">
+ <rng:optional>
+ <rng:attribute name="meta:page-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:table-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:draw-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:image-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:ole-object-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:object-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:paragraph-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:word-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:character-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:frame-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:sentence-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:syllable-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:non-whitespace-character-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:row-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="meta:cell-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:element>
+ <rng:element name="meta:user-defined">
+ <rng:attribute name="meta:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:choice>
+ <rng:group>
+ <rng:attribute name="meta:value-type">
+ <rng:value>float</rng:value>
+ </rng:attribute>
+ <rng:ref name="double"/>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="meta:value-type">
+ <rng:value>date</rng:value>
+ </rng:attribute>
+ <rng:ref name="dateOrDateTime"/>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="meta:value-type">
+ <rng:value>time</rng:value>
+ </rng:attribute>
+ <rng:ref name="duration"/>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="meta:value-type">
+ <rng:value>boolean</rng:value>
+ </rng:attribute>
+ <rng:ref name="boolean"/>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="meta:value-type">
+ <rng:value>string</rng:value>
+ </rng:attribute>
+ <rng:ref name="string"/>
+ </rng:group>
+ <rng:text/>
+ </rng:choice>
+ </rng:element>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="office-presentation-attlist">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="office-presentation-content-epilogue">
+ <rng:ref name="presentation-settings"/>
+ <rng:ref name="table-functions"/>
+ </rng:define>
+ <rng:define name="office-presentation-content-main">
+ <rng:zeroOrMore>
+ <rng:ref name="draw-page"/>
+ </rng:zeroOrMore>
+ </rng:define>
+ <rng:define name="office-presentation-content-prelude">
+ <rng:ref name="text-decls"/>
+ <rng:ref name="table-decls"/>
+ <rng:ref name="presentation-decls"/>
+ </rng:define>
+ <rng:define name="office-process-content">
+ <rng:optional>
+ <rng:attribute name="office:process-content">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="office-script">
+ <rng:element name="office:script">
+ <rng:ref name="office-script-attlist"/>
+ <rng:mixed>
+ <rng:ref name="anyElements"/>
+ </rng:mixed>
+ </rng:element>
+ </rng:define>
+ <rng:define name="office-script-attlist">
+ <rng:attribute name="script:language">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="office-scripts">
+ <rng:optional>
+ <rng:element name="office:scripts">
+ <rng:zeroOrMore>
+ <rng:ref name="office-script"/>
+ </rng:zeroOrMore>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="office-settings">
+ <rng:optional>
+ <rng:element name="office:settings">
+ <rng:oneOrMore>
+ <rng:ref name="config-config-item-set"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="office-spreadsheet-attlist">
+ <rng:optional>
+ <rng:attribute name="table:structure-protected">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:protection-key">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:protection-key-digest-algorithm">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="office-spreadsheet-content-epilogue">
+ <rng:ref name="table-functions"/>
+ </rng:define>
+ <rng:define name="office-spreadsheet-content-main">
+ <rng:zeroOrMore>
+ <rng:ref name="table-table"/>
+ </rng:zeroOrMore>
+ </rng:define>
+ <rng:define name="office-spreadsheet-content-prelude">
+ <rng:optional>
+ <rng:ref name="table-tracked-changes"/>
+ </rng:optional>
+ <rng:ref name="text-decls"/>
+ <rng:ref name="table-decls"/>
+ </rng:define>
+ <rng:define name="office-styles">
+ <rng:optional>
+ <rng:element name="office:styles">
+ <rng:interleave>
+ <rng:ref name="styles"/>
+ <rng:zeroOrMore>
+ <rng:ref name="style-default-style"/>
+ </rng:zeroOrMore>
+ <rng:optional>
+ <rng:ref name="style-default-page-layout"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="text-outline-style"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="text-notes-configuration"/>
+ </rng:zeroOrMore>
+ <rng:optional>
+ <rng:ref name="text-bibliography-configuration"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="text-linenumbering-configuration"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-gradient"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="svg-linearGradient"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="svg-radialGradient"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-hatch"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-fill-image"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-marker"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-stroke-dash"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="draw-opacity"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="style-presentation-page-layout"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="table-table-template"/>
+ </rng:zeroOrMore>
+ </rng:interleave>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="office-text-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:global">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:use-soft-page-breaks">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="office-text-content-epilogue">
+ <rng:ref name="table-functions"/>
+ </rng:define>
+ <rng:define name="office-text-content-main">
+ <rng:choice>
+ <rng:zeroOrMore>
+ <rng:ref name="text-content"/>
+ </rng:zeroOrMore>
+ <rng:group>
+ <rng:ref name="text-page-sequence"/>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="shape"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:group>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="office-text-content-prelude">
+ <rng:ref name="office-forms"/>
+ <rng:ref name="text-tracked-changes"/>
+ <rng:ref name="text-decls"/>
+ <rng:ref name="table-decls"/>
+ </rng:define>
+ <rng:define name="paragraph-attrs">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:class-names">
+ <rng:ref name="styleNameRefs"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:cond-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:group>
+ <rng:ref name="xml-id"/>
+ <rng:optional>
+ <rng:attribute name="text:id">
+ <rng:ref name="NCName"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="common-in-content-meta-attlist"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="paragraph-content">
+ <rng:choice>
+ <rng:text/>
+ <rng:element name="text:s">
+ <rng:optional>
+ <rng:attribute name="text:c">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:element>
+ <rng:element name="text:tab">
+ <rng:ref name="text-tab-attr"/>
+ </rng:element>
+ <rng:element name="text:line-break">
+ <rng:empty/>
+ </rng:element>
+ <rng:ref name="text-soft-page-break"/>
+ <rng:element name="text:span">
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:class-names">
+ <rng:ref name="styleNameRefs"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="paragraph-content-or-hyperlink"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ <rng:element name="text:meta">
+ <rng:ref name="text-meta-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="paragraph-content-or-hyperlink"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ <rng:choice>
+ <rng:ref name="text-bookmark"/>
+ <rng:ref name="text-bookmark-start"/>
+ <rng:ref name="text-bookmark-end"/>
+ </rng:choice>
+ <rng:element name="text:reference-mark">
+ <rng:attribute name="text:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:element>
+ <rng:choice>
+ <rng:element name="text:reference-mark-start">
+ <rng:attribute name="text:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:element>
+ <rng:element name="text:reference-mark-end">
+ <rng:attribute name="text:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:element>
+ </rng:choice>
+ <rng:element name="text:note">
+ <rng:ref name="text-note-class"/>
+ <rng:optional>
+ <rng:attribute name="text:id">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:element name="text:note-citation">
+ <rng:optional>
+ <rng:attribute name="text:label">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:note-body">
+ <rng:zeroOrMore>
+ <rng:ref name="text-content"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:element>
+ <rng:element name="text:ruby">
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:element name="text:ruby-base">
+ <rng:zeroOrMore>
+ <rng:ref name="paragraph-content-or-hyperlink"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ <rng:element name="text:ruby-text">
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:text/>
+ </rng:element>
+ </rng:element>
+ <rng:choice>
+ <rng:ref name="office-annotation"/>
+ <rng:ref name="office-annotation-end"/>
+ </rng:choice>
+ <rng:ref name="change-marks"/>
+ <rng:ref name="shape"/>
+ <rng:element name="text:date">
+ <rng:ref name="text-date-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:time">
+ <rng:ref name="text-time-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:page-number">
+ <rng:ref name="text-page-number-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:page-continuation">
+ <rng:ref name="text-page-continuation-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-firstname">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-lastname">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-initials">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-title">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-position">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-email">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-phone-private">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-fax">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-company">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-phone-work">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-street">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-city">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-postal-code">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-country">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sender-state-or-province">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:author-name">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:author-initials">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:chapter">
+ <rng:ref name="text-chapter-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:file-name">
+ <rng:ref name="text-file-name-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:template-name">
+ <rng:ref name="text-template-name-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sheet-name">
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:variable-set">
+ <rng:interleave>
+ <rng:ref name="common-field-name-attlist"/>
+ <rng:ref name="common-field-formula-attlist"/>
+ <rng:ref name="common-value-and-type-attlist"/>
+ <rng:ref name="common-field-display-value-none-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:variable-get">
+ <rng:interleave>
+ <rng:ref name="common-field-name-attlist"/>
+ <rng:ref name="common-field-display-value-formula-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:variable-input">
+ <rng:interleave>
+ <rng:ref name="common-field-name-attlist"/>
+ <rng:ref name="common-field-description-attlist"/>
+ <rng:ref name="common-value-type-attlist"/>
+ <rng:ref name="common-field-display-value-none-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:user-field-get">
+ <rng:interleave>
+ <rng:ref name="common-field-name-attlist"/>
+ <rng:ref name="common-field-display-value-formula-none-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:user-field-input">
+ <rng:interleave>
+ <rng:ref name="common-field-name-attlist"/>
+ <rng:ref name="common-field-description-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:sequence">
+ <rng:interleave>
+ <rng:ref name="common-field-name-attlist"/>
+ <rng:ref name="common-field-formula-attlist"/>
+ <rng:ref name="common-field-num-format-attlist"/>
+ <rng:ref name="text-sequence-ref-name"/>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:expression">
+ <rng:interleave>
+ <rng:ref name="common-field-formula-attlist"/>
+ <rng:optional>
+ <rng:ref name="common-value-and-type-attlist"/>
+ </rng:optional>
+ <rng:ref name="common-field-display-value-formula-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:text-input">
+ <rng:ref name="common-field-description-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:initial-creator">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:creation-date">
+ <rng:interleave>
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ <rng:optional>
+ <rng:attribute name="text:date-value">
+ <rng:ref name="dateOrDateTime"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:creation-time">
+ <rng:interleave>
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ <rng:optional>
+ <rng:attribute name="text:time-value">
+ <rng:ref name="timeOrDateTime"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:description">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:user-defined">
+ <rng:interleave>
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:attribute name="text:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ <rng:optional>
+ <rng:attribute name="office:value">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="office:date-value">
+ <rng:ref name="dateOrDateTime"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="office:time-value">
+ <rng:ref name="duration"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="office:boolean-value">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="office:string-value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:print-time">
+ <rng:interleave>
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ <rng:optional>
+ <rng:attribute name="text:time-value">
+ <rng:ref name="time"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:print-date">
+ <rng:interleave>
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ <rng:optional>
+ <rng:attribute name="text:date-value">
+ <rng:ref name="date"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:printed-by">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:title">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:subject">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:keywords">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:editing-cycles">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:editing-duration">
+ <rng:interleave>
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ <rng:optional>
+ <rng:attribute name="text:duration">
+ <rng:ref name="duration"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:modification-time">
+ <rng:interleave>
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ <rng:optional>
+ <rng:attribute name="text:time-value">
+ <rng:ref name="time"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:modification-date">
+ <rng:interleave>
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ <rng:optional>
+ <rng:attribute name="text:date-value">
+ <rng:ref name="date"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:creator">
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element>
+ <rng:choice>
+ <rng:name>text:page-count</rng:name>
+ <rng:name>text:paragraph-count</rng:name>
+ <rng:name>text:word-count</rng:name>
+ <rng:name>text:character-count</rng:name>
+ <rng:name>text:table-count</rng:name>
+ <rng:name>text:image-count</rng:name>
+ <rng:name>text:object-count</rng:name>
+ </rng:choice>
+ <rng:ref name="common-field-num-format-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:database-display">
+ <rng:ref name="text-database-display-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:database-next">
+ <rng:ref name="text-database-next-attlist"/>
+ </rng:element>
+ <rng:element name="text:database-row-select">
+ <rng:ref name="text-database-row-select-attlist"/>
+ </rng:element>
+ <rng:element name="text:database-row-number">
+ <rng:interleave>
+ <rng:ref name="common-field-database-table"/>
+ <rng:ref name="common-field-num-format-attlist"/>
+ <rng:optional>
+ <rng:attribute name="text:value">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:database-name">
+ <rng:ref name="common-field-database-table"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:page-variable-set">
+ <rng:ref name="text-set-page-variable-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:page-variable-get">
+ <rng:ref name="text-get-page-variable-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:placeholder">
+ <rng:ref name="text-placeholder-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:conditional-text">
+ <rng:ref name="text-conditional-text-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:hidden-text">
+ <rng:ref name="text-hidden-text-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element>
+ <rng:choice>
+ <rng:name>text:reference-ref</rng:name>
+ <rng:name>text:bookmark-ref</rng:name>
+ </rng:choice>
+ <rng:interleave>
+ <rng:ref name="text-common-ref-content"/>
+ <rng:ref name="text-bookmark-ref-content"/>
+ </rng:interleave>
+ </rng:element>
+ <rng:element name="text:note-ref">
+ <rng:interleave>
+ <rng:ref name="text-common-ref-content"/>
+ <rng:ref name="text-note-ref-content"/>
+ </rng:interleave>
+ </rng:element>
+ <rng:element name="text:sequence-ref">
+ <rng:interleave>
+ <rng:ref name="text-common-ref-content"/>
+ <rng:ref name="text-sequence-ref-content"/>
+ </rng:interleave>
+ </rng:element>
+ <rng:element name="text:script">
+ <rng:interleave>
+ <rng:choice>
+ <rng:group>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ </rng:group>
+ <rng:text/>
+ </rng:choice>
+ <rng:optional>
+ <rng:attribute name="script:language">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:element>
+ <rng:element name="text:execute-macro">
+ <rng:optional>
+ <rng:attribute name="text:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:hidden-paragraph">
+ <rng:ref name="text-hidden-paragraph-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:dde-connection">
+ <rng:attribute name="text:connection-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:measure">
+ <rng:attribute name="text:kind">
+ <rng:choice>
+ <rng:value>value</rng:value>
+ <rng:value>unit</rng:value>
+ <rng:value>gap</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:table-formula">
+ <rng:interleave>
+ <rng:ref name="common-field-formula-attlist"/>
+ <rng:ref name="common-field-display-value-formula-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ </rng:interleave>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="text:meta-field">
+ <rng:ref name="text-meta-field-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="paragraph-content-or-hyperlink"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ <rng:element name="text:toc-mark-start">
+ <rng:ref name="text-toc-mark-start-attrs"/>
+ </rng:element>
+ <rng:element name="text:toc-mark-end">
+ <rng:ref name="text-id"/>
+ </rng:element>
+ <rng:element name="text:toc-mark">
+ <rng:attribute name="text:string-value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:ref name="text-outline-level"/>
+ </rng:element>
+ <rng:element name="text:user-index-mark-start">
+ <rng:ref name="text-id"/>
+ <rng:ref name="text-outline-level"/>
+ <rng:ref name="text-index-name"/>
+ </rng:element>
+ <rng:element name="text:user-index-mark-end">
+ <rng:ref name="text-id"/>
+ </rng:element>
+ <rng:element name="text:user-index-mark">
+ <rng:attribute name="text:string-value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:ref name="text-outline-level"/>
+ <rng:ref name="text-index-name"/>
+ </rng:element>
+ <rng:element name="text:alphabetical-index-mark-start">
+ <rng:ref name="text-id"/>
+ <rng:ref name="text-alphabetical-index-mark-attrs"/>
+ </rng:element>
+ <rng:element name="text:alphabetical-index-mark-end">
+ <rng:ref name="text-id"/>
+ </rng:element>
+ <rng:element name="text:alphabetical-index-mark">
+ <rng:attribute name="text:string-value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:ref name="text-alphabetical-index-mark-attrs"/>
+ </rng:element>
+ <rng:element name="text:bibliography-mark">
+ <rng:attribute name="text:bibliography-type">
+ <rng:ref name="text-bibliography-types"/>
+ </rng:attribute>
+ <rng:zeroOrMore>
+ <rng:attribute>
+ <rng:choice>
+ <rng:name>text:identifier</rng:name>
+ <rng:name>text:address</rng:name>
+ <rng:name>text:annote</rng:name>
+ <rng:name>text:author</rng:name>
+ <rng:name>text:booktitle</rng:name>
+ <rng:name>text:chapter</rng:name>
+ <rng:name>text:edition</rng:name>
+ <rng:name>text:editor</rng:name>
+ <rng:name>text:howpublished</rng:name>
+ <rng:name>text:institution</rng:name>
+ <rng:name>text:journal</rng:name>
+ <rng:name>text:month</rng:name>
+ <rng:name>text:note</rng:name>
+ <rng:name>text:number</rng:name>
+ <rng:name>text:organizations</rng:name>
+ <rng:name>text:pages</rng:name>
+ <rng:name>text:publisher</rng:name>
+ <rng:name>text:school</rng:name>
+ <rng:name>text:series</rng:name>
+ <rng:name>text:title</rng:name>
+ <rng:name>text:report-type</rng:name>
+ <rng:name>text:volume</rng:name>
+ <rng:name>text:year</rng:name>
+ <rng:name>text:url</rng:name>
+ <rng:name>text:custom1</rng:name>
+ <rng:name>text:custom2</rng:name>
+ <rng:name>text:custom3</rng:name>
+ <rng:name>text:custom4</rng:name>
+ <rng:name>text:custom5</rng:name>
+ <rng:name>text:isbn</rng:name>
+ <rng:name>text:issn</rng:name>
+ </rng:choice>
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:zeroOrMore>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="presentation:header">
+ <rng:empty/>
+ </rng:element>
+ <rng:element name="presentation:footer">
+ <rng:empty/>
+ </rng:element>
+ <rng:element name="presentation:date-time">
+ <rng:empty/>
+ </rng:element>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="paragraph-content-or-hyperlink">
+ <rng:choice>
+ <rng:ref name="paragraph-content"/>
+ <rng:ref name="text-a"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="pathData">
+ <rng:data type="string"/>
+ </rng:define>
+ <rng:define name="percent">
+ <rng:data type="string">
+ <rng:param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)%</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="point3D">
+ <rng:data type="string">
+ <rng:param name="pattern">\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc))([ ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc))){2}[ ]*\)</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="points">
+ <rng:data type="string">
+ <rng:param name="pattern">-?[0-9]+,-?[0-9]+([ ]+-?[0-9]+,-?[0-9]+)*</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="positiveInteger">
+ <rng:data type="positiveInteger"/>
+ </rng:define>
+ <rng:define name="positiveLength">
+ <rng:data type="string">
+ <rng:param name="pattern">([0-9]*[1-9][0-9]*(\.[0-9]*)?|0+\.[0-9]*[1-9][0-9]*|\.[0-9]*[1-9][0-9]*)((cm)|(mm)|(in)|(pt)|(pc)|(px))</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="presentation-animation-elements">
+ <rng:choice>
+ <rng:ref name="presentation-show-shape"/>
+ <rng:ref name="presentation-show-text"/>
+ <rng:ref name="presentation-hide-shape"/>
+ <rng:ref name="presentation-hide-text"/>
+ <rng:ref name="presentation-dim"/>
+ <rng:ref name="presentation-play"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="presentation-animation-group">
+ <rng:element name="presentation:animation-group">
+ <rng:zeroOrMore>
+ <rng:ref name="presentation-animation-elements"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="presentation-animations">
+ <rng:element name="presentation:animations">
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="presentation-animation-elements"/>
+ <rng:ref name="presentation-animation-group"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="presentation-classes">
+ <rng:choice>
+ <rng:value>title</rng:value>
+ <rng:value>outline</rng:value>
+ <rng:value>subtitle</rng:value>
+ <rng:value>text</rng:value>
+ <rng:value>graphic</rng:value>
+ <rng:value>object</rng:value>
+ <rng:value>chart</rng:value>
+ <rng:value>table</rng:value>
+ <rng:value>orgchart</rng:value>
+ <rng:value>page</rng:value>
+ <rng:value>notes</rng:value>
+ <rng:value>handout</rng:value>
+ <rng:value>header</rng:value>
+ <rng:value>footer</rng:value>
+ <rng:value>date-time</rng:value>
+ <rng:value>page-number</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="presentation-date-time-decl-attlist">
+ <rng:interleave>
+ <rng:attribute name="presentation:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="presentation:source">
+ <rng:choice>
+ <rng:value>fixed</rng:value>
+ <rng:value>current-date</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="style:data-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="presentation-decl">
+ <rng:choice>
+ <rng:element name="presentation:header-decl">
+ <rng:ref name="presentation-header-decl-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="presentation:footer-decl">
+ <rng:ref name="presentation-footer-decl-attlist"/>
+ <rng:text/>
+ </rng:element>
+ <rng:element name="presentation:date-time-decl">
+ <rng:ref name="presentation-date-time-decl-attlist"/>
+ <rng:text/>
+ </rng:element>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="presentation-decls">
+ <rng:zeroOrMore>
+ <rng:ref name="presentation-decl"/>
+ </rng:zeroOrMore>
+ </rng:define>
+ <rng:define name="presentation-dim">
+ <rng:element name="presentation:dim">
+ <rng:ref name="presentation-dim-attlist"/>
+ <rng:optional>
+ <rng:ref name="presentation-sound"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="presentation-dim-attlist">
+ <rng:interleave>
+ <rng:attribute name="draw:shape-id">
+ <rng:ref name="IDREF"/>
+ </rng:attribute>
+ <rng:attribute name="draw:color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="presentation-event-listener">
+ <rng:element name="presentation:event-listener">
+ <rng:ref name="presentation-event-listener-attlist"/>
+ <rng:optional>
+ <rng:ref name="presentation-sound"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="presentation-event-listener-attlist">
+ <rng:interleave>
+ <rng:attribute name="script:event-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="presentation:action">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>previous-page</rng:value>
+ <rng:value>next-page</rng:value>
+ <rng:value>first-page</rng:value>
+ <rng:value>last-page</rng:value>
+ <rng:value>hide</rng:value>
+ <rng:value>stop</rng:value>
+ <rng:value>execute</rng:value>
+ <rng:value>show</rng:value>
+ <rng:value>verb</rng:value>
+ <rng:value>fade-out</rng:value>
+ <rng:value>sound</rng:value>
+ <rng:value>last-visited-page</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="presentation:effect">
+ <rng:ref name="presentationEffects"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:direction">
+ <rng:ref name="presentationEffectDirections"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:speed">
+ <rng:ref name="presentationSpeeds"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:start-scale">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:show">
+ <rng:value>embed</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="xlink:actuate">
+ <rng:value>onRequest</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:verb">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="presentation-footer-decl-attlist">
+ <rng:attribute name="presentation:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="presentation-header-decl-attlist">
+ <rng:attribute name="presentation:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="presentation-hide-shape">
+ <rng:element name="presentation:hide-shape">
+ <rng:ref name="common-presentation-effect-attlist"/>
+ <rng:optional>
+ <rng:ref name="presentation-sound"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="presentation-hide-text">
+ <rng:element name="presentation:hide-text">
+ <rng:ref name="common-presentation-effect-attlist"/>
+ <rng:optional>
+ <rng:ref name="presentation-sound"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="presentation-notes">
+ <rng:element name="presentation:notes">
+ <rng:ref name="common-presentation-header-footer-attlist"/>
+ <rng:ref name="presentation-notes-attlist"/>
+ <rng:ref name="office-forms"/>
+ <rng:zeroOrMore>
+ <rng:ref name="shape"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="presentation-notes-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="style:page-layout-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="presentation-placeholder">
+ <rng:element name="presentation:placeholder">
+ <rng:attribute name="presentation:object">
+ <rng:ref name="presentation-classes"/>
+ </rng:attribute>
+ <rng:attribute name="svg:x">
+ <rng:choice>
+ <rng:ref name="coordinate"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="svg:y">
+ <rng:choice>
+ <rng:ref name="coordinate"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="svg:width">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="svg:height">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="presentation-play">
+ <rng:element name="presentation:play">
+ <rng:ref name="presentation-play-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="presentation-play-attlist">
+ <rng:attribute name="draw:shape-id">
+ <rng:ref name="IDREF"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="presentation:speed">
+ <rng:ref name="presentationSpeeds"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="presentation-settings">
+ <rng:optional>
+ <rng:element name="presentation:settings">
+ <rng:ref name="presentation-settings-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="presentation-show"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="presentation-settings-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="presentation:start-page">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:show">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:full-screen">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:endless">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:pause">
+ <rng:ref name="duration"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:show-logo">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:force-manual">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:mouse-visible">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:mouse-as-pen">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:start-with-navigator">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:animations">
+ <rng:choice>
+ <rng:value>enabled</rng:value>
+ <rng:value>disabled</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:transition-on-click">
+ <rng:choice>
+ <rng:value>enabled</rng:value>
+ <rng:value>disabled</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:stay-on-top">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:show-end-of-presentation-slide">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="presentation-shape-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="presentation:class">
+ <rng:ref name="presentation-classes"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:placeholder">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:user-transformed">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="presentation-show">
+ <rng:element name="presentation:show">
+ <rng:ref name="presentation-show-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="presentation-show-attlist">
+ <rng:interleave>
+ <rng:attribute name="presentation:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="presentation:pages">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="presentation-show-shape">
+ <rng:element name="presentation:show-shape">
+ <rng:ref name="common-presentation-effect-attlist"/>
+ <rng:optional>
+ <rng:ref name="presentation-sound"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="presentation-show-text">
+ <rng:element name="presentation:show-text">
+ <rng:ref name="common-presentation-effect-attlist"/>
+ <rng:optional>
+ <rng:ref name="presentation-sound"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="presentation-sound">
+ <rng:element name="presentation:sound">
+ <rng:ref name="presentation-sound-attlist"/>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:actuate">
+ <rng:value>onRequest</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="xlink:show">
+ <rng:choice>
+ <rng:value>new</rng:value>
+ <rng:value>replace</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="presentation-sound-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="presentation:play-full">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="presentationEffectDirections">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>from-left</rng:value>
+ <rng:value>from-top</rng:value>
+ <rng:value>from-right</rng:value>
+ <rng:value>from-bottom</rng:value>
+ <rng:value>from-center</rng:value>
+ <rng:value>from-upper-left</rng:value>
+ <rng:value>from-upper-right</rng:value>
+ <rng:value>from-lower-left</rng:value>
+ <rng:value>from-lower-right</rng:value>
+ <rng:value>to-left</rng:value>
+ <rng:value>to-top</rng:value>
+ <rng:value>to-right</rng:value>
+ <rng:value>to-bottom</rng:value>
+ <rng:value>to-upper-left</rng:value>
+ <rng:value>to-upper-right</rng:value>
+ <rng:value>to-lower-right</rng:value>
+ <rng:value>to-lower-left</rng:value>
+ <rng:value>path</rng:value>
+ <rng:value>spiral-inward-left</rng:value>
+ <rng:value>spiral-inward-right</rng:value>
+ <rng:value>spiral-outward-left</rng:value>
+ <rng:value>spiral-outward-right</rng:value>
+ <rng:value>vertical</rng:value>
+ <rng:value>horizontal</rng:value>
+ <rng:value>to-center</rng:value>
+ <rng:value>clockwise</rng:value>
+ <rng:value>counter-clockwise</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="presentationEffects">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>fade</rng:value>
+ <rng:value>move</rng:value>
+ <rng:value>stripes</rng:value>
+ <rng:value>open</rng:value>
+ <rng:value>close</rng:value>
+ <rng:value>dissolve</rng:value>
+ <rng:value>wavyline</rng:value>
+ <rng:value>random</rng:value>
+ <rng:value>lines</rng:value>
+ <rng:value>laser</rng:value>
+ <rng:value>appear</rng:value>
+ <rng:value>hide</rng:value>
+ <rng:value>move-short</rng:value>
+ <rng:value>checkerboard</rng:value>
+ <rng:value>rotate</rng:value>
+ <rng:value>stretch</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="presentationSpeeds">
+ <rng:choice>
+ <rng:value>slow</rng:value>
+ <rng:value>medium</rng:value>
+ <rng:value>fast</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="region-content">
+ <rng:zeroOrMore>
+ <rng:ref name="text-p"/>
+ </rng:zeroOrMore>
+ </rng:define>
+ <rng:define name="relativeLength">
+ <rng:data type="string">
+ <rng:param name="pattern">[0-9]+\*</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="rowOrCol">
+ <rng:choice>
+ <rng:value>row</rng:value>
+ <rng:value>column</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="script-event-listener">
+ <rng:element name="script:event-listener">
+ <rng:ref name="script-event-listener-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="script-event-listener-attlist">
+ <rng:interleave>
+ <rng:attribute name="script:event-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="script:language">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:choice>
+ <rng:attribute name="script:macro-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:group>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:actuate">
+ <rng:value>onRequest</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ </rng:choice>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="scriptCode">
+ <rng:data type="token">
+ <rng:param name="pattern">[A-Za-z0-9]{1,8}</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="selected">
+ <rng:optional>
+ <rng:attribute name="form:selected">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="shadowType">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="shape">
+ <rng:choice>
+ <rng:ref name="shape-instance"/>
+ <rng:ref name="draw-a"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="shape-instance">
+ <rng:choice>
+ <rng:ref name="draw-rect"/>
+ <rng:ref name="draw-line"/>
+ <rng:ref name="draw-polyline"/>
+ <rng:ref name="draw-polygon"/>
+ <rng:ref name="draw-regular-polygon"/>
+ <rng:ref name="draw-path"/>
+ <rng:ref name="draw-circle"/>
+ <rng:ref name="draw-ellipse"/>
+ <rng:ref name="draw-g"/>
+ <rng:ref name="draw-page-thumbnail"/>
+ <rng:ref name="draw-frame"/>
+ <rng:ref name="draw-measure"/>
+ <rng:ref name="draw-caption"/>
+ <rng:ref name="draw-connector"/>
+ <rng:ref name="draw-control"/>
+ <rng:ref name="dr3d-scene"/>
+ <rng:ref name="draw-custom-shape"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="shapes3d">
+ <rng:choice>
+ <rng:ref name="dr3d-scene"/>
+ <rng:ref name="dr3d-extrude"/>
+ <rng:ref name="dr3d-sphere"/>
+ <rng:ref name="dr3d-rotate"/>
+ <rng:ref name="dr3d-cube"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="signedZeroToHundredPercent">
+ <rng:data type="string">
+ <rng:param name="pattern">-?([0-9]?[0-9](\.[0-9]*)?|100(\.0*)?|\.[0-9]+)%</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="size">
+ <rng:optional>
+ <rng:attribute name="form:size">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="states">
+ <rng:choice>
+ <rng:value>unchecked</rng:value>
+ <rng:value>checked</rng:value>
+ <rng:value>unknown</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="string">
+ <rng:data type="string"/>
+ </rng:define>
+ <rng:define name="style-background-image">
+ <rng:optional>
+ <rng:element name="style:background-image">
+ <rng:ref name="style-background-image-attlist"/>
+ <rng:choice>
+ <rng:ref name="common-draw-data-attlist"/>
+ <rng:ref name="office-binary-data"/>
+ <rng:empty/>
+ </rng:choice>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="style-background-image-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="style:repeat">
+ <rng:choice>
+ <rng:value>no-repeat</rng:value>
+ <rng:value>repeat</rng:value>
+ <rng:value>stretch</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:position">
+ <rng:choice>
+ <rng:value>left</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>right</rng:value>
+ <rng:value>top</rng:value>
+ <rng:value>bottom</rng:value>
+ <rng:list>
+ <rng:ref name="horiBackPos"/>
+ <rng:ref name="vertBackPos"/>
+ </rng:list>
+ <rng:list>
+ <rng:ref name="vertBackPos"/>
+ <rng:ref name="horiBackPos"/>
+ </rng:list>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:filter-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:opacity">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-chart-properties">
+ <rng:element name="style:chart-properties">
+ <rng:ref name="style-chart-properties-content-strict"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-chart-properties-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="chart:scale-text">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:three-dimensional">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:deep">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:right-angled-axes">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:choice>
+ <rng:attribute name="chart:symbol-type">
+ <rng:value>none</rng:value>
+ </rng:attribute>
+ <rng:attribute name="chart:symbol-type">
+ <rng:value>automatic</rng:value>
+ </rng:attribute>
+ <rng:group>
+ <rng:attribute name="chart:symbol-type">
+ <rng:value>named-symbol</rng:value>
+ </rng:attribute>
+ <rng:attribute name="chart:symbol-name">
+ <rng:choice>
+ <rng:value>square</rng:value>
+ <rng:value>diamond</rng:value>
+ <rng:value>arrow-down</rng:value>
+ <rng:value>arrow-up</rng:value>
+ <rng:value>arrow-right</rng:value>
+ <rng:value>arrow-left</rng:value>
+ <rng:value>bow-tie</rng:value>
+ <rng:value>hourglass</rng:value>
+ <rng:value>circle</rng:value>
+ <rng:value>star</rng:value>
+ <rng:value>x</rng:value>
+ <rng:value>plus</rng:value>
+ <rng:value>asterisk</rng:value>
+ <rng:value>horizontal-bar</rng:value>
+ <rng:value>vertical-bar</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="chart:symbol-type">
+ <rng:value>image</rng:value>
+ </rng:attribute>
+ <rng:element name="chart:symbol-image">
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ </rng:element>
+ </rng:group>
+ <rng:empty/>
+ </rng:choice>
+ <rng:optional>
+ <rng:attribute name="chart:symbol-width">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:symbol-height">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:sort-by-x-values">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:vertical">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:connect-bars">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:gap-width">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:overlap">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:group-bars-per-axis">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:japanese-candle-stick">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:interpolation">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>cubic-spline</rng:value>
+ <rng:value>b-spline</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:spline-order">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:spline-resolution">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:pie-offset">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:angle-offset">
+ <rng:ref name="angle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:hole-size">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:lines">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:solid-type">
+ <rng:choice>
+ <rng:value>cuboid</rng:value>
+ <rng:value>cylinder</rng:value>
+ <rng:value>cone</rng:value>
+ <rng:value>pyramid</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:stacked">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:percentage">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:treat-empty-cells">
+ <rng:choice>
+ <rng:value>use-zero</rng:value>
+ <rng:value>leave-gap</rng:value>
+ <rng:value>ignore</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:link-data-style-to-source">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:logarithmic">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:maximum">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:minimum">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:origin">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:interval-major">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:interval-minor-divisor">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:tick-marks-major-inner">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:tick-marks-major-outer">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:tick-marks-minor-inner">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:tick-marks-minor-outer">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:reverse-direction">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:display-label">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:text-overlap">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:line-break">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:label-arrangement">
+ <rng:choice>
+ <rng:value>side-by-side</rng:value>
+ <rng:value>stagger-even</rng:value>
+ <rng:value>stagger-odd</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-style-direction-attlist"/>
+ <rng:ref name="common-rotation-angle-attlist"/>
+ <rng:optional>
+ <rng:attribute name="chart:data-label-number">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>value</rng:value>
+ <rng:value>percentage</rng:value>
+ <rng:value>value-and-percentage</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:data-label-text">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:data-label-symbol">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:element name="chart:label-separator">
+ <rng:ref name="text-p"/>
+ </rng:element>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:label-position">
+ <rng:ref name="labelPositions"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:label-position-negative">
+ <rng:ref name="labelPositions"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:visible">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:auto-position">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:auto-size">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:mean-value">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:error-category">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>variance</rng:value>
+ <rng:value>standard-deviation</rng:value>
+ <rng:value>percentage</rng:value>
+ <rng:value>error-margin</rng:value>
+ <rng:value>constant</rng:value>
+ <rng:value>standard-error</rng:value>
+ <rng:value>cell-range</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:error-percentage">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:error-margin">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:error-lower-limit">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:error-upper-limit">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:error-upper-indicator">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:error-lower-indicator">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:error-lower-range">
+ <rng:ref name="cellRangeAddressList"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:error-upper-range">
+ <rng:ref name="cellRangeAddressList"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:series-source">
+ <rng:choice>
+ <rng:value>columns</rng:value>
+ <rng:value>rows</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:regression-type">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>linear</rng:value>
+ <rng:value>logarithmic</rng:value>
+ <rng:value>exponential</rng:value>
+ <rng:value>power</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:axis-position">
+ <rng:choice>
+ <rng:value>start</rng:value>
+ <rng:value>end</rng:value>
+ <rng:ref name="double"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:axis-label-position">
+ <rng:choice>
+ <rng:value>near-axis</rng:value>
+ <rng:value>near-axis-other-side</rng:value>
+ <rng:value>outside-start</rng:value>
+ <rng:value>outside-end</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:tick-mark-position">
+ <rng:choice>
+ <rng:value>at-labels</rng:value>
+ <rng:value>at-axis</rng:value>
+ <rng:value>at-labels-and-axis</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="chart:include-hidden-cells">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-chart-properties-content-strict">
+ <rng:ref name="style-chart-properties-attlist"/>
+ <rng:ref name="style-chart-properties-elements"/>
+ </rng:define>
+ <rng:define name="style-chart-properties-elements">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="style-column">
+ <rng:element name="style:column">
+ <rng:ref name="style-column-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-column-attlist">
+ <rng:interleave>
+ <rng:attribute name="style:rel-width">
+ <rng:ref name="relativeLength"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="fo:start-indent">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:end-indent">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:space-before">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:space-after">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-column-sep">
+ <rng:element name="style:column-sep">
+ <rng:ref name="style-column-sep-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-column-sep-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="style:style">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>solid</rng:value>
+ <rng:value>dotted</rng:value>
+ <rng:value>dashed</rng:value>
+ <rng:value>dot-dashed</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="style:width">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="style:height">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:vertical-align">
+ <rng:choice>
+ <rng:value>top</rng:value>
+ <rng:value>middle</rng:value>
+ <rng:value>bottom</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-columns">
+ <rng:optional>
+ <rng:element name="style:columns">
+ <rng:ref name="style-columns-attlist"/>
+ <rng:optional>
+ <rng:ref name="style-column-sep"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="style-column"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="style-columns-attlist">
+ <rng:interleave>
+ <rng:attribute name="fo:column-count">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="fo:column-gap">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-default-page-layout">
+ <rng:element name="style:default-page-layout">
+ <rng:ref name="style-page-layout-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-default-style">
+ <rng:element name="style:default-style">
+ <rng:ref name="style-style-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-drawing-page-properties">
+ <rng:element name="style:drawing-page-properties">
+ <rng:ref name="style-drawing-page-properties-content-strict"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-drawing-page-properties-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="presentation:transition-type">
+ <rng:choice>
+ <rng:value>manual</rng:value>
+ <rng:value>automatic</rng:value>
+ <rng:value>semi-automatic</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:transition-style">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>fade-from-left</rng:value>
+ <rng:value>fade-from-top</rng:value>
+ <rng:value>fade-from-right</rng:value>
+ <rng:value>fade-from-bottom</rng:value>
+ <rng:value>fade-from-upperleft</rng:value>
+ <rng:value>fade-from-upperright</rng:value>
+ <rng:value>fade-from-lowerleft</rng:value>
+ <rng:value>fade-from-lowerright</rng:value>
+ <rng:value>move-from-left</rng:value>
+ <rng:value>move-from-top</rng:value>
+ <rng:value>move-from-right</rng:value>
+ <rng:value>move-from-bottom</rng:value>
+ <rng:value>move-from-upperleft</rng:value>
+ <rng:value>move-from-upperright</rng:value>
+ <rng:value>move-from-lowerleft</rng:value>
+ <rng:value>move-from-lowerright</rng:value>
+ <rng:value>uncover-to-left</rng:value>
+ <rng:value>uncover-to-top</rng:value>
+ <rng:value>uncover-to-right</rng:value>
+ <rng:value>uncover-to-bottom</rng:value>
+ <rng:value>uncover-to-upperleft</rng:value>
+ <rng:value>uncover-to-upperright</rng:value>
+ <rng:value>uncover-to-lowerleft</rng:value>
+ <rng:value>uncover-to-lowerright</rng:value>
+ <rng:value>fade-to-center</rng:value>
+ <rng:value>fade-from-center</rng:value>
+ <rng:value>vertical-stripes</rng:value>
+ <rng:value>horizontal-stripes</rng:value>
+ <rng:value>clockwise</rng:value>
+ <rng:value>counterclockwise</rng:value>
+ <rng:value>open-vertical</rng:value>
+ <rng:value>open-horizontal</rng:value>
+ <rng:value>close-vertical</rng:value>
+ <rng:value>close-horizontal</rng:value>
+ <rng:value>wavyline-from-left</rng:value>
+ <rng:value>wavyline-from-top</rng:value>
+ <rng:value>wavyline-from-right</rng:value>
+ <rng:value>wavyline-from-bottom</rng:value>
+ <rng:value>spiralin-left</rng:value>
+ <rng:value>spiralin-right</rng:value>
+ <rng:value>spiralout-left</rng:value>
+ <rng:value>spiralout-right</rng:value>
+ <rng:value>roll-from-top</rng:value>
+ <rng:value>roll-from-left</rng:value>
+ <rng:value>roll-from-right</rng:value>
+ <rng:value>roll-from-bottom</rng:value>
+ <rng:value>stretch-from-left</rng:value>
+ <rng:value>stretch-from-top</rng:value>
+ <rng:value>stretch-from-right</rng:value>
+ <rng:value>stretch-from-bottom</rng:value>
+ <rng:value>vertical-lines</rng:value>
+ <rng:value>horizontal-lines</rng:value>
+ <rng:value>dissolve</rng:value>
+ <rng:value>random</rng:value>
+ <rng:value>vertical-checkerboard</rng:value>
+ <rng:value>horizontal-checkerboard</rng:value>
+ <rng:value>interlocking-horizontal-left</rng:value>
+ <rng:value>interlocking-horizontal-right</rng:value>
+ <rng:value>interlocking-vertical-top</rng:value>
+ <rng:value>interlocking-vertical-bottom</rng:value>
+ <rng:value>fly-away</rng:value>
+ <rng:value>open</rng:value>
+ <rng:value>close</rng:value>
+ <rng:value>melt</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:transition-speed">
+ <rng:ref name="presentationSpeeds"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:type">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:subtype">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:direction">
+ <rng:choice>
+ <rng:value>forward</rng:value>
+ <rng:value>reverse</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="smil:fadeColor">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:duration">
+ <rng:ref name="duration"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:visibility">
+ <rng:choice>
+ <rng:value>visible</rng:value>
+ <rng:value>hidden</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:background-size">
+ <rng:choice>
+ <rng:value>full</rng:value>
+ <rng:value>border</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:background-objects-visible">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:background-visible">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:display-header">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:display-footer">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:display-page-number">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="presentation:display-date-time">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-drawing-page-properties-content-strict">
+ <rng:ref name="style-graphic-fill-properties-attlist"/>
+ <rng:ref name="style-drawing-page-properties-attlist"/>
+ <rng:ref name="style-drawing-page-properties-elements"/>
+ </rng:define>
+ <rng:define name="style-drawing-page-properties-elements">
+ <rng:optional>
+ <rng:ref name="presentation-sound"/>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="style-drop-cap">
+ <rng:optional>
+ <rng:element name="style:drop-cap">
+ <rng:ref name="style-drop-cap-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="style-drop-cap-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="style:length">
+ <rng:choice>
+ <rng:value>word</rng:value>
+ <rng:ref name="positiveInteger"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:lines">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:distance">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-font-face">
+ <rng:element name="style:font-face">
+ <rng:ref name="style-font-face-attlist"/>
+ <rng:optional>
+ <rng:ref name="svg-font-face-src"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="svg-definition-src"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-font-face-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="svg:font-family">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:font-style">
+ <rng:ref name="fontStyle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:font-variant">
+ <rng:ref name="fontVariant"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:font-weight">
+ <rng:ref name="fontWeight"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:font-stretch">
+ <rng:choice>
+ <rng:value>normal</rng:value>
+ <rng:value>ultra-condensed</rng:value>
+ <rng:value>extra-condensed</rng:value>
+ <rng:value>condensed</rng:value>
+ <rng:value>semi-condensed</rng:value>
+ <rng:value>semi-expanded</rng:value>
+ <rng:value>expanded</rng:value>
+ <rng:value>extra-expanded</rng:value>
+ <rng:value>ultra-expanded</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:font-size">
+ <rng:ref name="positiveLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:unicode-range">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:units-per-em">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:panose-1">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:stemv">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:stemh">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:slope">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:cap-height">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:x-height">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:accent-height">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:ascent">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:descent">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:widths">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:bbox">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:ideographic">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:alphabetic">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:mathematical">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:hanging">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:v-ideographic">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:v-alphabetic">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:v-mathematical">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:v-hanging">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:underline-position">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:underline-thickness">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:strikethrough-position">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:strikethrough-thickness">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:overline-position">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:overline-thickness">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="style:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="style:font-adornments">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-family-generic">
+ <rng:ref name="fontFamilyGeneric"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-pitch">
+ <rng:ref name="fontPitch"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-charset">
+ <rng:ref name="textEncoding"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-footer">
+ <rng:element name="style:footer">
+ <rng:ref name="common-style-header-footer-attlist"/>
+ <rng:ref name="header-footer-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-footer-left">
+ <rng:element name="style:footer-left">
+ <rng:ref name="common-style-header-footer-attlist"/>
+ <rng:ref name="header-footer-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-footer-style">
+ <rng:element name="style:footer-style">
+ <rng:optional>
+ <rng:ref name="style-header-footer-properties"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-footnote-sep">
+ <rng:optional>
+ <rng:element name="style:footnote-sep">
+ <rng:ref name="style-footnote-sep-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="style-footnote-sep-attlist">
+ <rng:optional>
+ <rng:attribute name="style:width">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:rel-width">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:line-style">
+ <rng:ref name="lineStyle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:adjustment">
+ <rng:choice>
+ <rng:value>left</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>right</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:distance-before-sep">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:distance-after-sep">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="style-graphic-fill-properties-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:fill">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>solid</rng:value>
+ <rng:value>bitmap</rng:value>
+ <rng:value>gradient</rng:value>
+ <rng:value>hatch</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:fill-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:secondary-fill-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:fill-gradient-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:gradient-step-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:fill-hatch-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:fill-hatch-solid">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:fill-image-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:repeat">
+ <rng:choice>
+ <rng:value>no-repeat</rng:value>
+ <rng:value>repeat</rng:value>
+ <rng:value>stretch</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:fill-image-width">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:fill-image-height">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:fill-image-ref-point-x">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:fill-image-ref-point-y">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:fill-image-ref-point">
+ <rng:choice>
+ <rng:value>top-left</rng:value>
+ <rng:value>top</rng:value>
+ <rng:value>top-right</rng:value>
+ <rng:value>left</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>right</rng:value>
+ <rng:value>bottom-left</rng:value>
+ <rng:value>bottom</rng:value>
+ <rng:value>bottom-right</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:tile-repeat-offset">
+ <rng:list>
+ <rng:ref name="zeroToHundredPercent"/>
+ <rng:choice>
+ <rng:value>horizontal</rng:value>
+ <rng:value>vertical</rng:value>
+ </rng:choice>
+ </rng:list>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:opacity">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:opacity-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:fill-rule">
+ <rng:choice>
+ <rng:value>nonzero</rng:value>
+ <rng:value>evenodd</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-graphic-properties">
+ <rng:element name="style:graphic-properties">
+ <rng:ref name="style-graphic-properties-content-strict"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-graphic-properties-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="draw:stroke">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>dash</rng:value>
+ <rng:value>solid</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:stroke-dash">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:stroke-dash-names">
+ <rng:ref name="styleNameRefs"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:stroke-width">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:stroke-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:marker-start">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:marker-end">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:marker-start-width">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:marker-end-width">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:marker-start-center">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:marker-end-center">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:stroke-opacity">
+ <rng:choice>
+ <rng:data type="double">
+ <rng:param name="minInclusive">0</rng:param>
+ <rng:param name="maxInclusive">1</rng:param>
+ </rng:data>
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:stroke-linejoin">
+ <rng:choice>
+ <rng:value>miter</rng:value>
+ <rng:value>round</rng:value>
+ <rng:value>bevel</rng:value>
+ <rng:value>middle</rng:value>
+ <rng:value>none</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:stroke-linecap">
+ <rng:choice>
+ <rng:value>butt</rng:value>
+ <rng:value>square</rng:value>
+ <rng:value>round</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:symbol-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:animation">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>scroll</rng:value>
+ <rng:value>alternate</rng:value>
+ <rng:value>slide</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:animation-direction">
+ <rng:choice>
+ <rng:value>left</rng:value>
+ <rng:value>right</rng:value>
+ <rng:value>up</rng:value>
+ <rng:value>down</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:animation-start-inside">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:animation-stop-inside">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:animation-repeat">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:animation-delay">
+ <rng:ref name="duration"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:animation-steps">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:auto-grow-width">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:auto-grow-height">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:fit-to-size">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:fit-to-contour">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:textarea-vertical-align">
+ <rng:choice>
+ <rng:value>top</rng:value>
+ <rng:value>middle</rng:value>
+ <rng:value>bottom</rng:value>
+ <rng:value>justify</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:textarea-horizontal-align">
+ <rng:choice>
+ <rng:value>left</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>right</rng:value>
+ <rng:value>justify</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:wrap-option">
+ <rng:choice>
+ <rng:value>no-wrap</rng:value>
+ <rng:value>wrap</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:shrink-to-fit">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:color-mode">
+ <rng:choice>
+ <rng:value>greyscale</rng:value>
+ <rng:value>mono</rng:value>
+ <rng:value>watermark</rng:value>
+ <rng:value>standard</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:color-inversion">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:luminance">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:contrast">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:gamma">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:red">
+ <rng:ref name="signedZeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:green">
+ <rng:ref name="signedZeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:blue">
+ <rng:ref name="signedZeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:image-opacity">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:shadow">
+ <rng:choice>
+ <rng:value>visible</rng:value>
+ <rng:value>hidden</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:shadow-offset-x">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:shadow-offset-y">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:shadow-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:shadow-opacity">
+ <rng:ref name="zeroToHundredPercent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:start-line-spacing-horizontal">
+ <rng:ref name="distance"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:start-line-spacing-vertical">
+ <rng:ref name="distance"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:end-line-spacing-horizontal">
+ <rng:ref name="distance"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:end-line-spacing-vertical">
+ <rng:ref name="distance"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:line-distance">
+ <rng:ref name="distance"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:guide-overhang">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:guide-distance">
+ <rng:ref name="distance"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:start-guide">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:end-guide">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:placing">
+ <rng:choice>
+ <rng:value>below</rng:value>
+ <rng:value>above</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:parallel">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:measure-align">
+ <rng:choice>
+ <rng:value>automatic</rng:value>
+ <rng:value>left-outside</rng:value>
+ <rng:value>inside</rng:value>
+ <rng:value>right-outside</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:measure-vertical-align">
+ <rng:choice>
+ <rng:value>automatic</rng:value>
+ <rng:value>above</rng:value>
+ <rng:value>below</rng:value>
+ <rng:value>center</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:unit">
+ <rng:choice>
+ <rng:value>automatic</rng:value>
+ <rng:value>mm</rng:value>
+ <rng:value>cm</rng:value>
+ <rng:value>m</rng:value>
+ <rng:value>km</rng:value>
+ <rng:value>pt</rng:value>
+ <rng:value>pc</rng:value>
+ <rng:value>inch</rng:value>
+ <rng:value>ft</rng:value>
+ <rng:value>mi</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:show-unit">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:decimal-places">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:caption-type">
+ <rng:choice>
+ <rng:value>straight-line</rng:value>
+ <rng:value>angled-line</rng:value>
+ <rng:value>angled-connector-line</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:caption-angle-type">
+ <rng:choice>
+ <rng:value>fixed</rng:value>
+ <rng:value>free</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:caption-angle">
+ <rng:ref name="angle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:caption-gap">
+ <rng:ref name="distance"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:caption-escape-direction">
+ <rng:choice>
+ <rng:value>horizontal</rng:value>
+ <rng:value>vertical</rng:value>
+ <rng:value>auto</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:caption-escape">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:caption-line-length">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:caption-fit-line-length">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:horizontal-segments">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:vertical-segments">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:edge-rounding">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:edge-rounding-mode">
+ <rng:choice>
+ <rng:value>correct</rng:value>
+ <rng:value>attractive</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:back-scale">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:depth">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:backface-culling">
+ <rng:choice>
+ <rng:value>enabled</rng:value>
+ <rng:value>disabled</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:end-angle">
+ <rng:ref name="angle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:close-front">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:close-back">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:lighting-mode">
+ <rng:choice>
+ <rng:value>standard</rng:value>
+ <rng:value>double-sided</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:normals-kind">
+ <rng:choice>
+ <rng:value>object</rng:value>
+ <rng:value>flat</rng:value>
+ <rng:value>sphere</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:normals-direction">
+ <rng:choice>
+ <rng:value>normal</rng:value>
+ <rng:value>inverse</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:texture-generation-mode-x">
+ <rng:choice>
+ <rng:value>object</rng:value>
+ <rng:value>parallel</rng:value>
+ <rng:value>sphere</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:texture-generation-mode-y">
+ <rng:choice>
+ <rng:value>object</rng:value>
+ <rng:value>parallel</rng:value>
+ <rng:value>sphere</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:texture-kind">
+ <rng:choice>
+ <rng:value>luminance</rng:value>
+ <rng:value>intensity</rng:value>
+ <rng:value>color</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:texture-filter">
+ <rng:choice>
+ <rng:value>enabled</rng:value>
+ <rng:value>disabled</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:texture-mode">
+ <rng:choice>
+ <rng:value>replace</rng:value>
+ <rng:value>modulate</rng:value>
+ <rng:value>blend</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:ambient-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:emissive-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:specular-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:diffuse-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:shininess">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="dr3d:shadow">
+ <rng:choice>
+ <rng:value>visible</rng:value>
+ <rng:value>hidden</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-draw-rel-size-attlist"/>
+ <rng:optional>
+ <rng:attribute name="fo:min-width">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:min-height">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:max-height">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:max-width">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-horizontal-margin-attlist"/>
+ <rng:ref name="common-vertical-margin-attlist"/>
+ <rng:ref name="common-margin-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:print-content">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:protect">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:list>
+ <rng:oneOrMore>
+ <rng:choice>
+ <rng:value>content</rng:value>
+ <rng:value>position</rng:value>
+ <rng:value>size</rng:value>
+ </rng:choice>
+ </rng:oneOrMore>
+ </rng:list>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:horizontal-pos">
+ <rng:choice>
+ <rng:value>left</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>right</rng:value>
+ <rng:value>from-left</rng:value>
+ <rng:value>inside</rng:value>
+ <rng:value>outside</rng:value>
+ <rng:value>from-inside</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:x">
+ <rng:ref name="coordinate"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:horizontal-rel">
+ <rng:choice>
+ <rng:value>page</rng:value>
+ <rng:value>page-content</rng:value>
+ <rng:value>page-start-margin</rng:value>
+ <rng:value>page-end-margin</rng:value>
+ <rng:value>frame</rng:value>
+ <rng:value>frame-content</rng:value>
+ <rng:value>frame-start-margin</rng:value>
+ <rng:value>frame-end-margin</rng:value>
+ <rng:value>paragraph</rng:value>
+ <rng:value>paragraph-content</rng:value>
+ <rng:value>paragraph-start-margin</rng:value>
+ <rng:value>paragraph-end-margin</rng:value>
+ <rng:value>char</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-vertical-pos-attlist"/>
+ <rng:ref name="common-vertical-rel-attlist"/>
+ <rng:ref name="common-text-anchor-attlist"/>
+ <rng:ref name="common-border-attlist"/>
+ <rng:ref name="common-border-line-width-attlist"/>
+ <rng:ref name="common-padding-attlist"/>
+ <rng:ref name="common-shadow-attlist"/>
+ <rng:ref name="common-background-color-attlist"/>
+ <rng:ref name="common-background-transparency-attlist"/>
+ <rng:ref name="common-editable-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:wrap">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>left</rng:value>
+ <rng:value>right</rng:value>
+ <rng:value>parallel</rng:value>
+ <rng:value>dynamic</rng:value>
+ <rng:value>run-through</rng:value>
+ <rng:value>biggest</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:wrap-dynamic-threshold">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:number-wrapped-paragraphs">
+ <rng:choice>
+ <rng:value>no-limit</rng:value>
+ <rng:ref name="positiveInteger"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:wrap-contour">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:wrap-contour-mode">
+ <rng:choice>
+ <rng:value>full</rng:value>
+ <rng:value>outside</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:run-through">
+ <rng:choice>
+ <rng:value>foreground</rng:value>
+ <rng:value>background</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:flow-with-text">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:overflow-behavior">
+ <rng:choice>
+ <rng:value>clip</rng:value>
+ <rng:value>auto-create-new-frame</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:mirror">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>vertical</rng:value>
+ <rng:ref name="horizontal-mirror"/>
+ <rng:list>
+ <rng:value>vertical</rng:value>
+ <rng:ref name="horizontal-mirror"/>
+ </rng:list>
+ <rng:list>
+ <rng:ref name="horizontal-mirror"/>
+ <rng:value>vertical</rng:value>
+ </rng:list>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:clip">
+ <rng:choice>
+ <rng:value>auto</rng:value>
+ <rng:ref name="clipShape"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:wrap-influence-on-position">
+ <rng:choice>
+ <rng:value>iterative</rng:value>
+ <rng:value>once-concurrent</rng:value>
+ <rng:value>once-successive</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-writing-mode-attlist"/>
+ <rng:optional>
+ <rng:attribute name="draw:frame-display-scrollbar">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:frame-display-border">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:frame-margin-horizontal">
+ <rng:ref name="nonNegativePixelLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:frame-margin-vertical">
+ <rng:ref name="nonNegativePixelLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:visible-area-left">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:visible-area-top">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:visible-area-width">
+ <rng:ref name="positiveLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:visible-area-height">
+ <rng:ref name="positiveLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:draw-aspect">
+ <rng:choice>
+ <rng:value>content</rng:value>
+ <rng:value>thumbnail</rng:value>
+ <rng:value>icon</rng:value>
+ <rng:value>print-view</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="draw:ole-draw-aspect">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-graphic-properties-content-strict">
+ <rng:ref name="style-graphic-properties-attlist"/>
+ <rng:ref name="style-graphic-fill-properties-attlist"/>
+ <rng:ref name="style-graphic-properties-elements"/>
+ </rng:define>
+ <rng:define name="style-graphic-properties-elements">
+ <rng:interleave>
+ <rng:optional>
+ <rng:ref name="text-list-style"/>
+ </rng:optional>
+ <rng:ref name="style-background-image"/>
+ <rng:ref name="style-columns"/>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-handout-master">
+ <rng:element name="style:handout-master">
+ <rng:ref name="common-presentation-header-footer-attlist"/>
+ <rng:ref name="style-handout-master-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="shape"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-handout-master-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="presentation:presentation-page-layout-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="style:page-layout-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="draw:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-header">
+ <rng:element name="style:header">
+ <rng:ref name="common-style-header-footer-attlist"/>
+ <rng:ref name="header-footer-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-header-footer-properties">
+ <rng:element name="style:header-footer-properties">
+ <rng:ref name="style-header-footer-properties-content-strict"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-header-footer-properties-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="svg:height">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:min-height">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-horizontal-margin-attlist"/>
+ <rng:ref name="common-vertical-margin-attlist"/>
+ <rng:ref name="common-margin-attlist"/>
+ <rng:ref name="common-border-attlist"/>
+ <rng:ref name="common-border-line-width-attlist"/>
+ <rng:ref name="common-padding-attlist"/>
+ <rng:ref name="common-background-color-attlist"/>
+ <rng:ref name="common-shadow-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:dynamic-spacing">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-header-footer-properties-content-strict">
+ <rng:ref name="style-header-footer-properties-attlist"/>
+ <rng:ref name="style-header-footer-properties-elements"/>
+ </rng:define>
+ <rng:define name="style-header-footer-properties-elements">
+ <rng:ref name="style-background-image"/>
+ </rng:define>
+ <rng:define name="style-header-left">
+ <rng:element name="style:header-left">
+ <rng:ref name="common-style-header-footer-attlist"/>
+ <rng:ref name="header-footer-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-header-style">
+ <rng:element name="style:header-style">
+ <rng:optional>
+ <rng:ref name="style-header-footer-properties"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-list-level-label-alignment">
+ <rng:optional>
+ <rng:element name="style:list-level-label-alignment">
+ <rng:ref name="style-list-level-label-alignment-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="style-list-level-label-alignment-attlist">
+ <rng:interleave>
+ <rng:attribute name="text:label-followed-by">
+ <rng:choice>
+ <rng:value>listtab</rng:value>
+ <rng:value>space</rng:value>
+ <rng:value>nothing</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="text:list-tab-stop-position">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:text-indent">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:margin-left">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-list-level-properties">
+ <rng:element name="style:list-level-properties">
+ <rng:ref name="style-list-level-properties-content-strict"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-list-level-properties-attlist">
+ <rng:interleave>
+ <rng:ref name="common-text-align"/>
+ <rng:optional>
+ <rng:attribute name="text:space-before">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:min-label-width">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:min-label-distance">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:width">
+ <rng:ref name="positiveLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:height">
+ <rng:ref name="positiveLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-vertical-rel-attlist"/>
+ <rng:ref name="common-vertical-pos-attlist"/>
+ <rng:optional>
+ <rng:attribute name="text:list-level-position-and-space-mode">
+ <rng:choice>
+ <rng:value>label-width-and-position</rng:value>
+ <rng:value>label-alignment</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-list-level-properties-content-strict">
+ <rng:ref name="style-list-level-properties-attlist"/>
+ <rng:ref name="style-list-level-properties-elements"/>
+ </rng:define>
+ <rng:define name="style-list-level-properties-elements">
+ <rng:ref name="style-list-level-label-alignment"/>
+ </rng:define>
+ <rng:define name="style-map">
+ <rng:element name="style:map">
+ <rng:ref name="style-map-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-map-attlist">
+ <rng:interleave>
+ <rng:attribute name="style:condition">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="style:apply-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="style:base-cell-address">
+ <rng:ref name="cellAddress"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-master-page">
+ <rng:element name="style:master-page">
+ <rng:ref name="style-master-page-attlist"/>
+ <rng:optional>
+ <rng:ref name="style-header"/>
+ <rng:optional>
+ <rng:ref name="style-header-left"/>
+ </rng:optional>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-footer"/>
+ <rng:optional>
+ <rng:ref name="style-footer-left"/>
+ </rng:optional>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="draw-layer-set"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-forms"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="shape"/>
+ </rng:zeroOrMore>
+ <rng:optional>
+ <rng:ref name="animation-element"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="presentation-notes"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-master-page-attlist">
+ <rng:interleave>
+ <rng:attribute name="style:name">
+ <rng:ref name="styleName"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="style:display-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="style:page-layout-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="draw:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:next-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-num-letter-sync-attlist">
+ <rng:optional>
+ <rng:attribute name="style:num-letter-sync">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="style-page-layout">
+ <rng:element name="style:page-layout">
+ <rng:ref name="style-page-layout-attlist"/>
+ <rng:ref name="style-page-layout-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-page-layout-attlist">
+ <rng:interleave>
+ <rng:attribute name="style:name">
+ <rng:ref name="styleName"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="style:page-usage">
+ <rng:choice>
+ <rng:value>all</rng:value>
+ <rng:value>left</rng:value>
+ <rng:value>right</rng:value>
+ <rng:value>mirrored</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-page-layout-content">
+ <rng:optional>
+ <rng:ref name="style-page-layout-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-header-style"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-footer-style"/>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="style-page-layout-properties">
+ <rng:element name="style:page-layout-properties">
+ <rng:ref name="style-page-layout-properties-content-strict"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-page-layout-properties-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="fo:page-width">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:page-height">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="common-num-format-attlist"/>
+ </rng:optional>
+ <rng:ref name="common-num-format-prefix-suffix-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:paper-tray-name">
+ <rng:choice>
+ <rng:value>default</rng:value>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:print-orientation">
+ <rng:choice>
+ <rng:value>portrait</rng:value>
+ <rng:value>landscape</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-horizontal-margin-attlist"/>
+ <rng:ref name="common-vertical-margin-attlist"/>
+ <rng:ref name="common-margin-attlist"/>
+ <rng:ref name="common-border-attlist"/>
+ <rng:ref name="common-border-line-width-attlist"/>
+ <rng:ref name="common-padding-attlist"/>
+ <rng:ref name="common-shadow-attlist"/>
+ <rng:ref name="common-background-color-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:register-truth-ref-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:print">
+ <rng:list>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:value>headers</rng:value>
+ <rng:value>grid</rng:value>
+ <rng:value>annotations</rng:value>
+ <rng:value>objects</rng:value>
+ <rng:value>charts</rng:value>
+ <rng:value>drawings</rng:value>
+ <rng:value>formulas</rng:value>
+ <rng:value>zero-values</rng:value>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:list>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:print-page-order">
+ <rng:choice>
+ <rng:value>ttb</rng:value>
+ <rng:value>ltr</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:first-page-number">
+ <rng:choice>
+ <rng:ref name="positiveInteger"/>
+ <rng:value>continue</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:scale-to">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:scale-to-pages">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:table-centering">
+ <rng:choice>
+ <rng:value>horizontal</rng:value>
+ <rng:value>vertical</rng:value>
+ <rng:value>both</rng:value>
+ <rng:value>none</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:footnote-max-height">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-writing-mode-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:layout-grid-mode">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>line</rng:value>
+ <rng:value>both</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:layout-grid-standard-mode">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:layout-grid-base-height">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:layout-grid-ruby-height">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:layout-grid-lines">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:layout-grid-base-width">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:layout-grid-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:layout-grid-ruby-below">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:layout-grid-print">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:layout-grid-display">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:layout-grid-snap-to">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-page-layout-properties-content-strict">
+ <rng:ref name="style-page-layout-properties-attlist"/>
+ <rng:ref name="style-page-layout-properties-elements"/>
+ </rng:define>
+ <rng:define name="style-page-layout-properties-elements">
+ <rng:interleave>
+ <rng:ref name="style-background-image"/>
+ <rng:ref name="style-columns"/>
+ <rng:ref name="style-footnote-sep"/>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-paragraph-properties">
+ <rng:element name="style:paragraph-properties">
+ <rng:ref name="style-paragraph-properties-content-strict"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-paragraph-properties-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="fo:line-height">
+ <rng:choice>
+ <rng:value>normal</rng:value>
+ <rng:ref name="nonNegativeLength"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:line-height-at-least">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:line-spacing">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-independent-line-spacing">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-text-align"/>
+ <rng:optional>
+ <rng:attribute name="fo:text-align-last">
+ <rng:choice>
+ <rng:value>start</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>justify</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:justify-single-word">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:keep-together">
+ <rng:choice>
+ <rng:value>auto</rng:value>
+ <rng:value>always</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:widows">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:orphans">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:tab-stop-distance">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:hyphenation-keep">
+ <rng:choice>
+ <rng:value>auto</rng:value>
+ <rng:value>page</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:hyphenation-ladder-count">
+ <rng:choice>
+ <rng:value>no-limit</rng:value>
+ <rng:ref name="positiveInteger"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:register-true">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-horizontal-margin-attlist"/>
+ <rng:optional>
+ <rng:attribute name="fo:text-indent">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:auto-text-indent">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-vertical-margin-attlist"/>
+ <rng:ref name="common-margin-attlist"/>
+ <rng:ref name="common-break-attlist"/>
+ <rng:ref name="common-background-color-attlist"/>
+ <rng:ref name="common-border-attlist"/>
+ <rng:ref name="common-border-line-width-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:join-border">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-padding-attlist"/>
+ <rng:ref name="common-shadow-attlist"/>
+ <rng:ref name="common-keep-with-next-attlist"/>
+ <rng:optional>
+ <rng:attribute name="text:number-lines">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:line-number">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-autospace">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>ideograph-alpha</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:punctuation-wrap">
+ <rng:choice>
+ <rng:value>simple</rng:value>
+ <rng:value>hanging</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:line-break">
+ <rng:choice>
+ <rng:value>normal</rng:value>
+ <rng:value>strict</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:vertical-align">
+ <rng:choice>
+ <rng:value>top</rng:value>
+ <rng:value>middle</rng:value>
+ <rng:value>bottom</rng:value>
+ <rng:value>auto</rng:value>
+ <rng:value>baseline</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-writing-mode-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:writing-mode-automatic">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:snap-to-layout-grid">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-page-number-attlist"/>
+ <rng:ref name="common-background-transparency-attlist"/>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-paragraph-properties-content-strict">
+ <rng:ref name="style-paragraph-properties-attlist"/>
+ <rng:ref name="style-paragraph-properties-elements"/>
+ </rng:define>
+ <rng:define name="style-paragraph-properties-elements">
+ <rng:interleave>
+ <rng:ref name="style-tab-stops"/>
+ <rng:ref name="style-drop-cap"/>
+ <rng:ref name="style-background-image"/>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-presentation-page-layout">
+ <rng:element name="style:presentation-page-layout">
+ <rng:attribute name="style:name">
+ <rng:ref name="styleName"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="style:display-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="presentation-placeholder"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-region-center">
+ <rng:element name="style:region-center">
+ <rng:ref name="region-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-region-left">
+ <rng:element name="style:region-left">
+ <rng:ref name="region-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-region-right">
+ <rng:element name="style:region-right">
+ <rng:ref name="region-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-ruby-properties">
+ <rng:element name="style:ruby-properties">
+ <rng:ref name="style-ruby-properties-content-strict"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-ruby-properties-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="style:ruby-position">
+ <rng:choice>
+ <rng:value>above</rng:value>
+ <rng:value>below</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:ruby-align">
+ <rng:choice>
+ <rng:value>left</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>right</rng:value>
+ <rng:value>distribute-letter</rng:value>
+ <rng:value>distribute-space</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-ruby-properties-content-strict">
+ <rng:ref name="style-ruby-properties-attlist"/>
+ <rng:ref name="style-ruby-properties-elements"/>
+ </rng:define>
+ <rng:define name="style-ruby-properties-elements">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="style-section-properties">
+ <rng:element name="style:section-properties">
+ <rng:ref name="style-section-properties-content-strict"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-section-properties-attlist">
+ <rng:interleave>
+ <rng:ref name="common-background-color-attlist"/>
+ <rng:ref name="common-horizontal-margin-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:protect">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-editable-attlist"/>
+ <rng:optional>
+ <rng:attribute name="text:dont-balance-text-columns">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-writing-mode-attlist"/>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-section-properties-content-strict">
+ <rng:ref name="style-section-properties-attlist"/>
+ <rng:ref name="style-section-properties-elements"/>
+ </rng:define>
+ <rng:define name="style-section-properties-elements">
+ <rng:interleave>
+ <rng:ref name="style-background-image"/>
+ <rng:ref name="style-columns"/>
+ <rng:zeroOrMore>
+ <rng:ref name="text-notes-configuration"/>
+ </rng:zeroOrMore>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-style">
+ <rng:element name="style:style">
+ <rng:ref name="style-style-attlist"/>
+ <rng:ref name="style-style-content"/>
+ <rng:zeroOrMore>
+ <rng:ref name="style-map"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-style-attlist">
+ <rng:interleave>
+ <rng:attribute name="style:name">
+ <rng:ref name="styleName"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="style:display-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:parent-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:next-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:list-level">
+ <rng:choice>
+ <rng:ref name="positiveInteger"/>
+ <rng:empty/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:list-style-name">
+ <rng:choice>
+ <rng:ref name="styleName"/>
+ <rng:empty/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:master-page-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:auto-update">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:data-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:percentage-data-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:class">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:default-outline-level">
+ <rng:choice>
+ <rng:ref name="positiveInteger"/>
+ <rng:empty/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-style-content">
+ <rng:choice>
+ <rng:group>
+ <rng:attribute name="style:family">
+ <rng:value>text</rng:value>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="style:family">
+ <rng:value>paragraph</rng:value>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="style-paragraph-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="style:family">
+ <rng:value>section</rng:value>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="style-section-properties"/>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="style:family">
+ <rng:value>ruby</rng:value>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="style-ruby-properties"/>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="style:family">
+ <rng:value>table</rng:value>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="style-table-properties"/>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="style:family">
+ <rng:value>table-column</rng:value>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="style-table-column-properties"/>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="style:family">
+ <rng:value>table-row</rng:value>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="style-table-row-properties"/>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="style:family">
+ <rng:value>table-cell</rng:value>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="style-table-cell-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-paragraph-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="style:family">
+ <rng:choice>
+ <rng:value>graphic</rng:value>
+ <rng:value>presentation</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="style-graphic-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-paragraph-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="style:family">
+ <rng:value>drawing-page</rng:value>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="style-drawing-page-properties"/>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:attribute name="style:family">
+ <rng:value>chart</rng:value>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="style-chart-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-graphic-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-paragraph-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ </rng:group>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="style-tab-stop">
+ <rng:element name="style:tab-stop">
+ <rng:ref name="style-tab-stop-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-tab-stop-attlist">
+ <rng:interleave>
+ <rng:attribute name="style:position">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ <rng:choice>
+ <rng:optional>
+ <rng:attribute name="style:type">
+ <rng:choice>
+ <rng:value>left</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>right</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:group>
+ <rng:attribute name="style:type">
+ <rng:value>char</rng:value>
+ </rng:attribute>
+ <rng:ref name="style-tab-stop-char-attlist"/>
+ </rng:group>
+ </rng:choice>
+ <rng:optional>
+ <rng:attribute name="style:leader-type">
+ <rng:ref name="lineType"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:leader-style">
+ <rng:ref name="lineStyle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:leader-width">
+ <rng:ref name="lineWidth"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:leader-color">
+ <rng:choice>
+ <rng:value>font-color</rng:value>
+ <rng:ref name="color"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:leader-text">
+ <rng:ref name="character"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:leader-text-style">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-tab-stop-char-attlist">
+ <rng:attribute name="style:char">
+ <rng:ref name="character"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="style-tab-stops">
+ <rng:optional>
+ <rng:element name="style:tab-stops">
+ <rng:zeroOrMore>
+ <rng:ref name="style-tab-stop"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="style-table-cell-properties">
+ <rng:element name="style:table-cell-properties">
+ <rng:ref name="style-table-cell-properties-content-strict"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-table-cell-properties-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="style:vertical-align">
+ <rng:choice>
+ <rng:value>top</rng:value>
+ <rng:value>middle</rng:value>
+ <rng:value>bottom</rng:value>
+ <rng:value>automatic</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-align-source">
+ <rng:choice>
+ <rng:value>fix</rng:value>
+ <rng:value>value-type</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-style-direction-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:glyph-orientation-vertical">
+ <rng:choice>
+ <rng:value>auto</rng:value>
+ <rng:value>0</rng:value>
+ <rng:value>0deg</rng:value>
+ <rng:value>0rad</rng:value>
+ <rng:value>0grad</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-writing-mode-attlist"/>
+ <rng:ref name="common-shadow-attlist"/>
+ <rng:ref name="common-background-color-attlist"/>
+ <rng:ref name="common-border-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:diagonal-tl-br">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:diagonal-tl-br-widths">
+ <rng:ref name="borderWidths"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:diagonal-bl-tr">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:diagonal-bl-tr-widths">
+ <rng:ref name="borderWidths"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-border-line-width-attlist"/>
+ <rng:ref name="common-padding-attlist"/>
+ <rng:optional>
+ <rng:attribute name="fo:wrap-option">
+ <rng:choice>
+ <rng:value>no-wrap</rng:value>
+ <rng:value>wrap</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-rotation-angle-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:rotation-align">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>bottom</rng:value>
+ <rng:value>top</rng:value>
+ <rng:value>center</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:cell-protect">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>hidden-and-protected</rng:value>
+ <rng:list>
+ <rng:oneOrMore>
+ <rng:choice>
+ <rng:value>protected</rng:value>
+ <rng:value>formula-hidden</rng:value>
+ </rng:choice>
+ </rng:oneOrMore>
+ </rng:list>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:print-content">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:decimal-places">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:repeat-content">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:shrink-to-fit">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-table-cell-properties-content-strict">
+ <rng:ref name="style-table-cell-properties-attlist"/>
+ <rng:ref name="style-table-cell-properties-elements"/>
+ </rng:define>
+ <rng:define name="style-table-cell-properties-elements">
+ <rng:ref name="style-background-image"/>
+ </rng:define>
+ <rng:define name="style-table-column-properties">
+ <rng:element name="style:table-column-properties">
+ <rng:ref name="style-table-column-properties-content-strict"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-table-column-properties-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="style:column-width">
+ <rng:ref name="positiveLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:rel-column-width">
+ <rng:ref name="relativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:use-optimal-column-width">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-break-attlist"/>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-table-column-properties-content-strict">
+ <rng:ref name="style-table-column-properties-attlist"/>
+ <rng:ref name="style-table-column-properties-elements"/>
+ </rng:define>
+ <rng:define name="style-table-column-properties-elements">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="style-table-properties">
+ <rng:element name="style:table-properties">
+ <rng:ref name="style-table-properties-content-strict"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-table-properties-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="style:width">
+ <rng:ref name="positiveLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:rel-width">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:align">
+ <rng:choice>
+ <rng:value>left</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>right</rng:value>
+ <rng:value>margins</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-horizontal-margin-attlist"/>
+ <rng:ref name="common-vertical-margin-attlist"/>
+ <rng:ref name="common-margin-attlist"/>
+ <rng:ref name="common-page-number-attlist"/>
+ <rng:ref name="common-break-attlist"/>
+ <rng:ref name="common-background-color-attlist"/>
+ <rng:ref name="common-shadow-attlist"/>
+ <rng:ref name="common-keep-with-next-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:may-break-between-rows">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:border-model">
+ <rng:choice>
+ <rng:value>collapsing</rng:value>
+ <rng:value>separating</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-writing-mode-attlist"/>
+ <rng:optional>
+ <rng:attribute name="table:display">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-table-properties-content-strict">
+ <rng:ref name="style-table-properties-attlist"/>
+ <rng:ref name="style-table-properties-elements"/>
+ </rng:define>
+ <rng:define name="style-table-properties-elements">
+ <rng:ref name="style-background-image"/>
+ </rng:define>
+ <rng:define name="style-table-row-properties">
+ <rng:element name="style:table-row-properties">
+ <rng:ref name="style-table-row-properties-content-strict"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-table-row-properties-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="style:row-height">
+ <rng:ref name="positiveLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:min-row-height">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:use-optimal-row-height">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-background-color-attlist"/>
+ <rng:ref name="common-break-attlist"/>
+ <rng:optional>
+ <rng:attribute name="fo:keep-together">
+ <rng:choice>
+ <rng:value>auto</rng:value>
+ <rng:value>always</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-table-row-properties-content-strict">
+ <rng:ref name="style-table-row-properties-attlist"/>
+ <rng:ref name="style-table-row-properties-elements"/>
+ </rng:define>
+ <rng:define name="style-table-row-properties-elements">
+ <rng:ref name="style-background-image"/>
+ </rng:define>
+ <rng:define name="style-text-properties">
+ <rng:element name="style:text-properties">
+ <rng:ref name="style-text-properties-content-strict"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="style-text-properties-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="fo:font-variant">
+ <rng:ref name="fontVariant"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:text-transform">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>lowercase</rng:value>
+ <rng:value>uppercase</rng:value>
+ <rng:value>capitalize</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:use-window-font-color">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-outline">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-line-through-type">
+ <rng:ref name="lineType"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-line-through-style">
+ <rng:ref name="lineStyle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-line-through-width">
+ <rng:ref name="lineWidth"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-line-through-color">
+ <rng:choice>
+ <rng:value>font-color</rng:value>
+ <rng:ref name="color"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-line-through-text">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-line-through-text-style">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-position">
+ <rng:list>
+ <rng:choice>
+ <rng:ref name="percent"/>
+ <rng:value>super</rng:value>
+ <rng:value>sub</rng:value>
+ </rng:choice>
+ <rng:optional>
+ <rng:ref name="percent"/>
+ </rng:optional>
+ </rng:list>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-name-asian">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-name-complex">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:font-family">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-family-asian">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-family-complex">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-family-generic">
+ <rng:ref name="fontFamilyGeneric"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-family-generic-asian">
+ <rng:ref name="fontFamilyGeneric"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-family-generic-complex">
+ <rng:ref name="fontFamilyGeneric"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-style-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-style-name-asian">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-style-name-complex">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-pitch">
+ <rng:ref name="fontPitch"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-pitch-asian">
+ <rng:ref name="fontPitch"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-pitch-complex">
+ <rng:ref name="fontPitch"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-charset">
+ <rng:ref name="textEncoding"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-charset-asian">
+ <rng:ref name="textEncoding"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-charset-complex">
+ <rng:ref name="textEncoding"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:font-size">
+ <rng:choice>
+ <rng:ref name="positiveLength"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-size-asian">
+ <rng:choice>
+ <rng:ref name="positiveLength"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-size-complex">
+ <rng:choice>
+ <rng:ref name="positiveLength"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-size-rel">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-size-rel-asian">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-size-rel-complex">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:script-type">
+ <rng:choice>
+ <rng:value>latin</rng:value>
+ <rng:value>asian</rng:value>
+ <rng:value>complex</rng:value>
+ <rng:value>ignore</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:letter-spacing">
+ <rng:choice>
+ <rng:ref name="length"/>
+ <rng:value>normal</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:language">
+ <rng:ref name="languageCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:language-asian">
+ <rng:ref name="languageCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:language-complex">
+ <rng:ref name="languageCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:country">
+ <rng:ref name="countryCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:country-asian">
+ <rng:ref name="countryCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:country-complex">
+ <rng:ref name="countryCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:script">
+ <rng:ref name="scriptCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:script-asian">
+ <rng:ref name="scriptCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:script-complex">
+ <rng:ref name="scriptCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:rfc-language-tag">
+ <rng:ref name="language"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:rfc-language-tag-asian">
+ <rng:ref name="language"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:rfc-language-tag-complex">
+ <rng:ref name="language"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:font-style">
+ <rng:ref name="fontStyle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-style-asian">
+ <rng:ref name="fontStyle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-style-complex">
+ <rng:ref name="fontStyle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-relief">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>embossed</rng:value>
+ <rng:value>engraved</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:text-shadow">
+ <rng:ref name="shadowType"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-underline-type">
+ <rng:ref name="lineType"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-underline-style">
+ <rng:ref name="lineStyle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-underline-width">
+ <rng:ref name="lineWidth"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-underline-color">
+ <rng:choice>
+ <rng:value>font-color</rng:value>
+ <rng:ref name="color"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-overline-type">
+ <rng:ref name="lineType"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-overline-style">
+ <rng:ref name="lineStyle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-overline-width">
+ <rng:ref name="lineWidth"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-overline-color">
+ <rng:choice>
+ <rng:value>font-color</rng:value>
+ <rng:ref name="color"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-overline-mode">
+ <rng:ref name="lineMode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:font-weight">
+ <rng:ref name="fontWeight"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-weight-asian">
+ <rng:ref name="fontWeight"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:font-weight-complex">
+ <rng:ref name="fontWeight"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-underline-mode">
+ <rng:ref name="lineMode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-line-through-mode">
+ <rng:ref name="lineMode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:letter-kerning">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-blinking">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-background-color-attlist"/>
+ <rng:optional>
+ <rng:attribute name="style:text-combine">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>letters</rng:value>
+ <rng:value>lines</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-combine-start-char">
+ <rng:ref name="character"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-combine-end-char">
+ <rng:ref name="character"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-emphasize">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:list>
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>accent</rng:value>
+ <rng:value>dot</rng:value>
+ <rng:value>circle</rng:value>
+ <rng:value>disc</rng:value>
+ </rng:choice>
+ <rng:choice>
+ <rng:value>above</rng:value>
+ <rng:value>below</rng:value>
+ </rng:choice>
+ </rng:list>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-scale">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-rotation-angle">
+ <rng:ref name="angle"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:text-rotation-scale">
+ <rng:choice>
+ <rng:value>fixed</rng:value>
+ <rng:value>line-height</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:hyphenate">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:hyphenation-remain-char-count">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:hyphenation-push-char-count">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:choice>
+ <rng:attribute name="text:display">
+ <rng:value>true</rng:value>
+ </rng:attribute>
+ <rng:attribute name="text:display">
+ <rng:value>none</rng:value>
+ </rng:attribute>
+ <rng:group>
+ <rng:attribute name="text:display">
+ <rng:value>condition</rng:value>
+ </rng:attribute>
+ <rng:attribute name="text:condition">
+ <rng:value>none</rng:value>
+ </rng:attribute>
+ </rng:group>
+ <rng:empty/>
+ </rng:choice>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="style-text-properties-content-strict">
+ <rng:ref name="style-text-properties-attlist"/>
+ <rng:ref name="style-text-properties-elements"/>
+ </rng:define>
+ <rng:define name="style-text-properties-elements">
+ <rng:empty/>
+ </rng:define>
+ <rng:define name="styleName">
+ <rng:data type="NCName"/>
+ </rng:define>
+ <rng:define name="styleNameRef">
+ <rng:choice>
+ <rng:data type="NCName"/>
+ <rng:empty/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="styleNameRefs">
+ <rng:list>
+ <rng:zeroOrMore>
+ <rng:data type="NCName"/>
+ </rng:zeroOrMore>
+ </rng:list>
+ </rng:define>
+ <rng:define name="styles">
+ <rng:interleave>
+ <rng:zeroOrMore>
+ <rng:ref name="style-style"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="text-list-style"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="number-number-style"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="number-currency-style"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="number-percentage-style"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="number-date-style"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="number-time-style"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="number-boolean-style"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="number-text-style"/>
+ </rng:zeroOrMore>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="svg-definition-src">
+ <rng:element name="svg:definition-src">
+ <rng:ref name="common-svg-font-face-xlink-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="svg-desc">
+ <rng:element name="svg:desc">
+ <rng:text/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="svg-font-face-format">
+ <rng:element name="svg:font-face-format">
+ <rng:optional>
+ <rng:attribute name="svg:string">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="svg-font-face-name">
+ <rng:element name="svg:font-face-name">
+ <rng:optional>
+ <rng:attribute name="svg:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="svg-font-face-src">
+ <rng:element name="svg:font-face-src">
+ <rng:oneOrMore>
+ <rng:choice>
+ <rng:ref name="svg-font-face-uri"/>
+ <rng:ref name="svg-font-face-name"/>
+ </rng:choice>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="svg-font-face-uri">
+ <rng:element name="svg:font-face-uri">
+ <rng:ref name="common-svg-font-face-xlink-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="svg-font-face-format"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="svg-linearGradient">
+ <rng:element name="svg:linearGradient">
+ <rng:ref name="common-svg-gradient-attlist"/>
+ <rng:optional>
+ <rng:attribute name="svg:x1">
+ <rng:choice>
+ <rng:ref name="coordinate"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:y1">
+ <rng:choice>
+ <rng:ref name="coordinate"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:x2">
+ <rng:choice>
+ <rng:ref name="coordinate"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:y2">
+ <rng:choice>
+ <rng:ref name="coordinate"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="svg-stop"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="svg-radialGradient">
+ <rng:element name="svg:radialGradient">
+ <rng:ref name="common-svg-gradient-attlist"/>
+ <rng:optional>
+ <rng:attribute name="svg:cx">
+ <rng:choice>
+ <rng:ref name="coordinate"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:cy">
+ <rng:choice>
+ <rng:ref name="coordinate"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:r">
+ <rng:choice>
+ <rng:ref name="coordinate"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:fx">
+ <rng:choice>
+ <rng:ref name="coordinate"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:fy">
+ <rng:choice>
+ <rng:ref name="coordinate"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="svg-stop"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="svg-stop">
+ <rng:element name="svg:stop">
+ <rng:attribute name="svg:offset">
+ <rng:choice>
+ <rng:ref name="double"/>
+ <rng:ref name="percent"/>
+ </rng:choice>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="svg:stop-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="svg:stop-opacity">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="svg-title">
+ <rng:element name="svg:title">
+ <rng:text/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="tab-cycles">
+ <rng:choice>
+ <rng:value>records</rng:value>
+ <rng:value>current</rng:value>
+ <rng:value>page</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="table-background">
+ <rng:element name="table:background">
+ <rng:ref name="table-background-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-background-attlist">
+ <rng:attribute name="table:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="table-body">
+ <rng:element name="table:body">
+ <rng:ref name="common-table-template-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-calculation-setting-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:case-sensitive">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:precision-as-shown">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:search-criteria-must-apply-to-whole-cell">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:automatic-find-labels">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:use-regular-expressions">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:use-wildcards">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:null-year">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-calculation-settings">
+ <rng:element name="table:calculation-settings">
+ <rng:ref name="table-calculation-setting-attlist"/>
+ <rng:optional>
+ <rng:ref name="table-null-date"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-iteration"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-cell-address">
+ <rng:element name="table:cell-address">
+ <rng:ref name="common-table-cell-address-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-cell-content-change">
+ <rng:element name="table:cell-content-change">
+ <rng:ref name="common-table-change-attlist"/>
+ <rng:ref name="table-cell-address"/>
+ <rng:ref name="office-change-info"/>
+ <rng:optional>
+ <rng:ref name="table-dependencies"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-deletions"/>
+ </rng:optional>
+ <rng:ref name="table-previous"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-cell-content-deletion">
+ <rng:element name="table:cell-content-deletion">
+ <rng:optional>
+ <rng:attribute name="table:id">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-cell-address"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-change-track-table-cell"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-cell-range-source">
+ <rng:element name="table:cell-range-source">
+ <rng:ref name="table-table-cell-range-source-attlist"/>
+ <rng:ref name="table-linked-source-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-change-deletion">
+ <rng:element name="table:change-deletion">
+ <rng:optional>
+ <rng:attribute name="table:id">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-change-track-table-cell">
+ <rng:element name="table:change-track-table-cell">
+ <rng:ref name="table-change-track-table-cell-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="text-p"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-change-track-table-cell-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:cell-address">
+ <rng:ref name="cellAddress"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:matrix-covered">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:formula">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:number-matrix-columns-spanned">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:number-matrix-rows-spanned">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="common-value-and-type-attlist"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-columns">
+ <rng:choice>
+ <rng:ref name="table-table-columns"/>
+ <rng:oneOrMore>
+ <rng:ref name="table-table-column"/>
+ </rng:oneOrMore>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="table-columns-and-groups">
+ <rng:oneOrMore>
+ <rng:choice>
+ <rng:ref name="table-table-column-group"/>
+ <rng:ref name="table-columns-no-group"/>
+ </rng:choice>
+ </rng:oneOrMore>
+ </rng:define>
+ <rng:define name="table-columns-no-group">
+ <rng:choice>
+ <rng:group>
+ <rng:ref name="table-columns"/>
+ <rng:optional>
+ <rng:ref name="table-table-header-columns"/>
+ <rng:optional>
+ <rng:ref name="table-columns"/>
+ </rng:optional>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:ref name="table-table-header-columns"/>
+ <rng:optional>
+ <rng:ref name="table-columns"/>
+ </rng:optional>
+ </rng:group>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="table-consolidation">
+ <rng:element name="table:consolidation">
+ <rng:ref name="table-consolidation-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-consolidation-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:function">
+ <rng:choice>
+ <rng:value>average</rng:value>
+ <rng:value>count</rng:value>
+ <rng:value>countnums</rng:value>
+ <rng:value>max</rng:value>
+ <rng:value>min</rng:value>
+ <rng:value>product</rng:value>
+ <rng:value>stdev</rng:value>
+ <rng:value>stdevp</rng:value>
+ <rng:value>sum</rng:value>
+ <rng:value>var</rng:value>
+ <rng:value>varp</rng:value>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="table:source-cell-range-addresses">
+ <rng:ref name="cellRangeAddressList"/>
+ </rng:attribute>
+ <rng:attribute name="table:target-cell-address">
+ <rng:ref name="cellAddress"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:use-labels">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>row</rng:value>
+ <rng:value>column</rng:value>
+ <rng:value>both</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:link-to-source-data">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-content-validation">
+ <rng:element name="table:content-validation">
+ <rng:ref name="table-validation-attlist"/>
+ <rng:optional>
+ <rng:ref name="table-help-message"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:choice>
+ <rng:ref name="table-error-message"/>
+ <rng:group>
+ <rng:ref name="table-error-macro"/>
+ <rng:ref name="office-event-listeners"/>
+ </rng:group>
+ </rng:choice>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-content-validations">
+ <rng:element name="table:content-validations">
+ <rng:oneOrMore>
+ <rng:ref name="table-content-validation"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-covered-table-cell">
+ <rng:element name="table:covered-table-cell">
+ <rng:ref name="table-table-cell-attlist"/>
+ <rng:ref name="table-table-cell-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-cut-offs">
+ <rng:element name="table:cut-offs">
+ <rng:choice>
+ <rng:oneOrMore>
+ <rng:ref name="table-movement-cut-off"/>
+ </rng:oneOrMore>
+ <rng:group>
+ <rng:ref name="table-insertion-cut-off"/>
+ <rng:zeroOrMore>
+ <rng:ref name="table-movement-cut-off"/>
+ </rng:zeroOrMore>
+ </rng:group>
+ </rng:choice>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-display-info">
+ <rng:element name="table:data-pilot-display-info">
+ <rng:ref name="table-data-pilot-display-info-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-display-info-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:enabled">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ <rng:attribute name="table:data-field">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="table:member-count">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ <rng:attribute name="table:display-member-mode">
+ <rng:choice>
+ <rng:value>from-top</rng:value>
+ <rng:value>from-bottom</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-data-pilot-field">
+ <rng:element name="table:data-pilot-field">
+ <rng:ref name="table-data-pilot-field-attlist"/>
+ <rng:optional>
+ <rng:ref name="table-data-pilot-level"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-data-pilot-field-reference"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-data-pilot-groups"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-field-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:source-field-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:choice>
+ <rng:attribute name="table:orientation">
+ <rng:choice>
+ <rng:value>row</rng:value>
+ <rng:value>column</rng:value>
+ <rng:value>data</rng:value>
+ <rng:value>hidden</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:group>
+ <rng:attribute name="table:orientation">
+ <rng:value>page</rng:value>
+ </rng:attribute>
+ <rng:attribute name="table:selected-page">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:group>
+ </rng:choice>
+ <rng:optional>
+ <rng:attribute name="table:is-data-layout-field">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:function">
+ <rng:choice>
+ <rng:value>auto</rng:value>
+ <rng:value>average</rng:value>
+ <rng:value>count</rng:value>
+ <rng:value>countnums</rng:value>
+ <rng:value>max</rng:value>
+ <rng:value>min</rng:value>
+ <rng:value>product</rng:value>
+ <rng:value>stdev</rng:value>
+ <rng:value>stdevp</rng:value>
+ <rng:value>sum</rng:value>
+ <rng:value>var</rng:value>
+ <rng:value>varp</rng:value>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:used-hierarchy">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-data-pilot-field-reference">
+ <rng:element name="table:data-pilot-field-reference">
+ <rng:ref name="table-data-pilot-field-reference-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-field-reference-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:field-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:choice>
+ <rng:group>
+ <rng:attribute name="table:member-type">
+ <rng:value>named</rng:value>
+ </rng:attribute>
+ <rng:attribute name="table:member-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:group>
+ <rng:attribute name="table:member-type">
+ <rng:choice>
+ <rng:value>previous</rng:value>
+ <rng:value>next</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:choice>
+ <rng:attribute name="table:type">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>member-difference</rng:value>
+ <rng:value>member-percentage</rng:value>
+ <rng:value>member-percentage-difference</rng:value>
+ <rng:value>running-total</rng:value>
+ <rng:value>row-percentage</rng:value>
+ <rng:value>column-percentage</rng:value>
+ <rng:value>total-percentage</rng:value>
+ <rng:value>index</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-data-pilot-group">
+ <rng:element name="table:data-pilot-group">
+ <rng:ref name="table-data-pilot-group-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="table-data-pilot-group-member"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-group-attlist">
+ <rng:attribute name="table:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="table-data-pilot-group-member">
+ <rng:element name="table:data-pilot-group-member">
+ <rng:ref name="table-data-pilot-group-member-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-group-member-attlist">
+ <rng:attribute name="table:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="table-data-pilot-groups">
+ <rng:element name="table:data-pilot-groups">
+ <rng:ref name="table-data-pilot-groups-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="table-data-pilot-group"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-groups-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:source-field-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:choice>
+ <rng:attribute name="table:date-start">
+ <rng:choice>
+ <rng:ref name="dateOrDateTime"/>
+ <rng:value>auto</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="table:start">
+ <rng:choice>
+ <rng:ref name="double"/>
+ <rng:value>auto</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:choice>
+ <rng:choice>
+ <rng:attribute name="table:date-end">
+ <rng:choice>
+ <rng:ref name="dateOrDateTime"/>
+ <rng:value>auto</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="table:end">
+ <rng:choice>
+ <rng:ref name="double"/>
+ <rng:value>auto</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:choice>
+ <rng:attribute name="table:step">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ <rng:attribute name="table:grouped-by">
+ <rng:choice>
+ <rng:value>seconds</rng:value>
+ <rng:value>minutes</rng:value>
+ <rng:value>hours</rng:value>
+ <rng:value>days</rng:value>
+ <rng:value>months</rng:value>
+ <rng:value>quarters</rng:value>
+ <rng:value>years</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-data-pilot-layout-info">
+ <rng:element name="table:data-pilot-layout-info">
+ <rng:ref name="table-data-pilot-layout-info-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-layout-info-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:layout-mode">
+ <rng:choice>
+ <rng:value>tabular-layout</rng:value>
+ <rng:value>outline-subtotals-top</rng:value>
+ <rng:value>outline-subtotals-bottom</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="table:add-empty-lines">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-data-pilot-level">
+ <rng:element name="table:data-pilot-level">
+ <rng:ref name="table-data-pilot-level-attlist"/>
+ <rng:optional>
+ <rng:ref name="table-data-pilot-subtotals"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-data-pilot-members"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-data-pilot-display-info"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-data-pilot-sort-info"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-data-pilot-layout-info"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-level-attlist">
+ <rng:optional>
+ <rng:attribute name="table:show-empty">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="table-data-pilot-member">
+ <rng:element name="table:data-pilot-member">
+ <rng:ref name="table-data-pilot-member-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-member-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:display">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:show-details">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-data-pilot-members">
+ <rng:element name="table:data-pilot-members">
+ <rng:zeroOrMore>
+ <rng:ref name="table-data-pilot-member"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-sort-info">
+ <rng:element name="table:data-pilot-sort-info">
+ <rng:ref name="table-data-pilot-sort-info-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-sort-info-attlist">
+ <rng:interleave>
+ <rng:choice>
+ <rng:group>
+ <rng:attribute name="table:sort-mode">
+ <rng:value>data</rng:value>
+ </rng:attribute>
+ <rng:attribute name="table:data-field">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:group>
+ <rng:attribute name="table:sort-mode">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>manual</rng:value>
+ <rng:value>name</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:choice>
+ <rng:attribute name="table:order">
+ <rng:choice>
+ <rng:value>ascending</rng:value>
+ <rng:value>descending</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-data-pilot-subtotal">
+ <rng:element name="table:data-pilot-subtotal">
+ <rng:ref name="table-data-pilot-subtotal-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-subtotal-attlist">
+ <rng:attribute name="table:function">
+ <rng:choice>
+ <rng:value>auto</rng:value>
+ <rng:value>average</rng:value>
+ <rng:value>count</rng:value>
+ <rng:value>countnums</rng:value>
+ <rng:value>max</rng:value>
+ <rng:value>min</rng:value>
+ <rng:value>product</rng:value>
+ <rng:value>stdev</rng:value>
+ <rng:value>stdevp</rng:value>
+ <rng:value>sum</rng:value>
+ <rng:value>var</rng:value>
+ <rng:value>varp</rng:value>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="table-data-pilot-subtotals">
+ <rng:element name="table:data-pilot-subtotals">
+ <rng:zeroOrMore>
+ <rng:ref name="table-data-pilot-subtotal"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-table">
+ <rng:element name="table:data-pilot-table">
+ <rng:ref name="table-data-pilot-table-attlist"/>
+ <rng:optional>
+ <rng:choice>
+ <rng:ref name="table-database-source-sql"/>
+ <rng:ref name="table-database-source-table"/>
+ <rng:ref name="table-database-source-query"/>
+ <rng:ref name="table-source-service"/>
+ <rng:ref name="table-source-cell-range"/>
+ </rng:choice>
+ </rng:optional>
+ <rng:oneOrMore>
+ <rng:ref name="table-data-pilot-field"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-data-pilot-table-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:application-data">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:grand-total">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>row</rng:value>
+ <rng:value>column</rng:value>
+ <rng:value>both</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:ignore-empty-rows">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:identify-categories">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="table:target-range-address">
+ <rng:ref name="cellRangeAddress"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:buttons">
+ <rng:ref name="cellRangeAddressList"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:show-filter-button">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:drill-down-on-double-click">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-data-pilot-tables">
+ <rng:element name="table:data-pilot-tables">
+ <rng:zeroOrMore>
+ <rng:ref name="table-data-pilot-table"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-database-range">
+ <rng:element name="table:database-range">
+ <rng:ref name="table-database-range-attlist"/>
+ <rng:optional>
+ <rng:choice>
+ <rng:ref name="table-database-source-sql"/>
+ <rng:ref name="table-database-source-table"/>
+ <rng:ref name="table-database-source-query"/>
+ </rng:choice>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-filter"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-sort"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-subtotal-rules"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-database-range-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:is-selection">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:on-update-keep-styles">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:on-update-keep-size">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:has-persistent-data">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:orientation">
+ <rng:choice>
+ <rng:value>column</rng:value>
+ <rng:value>row</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:contains-header">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:display-filter-buttons">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="table:target-range-address">
+ <rng:ref name="cellRangeAddress"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:refresh-delay">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-database-ranges">
+ <rng:element name="table:database-ranges">
+ <rng:zeroOrMore>
+ <rng:ref name="table-database-range"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-database-source-query">
+ <rng:element name="table:database-source-table">
+ <rng:ref name="table-database-source-table-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-database-source-query-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:database-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="table:query-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-database-source-sql">
+ <rng:element name="table:database-source-sql">
+ <rng:ref name="table-database-source-sql-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-database-source-sql-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:database-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="table:sql-statement">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:parse-sql-statement">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-database-source-table">
+ <rng:element name="table:database-source-query">
+ <rng:ref name="table-database-source-query-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-database-source-table-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:database-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="table:database-table-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-dde-link">
+ <rng:element name="table:dde-link">
+ <rng:ref name="office-dde-source"/>
+ <rng:ref name="table-table"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-dde-links">
+ <rng:element name="table:dde-links">
+ <rng:oneOrMore>
+ <rng:ref name="table-dde-link"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-decls">
+ <rng:optional>
+ <rng:ref name="table-calculation-settings"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-content-validations"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-label-ranges"/>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="table-deletion">
+ <rng:element name="table:deletion">
+ <rng:ref name="table-deletion-attlist"/>
+ <rng:ref name="common-table-change-attlist"/>
+ <rng:ref name="office-change-info"/>
+ <rng:optional>
+ <rng:ref name="table-dependencies"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-deletions"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-cut-offs"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-deletion-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:type">
+ <rng:choice>
+ <rng:value>row</rng:value>
+ <rng:value>column</rng:value>
+ <rng:value>table</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="table:position">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:table">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:multi-deletion-spanned">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-deletions">
+ <rng:element name="table:deletions">
+ <rng:oneOrMore>
+ <rng:choice>
+ <rng:ref name="table-cell-content-deletion"/>
+ <rng:ref name="table-change-deletion"/>
+ </rng:choice>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-dependencies">
+ <rng:element name="table:dependencies">
+ <rng:oneOrMore>
+ <rng:ref name="table-dependency"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-dependency">
+ <rng:element name="table:dependency">
+ <rng:attribute name="table:id">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-desc">
+ <rng:element name="table:desc">
+ <rng:text/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-detective">
+ <rng:element name="table:detective">
+ <rng:zeroOrMore>
+ <rng:ref name="table-highlighted-range"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="table-operation"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-error-macro">
+ <rng:element name="table:error-macro">
+ <rng:optional>
+ <rng:attribute name="table:execute">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-error-message">
+ <rng:element name="table:error-message">
+ <rng:optional>
+ <rng:attribute name="table:title">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:display">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:message-type">
+ <rng:choice>
+ <rng:value>stop</rng:value>
+ <rng:value>warning</rng:value>
+ <rng:value>information</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="text-p"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-even-columns">
+ <rng:element name="table:even-columns">
+ <rng:ref name="common-table-template-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-even-rows">
+ <rng:element name="table:even-rows">
+ <rng:ref name="common-table-template-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-filter">
+ <rng:element name="table:filter">
+ <rng:ref name="table-filter-attlist"/>
+ <rng:choice>
+ <rng:ref name="table-filter-condition"/>
+ <rng:ref name="table-filter-and"/>
+ <rng:ref name="table-filter-or"/>
+ </rng:choice>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-filter-and">
+ <rng:element name="table:filter-and">
+ <rng:oneOrMore>
+ <rng:choice>
+ <rng:ref name="table-filter-or"/>
+ <rng:ref name="table-filter-condition"/>
+ </rng:choice>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-filter-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:target-range-address">
+ <rng:ref name="cellRangeAddress"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:condition-source">
+ <rng:choice>
+ <rng:value>self</rng:value>
+ <rng:value>cell-range</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:condition-source-range-address">
+ <rng:ref name="cellRangeAddress"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:display-duplicates">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-filter-condition">
+ <rng:element name="table:filter-condition">
+ <rng:ref name="table-filter-condition-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="table-filter-set-item"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-filter-condition-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:field-number">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ <rng:attribute name="table:value">
+ <rng:choice>
+ <rng:ref name="string"/>
+ <rng:ref name="double"/>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="table:operator">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:case-sensitive">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:data-type">
+ <rng:choice>
+ <rng:value>text</rng:value>
+ <rng:value>number</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-filter-or">
+ <rng:element name="table:filter-or">
+ <rng:oneOrMore>
+ <rng:choice>
+ <rng:ref name="table-filter-and"/>
+ <rng:ref name="table-filter-condition"/>
+ </rng:choice>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-filter-set-item">
+ <rng:element name="table:filter-set-item">
+ <rng:attribute name="table:value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-first-column">
+ <rng:element name="table:first-column">
+ <rng:ref name="common-table-template-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-first-row">
+ <rng:element name="table:first-row">
+ <rng:ref name="common-table-template-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-functions">
+ <rng:optional>
+ <rng:ref name="table-named-expressions"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-database-ranges"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-data-pilot-tables"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-consolidation"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-dde-links"/>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="table-help-message">
+ <rng:element name="table:help-message">
+ <rng:optional>
+ <rng:attribute name="table:title">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:display">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="text-p"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-highlighted-range">
+ <rng:element name="table:highlighted-range">
+ <rng:choice>
+ <rng:group>
+ <rng:ref name="table-highlighted-range-attlist"/>
+ </rng:group>
+ <rng:group>
+ <rng:ref name="table-highlighted-range-attlist-invalid"/>
+ </rng:group>
+ </rng:choice>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-highlighted-range-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:cell-range-address">
+ <rng:ref name="cellRangeAddress"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="table:direction">
+ <rng:choice>
+ <rng:value>from-another-table</rng:value>
+ <rng:value>to-another-table</rng:value>
+ <rng:value>from-same-table</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:contains-error">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-highlighted-range-attlist-invalid">
+ <rng:attribute name="table:marked-invalid">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="table-insertion">
+ <rng:element name="table:insertion">
+ <rng:ref name="table-insertion-attlist"/>
+ <rng:ref name="common-table-change-attlist"/>
+ <rng:ref name="office-change-info"/>
+ <rng:optional>
+ <rng:ref name="table-dependencies"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-deletions"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-insertion-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:type">
+ <rng:choice>
+ <rng:value>row</rng:value>
+ <rng:value>column</rng:value>
+ <rng:value>table</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="table:position">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:count">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:table">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-insertion-cut-off">
+ <rng:element name="table:insertion-cut-off">
+ <rng:ref name="table-insertion-cut-off-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-insertion-cut-off-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:id">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="table:position">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-iteration">
+ <rng:element name="table:iteration">
+ <rng:optional>
+ <rng:attribute name="table:status">
+ <rng:choice>
+ <rng:value>enable</rng:value>
+ <rng:value>disable</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:steps">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:maximum-difference">
+ <rng:ref name="double"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-label-range">
+ <rng:element name="table:label-range">
+ <rng:ref name="table-label-range-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-label-range-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:label-cell-range-address">
+ <rng:ref name="cellRangeAddress"/>
+ </rng:attribute>
+ <rng:attribute name="table:data-cell-range-address">
+ <rng:ref name="cellRangeAddress"/>
+ </rng:attribute>
+ <rng:attribute name="table:orientation">
+ <rng:choice>
+ <rng:value>column</rng:value>
+ <rng:value>row</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-label-ranges">
+ <rng:element name="table:label-ranges">
+ <rng:zeroOrMore>
+ <rng:ref name="table-label-range"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-last-column">
+ <rng:element name="table:last-column">
+ <rng:ref name="common-table-template-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-last-row">
+ <rng:element name="table:last-row">
+ <rng:ref name="common-table-template-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-linked-source-attlist">
+ <rng:interleave>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:actuate">
+ <rng:value>onRequest</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:filter-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:filter-options">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:refresh-delay">
+ <rng:ref name="duration"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-movement">
+ <rng:element name="table:movement">
+ <rng:ref name="common-table-change-attlist"/>
+ <rng:ref name="table-source-range-address"/>
+ <rng:ref name="table-target-range-address"/>
+ <rng:ref name="office-change-info"/>
+ <rng:optional>
+ <rng:ref name="table-dependencies"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-deletions"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-movement-cut-off">
+ <rng:element name="table:movement-cut-off">
+ <rng:ref name="table-movement-cut-off-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-movement-cut-off-attlist">
+ <rng:choice>
+ <rng:attribute name="table:position">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ <rng:group>
+ <rng:attribute name="table:start-position">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ <rng:attribute name="table:end-position">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:group>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="table-named-expression">
+ <rng:element name="table:named-expression">
+ <rng:ref name="table-named-expression-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-named-expression-attlist">
+ <rng:attribute name="table:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="table:expression">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:base-cell-address">
+ <rng:ref name="cellAddress"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="table-named-expressions">
+ <rng:element name="table:named-expressions">
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="table-named-range"/>
+ <rng:ref name="table-named-expression"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-named-range">
+ <rng:element name="table:named-range">
+ <rng:ref name="table-named-range-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-named-range-attlist">
+ <rng:attribute name="table:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="table:cell-range-address">
+ <rng:ref name="cellRangeAddress"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:base-cell-address">
+ <rng:ref name="cellAddress"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:range-usable-as">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:list>
+ <rng:oneOrMore>
+ <rng:choice>
+ <rng:value>print-range</rng:value>
+ <rng:value>filter</rng:value>
+ <rng:value>repeat-row</rng:value>
+ <rng:value>repeat-column</rng:value>
+ </rng:choice>
+ </rng:oneOrMore>
+ </rng:list>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="table-null-date">
+ <rng:element name="table:null-date">
+ <rng:optional>
+ <rng:attribute name="table:value-type">
+ <rng:value>date</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:date-value">
+ <rng:ref name="date"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-odd-columns">
+ <rng:element name="table:odd-columns">
+ <rng:ref name="common-table-template-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-odd-rows">
+ <rng:element name="table:odd-rows">
+ <rng:ref name="common-table-template-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-operation">
+ <rng:element name="table:operation">
+ <rng:ref name="table-operation-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-operation-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:name">
+ <rng:choice>
+ <rng:value>trace-dependents</rng:value>
+ <rng:value>remove-dependents</rng:value>
+ <rng:value>trace-precedents</rng:value>
+ <rng:value>remove-precedents</rng:value>
+ <rng:value>trace-errors</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="table:index">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-previous">
+ <rng:element name="table:previous">
+ <rng:optional>
+ <rng:attribute name="table:id">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="table-change-track-table-cell"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-rows">
+ <rng:choice>
+ <rng:ref name="table-table-rows"/>
+ <rng:oneOrMore>
+ <rng:optional>
+ <rng:ref name="text-soft-page-break"/>
+ </rng:optional>
+ <rng:ref name="table-table-row"/>
+ </rng:oneOrMore>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="table-rows-and-groups">
+ <rng:oneOrMore>
+ <rng:choice>
+ <rng:ref name="table-table-row-group"/>
+ <rng:ref name="table-rows-no-group"/>
+ </rng:choice>
+ </rng:oneOrMore>
+ </rng:define>
+ <rng:define name="table-rows-no-group">
+ <rng:choice>
+ <rng:group>
+ <rng:ref name="table-rows"/>
+ <rng:optional>
+ <rng:ref name="table-table-header-rows"/>
+ <rng:optional>
+ <rng:ref name="table-rows"/>
+ </rng:optional>
+ </rng:optional>
+ </rng:group>
+ <rng:group>
+ <rng:ref name="table-table-header-rows"/>
+ <rng:optional>
+ <rng:ref name="table-rows"/>
+ </rng:optional>
+ </rng:group>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="table-scenario">
+ <rng:element name="table:scenario">
+ <rng:ref name="table-scenario-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-scenario-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:scenario-ranges">
+ <rng:ref name="cellRangeAddressList"/>
+ </rng:attribute>
+ <rng:attribute name="table:is-active">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:display-border">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:border-color">
+ <rng:ref name="color"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:copy-back">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:copy-styles">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:copy-formulas">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:comment">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:protected">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-shapes">
+ <rng:element name="table:shapes">
+ <rng:oneOrMore>
+ <rng:ref name="shape"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-sort">
+ <rng:element name="table:sort">
+ <rng:ref name="table-sort-attlist"/>
+ <rng:oneOrMore>
+ <rng:ref name="table-sort-by"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-sort-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:bind-styles-to-content">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:target-range-address">
+ <rng:ref name="cellRangeAddress"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:case-sensitive">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:language">
+ <rng:ref name="languageCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:country">
+ <rng:ref name="countryCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:script">
+ <rng:ref name="scriptCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:rfc-language-tag">
+ <rng:ref name="language"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:algorithm">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:embedded-number-behavior">
+ <rng:choice>
+ <rng:value>alpha-numeric</rng:value>
+ <rng:value>integer</rng:value>
+ <rng:value>double</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-sort-by">
+ <rng:element name="table:sort-by">
+ <rng:ref name="table-sort-by-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-sort-by-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:field-number">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:data-type">
+ <rng:choice>
+ <rng:value>text</rng:value>
+ <rng:value>number</rng:value>
+ <rng:value>automatic</rng:value>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:order">
+ <rng:choice>
+ <rng:value>ascending</rng:value>
+ <rng:value>descending</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-sort-groups">
+ <rng:element name="table:sort-groups">
+ <rng:ref name="table-sort-groups-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-sort-groups-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:data-type">
+ <rng:choice>
+ <rng:value>text</rng:value>
+ <rng:value>number</rng:value>
+ <rng:value>automatic</rng:value>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:order">
+ <rng:choice>
+ <rng:value>ascending</rng:value>
+ <rng:value>descending</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-source-cell-range">
+ <rng:element name="table:source-cell-range">
+ <rng:ref name="table-source-cell-range-attlist"/>
+ <rng:optional>
+ <rng:ref name="table-filter"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-source-cell-range-attlist">
+ <rng:attribute name="table:cell-range-address">
+ <rng:ref name="cellRangeAddress"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="table-source-range-address">
+ <rng:element name="table:source-range-address">
+ <rng:ref name="common-table-range-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-source-service">
+ <rng:element name="table:source-service">
+ <rng:ref name="table-source-service-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-source-service-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="table:source-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="table:object-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:user-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:password">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-subtotal-field">
+ <rng:element name="table:subtotal-field">
+ <rng:ref name="table-subtotal-field-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-subtotal-field-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:field-number">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ <rng:attribute name="table:function">
+ <rng:choice>
+ <rng:value>average</rng:value>
+ <rng:value>count</rng:value>
+ <rng:value>countnums</rng:value>
+ <rng:value>max</rng:value>
+ <rng:value>min</rng:value>
+ <rng:value>product</rng:value>
+ <rng:value>stdev</rng:value>
+ <rng:value>stdevp</rng:value>
+ <rng:value>sum</rng:value>
+ <rng:value>var</rng:value>
+ <rng:value>varp</rng:value>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-subtotal-rule">
+ <rng:element name="table:subtotal-rule">
+ <rng:ref name="table-subtotal-rule-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="table-subtotal-field"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-subtotal-rule-attlist">
+ <rng:attribute name="table:group-by-field-number">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="table-subtotal-rules">
+ <rng:element name="table:subtotal-rules">
+ <rng:ref name="table-subtotal-rules-attlist"/>
+ <rng:optional>
+ <rng:ref name="table-sort-groups"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="table-subtotal-rule"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-subtotal-rules-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:bind-styles-to-content">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:case-sensitive">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:page-breaks-on-group-change">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-table">
+ <rng:element name="table:table">
+ <rng:ref name="table-table-attlist"/>
+ <rng:optional>
+ <rng:ref name="table-title"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-desc"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-table-source"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-dde-source"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-scenario"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-forms"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-shapes"/>
+ </rng:optional>
+ <rng:ref name="table-columns-and-groups"/>
+ <rng:ref name="table-rows-and-groups"/>
+ <rng:optional>
+ <rng:ref name="table-named-expressions"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-table-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:template-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:use-first-row-styles">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:use-last-row-styles">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:use-first-column-styles">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:use-last-column-styles">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:use-banding-rows-styles">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:use-banding-columns-styles">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:protected">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:protection-key">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:protection-key-digest-algorithm">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:print">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:print-ranges">
+ <rng:ref name="cellRangeAddressList"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:is-sub-table">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-table-cell">
+ <rng:element name="table:table-cell">
+ <rng:ref name="table-table-cell-attlist"/>
+ <rng:ref name="table-table-cell-attlist-extra"/>
+ <rng:ref name="table-table-cell-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-table-cell-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:number-columns-repeated">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:content-validation-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:formula">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="common-value-and-type-attlist"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:protect">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:protected">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="common-in-content-meta-attlist"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-table-cell-attlist-extra">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:number-columns-spanned">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:number-rows-spanned">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:number-matrix-columns-spanned">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:number-matrix-rows-spanned">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-table-cell-content">
+ <rng:optional>
+ <rng:ref name="table-cell-range-source"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="office-annotation"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-detective"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="text-content"/>
+ </rng:zeroOrMore>
+ </rng:define>
+ <rng:define name="table-table-cell-range-source-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="table:last-column-spanned">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ <rng:attribute name="table:last-row-spanned">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-table-column">
+ <rng:element name="table:table-column">
+ <rng:ref name="table-table-column-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-table-column-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:number-columns-repeated">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:visibility">
+ <rng:ref name="table-visibility-value"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:default-cell-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-table-column-group">
+ <rng:element name="table:table-column-group">
+ <rng:ref name="table-table-column-group-attlist"/>
+ <rng:ref name="table-columns-and-groups"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-table-column-group-attlist">
+ <rng:optional>
+ <rng:attribute name="table:display">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="table-table-columns">
+ <rng:element name="table:table-columns">
+ <rng:oneOrMore>
+ <rng:ref name="table-table-column"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-table-header-columns">
+ <rng:element name="table:table-header-columns">
+ <rng:oneOrMore>
+ <rng:ref name="table-table-column"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-table-header-rows">
+ <rng:element name="table:table-header-rows">
+ <rng:oneOrMore>
+ <rng:optional>
+ <rng:ref name="text-soft-page-break"/>
+ </rng:optional>
+ <rng:ref name="table-table-row"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-table-row">
+ <rng:element name="table:table-row">
+ <rng:ref name="table-table-row-attlist"/>
+ <rng:oneOrMore>
+ <rng:choice>
+ <rng:ref name="table-table-cell"/>
+ <rng:ref name="table-covered-table-cell"/>
+ </rng:choice>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-table-row-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:number-rows-repeated">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:default-cell-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:visibility">
+ <rng:ref name="table-visibility-value"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-table-row-group">
+ <rng:element name="table:table-row-group">
+ <rng:ref name="table-table-row-group-attlist"/>
+ <rng:ref name="table-rows-and-groups"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-table-row-group-attlist">
+ <rng:optional>
+ <rng:attribute name="table:display">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="table-table-rows">
+ <rng:element name="table:table-rows">
+ <rng:oneOrMore>
+ <rng:optional>
+ <rng:ref name="text-soft-page-break"/>
+ </rng:optional>
+ <rng:ref name="table-table-row"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-table-source">
+ <rng:element name="table:table-source">
+ <rng:ref name="table-table-source-attlist"/>
+ <rng:ref name="table-linked-source-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-table-source-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="table:mode">
+ <rng:choice>
+ <rng:value>copy-all</rng:value>
+ <rng:value>copy-results-only</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:table-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-table-template">
+ <rng:element name="table:table-template">
+ <rng:ref name="table-table-template-attlist"/>
+ <rng:optional>
+ <rng:ref name="table-first-row"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-last-row"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-first-column"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-last-column"/>
+ </rng:optional>
+ <rng:ref name="table-body"/>
+ <rng:optional>
+ <rng:ref name="table-even-rows"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-odd-rows"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-even-columns"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-odd-columns"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="table-background"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-table-template-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="table:first-row-start-column">
+ <rng:ref name="rowOrCol"/>
+ </rng:attribute>
+ <rng:attribute name="table:first-row-end-column">
+ <rng:ref name="rowOrCol"/>
+ </rng:attribute>
+ <rng:attribute name="table:last-row-start-column">
+ <rng:ref name="rowOrCol"/>
+ </rng:attribute>
+ <rng:attribute name="table:last-row-end-column">
+ <rng:ref name="rowOrCol"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-target-range-address">
+ <rng:element name="table:target-range-address">
+ <rng:ref name="common-table-range-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-title">
+ <rng:element name="table:title">
+ <rng:text/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-tracked-changes">
+ <rng:element name="table:tracked-changes">
+ <rng:ref name="table-tracked-changes-attlist"/>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="table-cell-content-change"/>
+ <rng:ref name="table-insertion"/>
+ <rng:ref name="table-deletion"/>
+ <rng:ref name="table-movement"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="table-tracked-changes-attlist">
+ <rng:optional>
+ <rng:attribute name="table:track-changes">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="table-validation-attlist">
+ <rng:interleave>
+ <rng:attribute name="table:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="table:condition">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:base-cell-address">
+ <rng:ref name="cellAddress"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:allow-empty-cell">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="table:display-list">
+ <rng:choice>
+ <rng:value>none</rng:value>
+ <rng:value>unsorted</rng:value>
+ <rng:value>sort-ascending</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="table-visibility-value">
+ <rng:choice>
+ <rng:value>visible</rng:value>
+ <rng:value>collapse</rng:value>
+ <rng:value>filter</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="target-frame">
+ <rng:optional>
+ <rng:attribute name="office:target-frame">
+ <rng:ref name="targetFrameName"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="target-location">
+ <rng:optional>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="targetFrameName">
+ <rng:choice>
+ <rng:value>_self</rng:value>
+ <rng:value>_blank</rng:value>
+ <rng:value>_parent</rng:value>
+ <rng:value>_top</rng:value>
+ <rng:ref name="string"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="text-a">
+ <rng:element name="text:a">
+ <rng:ref name="text-a-attlist"/>
+ <rng:optional>
+ <rng:ref name="office-event-listeners"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="paragraph-content"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-a-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="office:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="office:title">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:actuate">
+ <rng:value>onRequest</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="office:target-frame-name">
+ <rng:ref name="targetFrameName"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="xlink:show">
+ <rng:choice>
+ <rng:value>new</rng:value>
+ <rng:value>replace</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:visited-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-alphabetical-index">
+ <rng:element name="text:alphabetical-index">
+ <rng:ref name="common-section-attlist"/>
+ <rng:ref name="text-alphabetical-index-source"/>
+ <rng:ref name="text-index-body"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-alphabetical-index-auto-mark-file">
+ <rng:element name="text:alphabetical-index-auto-mark-file">
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-alphabetical-index-entry-template">
+ <rng:element name="text:alphabetical-index-entry-template">
+ <rng:ref name="text-alphabetical-index-entry-template-attrs"/>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="text-index-entry-chapter"/>
+ <rng:ref name="text-index-entry-page-number"/>
+ <rng:ref name="text-index-entry-text"/>
+ <rng:ref name="text-index-entry-span"/>
+ <rng:ref name="text-index-entry-tab-stop"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-alphabetical-index-entry-template-attrs">
+ <rng:interleave>
+ <rng:attribute name="text:outline-level">
+ <rng:choice>
+ <rng:value>1</rng:value>
+ <rng:value>2</rng:value>
+ <rng:value>3</rng:value>
+ <rng:value>separator</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-alphabetical-index-mark-attrs">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:key1">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:key2">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:string-value-phonetic">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:key1-phonetic">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:key2-phonetic">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:main-entry">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-alphabetical-index-source">
+ <rng:element name="text:alphabetical-index-source">
+ <rng:ref name="text-alphabetical-index-source-attrs"/>
+ <rng:optional>
+ <rng:ref name="text-index-title-template"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="text-alphabetical-index-entry-template"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-alphabetical-index-source-attrs">
+ <rng:interleave>
+ <rng:ref name="text-index-scope-attr"/>
+ <rng:ref name="text-relative-tab-stop-position-attr"/>
+ <rng:optional>
+ <rng:attribute name="text:ignore-case">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:main-entry-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:alphabetical-separators">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:combine-entries">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:combine-entries-with-dash">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:combine-entries-with-pp">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:use-keys-as-entries">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:capitalize-entries">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:comma-separated">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:language">
+ <rng:ref name="languageCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:country">
+ <rng:ref name="countryCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:script">
+ <rng:ref name="scriptCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:rfc-language-tag">
+ <rng:ref name="language"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:sort-algorithm">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-bibliography">
+ <rng:element name="text:bibliography">
+ <rng:ref name="common-section-attlist"/>
+ <rng:ref name="text-bibliography-source"/>
+ <rng:ref name="text-index-body"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-bibliography-configuration">
+ <rng:element name="text:bibliography-configuration">
+ <rng:ref name="text-bibliography-configuration-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="text-sort-key"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-bibliography-configuration-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:prefix">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:suffix">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:numbered-entries">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:sort-by-position">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:language">
+ <rng:ref name="languageCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:country">
+ <rng:ref name="countryCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="fo:script">
+ <rng:ref name="scriptCode"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="style:rfc-language-tag">
+ <rng:ref name="language"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:sort-algorithm">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-bibliography-entry-template">
+ <rng:element name="text:bibliography-entry-template">
+ <rng:ref name="text-bibliography-entry-template-attrs"/>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="text-index-entry-span"/>
+ <rng:ref name="text-index-entry-tab-stop"/>
+ <rng:ref name="text-index-entry-bibliography"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-bibliography-entry-template-attrs">
+ <rng:interleave>
+ <rng:attribute name="text:bibliography-type">
+ <rng:ref name="text-bibliography-types"/>
+ </rng:attribute>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-bibliography-source">
+ <rng:element name="text:bibliography-source">
+ <rng:optional>
+ <rng:ref name="text-index-title-template"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="text-bibliography-entry-template"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-bibliography-types">
+ <rng:choice>
+ <rng:value>article</rng:value>
+ <rng:value>book</rng:value>
+ <rng:value>booklet</rng:value>
+ <rng:value>conference</rng:value>
+ <rng:value>custom1</rng:value>
+ <rng:value>custom2</rng:value>
+ <rng:value>custom3</rng:value>
+ <rng:value>custom4</rng:value>
+ <rng:value>custom5</rng:value>
+ <rng:value>email</rng:value>
+ <rng:value>inbook</rng:value>
+ <rng:value>incollection</rng:value>
+ <rng:value>inproceedings</rng:value>
+ <rng:value>journal</rng:value>
+ <rng:value>manual</rng:value>
+ <rng:value>mastersthesis</rng:value>
+ <rng:value>misc</rng:value>
+ <rng:value>phdthesis</rng:value>
+ <rng:value>proceedings</rng:value>
+ <rng:value>techreport</rng:value>
+ <rng:value>unpublished</rng:value>
+ <rng:value>www</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="text-bookmark">
+ <rng:element name="text:bookmark">
+ <rng:ref name="text-bookmark-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-bookmark-attlist">
+ <rng:interleave>
+ <rng:attribute name="text:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-bookmark-end">
+ <rng:element name="text:bookmark-end">
+ <rng:ref name="text-bookmark-end-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-bookmark-end-attlist">
+ <rng:attribute name="text:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="text-bookmark-ref-content">
+ <rng:optional>
+ <rng:attribute name="text:reference-format">
+ <rng:choice>
+ <rng:ref name="common-ref-format-values"/>
+ <rng:value>number-no-superior</rng:value>
+ <rng:value>number-all-superior</rng:value>
+ <rng:value>number</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="text-bookmark-start">
+ <rng:element name="text:bookmark-start">
+ <rng:ref name="text-bookmark-start-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-bookmark-start-attlist">
+ <rng:interleave>
+ <rng:attribute name="text:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="common-in-content-meta-attlist"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-changed-region">
+ <rng:element name="text:changed-region">
+ <rng:ref name="text-changed-region-attr"/>
+ <rng:ref name="text-changed-region-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-changed-region-attr">
+ <rng:group>
+ <rng:ref name="xml-id"/>
+ <rng:optional>
+ <rng:attribute name="text:id">
+ <rng:ref name="NCName"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:group>
+ </rng:define>
+ <rng:define name="text-changed-region-content">
+ <rng:choice>
+ <rng:element name="text:insertion">
+ <rng:ref name="office-change-info"/>
+ </rng:element>
+ <rng:element name="text:deletion">
+ <rng:ref name="office-change-info"/>
+ <rng:zeroOrMore>
+ <rng:ref name="text-content"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ <rng:element name="text:format-change">
+ <rng:ref name="office-change-info"/>
+ </rng:element>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="text-chapter-attlist">
+ <rng:interleave>
+ <rng:attribute name="text:display">
+ <rng:choice>
+ <rng:value>name</rng:value>
+ <rng:value>number</rng:value>
+ <rng:value>number-and-name</rng:value>
+ <rng:value>plain-number-and-name</rng:value>
+ <rng:value>plain-number</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:attribute name="text:outline-level">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-common-ref-content">
+ <rng:interleave>
+ <rng:text/>
+ <rng:optional>
+ <rng:attribute name="text:ref-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-conditional-text-attlist">
+ <rng:interleave>
+ <rng:attribute name="text:condition">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="text:string-value-if-true">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="text:string-value-if-false">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="text:current-value">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-content">
+ <rng:choice>
+ <rng:ref name="text-h"/>
+ <rng:ref name="text-p"/>
+ <rng:ref name="text-list"/>
+ <rng:ref name="text-numbered-paragraph"/>
+ <rng:ref name="table-table"/>
+ <rng:ref name="text-section"/>
+ <rng:ref name="text-soft-page-break"/>
+ <rng:ref name="text-table-of-content"/>
+ <rng:ref name="text-illustration-index"/>
+ <rng:ref name="text-table-index"/>
+ <rng:ref name="text-object-index"/>
+ <rng:ref name="text-user-index"/>
+ <rng:ref name="text-alphabetical-index"/>
+ <rng:ref name="text-bibliography"/>
+ <rng:ref name="shape"/>
+ <rng:ref name="change-marks"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="text-database-display-attlist">
+ <rng:interleave>
+ <rng:ref name="common-field-database-table"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ <rng:attribute name="text:column-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-database-next-attlist">
+ <rng:interleave>
+ <rng:ref name="common-field-database-table"/>
+ <rng:optional>
+ <rng:attribute name="text:condition">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-database-row-select-attlist">
+ <rng:interleave>
+ <rng:ref name="common-field-database-table"/>
+ <rng:optional>
+ <rng:attribute name="text:condition">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:row-number">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-date-attlist">
+ <rng:interleave>
+ <rng:interleave>
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ </rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:date-value">
+ <rng:ref name="dateOrDateTime"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:date-adjust">
+ <rng:ref name="duration"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-dde-connection-decl">
+ <rng:element name="text:dde-connection-decl">
+ <rng:ref name="text-dde-connection-decl-attlist"/>
+ <rng:ref name="common-dde-connection-decl-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-dde-connection-decl-attlist">
+ <rng:attribute name="office:name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="text-decls">
+ <rng:optional>
+ <rng:element name="text:variable-decls">
+ <rng:zeroOrMore>
+ <rng:ref name="text-variable-decl"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:optional>
+ <rng:optional>
+ <rng:element name="text:sequence-decls">
+ <rng:zeroOrMore>
+ <rng:ref name="text-sequence-decl"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:optional>
+ <rng:optional>
+ <rng:element name="text:user-field-decls">
+ <rng:zeroOrMore>
+ <rng:ref name="text-user-field-decl"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:optional>
+ <rng:optional>
+ <rng:element name="text:dde-connection-decls">
+ <rng:zeroOrMore>
+ <rng:ref name="text-dde-connection-decl"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="text-alphabetical-index-auto-mark-file"/>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="text-file-name-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:display">
+ <rng:choice>
+ <rng:value>full</rng:value>
+ <rng:value>path</rng:value>
+ <rng:value>name</rng:value>
+ <rng:value>name-and-extension</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-field-fixed-attlist"/>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-get-page-variable-attlist">
+ <rng:ref name="common-field-num-format-attlist"/>
+ </rng:define>
+ <rng:define name="text-h">
+ <rng:element name="text:h">
+ <rng:ref name="heading-attrs"/>
+ <rng:ref name="paragraph-attrs"/>
+ <rng:optional>
+ <rng:ref name="text-number"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="paragraph-content-or-hyperlink"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-hidden-paragraph-attlist">
+ <rng:interleave>
+ <rng:attribute name="text:condition">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="text:is-hidden">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-hidden-text-attlist">
+ <rng:interleave>
+ <rng:attribute name="text:condition">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:attribute name="text:string-value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="text:is-hidden">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-id">
+ <rng:attribute name="text:id">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="text-illustration-index">
+ <rng:element name="text:illustration-index">
+ <rng:ref name="common-section-attlist"/>
+ <rng:ref name="text-illustration-index-source"/>
+ <rng:ref name="text-index-body"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-illustration-index-entry-content">
+ <rng:ref name="text-illustration-index-entry-template-attrs"/>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="text-index-entry-chapter"/>
+ <rng:ref name="text-index-entry-page-number"/>
+ <rng:ref name="text-index-entry-text"/>
+ <rng:ref name="text-index-entry-span"/>
+ <rng:ref name="text-index-entry-tab-stop"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:define>
+ <rng:define name="text-illustration-index-entry-template">
+ <rng:element name="text:illustration-index-entry-template">
+ <rng:ref name="text-illustration-index-entry-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-illustration-index-entry-template-attrs">
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="text-illustration-index-source">
+ <rng:element name="text:illustration-index-source">
+ <rng:ref name="text-illustration-index-source-attrs"/>
+ <rng:optional>
+ <rng:ref name="text-index-title-template"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="text-illustration-index-entry-template"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-illustration-index-source-attrs">
+ <rng:interleave>
+ <rng:ref name="text-index-scope-attr"/>
+ <rng:ref name="text-relative-tab-stop-position-attr"/>
+ <rng:optional>
+ <rng:attribute name="text:use-caption">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:caption-sequence-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:caption-sequence-format">
+ <rng:choice>
+ <rng:value>text</rng:value>
+ <rng:value>category-and-value</rng:value>
+ <rng:value>caption</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-index-body">
+ <rng:element name="text:index-body">
+ <rng:zeroOrMore>
+ <rng:ref name="index-content-main"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-index-entry-bibliography">
+ <rng:element name="text:index-entry-bibliography">
+ <rng:ref name="text-index-entry-bibliography-attrs"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-index-entry-bibliography-attrs">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="text:bibliography-data-field">
+ <rng:choice>
+ <rng:value>address</rng:value>
+ <rng:value>annote</rng:value>
+ <rng:value>author</rng:value>
+ <rng:value>bibliography-type</rng:value>
+ <rng:value>booktitle</rng:value>
+ <rng:value>chapter</rng:value>
+ <rng:value>custom1</rng:value>
+ <rng:value>custom2</rng:value>
+ <rng:value>custom3</rng:value>
+ <rng:value>custom4</rng:value>
+ <rng:value>custom5</rng:value>
+ <rng:value>edition</rng:value>
+ <rng:value>editor</rng:value>
+ <rng:value>howpublished</rng:value>
+ <rng:value>identifier</rng:value>
+ <rng:value>institution</rng:value>
+ <rng:value>isbn</rng:value>
+ <rng:value>issn</rng:value>
+ <rng:value>journal</rng:value>
+ <rng:value>month</rng:value>
+ <rng:value>note</rng:value>
+ <rng:value>number</rng:value>
+ <rng:value>organizations</rng:value>
+ <rng:value>pages</rng:value>
+ <rng:value>publisher</rng:value>
+ <rng:value>report-type</rng:value>
+ <rng:value>school</rng:value>
+ <rng:value>series</rng:value>
+ <rng:value>title</rng:value>
+ <rng:value>url</rng:value>
+ <rng:value>volume</rng:value>
+ <rng:value>year</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-index-entry-chapter">
+ <rng:element name="text:index-entry-chapter">
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="text-index-entry-chapter-attrs"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-index-entry-chapter-attrs">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:display">
+ <rng:choice>
+ <rng:value>name</rng:value>
+ <rng:value>number</rng:value>
+ <rng:value>number-and-name</rng:value>
+ <rng:value>plain-number</rng:value>
+ <rng:value>plain-number-and-name</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:outline-level">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-index-entry-link-end">
+ <rng:element name="text:index-entry-link-end">
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-index-entry-link-start">
+ <rng:element name="text:index-entry-link-start">
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-index-entry-page-number">
+ <rng:element name="text:index-entry-page-number">
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-index-entry-span">
+ <rng:element name="text:index-entry-span">
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:text/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-index-entry-tab-stop">
+ <rng:element name="text:index-entry-tab-stop">
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="text-index-entry-tab-stop-attrs"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-index-entry-tab-stop-attrs">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="style:leader-char">
+ <rng:ref name="character"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:choice>
+ <rng:attribute name="style:type">
+ <rng:value>right</rng:value>
+ </rng:attribute>
+ <rng:group>
+ <rng:attribute name="style:type">
+ <rng:value>left</rng:value>
+ </rng:attribute>
+ <rng:attribute name="style:position">
+ <rng:ref name="length"/>
+ </rng:attribute>
+ </rng:group>
+ </rng:choice>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-index-entry-text">
+ <rng:element name="text:index-entry-text">
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-index-name">
+ <rng:attribute name="text:index-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="text-index-scope-attr">
+ <rng:optional>
+ <rng:attribute name="text:index-scope">
+ <rng:choice>
+ <rng:value>document</rng:value>
+ <rng:value>chapter</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="text-index-source-style">
+ <rng:element name="text:index-source-style">
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleName"/>
+ </rng:attribute>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-index-source-styles">
+ <rng:element name="text:index-source-styles">
+ <rng:attribute name="text:outline-level">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ <rng:zeroOrMore>
+ <rng:ref name="text-index-source-style"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-index-title">
+ <rng:element name="text:index-title">
+ <rng:ref name="common-section-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="index-content-main"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-index-title-template">
+ <rng:element name="text:index-title-template">
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:text/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-linenumbering-configuration">
+ <rng:element name="text:linenumbering-configuration">
+ <rng:ref name="text-linenumbering-configuration-attlist"/>
+ <rng:optional>
+ <rng:ref name="text-linenumbering-separator"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-linenumbering-configuration-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:number-lines">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="common-num-format-attlist"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:increment">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:number-position">
+ <rng:choice>
+ <rng:value>left</rng:value>
+ <rng:value>right</rng:value>
+ <rng:value>inner</rng:value>
+ <rng:value>outer</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:offset">
+ <rng:ref name="nonNegativeLength"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:count-empty-lines">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:count-in-text-boxes">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:restart-on-page">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-linenumbering-separator">
+ <rng:element name="text:linenumbering-separator">
+ <rng:optional>
+ <rng:attribute name="text:increment">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:text/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-list">
+ <rng:element name="text:list">
+ <rng:ref name="text-list-attr"/>
+ <rng:optional>
+ <rng:ref name="text-list-header"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="text-list-item"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-list-attr">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:continue-numbering">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:continue-list">
+ <rng:ref name="IDREF"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-list-header">
+ <rng:element name="text:list-header">
+ <rng:ref name="text-list-header-attr"/>
+ <rng:ref name="text-list-item-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-list-header-attr">
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="text-list-item">
+ <rng:element name="text:list-item">
+ <rng:ref name="text-list-item-attr"/>
+ <rng:ref name="text-list-item-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-list-item-attr">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:start-value">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:style-override">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-list-item-content">
+ <rng:optional>
+ <rng:ref name="text-number"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="text-p"/>
+ <rng:ref name="text-h"/>
+ <rng:ref name="text-list"/>
+ <rng:ref name="text-soft-page-break"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:define>
+ <rng:define name="text-list-level-style-attr">
+ <rng:attribute name="text:level">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="text-list-level-style-bullet-attr">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="text:bullet-char">
+ <rng:ref name="character"/>
+ </rng:attribute>
+ <rng:ref name="common-num-format-prefix-suffix-attlist"/>
+ <rng:optional>
+ <rng:attribute name="text:bullet-relative-size">
+ <rng:ref name="percent"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-list-level-style-image-attr">
+ <rng:choice>
+ <rng:ref name="common-draw-data-attlist"/>
+ <rng:ref name="office-binary-data"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="text-list-level-style-number-attr">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-num-format-attlist"/>
+ <rng:ref name="common-num-format-prefix-suffix-attlist"/>
+ <rng:optional>
+ <rng:attribute name="text:display-levels">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:start-value">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-list-style">
+ <rng:element name="text:list-style">
+ <rng:ref name="text-list-style-attr"/>
+ <rng:zeroOrMore>
+ <rng:ref name="text-list-style-content"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-list-style-attr">
+ <rng:interleave>
+ <rng:attribute name="style:name">
+ <rng:ref name="styleName"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="style:display-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:consecutive-numbering">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-list-style-content">
+ <rng:choice>
+ <rng:element name="text:list-level-style-number">
+ <rng:ref name="text-list-level-style-attr"/>
+ <rng:ref name="text-list-level-style-number-attr"/>
+ <rng:optional>
+ <rng:ref name="style-list-level-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ </rng:element>
+ <rng:element name="text:list-level-style-bullet">
+ <rng:ref name="text-list-level-style-attr"/>
+ <rng:ref name="text-list-level-style-bullet-attr"/>
+ <rng:optional>
+ <rng:ref name="style-list-level-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ </rng:element>
+ <rng:element name="text:list-level-style-image">
+ <rng:ref name="text-list-level-style-attr"/>
+ <rng:ref name="text-list-level-style-image-attr"/>
+ <rng:optional>
+ <rng:ref name="style-list-level-properties"/>
+ </rng:optional>
+ </rng:element>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="text-meta-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:ref name="common-in-content-meta-attlist"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-meta-field-attlist">
+ <rng:interleave>
+ <rng:ref name="xml-id"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-note-class">
+ <rng:attribute name="text:note-class">
+ <rng:choice>
+ <rng:value>footnote</rng:value>
+ <rng:value>endnote</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="text-note-ref-content">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:reference-format">
+ <rng:choice>
+ <rng:ref name="common-ref-format-values"/>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="text-note-class"/>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-notes-configuration">
+ <rng:element name="text:notes-configuration">
+ <rng:ref name="text-notes-configuration-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-notes-configuration-content">
+ <rng:interleave>
+ <rng:ref name="text-note-class"/>
+ <rng:optional>
+ <rng:attribute name="text:citation-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:citation-body-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:default-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:master-page-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:start-value">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-num-format-prefix-suffix-attlist"/>
+ <rng:optional>
+ <rng:ref name="common-num-format-attlist"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:start-numbering-at">
+ <rng:choice>
+ <rng:value>document</rng:value>
+ <rng:value>chapter</rng:value>
+ <rng:value>page</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:footnotes-position">
+ <rng:choice>
+ <rng:value>text</rng:value>
+ <rng:value>page</rng:value>
+ <rng:value>section</rng:value>
+ <rng:value>document</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:element name="text:note-continuation-notice-forward">
+ <rng:text/>
+ </rng:element>
+ </rng:optional>
+ <rng:optional>
+ <rng:element name="text:note-continuation-notice-backward">
+ <rng:text/>
+ </rng:element>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-number">
+ <rng:element name="text:number">
+ <rng:ref name="string"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-numbered-paragraph">
+ <rng:element name="text:numbered-paragraph">
+ <rng:ref name="text-numbered-paragraph-attr"/>
+ <rng:optional>
+ <rng:ref name="text-number"/>
+ </rng:optional>
+ <rng:choice>
+ <rng:ref name="text-p"/>
+ <rng:ref name="text-h"/>
+ </rng:choice>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-numbered-paragraph-attr">
+ <rng:interleave>
+ <rng:attribute name="text:list-id">
+ <rng:ref name="NCName"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="text:level">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ <rng:attribute name="text:continue-numbering">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ <rng:attribute name="text:start-value">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="xml-id"/>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-object-index">
+ <rng:element name="text:object-index">
+ <rng:ref name="common-section-attlist"/>
+ <rng:ref name="text-object-index-source"/>
+ <rng:ref name="text-index-body"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-object-index-entry-template">
+ <rng:element name="text:object-index-entry-template">
+ <rng:ref name="text-illustration-index-entry-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-object-index-source">
+ <rng:element name="text:object-index-source">
+ <rng:ref name="text-object-index-source-attrs"/>
+ <rng:optional>
+ <rng:ref name="text-index-title-template"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="text-object-index-entry-template"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-object-index-source-attrs">
+ <rng:interleave>
+ <rng:ref name="text-index-scope-attr"/>
+ <rng:ref name="text-relative-tab-stop-position-attr"/>
+ <rng:optional>
+ <rng:attribute name="text:use-spreadsheet-objects">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:use-math-objects">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:use-draw-objects">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:use-chart-objects">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:use-other-objects">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-outline-level">
+ <rng:optional>
+ <rng:attribute name="text:outline-level">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="text-outline-level-style">
+ <rng:element name="text:outline-level-style">
+ <rng:ref name="text-outline-level-style-attlist"/>
+ <rng:optional>
+ <rng:ref name="style-list-level-properties"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="style-text-properties"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-outline-level-style-attlist">
+ <rng:interleave>
+ <rng:attribute name="text:level">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:ref name="common-num-format-attlist"/>
+ <rng:ref name="common-num-format-prefix-suffix-attlist"/>
+ <rng:optional>
+ <rng:attribute name="text:display-levels">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:start-value">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-outline-style">
+ <rng:element name="text:outline-style">
+ <rng:ref name="text-outline-style-attr"/>
+ <rng:oneOrMore>
+ <rng:ref name="text-outline-level-style"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-outline-style-attr">
+ <rng:attribute name="style:name">
+ <rng:ref name="styleName"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="text-p">
+ <rng:element name="text:p">
+ <rng:ref name="paragraph-attrs"/>
+ <rng:zeroOrMore>
+ <rng:ref name="paragraph-content-or-hyperlink"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-page">
+ <rng:element name="text:page">
+ <rng:ref name="text-page-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-page-attlist">
+ <rng:attribute name="text:master-page-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="text-page-continuation-attlist">
+ <rng:interleave>
+ <rng:attribute name="text:select-page">
+ <rng:choice>
+ <rng:value>previous</rng:value>
+ <rng:value>next</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="text:string-value">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-page-number-attlist">
+ <rng:interleave>
+ <rng:interleave>
+ <rng:ref name="common-field-num-format-attlist"/>
+ <rng:ref name="common-field-fixed-attlist"/>
+ </rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:page-adjust">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:select-page">
+ <rng:choice>
+ <rng:value>previous</rng:value>
+ <rng:value>current</rng:value>
+ <rng:value>next</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-page-sequence">
+ <rng:element name="text:page-sequence">
+ <rng:oneOrMore>
+ <rng:ref name="text-page"/>
+ </rng:oneOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-placeholder-attlist">
+ <rng:interleave>
+ <rng:attribute name="text:placeholder-type">
+ <rng:choice>
+ <rng:value>text</rng:value>
+ <rng:value>table</rng:value>
+ <rng:value>text-box</rng:value>
+ <rng:value>image</rng:value>
+ <rng:value>object</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:ref name="common-field-description-attlist"/>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-relative-tab-stop-position-attr">
+ <rng:optional>
+ <rng:attribute name="text:relative-tab-stop-position">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="text-section">
+ <rng:element name="text:section">
+ <rng:ref name="text-section-attlist"/>
+ <rng:choice>
+ <rng:ref name="text-section-source"/>
+ <rng:ref name="text-section-source-dde"/>
+ <rng:empty/>
+ </rng:choice>
+ <rng:zeroOrMore>
+ <rng:ref name="text-content"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-section-attlist">
+ <rng:interleave>
+ <rng:ref name="common-section-attlist"/>
+ <rng:choice>
+ <rng:attribute name="text:display">
+ <rng:choice>
+ <rng:value>true</rng:value>
+ <rng:value>none</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:group>
+ <rng:attribute name="text:display">
+ <rng:value>condition</rng:value>
+ </rng:attribute>
+ <rng:attribute name="text:condition">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:group>
+ <rng:empty/>
+ </rng:choice>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-section-source">
+ <rng:element name="text:section-source">
+ <rng:ref name="text-section-source-attr"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-section-source-attr">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="xlink:type">
+ <rng:value>simple</rng:value>
+ </rng:attribute>
+ <rng:attribute name="xlink:href">
+ <rng:ref name="anyIRI"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="xlink:show">
+ <rng:value>embed</rng:value>
+ </rng:attribute>
+ </rng:optional>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:section-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:filter-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-section-source-dde">
+ <rng:ref name="office-dde-source"/>
+ </rng:define>
+ <rng:define name="text-sequence-decl">
+ <rng:element name="text:sequence-decl">
+ <rng:ref name="text-sequence-decl-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-sequence-decl-attlist">
+ <rng:interleave>
+ <rng:ref name="common-field-name-attlist"/>
+ <rng:attribute name="text:display-outline-level">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="text:separation-character">
+ <rng:ref name="character"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-sequence-ref-content">
+ <rng:optional>
+ <rng:attribute name="text:reference-format">
+ <rng:choice>
+ <rng:ref name="common-ref-format-values"/>
+ <rng:value>category-and-value</rng:value>
+ <rng:value>caption</rng:value>
+ <rng:value>value</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="text-sequence-ref-name">
+ <rng:optional>
+ <rng:attribute name="text:ref-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="text-set-page-variable-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:active">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:page-adjust">
+ <rng:ref name="integer"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-soft-page-break">
+ <rng:element name="text:soft-page-break">
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-sort-key">
+ <rng:element name="text:sort-key">
+ <rng:ref name="text-sort-key-attlist"/>
+ <rng:empty/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-sort-key-attlist">
+ <rng:attribute name="text:key">
+ <rng:choice>
+ <rng:value>address</rng:value>
+ <rng:value>annote</rng:value>
+ <rng:value>author</rng:value>
+ <rng:value>bibliography-type</rng:value>
+ <rng:value>booktitle</rng:value>
+ <rng:value>chapter</rng:value>
+ <rng:value>custom1</rng:value>
+ <rng:value>custom2</rng:value>
+ <rng:value>custom3</rng:value>
+ <rng:value>custom4</rng:value>
+ <rng:value>custom5</rng:value>
+ <rng:value>edition</rng:value>
+ <rng:value>editor</rng:value>
+ <rng:value>howpublished</rng:value>
+ <rng:value>identifier</rng:value>
+ <rng:value>institution</rng:value>
+ <rng:value>isbn</rng:value>
+ <rng:value>issn</rng:value>
+ <rng:value>journal</rng:value>
+ <rng:value>month</rng:value>
+ <rng:value>note</rng:value>
+ <rng:value>number</rng:value>
+ <rng:value>organizations</rng:value>
+ <rng:value>pages</rng:value>
+ <rng:value>publisher</rng:value>
+ <rng:value>report-type</rng:value>
+ <rng:value>school</rng:value>
+ <rng:value>series</rng:value>
+ <rng:value>title</rng:value>
+ <rng:value>url</rng:value>
+ <rng:value>volume</rng:value>
+ <rng:value>year</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ <rng:optional>
+ <rng:attribute name="text:sort-ascending">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="text-style-name">
+ <rng:optional>
+ <rng:attribute name="form:text-style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="text-tab-attr">
+ <rng:optional>
+ <rng:attribute name="text:tab-ref">
+ <rng:ref name="nonNegativeInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="text-table-index">
+ <rng:element name="text:table-index">
+ <rng:ref name="common-section-attlist"/>
+ <rng:ref name="text-table-index-source"/>
+ <rng:ref name="text-index-body"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-table-index-entry-template">
+ <rng:element name="text:table-index-entry-template">
+ <rng:ref name="text-illustration-index-entry-content"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-table-index-source">
+ <rng:element name="text:table-index-source">
+ <rng:ref name="text-illustration-index-source-attrs"/>
+ <rng:optional>
+ <rng:ref name="text-index-title-template"/>
+ </rng:optional>
+ <rng:optional>
+ <rng:ref name="text-table-index-entry-template"/>
+ </rng:optional>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-table-of-content">
+ <rng:element name="text:table-of-content">
+ <rng:ref name="common-section-attlist"/>
+ <rng:ref name="text-table-of-content-source"/>
+ <rng:ref name="text-index-body"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-table-of-content-children">
+ <rng:choice>
+ <rng:ref name="text-index-entry-chapter"/>
+ <rng:ref name="text-index-entry-page-number"/>
+ <rng:ref name="text-index-entry-text"/>
+ <rng:ref name="text-index-entry-span"/>
+ <rng:ref name="text-index-entry-tab-stop"/>
+ <rng:ref name="text-index-entry-link-start"/>
+ <rng:ref name="text-index-entry-link-end"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="text-table-of-content-entry-template">
+ <rng:element name="text:table-of-content-entry-template">
+ <rng:ref name="text-table-of-content-entry-template-attlist"/>
+ <rng:zeroOrMore>
+ <rng:ref name="text-table-of-content-children"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-table-of-content-entry-template-attlist">
+ <rng:interleave>
+ <rng:attribute name="text:outline-level">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-table-of-content-source">
+ <rng:element name="text:table-of-content-source">
+ <rng:ref name="text-table-of-content-source-attlist"/>
+ <rng:optional>
+ <rng:ref name="text-index-title-template"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="text-table-of-content-entry-template"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="text-index-source-styles"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-table-of-content-source-attlist">
+ <rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:outline-level">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:use-outline-level">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:use-index-marks">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:use-index-source-styles">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:index-scope">
+ <rng:choice>
+ <rng:value>document</rng:value>
+ <rng:value>chapter</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:relative-tab-stop-position">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-template-name-attlist">
+ <rng:optional>
+ <rng:attribute name="text:display">
+ <rng:choice>
+ <rng:value>full</rng:value>
+ <rng:value>path</rng:value>
+ <rng:value>name</rng:value>
+ <rng:value>name-and-extension</rng:value>
+ <rng:value>area</rng:value>
+ <rng:value>title</rng:value>
+ </rng:choice>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="text-time-attlist">
+ <rng:interleave>
+ <rng:interleave>
+ <rng:ref name="common-field-fixed-attlist"/>
+ <rng:ref name="common-field-data-style-name-attlist"/>
+ </rng:interleave>
+ <rng:optional>
+ <rng:attribute name="text:time-value">
+ <rng:ref name="timeOrDateTime"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:time-adjust">
+ <rng:ref name="duration"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-toc-mark-start-attrs">
+ <rng:ref name="text-id"/>
+ <rng:ref name="text-outline-level"/>
+ </rng:define>
+ <rng:define name="text-tracked-changes">
+ <rng:optional>
+ <rng:element name="text:tracked-changes">
+ <rng:ref name="text-tracked-changes-attr"/>
+ <rng:zeroOrMore>
+ <rng:ref name="text-changed-region"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="text-tracked-changes-attr">
+ <rng:optional>
+ <rng:attribute name="text:track-changes">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="text-user-field-decl">
+ <rng:element name="text:user-field-decl">
+ <rng:ref name="common-field-name-attlist"/>
+ <rng:optional>
+ <rng:ref name="common-field-formula-attlist"/>
+ </rng:optional>
+ <rng:ref name="common-value-and-type-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-user-index">
+ <rng:element name="text:user-index">
+ <rng:ref name="common-section-attlist"/>
+ <rng:ref name="text-user-index-source"/>
+ <rng:ref name="text-index-body"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-user-index-entry-template">
+ <rng:element name="text:user-index-entry-template">
+ <rng:ref name="text-user-index-entry-template-attrs"/>
+ <rng:zeroOrMore>
+ <rng:choice>
+ <rng:ref name="text-index-entry-chapter"/>
+ <rng:ref name="text-index-entry-page-number"/>
+ <rng:ref name="text-index-entry-text"/>
+ <rng:ref name="text-index-entry-span"/>
+ <rng:ref name="text-index-entry-tab-stop"/>
+ </rng:choice>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-user-index-entry-template-attrs">
+ <rng:interleave>
+ <rng:attribute name="text:outline-level">
+ <rng:ref name="positiveInteger"/>
+ </rng:attribute>
+ <rng:attribute name="text:style-name">
+ <rng:ref name="styleNameRef"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-user-index-source">
+ <rng:element name="text:user-index-source">
+ <rng:ref name="text-user-index-source-attr"/>
+ <rng:optional>
+ <rng:ref name="text-index-title-template"/>
+ </rng:optional>
+ <rng:zeroOrMore>
+ <rng:ref name="text-user-index-entry-template"/>
+ </rng:zeroOrMore>
+ <rng:zeroOrMore>
+ <rng:ref name="text-index-source-styles"/>
+ </rng:zeroOrMore>
+ </rng:element>
+ </rng:define>
+ <rng:define name="text-user-index-source-attr">
+ <rng:interleave>
+ <rng:ref name="text-index-scope-attr"/>
+ <rng:ref name="text-relative-tab-stop-position-attr"/>
+ <rng:optional>
+ <rng:attribute name="text:use-index-marks">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:use-index-source-styles">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:use-graphics">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:use-tables">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:use-floating-frames">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:use-objects">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:optional>
+ <rng:attribute name="text:copy-outline-levels">
+ <rng:ref name="boolean"/>
+ </rng:attribute>
+ </rng:optional>
+ <rng:attribute name="text:index-name">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:interleave>
+ </rng:define>
+ <rng:define name="text-variable-decl">
+ <rng:element name="text:variable-decl">
+ <rng:ref name="common-field-name-attlist"/>
+ <rng:ref name="common-value-type-attlist"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="textEncoding">
+ <rng:data type="string">
+ <rng:param name="pattern">[A-Za-z][A-Za-z0-9._\-]*</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="time">
+ <rng:data type="time"/>
+ </rng:define>
+ <rng:define name="timeOrDateTime">
+ <rng:choice>
+ <rng:data type="time"/>
+ <rng:data type="dateTime"/>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="types">
+ <rng:choice>
+ <rng:value>submit</rng:value>
+ <rng:value>reset</rng:value>
+ <rng:value>push</rng:value>
+ <rng:value>url</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="valueType">
+ <rng:choice>
+ <rng:value>float</rng:value>
+ <rng:value>time</rng:value>
+ <rng:value>date</rng:value>
+ <rng:value>percentage</rng:value>
+ <rng:value>currency</rng:value>
+ <rng:value>boolean</rng:value>
+ <rng:value>string</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="variableName">
+ <rng:data type="string"/>
+ </rng:define>
+ <rng:define name="vector3D">
+ <rng:data type="string">
+ <rng:param name="pattern">\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)([ ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)){2}[ ]*\)</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="vertBackPos">
+ <rng:choice>
+ <rng:value>top</rng:value>
+ <rng:value>center</rng:value>
+ <rng:value>bottom</rng:value>
+ </rng:choice>
+ </rng:define>
+ <rng:define name="xforms-bind-attlist">
+ <rng:optional>
+ <rng:attribute name="xforms:bind">
+ <rng:ref name="string"/>
+ </rng:attribute>
+ </rng:optional>
+ </rng:define>
+ <rng:define name="xforms-model">
+ <rng:element name="xforms:model">
+ <rng:ref name="anyAttListOrElements"/>
+ </rng:element>
+ </rng:define>
+ <rng:define name="xml-id">
+ <rng:attribute name="xml:id">
+ <rng:ref name="ID"/>
+ </rng:attribute>
+ </rng:define>
+ <rng:define name="zeroToHundredPercent">
+ <rng:data type="string">
+ <rng:param name="pattern">([0-9]?[0-9](\.[0-9]*)?|100(\.0*)?|\.[0-9]+)%</rng:param>
+ </rng:data>
+ </rng:define>
+ <rng:define name="zeroToOneDecimal">
+ <rng:data type="decimal">
+ <rng:param name="minInclusive">0</rng:param>
+ <rng:param name="maxInclusive">1</rng:param>
+ </rng:data>
+ </rng:define>
+</rng:grammar>
diff --git a/schema/odf1.3/OpenDocument-v1.3-metadata.owl b/schema/odf1.3/OpenDocument-v1.3-metadata.owl
new file mode 100644
index 000000000000..7fe1d94939b8
--- /dev/null
+++ b/schema/odf1.3/OpenDocument-v1.3-metadata.owl
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Open Document Format for Office Applications (OpenDocument) Version 1.3
+ OASIS Standard, In progress
+ OWL Metadata Manifest Description
+ Source: https://tools.oasis-open.org/version-control/svn/office/
+ Copyright (c) OASIS Open 2002-2015. All Rights Reserved.
+
+ All capitalized terms in the following text have the meanings assigned to them
+ in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The
+ full Policy may be found at the OASIS website.
+
+ This document and translations of it may be copied and furnished to others, and
+ derivative works that comment on or otherwise explain it or assist in its
+ implementation may be prepared, copied, published, and distributed, in whole or
+ in part, without restriction of any kind, provided that the above copyright
+ notice and this section are included on all such copies and derivative works.
+ However, this document itself may not be modified in any way, including by
+ removing the copyright notice or references to OASIS, except as needed for the
+ purpose of developing any document or deliverable produced by an OASIS
+ Technical Committee (in which case the rules applicable to copyrights, as set
+ forth in the OASIS IPR Policy, must be followed) or as required to translate it
+ into languages other than English.
+
+ The limited permissions granted above are perpetual and will not be revoked by
+ OASIS or its successors or assigns.
+
+ This document and the information contained herein is provided on an "AS IS"
+ basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+ LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
+ INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
+ FITNESS FOR A PARTICULAR PURPOSE.
+-->
+<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:odf="http://docs.oasis-open.org/ns/office/1.2/meta/odf#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:pkg="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/01/rdf-schema#">
+
+<owl:Ontology rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#">
+ <owl:imports rdf:resource="http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-package-metadata.owl"/>
+ <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+ <dc:title xml:lang="en">Open Document Schema Metadata Manifest Ontology</dc:title>
+ <label xml:lang="en">ODF Schema Metadata Manifest</label>
+</owl:Ontology>
+
+<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#ContentFile">
+ <label xml:lang="en">The OpenDocument Content File</label>
+ <comment xml:lang="en">The unique content.xml from the root path of the document</comment>
+ <subClassOf rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File"/>
+</owl:Class>
+
+<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#StylesFile">
+ <label xml:lang="en">The OpenDocument Styles File</label>
+ <comment xml:lang="en">The unique styles.xml from the root path of the document</comment>
+ <subClassOf rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File"/>
+</owl:Class>
+
+<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#Element">
+ <label xml:lang="en">OpenDocument Package ODF XML Element</label>
+ <subClassOf rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Element"/>
+</owl:Class>
+
+<owl:Class rdf:about="urn:oasis:names:tc:opendocument:xmlns:text:1.0meta-field">
+ <label xml:lang="en">OpenDocument Meta field Element</label>
+ <subClassOf rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/odf#Element"/>
+</owl:Class>
+
+<owl:DatatypeProperty rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#prefix">
+ <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
+ <domain rdf:resource="urn:oasis:names:tc:opendocument:xmlns:text:1.0meta-field"/>
+ <range rdf:resource="http://www.w3.org/2001/XMLSchema-datatypes#string"/>
+ <label xml:lang="en">has prefix</label>
+</owl:DatatypeProperty>
+
+<owl:DatatypeProperty rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/odf#suffix">
+ <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
+ <domain rdf:resource="urn:oasis:names:tc:opendocument:xmlns:text:1.0meta-field"/>
+ <range rdf:resource="http://www.w3.org/2001/XMLSchema-datatypes#string"/>
+ <label xml:lang="en">has suffix</label>
+</owl:DatatypeProperty>
+</rdf:RDF>
diff --git a/schema/odf1.3/OpenDocument-v1.3-package-metadata.owl b/schema/odf1.3/OpenDocument-v1.3-package-metadata.owl
new file mode 100644
index 000000000000..9281dff7752f
--- /dev/null
+++ b/schema/odf1.3/OpenDocument-v1.3-package-metadata.owl
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Open Document Format for Office Applications (OpenDocument) Version 1.3
+ OASIS Standard, In progress
+ OWL Metadata Manifest Description
+ Source: https://tools.oasis-open.org/version-control/svn/office/
+ Copyright (c) OASIS Open 2002-2015. All Rights Reserved.
+
+ All capitalized terms in the following text have the meanings assigned to them
+ in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The
+ full Policy may be found at the OASIS website.
+
+ This document and translations of it may be copied and furnished to others, and
+ derivative works that comment on or otherwise explain it or assist in its
+ implementation may be prepared, copied, published, and distributed, in whole or
+ in part, without restriction of any kind, provided that the above copyright
+ notice and this section are included on all such copies and derivative works.
+ However, this document itself may not be modified in any way, including by
+ removing the copyright notice or references to OASIS, except as needed for the
+ purpose of developing any document or deliverable produced by an OASIS
+ Technical Committee (in which case the rules applicable to copyrights, as set
+ forth in the OASIS IPR Policy, must be followed) or as required to translate it
+ into languages other than English.
+
+ The limited permissions granted above are perpetual and will not be revoked by
+ OASIS or its successors or assigns.
+
+ This document and the information contained herein is provided on an "AS IS"
+ basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+ LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
+ INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
+ FITNESS FOR A PARTICULAR PURPOSE.
+-->
+<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:pkg="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/01/rdf-schema#">
+
+<owl:Ontology rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#">
+ <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
+ <dc:title xml:lang="en">Open Document Package Metadata Manifest Ontology</dc:title>
+ <label xml:lang="en">ODF Package Metadata Manifest</label>
+</owl:Ontology>
+
+<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Document">
+ <label xml:lang="en">OpenDocument Document</label>
+</owl:Class>
+
+<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File">
+ <label xml:lang="en"> OpenDocument Document Package File</label>
+</owl:Class>
+
+<owl:ObjectProperty rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#hasPart">
+ <domain rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Document"/>
+ <range rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File"/>
+ <label xml:lang="en">contains</label>
+ <comment xml:lang="en">Related to dcterms:hasPart of the Dublin Core Metadata Initiative</comment>
+</owl:ObjectProperty>
+
+<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#MetadataFile">
+ <label xml:lang="en">An OpenDocument Metadata File</label>
+ <comment xml:lang="en">Used for any metadata file in the document</comment>
+ <subClassOf rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File"/>
+</owl:Class>
+
+<owl:DatatypeProperty rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#mimeType">
+ <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
+ <domain rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File"/>
+ <range rdf:resource="http://www.w3.org/2001/XMLSchema-datatypes#string"/>
+ <label xml:lang="en">the MIME type</label>
+ <comment xml:lang="en">A string representing the MIME media type of a file (see RFC4288).</comment>
+</owl:DatatypeProperty>
+
+<owl:Class rdf:about="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Element">
+ <label xml:lang="en">OpenDocument Package XML Element</label>
+</owl:Class>
+
+</rdf:RDF>