diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2024-08-22 14:05:26 +0200 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2024-09-24 10:49:37 +0200 |
commit | 7244f5eaf7c2879e7b18f8d650c88d1aaff31c24 (patch) | |
tree | 41720dca76563303a43e3e382291eb071ddec303 | |
parent | 8192a3bde845d6ff51e81ee05c297e7c9ffcd79e (diff) |
ODF 1.4: Add schema
Source: https://github.com/oasis-tcs/odf-tc/tree/master/docs/odf1.4/schemas
Change-Id: I8b00d6c3c6c3df9c7fc40bcda9379199ff74a7b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172253
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r-- | schema/odf1.4/OpenDocument-v1.4-dsig-schema.rng | 60 | ||||
-rw-r--r-- | schema/odf1.4/OpenDocument-v1.4-manifest-schema.rng | 237 | ||||
-rw-r--r-- | schema/odf1.4/OpenDocument-v1.4-metadata.owl | 62 | ||||
-rw-r--r-- | schema/odf1.4/OpenDocument-v1.4-package-metadata.owl | 59 | ||||
-rw-r--r-- | schema/odf1.4/OpenDocument-v1.4-schema.rng | 18572 |
5 files changed, 18990 insertions, 0 deletions
diff --git a/schema/odf1.4/OpenDocument-v1.4-dsig-schema.rng b/schema/odf1.4/OpenDocument-v1.4-dsig-schema.rng new file mode 100644 index 000000000000..7ad488a7f7e9 --- /dev/null +++ b/schema/odf1.4/OpenDocument-v1.4-dsig-schema.rng @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Open Document Format for Office Applications (OpenDocument) Version 1.4 + OASIS Standard + 11 March 2024 + Copyright (c) OASIS Open 2024. All Rights Reserved. + Source: https://docs.oasis-open.org/office/OpenDocument/v1.4/csd01/schemas/ + Latest stage of specification: https://docs.oasis-open.org/office/OpenDocument/v1.4/OpenDocument-v1.4-part1-introduction.html + TC IPR Statement: https://www.oasis-open.org/committees/office/ipr.php + + Open Document Format for Office Applications (OpenDocument) Version 1.4 + Digital Signatures Relax-NG Schema + OpenDocument-v1.4-dsig-schema.rng +--> +<!-- https://issues.oasis-open.org/browse/OFFICE-2153 --> + +<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.4 part 2, section 5.3. --> + <!-- 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.4</rng:value> + </rng:attribute> + </rng:define> +</rng:grammar> diff --git a/schema/odf1.4/OpenDocument-v1.4-manifest-schema.rng b/schema/odf1.4/OpenDocument-v1.4-manifest-schema.rng new file mode 100644 index 000000000000..5e3e5df9ea36 --- /dev/null +++ b/schema/odf1.4/OpenDocument-v1.4-manifest-schema.rng @@ -0,0 +1,237 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Open Document Format for Office Applications (OpenDocument) Version 1.4 + OASIS Standard + 11 March 2024 + Copyright (c) OASIS Open 2024. All Rights Reserved. + Source: https://docs.oasis-open.org/office/OpenDocument/v1.4/csd01/schemas/ + Latest stage of specification: https://docs.oasis-open.org/office/OpenDocument/v1.4/OpenDocument-v1.4-part1-introduction.html + TC IPR Statement: https://www.oasis-open.org/committees/office/ipr.php + + Open Document Format for Office Applications (OpenDocument) Version 1.4 + Manifest Relax-NG Schema + OpenDocument-v1.4-manifest-schema.rng +--> +<!-- https://issues.oasis-open.org/browse/OFFICE-2153 --> + +<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="encrypted-key"> + <rng:element name="manifest:encrypted-key"> + <rng:optional> + <rng:element name="manifest:encryption-method"> + <rng:attribute name="manifest:PGPAlgorithm"> + <rng:ref name="anyURI"/> + </rng:attribute> + </rng:element> + </rng:optional> + <rng:element name="manifest:keyinfo"> + <rng:element name="manifest:PGPData"> + <rng:element name="manifest:PGPKeyID"> + <rng:ref name="base64Binary"/> + </rng:element> + <rng:optional> + <rng:element name="manifest:PGPKeyPacket"> + <rng:ref name="base64Binary"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + <rng:element name="manifest:CipherData"> + <rng:element name="manifest:CipherValue"> + <rng:ref name="base64Binary"/> + </rng:element> + </rng:element> + </rng:element> + </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:choice> + <rng:attribute name="manifest:key-derivation-name"> + <rng:value>PGP</rng:value> + </rng:attribute> + <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:choice> + </rng:define> + <rng:define name="manifest"> + <rng:element name="manifest:manifest"> + <rng:ref name="manifest-attlist"/> + <rng:zeroOrMore> + <rng:ref name="encrypted-key"/> + </rng:zeroOrMore> + <!-- https://issues.oasis-open.org/browse/OFFICE-3940 --> + <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.4</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.4/OpenDocument-v1.4-metadata.owl b/schema/odf1.4/OpenDocument-v1.4-metadata.owl new file mode 100644 index 000000000000..45f2ecdd3d20 --- /dev/null +++ b/schema/odf1.4/OpenDocument-v1.4-metadata.owl @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Open Document Format for Office Applications (OpenDocument) Version 1.4 + OASIS Standard + 11 March 2024 + Copyright (c) OASIS Open 2024. All Rights Reserved. + Source: https://docs.oasis-open.org/office/OpenDocument/v1.4/csd01/schemas/ + Latest stage of specification: https://docs.oasis-open.org/office/OpenDocument/v1.4/OpenDocument-v1.4-part1-introduction.html + TC IPR Statement: https://www.oasis-open.org/committees/office/ipr.php + + Open Document Format for Office Applications (OpenDocument) Version 1.4 + OWL Schema Metadata Manifest Description + OpenDocument-v1.4-metadata.owl +--> + +<!-- https://issues.oasis-open.org/browse/OFFICE-2153 --> + +<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.4/OpenDocument-v1.4-package-metadata.owl b/schema/odf1.4/OpenDocument-v1.4-package-metadata.owl new file mode 100644 index 000000000000..1d9e3e24663e --- /dev/null +++ b/schema/odf1.4/OpenDocument-v1.4-package-metadata.owl @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Open Document Format for Office Applications (OpenDocument) Version 1.4 + OASIS Standard + 11 March 2024 + Copyright (c) OASIS Open 2024. All Rights Reserved. + Source: https://docs.oasis-open.org/office/OpenDocument/v1.4/csd01/schemas/ + Latest stage of specification: https://docs.oasis-open.org/office/OpenDocument/v1.4/OpenDocument-v1.4-part1-introduction.html + TC IPR Statement: https://www.oasis-open.org/committees/office/ipr.php + + Open Document Format for Office Applications (OpenDocument) Version 1.4 + OWL Package Metadata Manifest Description + OpenDocument-v1.4-package-metadata.owl +--> + +<!-- https://issues.oasis-open.org/browse/OFFICE-2153 --> + +<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> diff --git a/schema/odf1.4/OpenDocument-v1.4-schema.rng b/schema/odf1.4/OpenDocument-v1.4-schema.rng new file mode 100644 index 000000000000..e1047fb1f2bd --- /dev/null +++ b/schema/odf1.4/OpenDocument-v1.4-schema.rng @@ -0,0 +1,18572 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Open Document Format for Office Applications (OpenDocument) Version 1.4 + OASIS Standard + 11 March 2024 + Copyright (c) OASIS Open 2024. All Rights Reserved. + Source: https://docs.oasis-open.org/office/OpenDocument/v1.4/csd01/schemas/ + Latest stage of specification: https://docs.oasis-open.org/office/OpenDocument/v1.4/OpenDocument-v1.4-part1-introduction.html + TC IPR Statement: https://www.oasis-open.org/committees/office/ipr.php + + Open Document Format for Office Applications (OpenDocument) Version 1.4 + Relax-NG Schema + OpenDocument-v1.4-schema.rng +--> +<!-- https://issues.oasis-open.org/browse/OFFICE-2153 --> +<!-- https://issues.oasis-open.org/browse/OFFICE-4126 --> + +<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.4 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:zeroOrMore> + <rng:ref name="shape"/> + </rng:zeroOrMore> + <!-- https://issues.oasis-open.org/browse/OFFICE-2123 --> + <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-coordinate-region"> + <rng:element name="chart:coordinate-region"> + <rng:ref name="chart-coordinate-region-attlist"/> + <rng:empty/> + </rng:element> + </rng:define> + <rng:define name="chart-coordinate-region-attlist"> + <rng:ref name="common-draw-position-attlist"/> + <rng:ref name="common-draw-size-attlist"/> + </rng:define> + <!-- https://issues.oasis-open.org/browse/OFFICE-3928 --> + <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"/> + </rng:attribute> + <rng:ref name="common-draw-size-attlist"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-3883 --> + </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:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3928 --> + <rng:ref name="chart-coordinate-region"/> + </rng:optional> + <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> +<!-- Deleted as per https://issues.oasis-open.org/browse/OFFICE-3741 for ODF 1.4 + <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> + <!-- https://issues.oasis-open.org/browse/OFFICE-3751 --> + <rng:value>even-page</rng:value> + <rng:value>odd-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> + <!-- https://issues.oasis-open.org/browse/OFFICE-3751 --> + <rng:value>even-page</rng:value> + <rng:value>odd-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:optional> + <rng:attribute name="number:min-decimal-places"> + <rng:ref name="integer"/> + </rng:attribute> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3860 added number:min-decimal-places --> + </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-mime-type-attlist"> + <rng:optional> + <rng:attribute name="draw:mime-type"> + <rng:ref name="string"/> + </rng:attribute> + </rng:optional> + </rng:define> + <!-- https://issues.oasis-open.org/browse/OFFICE-3943 --> + <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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:define name="common-draw-shape-accessibility"> + <!-- https://issues.oasis-open.org/browse/OFFICE-4142 --> + <rng:optional> + <rng:ref name="svg-title"/> + </rng:optional> + <rng:optional> + <rng:ref name="svg-desc"/> + </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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4121 --> + <rng:define name="common-input-required-attlist"> + <rng:optional> + <rng:attribute name="form:input-required"> + <rng:ref name="boolean"/> + </rng:attribute> + </rng:optional> + </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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4108 --> + <rng:define name="common-num-list-format-name-attlist"> + <rng:optional> + <rng:attribute name="style:num-list-format-name"> + <rng:ref name="styleNameRef"/> + </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="nonNegativeInteger"/> + <rng:value>auto</rng:value> + </rng:choice> + <!-- https://issues.oasis-open.org/browse/OFFICE-3923 --> + </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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4035 + + <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> + <!-- https://issues.oasis-open.org/browse/OFFICE-3759 --> + <rng:group> + <rng:attribute name="office:value-type"> + <rng:value>error</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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4073 --> + <rng:value>page-content-bottom</rng:value> + <!-- https://issues.oasis-open.org/browse/OFFICE-4129 --> + <rng:value>page-content-top</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>lr</rng:value> + <rng:value>rl-tb</rng:value> + <rng:value>rl</rng:value> + <rng:value>tb-rl</rng:value> + <rng:value>tb</rng:value> + <rng:value>tb-lr</rng:value> + <!-- https://issues.oasis-open.org/browse/OFFICE-4030 --> + <rng:value>sideways-rl</rng:value> + <rng:value>sideways-lr</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-with-fillchar"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> + </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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4072 --> + <rng:ref name="common-draw-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-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"> + <!-- https://issues.oasis-open.org/browse/OFFICE-4072 --> + <rng:ref name="common-draw-name-attlist"/> + <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"> + <!-- https://issues.oasis-open.org/browse/OFFICE-4072 --> + <rng:ref name="common-draw-name-attlist"/> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4072 --> + <rng:ref name="common-draw-name-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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4072 --> + <rng:ref name="common-draw-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-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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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> + <!-- https://issues.oasis-open.org/browse/OFFICE-1909 --> + <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: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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4123 --> + <rng:optional> + <rng:attribute name="draw:extrusion-metal-type"> + <rng:ref name="namespacedToken"/> + </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"> + <!-- https://issues.oasis-open.org/browse/OFFICE-4122 - changed from "zeroToHundredPercent" to "nonNegativePercent" --> + <rng:ref name="nonNegativePercent"/> + </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"/> + <!-- XLink duplicate declaration removed. see common-draw-data-attlist --> + <rng:choice> + <rng:group> + <rng:ref name="common-draw-data-attlist"/> + <rng:empty/> + </rng:group> + <rng:ref name="office-binary-data"/> + </rng:choice> + <!-- https://issues.oasis-open.org/browse/OFFICE-3933 --> + </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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4110 --> + <rng:choice> + <rng:group> <!-- XY-handle --> + <rng:attribute name="draw:handle-position-x"> + <rng:ref name="string"/> + </rng:attribute> + <rng:attribute name="draw:handle-position-y"> + <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:group> + <rng:group> <!-- polar handle --> + <rng:attribute name="draw:handle-polar-pole-x"> + <rng:ref name="string"/> + </rng:attribute> + <rng:attribute name="draw:handle-polar-pole-y"> + <rng:ref name="string"/> + </rng:attribute> + <rng:optional> + <rng:attribute name="draw:handle-polar-radius"> + <rng:ref name="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="draw:handle-polar-angle"> + <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:group> + </rng:choice> + <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> + <!-- The attributes draw:handle-position and draw:handle-polar are deprecated. --> + <rng:optional> + <rng:attribute name="draw:handle-position"> + <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: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:ref name="common-draw-mime-type-attlist"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-3943 --> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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> + <!-- https://issues.oasis-open.org/browse/OFFICE-3022 --> + <rng:zeroOrMore> + <rng:ref name="office-annotation"/> + </rng:zeroOrMore> + </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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + </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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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:ref name="common-draw-mime-type-attlist"/> + <rng:optional> + <rng:ref name="xml-id"/> + </rng:optional> + </rng:interleave> + </rng:define> + <!-- https://issues.oasis-open.org/browse/OFFICE-3943 --> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4132 --> + <rng:ref name="common-draw-shape-accessibility"/> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-3761 --> + <rng:ref name="table-table"/> + </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> + <!-- https://issues.oasis-open.org/browse/OFFICE-1909 --> + <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: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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4121 --> + <rng:ref name="common-input-required-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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4121 --> + <rng:ref name="common-input-required-attlist"/> + <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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4121 --> + <rng:ref name="common-input-required-attlist"/> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4121 --> + <rng:ref name="common-input-required-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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4121 --> + <rng:ref name="common-input-required-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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4121 --> + <rng:ref name="common-input-required-attlist"/> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4121 --> + <rng:ref name="common-input-required-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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4121 --> + <rng:ref name="common-input-required-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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4121 --> + <rng:ref name="common-input-required-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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4121 --> + <rng:ref name="common-input-required-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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4121 --> + <rng:ref name="common-input-required-attlist"/> + <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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4122 nonNegativePercent --> + <rng:define name="nonNegativePercent"> + <rng:data type="string"> + <rng:param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)</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-with-fillchar"/> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> + </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-with-fillchar"/> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> + <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-with-fillchar"/> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> + <rng:oneOrMore> + <rng:ref name="any-date"/> + <rng:optional> + <rng:ref name="number-text-with-fillchar"/> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> + </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-fill-character"> + <rng:element name="number:fill-character"> + <rng:text/> + </rng:element> + </rng:define> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> + <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:optional> + <rng:attribute name="number:max-denominator-value"> + <rng:ref name="positiveInteger"/> + </rng:attribute> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3695 max-denominator-value --> + </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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4108 --> + <rng:define name="number-num-list-format"> + <rng:element name="number:num-list-format"> + <rng:attribute name="style:name"> + <rng:ref name="styleName"/> + </rng:attribute> + <rng:interleave> + <rng:zeroOrMore> + <rng:element name="number:num-list-label"> + <rng:attribute name="text:level"> + <rng:ref name="positiveInteger"/> + </rng:attribute> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:ref name="number-text"/> + </rng:zeroOrMore> + </rng:interleave> + </rng:element> + </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-with-fillchar"/> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> + <rng:optional> + <rng:ref name="any-number"/> + <rng:optional> + <rng:ref name="number-text-with-fillchar"/> + </rng:optional> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> + <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-with-fillchar"/> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> + <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:interleave> + <rng:optional> + <rng:attribute name="number:min-exponent-digits"> + <rng:ref name="integer"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="number:exponent-interval"> + <rng:ref name="positiveInteger"/> + </rng:attribute> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-1828 exponent-interval --> + <rng:optional> + <rng:attribute name="number:forced-exponent-sign"> + <rng:ref name="boolean"/> + </rng:attribute> + <!-- https://issues.oasis-open.org/browse/OFFICE-3860 added number:forced-exponent-sign --> + </rng:optional> + </rng:interleave> + </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-with-fillchar"/> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> + <rng:zeroOrMore> + <rng:ref name="number-text-content"/> + <rng:optional> + <rng:ref name="number-text-with-fillchar"/> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:ref name="style-map"/> + </rng:zeroOrMore> + </rng:element> + </rng:define> + <rng:define name="number-text-with-fillchar"> + <rng:optional> + <rng:ref name="number-text"/> + </rng:optional> + <rng:optional> + <rng:ref name="number-fill-character"/> + <rng:optional> + <rng:ref name="number-text"/> + </rng:optional> + </rng:optional> + </rng:define> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> + <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-with-fillchar"/> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> + <rng:oneOrMore> + <rng:ref name="any-time"/> + <rng:optional> + <rng:ref name="number-text-with-fillchar"/> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> + </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:optional> + <rng:element name="meta:creator-initials"> + <rng:text/> + </rng:element> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3776 --> + <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"> + <!-- https://issues.oasis-open.org/browse/OFFICE-4140 --> + <rng:value>1.4</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> +<!-- removed from text as well + <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:ref name="text-drop-down"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-3881 --> + <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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4125 --> + <rng:define name="style-background-fill"> + <rng:optional> + <rng:element name="style:background-fill"> + <rng:ref name="common-draw-fill-kind-attlist"/> + <rng:ref name="common-draw-fill-details-attlist"/> + </rng:element> + </rng:optional> + </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:value>step-start</rng:value> + <rng:value>step-end</rng:value> + <rng:value>step-center-x</rng:value> + <rng:value>step-center-y</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> + <!-- https://issues.oasis-open.org/browse/OFFICE-3936 --> + <rng:optional> + <rng:attribute name="chart:major-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> + <!-- https://issues.oasis-open.org/browse/OFFICE-3936 --> + <rng:optional> + <rng:attribute name="chart:minor-logarithmic"> + <rng:ref name="boolean"/> + </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>moving-average</rng:value> + <rng:value>exponential</rng:value> + <rng:value>power</rng:value> + <rng:value>polynomial</rng:value> + </rng:choice> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="chart:regression-max-degree"> + <rng:ref name="positiveInteger"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="chart:regression-force-intercept"> + <rng:ref name="boolean"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="chart:regression-intercept-value"> + <rng:ref name="double"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="chart:regression-name"> + <rng:ref name="string"/> + </rng:attribute> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3958 --> + <rng:optional> + <rng:attribute name="chart:regression-period"> + <rng:ref name="positiveInteger"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="chart:regression-moving-type"> + <rng:choice> + <rng:value>prior</rng:value> + <rng:value>central</rng:value> + <rng:value>averaged-abscissa</rng:value> + </rng:choice> + </rng:attribute> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3959 --> + <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:optional> + <rng:attribute name="chart:data-label-series"> + <rng:ref name="boolean"/> + </rng:attribute> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-2117 --> + </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-first"> + <rng:element name="style:footer-first"> + <rng:ref name="common-style-header-footer-attlist"/> + <rng:ref name="header-footer-content"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-3789 --> + </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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4125 --> + <rng:ref name="common-draw-fill-kind-attlist"/> + </rng:optional> + <rng:ref name="common-draw-fill-details-attlist"/> + </rng:interleave> + </rng:define> + <rng:define name="common-draw-fill-kind-attlist"> + <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:define> + <rng:define name="common-draw-fill-details-attlist"> + <rng:interleave> + <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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4106 --> + <rng:value>scale</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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4047 --> + <rng:optional> + <rng:attribute name="draw:allow-overlap"> + <rng:ref name="boolean"/> + </rng:attribute> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-4142 --> + <rng:optional> + <rng:attribute name="draw:decorative"> + <rng:ref name="boolean"/> + </rng:attribute> + </rng:optional> + <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="signedZeroToHundredPercent"/> + </rng:attribute> + <!-- https://issues.oasis-open.org/browse/OFFICE-3821 --> + </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-first"> + <rng:element name="style:header-first"> + <rng:ref name="common-style-header-footer-attlist"/> + <rng:ref name="header-footer-content"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-3789 --> + </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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4125 --> + <rng:ref name="style-background-fill"/> + </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:ref name="style-header-first"/> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3789 --> + </rng:optional> + <rng:optional> + <rng:ref name="style-footer"/> + <rng:optional> + <rng:ref name="style-footer-left"/> + </rng:optional> + <rng:optional> + <rng:ref name="style-footer-first"/> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3789 --> + </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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4105 --> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4105 --> + <rng:optional> + <rng:attribute name="style:margin-gutter"> + <rng:ref name="nonNegativeLength"/> + </rng:attribute> + </rng:optional> + <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> + <!-- https://issues.oasis-open.org/browse/OFFICE-3953 --> + <rng:ref name="integer"/> + <rng:value>continue</rng:value> + </rng:choice> + </rng:attribute> + </rng:optional> + <rng:choice> + <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:group> + <rng:optional> + <rng:attribute name="style:scale-to-X"> + <rng:ref name="positiveInteger"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="style:scale-to-Y"> + <rng:ref name="positiveInteger"/> + </rng:attribute> + </rng:optional> + </rng:group> + </rng:choice> + <!-- https://issues.oasis-open.org/browse/OFFICE-3857 --> + <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="style:contextual-spacing"> + <rng:ref name="boolean"/> + </rng:attribute> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3767 --> + <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> + <!-- https://issues.oasis-open.org/browse/OFFICE-3846 --> + <rng:optional> + <rng:attribute name="text:relative-tab-stop-position"> + <rng:ref name="boolean"/> + </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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4125 --> + <rng:ref name="style-background-fill"/> + </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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4125 --> + <rng:ref name="style-background-fill"/> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4125 --> + <rng:ref name="style-background-fill"/> + </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:optional> + <rng:attribute name="table:tab-color"> + <rng:ref name="color"/> + </rng:attribute> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-2173 --> + </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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4125 --> + <rng:ref name="style-background-fill"/> + </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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4125 --> + <rng:ref name="style-background-fill"/> + </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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4108 --> + <rng:zeroOrMore> + <rng:ref name="number-num-list-format"/> + </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:optional> + <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:optional> + <rng:optional> + <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:optional> + <rng:optional> + <rng:attribute name="table:step"> + <rng:ref name="double"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <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:optional> + </rng:interleave> + </rng:define> + <!-- https://issues.oasis-open.org/browse/OFFICE-2118 --> + <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> +<!-- https://issues.oasis-open.org/browse/OFFICE-4107 + <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> +<!-- https://issues.oasis-open.org/browse/OFFICE-4107 + <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> +--> +<!-- https://issues.oasis-open.org/browse/OFFICE-4107 --> + <rng:choice> + <rng:group> + <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:attribute name="table:value"> + <rng:choice> + <rng:ref name="string"/> + <rng:ref name="double"/> + </rng:choice> + </rng:attribute> + </rng:group> + <rng:group> + <rng:attribute name="table:data-type"> + <rng:choice> + <rng:value>text-color</rng:value> + <rng:value>data-style-color</rng:value> + </rng:choice> + </rng:attribute> + <rng:attribute name="table:value"> + <rng:choice> + <rng:ref name="color"/> + <rng:value>window-font-color</rng:value> + </rng:choice> + </rng:attribute> + </rng:group> + <rng:group> + <rng:attribute name="table:data-type"> + <rng:choice> + <rng:value>background-color</rng:value> + </rng:choice> + </rng:attribute> + <rng:attribute name="table:value"> + <rng:choice> + <rng:ref name="color"/> + <rng:value>transparent</rng:value> + </rng:choice> + </rng:attribute> + </rng:group> + </rng:choice> + </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"> + <!-- https://issues.oasis-open.org/browse/OFFICE-3665 --> + <rng:interleave> + <rng:choice> + <rng:attribute name="table:cell-range-address"> + <rng:ref name="cellRangeAddress"/> + </rng:attribute> + <rng:group> + <rng:attribute name="table:name"> + <rng:ref name="string"/> + </rng:attribute> + <rng:optional> + <rng:attribute name="table:cell-range-address"> + <rng:ref name="cellRangeAddress"/> + </rng:attribute> + </rng:optional> + </rng:group> + </rng:choice> + </rng:interleave> + </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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4035 --> + <rng:value>page</rng:value> + <rng:value>chapter</rng:value> + <rng:value>direction</rng:value> + <rng:value>text</rng:value> + <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-drop-down"> + <rng:element name="text:drop-down"> + <rng:attribute name="text:name"> + <rng:ref name="string"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="text:label"> + <rng:optional> + <rng:attribute name="text:value"> + <rng:ref name="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="text:current-selected"> + <rng:ref name="boolean"/> + </rng:attribute> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:text/> + </rng:element> + </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:ref name="text-index-entry-link-start"/> + <rng:ref name="text-index-entry-link-end"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-3941 --> + </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="styleNameRef"/> + </rng:attribute> + <rng:empty/> + </rng:element> + </rng:define> + <!-- https://issues.oasis-open.org/browse/OFFICE-3675 --> + <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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4108 --> + <rng:ref name="common-num-list-format-name-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"> + <!-- https://issues.oasis-open.org/browse/OFFICE-4118 + <rng:ref name="positiveInteger"/> + --> + <rng:ref name="nonNegativeInteger"/> + </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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4035 --> + <rng:value>page</rng:value> + <rng:value>chapter</rng:value> + <rng:value>direction</rng:value> + <rng:value>text</rng:value> + </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"> + <!-- https://issues.oasis-open.org/browse/OFFICE-4118 + <rng:ref name="positiveInteger"/> + --> + <rng:ref name="nonNegativeInteger"/> + </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"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-4108 --> + <rng:ref name="common-num-list-format-name-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> + <!-- https://issues.oasis-open.org/browse/OFFICE-4035 --> + <rng:value>page</rng:value> + <rng:value>chapter</rng:value> + <rng:value>direction</rng:value> + <rng:value>text</rng:value> + <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:ref name="text-index-entry-link-start"/> + <rng:ref name="text-index-entry-link-end"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-3941 --> + </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> |