[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Specification (Was: Style properties questions/requests)
Hi all, David Faure wrote: >Is there a version of the specification somewhere that is being updated >with the changes decided here? Or will that only be done in the end, >from the various meeting minutes? > Hah, thanks for bringing that up. The OpenOffice.org specification has not been updated for a while. It may yet happen, but I much prefer to put my time into the OASIS spec, as that is to supersede our own. The OpenOffice.org DTDs are usually up-to-date, as they are used for testing. The idea was indeed to continously edit the TC's specification. That worked sort of OK until about, ehmm, May. I have admittedly been falling behind since then; I really want (and need) to spend some more time on it to catch up. So, what's the current state? You'll find the current specification proposal at: http://xml.openoffice.org/oasis/p-open-office-specification.xml In the directory, you'll find two tools that may be of interest: One is the XSLT script 'extract.xsl', which you can use to extract all paragraphs that have been formatted using a certain style. I use this to extract the current Relax-NG specification for the format from the document (style 'RelaxNG'), and to obtain a list of to-do items (style 'TODO'). E.g. using xsltproc (from the libxml2 distribution), you can use xsltproc --stringparam style RelaxNG extract.xsl p-open-office-specification.xml to get RelaxNG from the document. The other files of interest is the ooo2oasis.xsl (and oasis2ooo.xsl), which is an XSLT script to generate an OASIS Open Office document from an OpenOffice.org one. Like the spec, it has only tracked changes to the text chapter, so it's far from complete. But I use it to generate our spec in our own format (rather than the OOo base format), and it's at least good enough to validate against the Relax-NG. I have attached two documents: The Relax-NG (generated from the spec using extract.xsl), and a PDF version of the spec (generated by loading the spec into OOo and generating PDF from there). Obviously, the spec is rather incomplete, but I think it allows you to determine the direction is going to. TODO-items are marked with a red background, so they're hard to miss. :-) I'd be happy if you all could have a look at it, and give feedback. Sincerely, Daniel
<?xml version="1.0" encoding="UTF-8"?> <!-- OASIS Open Office format preliminary Relax-NG schema $Id: p-open-office-specification.xml,v 1.6 2003/05/06 16:01:30 dvo Exp $ © 2002 OASIS Open © 1999-2002 Sun microsystems --> <grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:office="http://openoffice.org/2000/office" xmlns:text="http://openoffice.org/2000/text" xmlns:table="http://openoffice.org/2000/table" xmlns:number="http://openoffice.org/2000/datastyle" xmlns:form="http://openoffice.org/2000/form" xmlns:dr3d="http://openoffice.org/2000/dr3d" xmlns:draw="http://openoffice.org/2000/drawing" xmlns:meta="http://openoffice.org/2000/meta" xmlns:chart="http://openoffice.org/2000/chart" xmlns:style="http://openoffice.org/2000/style" xmlns:presentation="http://openoffice.org/2001/presentation" xmlns:config="http://openoffice.org/2001/config" xmlns:script="http://openoffice.org/2000/script" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" > <start> <choice> <ref name="office-document"/> <ref name="office-document-content"/> <ref name="office-document-styles"/> <ref name="office-document-meta"/> <ref name="office-document-settings"/> </choice> </start> <define name="office-document"> <element name="office:document"> <ref name="office-document-attrs"/> <ref name="office-meta"/> <ref name="office-settings"/> <ref name="office-script"/> <ref name="office-font-decls"/> <ref name="office-styles"/> <ref name="office-automatic-styles"/> <ref name="office-master-styles"/> <ref name="office-body"/> </element> </define> <define name="office-document-content"> <element name="office:document-content"> <ref name="office-document-attrs"/> <ref name="office-script"/> <ref name="office-font-decls"/> <ref name="office-automatic-styles"/> <ref name="office-body"/> </element> </define> <define name="office-document-styles"> <element name="office:document-styles"> <ref name="office-document-attrs"/> <ref name="office-font-decls"/> <ref name="office-styles"/> <ref name="office-automatic-styles"/> <ref name="office-master-styles"/> </element> </define> <define name="office-document-meta"> <element name="office:document-meta"> <ref name="office-document-attrs"/> <ref name="office-meta"/> </element> </define> <define name="office-document-settings"> <element name="office:document-settings"> <ref name="office-document-attrs"/> <ref name="office-settings"/> </element> </define> <define name="office-document-attrs"> <optional> <attribute name="office:version"> <data type="string"/> </attribute> </optional> </define> <define name="office-meta"> <optional> <element name="office:meta"> <zeroOrMore> <ref name="office-meta-data"/> </zeroOrMore> </element> </optional> </define> <define name="office-body"> <element name="office:body"> <ref name="office-body-content"/> </element> </define> <define name="office-body-content" combine="choice"> <element name="office:text"> <ref name="office-text-content-prelude"/> <zeroOrMore> <ref name="office-text-content-main"/> </zeroOrMore> <ref name="office-text-content-epilogue"/> </element> </define> <define name="office-text-content-prelude"> <ref name="office-forms"/> <ref name="text-tracked-changes"/> <ref name="text-decls"/> </define> <define name="office-text-content-main"> <choice> <ref name="text-h"/> <ref name="text-p"/> <ref name="text-list"/> <ref name="table-table"/> <ref name="draw-a"/> <ref name="text-section"/> <ref name="text-table-of-content"/> <ref name="text-illustration-index"/> <ref name="text-table-index"/> <ref name="text-object-index"/> <ref name="text-user-index"/> <ref name="text-alphabetical-index"/> <ref name="text-bibliography"/> <ref name="shape"/> <ref name="change-marks"/> </choice> </define> <define name="office-text-content-epilogue"> <empty/> </define> <define name="text-decls"> <optional> <element name="text:variable-decls"> <zeroOrMore> <ref name="text-variable-decl"/> </zeroOrMore> </element> </optional> <optional> <element name="text:sequence-decls"> <zeroOrMore> <ref name="text-sequence-decl"/> </zeroOrMore> </element> </optional> <optional> <element name="text:user-field-decls"> <zeroOrMore> <ref name="text-user-field-decl"/> </zeroOrMore> </element> </optional> <optional> <element name="text:dde-connection-decls"> <zeroOrMore> <ref name="text-dde-connection-decl"/> </zeroOrMore> </element> </optional> <!-- TODO: What about alphabetical index mark auto file??? --> <optional> <element name="text:alphabetical-index-auto-mark-file"> <ref name="anything"/> </element> </optional> </define> <define name="office-body-content" combine="choice"> <element name="office:drawing"> <ref name="anything"/> </element> </define> <define name="office-body-content" combine="choice"> <element name="office:presentation"> <ref name="anything"/> </element> </define> <define name="office-body-content" combine="choice"> <element name="office:spreadsheet"> <optional> <attribute name="table:structure-protected"> <ref name="boolean"/> </attribute> </optional> <ref name="anyContent"/> </element> </define> <define name="office-body-content" combine="choice"> <element name="office:chart"> <ref name="anything"/> </element> </define> <define name="office-body-content" combine="choice"> <element name="office:image"> <ref name="anything"/> </element> </define> <define name="office-settings"> <optional> <element name="office:settings"> <ref name="anything"/> </element> </optional> </define> <define name="office-script"> <optional> <element name="office:script"> <ref name="anything"/> </element> </optional> </define> <define name="office-font-decls"> <optional> <element name="office:font-decls"> <ref name="anything"/> </element> </optional> </define> <define name="office-styles"> <optional> <element name="office:styles"> <ref name="anything"/> </element> </optional> </define> <define name="office-automatic-styles"> <optional> <element name="office:automatic-styles"> <ref name="anything"/> </element> </optional> </define> <define name="office-master-styles"> <optional> <element name="office:master-styles"> <ref name="anything"/> </element> </optional> </define> <define name="office-meta-data" combine="choice"> <element name="meta:generator"> <data type="string"/> </element> </define> <define name="office-meta-data" combine="choice"> <element name="dc:title"> <data type="string"/> </element> </define> <define name="office-meta-data" combine="choice"> <element name="dc:description"> <data type="string"/> </element> </define> <define name="office-meta-data" combine="choice"> <element name="dc:subject"> <data type="string"/> </element> </define> <define name="office-meta-data" combine="choice"> <element name="meta:keyword"> <data type="string"/> </element> </define> <define name="office-meta-data" combine="choice"> <element name="meta:initial-creator"> <data type="string"/> </element> </define> <define name="office-meta-data" combine="choice"> <element name="dc:creator"> <data type="string"/> </element> </define> <define name="office-meta-data" combine="choice"> <element name="meta:printed-by"> <data type="string"/> </element> </define> <define name="office-meta-data" combine="choice"> <element name="meta:creation-date"> <ref name="dateTime"/> </element> </define> <define name="office-meta-data" combine="choice"> <element name="dc:date"> <ref name="dateTime"/> </element> </define> <define name="office-meta-data" combine="choice"> <element name="meta:print-date"> <ref name="dateTime"/> </element> </define> <define name="office-meta-data" combine="choice"> <element name="meta:template"> <attribute name="xlink:href"> <ref name="uriReference"/> </attribute> <optional> <attribute name="xlink:type"> <value>simple</value> </attribute> </optional> <optional> <attribute name="xlink:actuate"> <value>onRequest</value> </attribute> </optional> <optional> <attribute name="xlink:title"> <data type="string"/> </attribute> </optional> <optional> <attribute name="meta:date"> <ref name="dateTime"/> </attribute> </optional> </element> </define> <define name="office-meta-data" combine="choice"> <element name="meta:auto-reload"> <optional> <attribute name="xlink:type"> <value>simple</value> </attribute> </optional> <optional> <attribute name="xlink:show"> <value>replace</value> </attribute> </optional> <optional> <attribute name="xlink:actuate"> <value>onLoad</value> </attribute> </optional> <optional> <attribute name="xlink:href"> <ref name="uriReference"/> </attribute> </optional> <optional> <attribute name="meta:delay"> <data type="duration"/> </attribute> </optional> </element> </define> <define name="office-meta-data" combine="choice"> <element name="meta:hyperlink-behaviour"> <optional> <attribute name="office:target-frame-name"> <ref name="targetFrameName"/> </attribute> </optional> <optional> <attribute name="xlink:show"> <choice> <value>new</value> <value>replace</value> </choice> </attribute> </optional> </element> </define> <define name="office-meta-data" combine="choice"> <element name="dc:language"> <ref name="cLanguage"/> </element> </define> <define name="office-meta-data" combine="choice"> <element name="meta:editing-cycles"> <data type="nonNegativeInteger"/> </element> </define> <define name="office-meta-data" combine="choice"> <element name="meta:editing-duration"> <data type="duration"/> </element> </define> <define name="office-meta-data" combine="choice"> <element name="meta:document-statistic"> <optional> <attribute name="meta:page-count"> <data type="nonNegativeInteger"/> </attribute> </optional> <optional> <attribute name="meta:table-count"> <data type="nonNegativeInteger"/> </attribute> </optional> <optional> <attribute name="meta:draw-count"> <data type="nonNegativeInteger"/> </attribute> </optional> <optional> <attribute name="meta:image-count"> <data type="nonNegativeInteger"/> </attribute> </optional> <optional> <attribute name="meta:ole-object-count"> <data type="nonNegativeInteger"/> </attribute> </optional> <optional> <attribute name="meta:paragraph-count"> <data type="nonNegativeInteger"/> </attribute> </optional> <optional> <attribute name="meta:word-count"> <data type="nonNegativeInteger"/> </attribute> </optional> <optional> <attribute name="meta:character-count"> <data type="nonNegativeInteger"/> </attribute> </optional> <optional> <attribute name="meta:row-count"> <data type="nonNegativeInteger"/> </attribute> </optional> <optional> <attribute name="meta:cell-count"> <data type="nonNegativeInteger"/> </attribute> </optional> <optional> <attribute name="meta:object-count"> <data type="nonNegativeInteger"/> </attribute> </optional> </element> </define> <define name="office-meta-data" combine="choice"> <element name="meta:user-defined"> <attribute name="meta:name"> <data type="string"/> </attribute> <optional> <attribute name="meta:type"> <data type="string"/> </attribute> </optional> <text/> </element> </define> <define name="office-meta-data" combine="choice"> <ref name="foreignElement"/> </define> <define name="text-h"> <element name="text:h"> <attribute name="text:level"> <data type="positiveInteger"/> </attribute> <ref name="paragraph-attrs"/> <zeroOrMore> <ref name="paragraph-content"/> </zeroOrMore> </element> </define> <define name="text-p"> <element name="text:p"> <ref name="paragraph-attrs"/> <zeroOrMore> <ref name="paragraph-content"/> </zeroOrMore> </element> </define> <define name="paragraph-attrs"> <ref name="class-attrs"/> <optional> <attribute name="style:cond-style-name"> <text/> </attribute> </optional> </define> <define name="text-list"> <element name="text:list"> <ref name="anything"/> </element> </define> <define name="text-section"> <element name="text:section"> <ref name="anyAttrs"/> <choice> <element name="text:section-source"> <ref name="anything"/> </element> <element name="text:section-source-dde"> <ref name="anything"/> </element> <empty/> </choice> <zeroOrMore> <ref name="office-text-content-main"/> </zeroOrMore> </element> </define> <define name="text-tracked-changes"> <optional> <element name="text:tracked-changes"> <ref name="anything"/> </element> </optional> </define> <define name="change-marks"> <choice> <element name="text:change"><ref name="anything"/></element> <element name="text:change-start"><ref name="anything"/></element> <element name="text:change-end"><ref name="anything"/></element> </choice> </define> <define name="paragraph-content" combine="choice"> <text/> </define> <define name="paragraph-content" combine="choice"> <element name="text:s"> <optional> <attribute name="text:c"> <data type="nonNegativeInteger"/> </attribute> </optional> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:tab"> <optional> <attribute name="text:tab-ref"> <text/> </attribute> </optional> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:line-break"> <empty/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:span"> <ref name="class-attrs"/> <zeroOrMore> <ref name="paragraph-content"/> </zeroOrMore> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:a"> <ref name="text-a-attlist"/> <optional> <ref name="office-events"/> </optional> <zeroOrMore> <ref name="paragraph-content"/> </zeroOrMore> </element> </define> <define name="text-a-attlist" combine="interleave"> <optional> <attribute name="office:name"> <data type="string"/> </attribute> </optional> </define> <define name="text-a-attlist" combine="interleave"> <attribute name="xlink:href"> <ref name="uriReference"/> </attribute> <optional> <attribute name="xlink:type"> <value>simple</value> </attribute> </optional> <optional> <attribute name="xlink:actuate"> <value>onRequest</value> </attribute> </optional> </define> <define name="text-a-attlist" combine="interleave"> <optional> <attribute name="office:target-frame-name"> <data type="string"/> </attribute> </optional> <optional> <attribute name="xlink:show"> <choice> <value>new</value> <value>replace</value> </choice> </attribute> </optional> </define> <define name="text-a-attlist" combine="interleave"> <optional> <attribute name="text:style-name"> <ref name="styleName"/> </attribute> </optional> <optional> <attribute name="text:visited-style-name"> <ref name="styleName"/> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <choice> <element name="text:bookmark"> <attribute name="text:name"> <data type="string"/> </attribute> </element> <element name="text:bookmark-start"> <attribute name="text:name"> <data type="string"/> </attribute> </element> <element name="text:bookmark-end"> <attribute name="text:name"> <data type="string"/> </attribute> </element> </choice> </define> <define name="paragraph-content" combine="choice"> <element name="text:reference-mark"> <attribute name="text:name"> <data type="string"/> </attribute> </element> </define> <define name="paragraph-content" combine="choice"> <choice> <element name="text:reference-mark-start"> <attribute name="text:name"> <data type="string"/> </attribute> </element> <element name="text:reference-mark-end"> <attribute name="text:name"> <data type="string"/> </attribute> </element> </choice> </define> <define name="paragraph-content" combine="choice"> <element name="text:note"> <ref name="text-note-class"/> <optional> <attribute name="text:id"> <data type="string"/> </attribute> </optional> <element name="text:note-citation"> <optional> <attribute name="text:label"> <data type="string"/> </attribute> </optional> <text/> </element> <!-- Validity constraint: text:footnote and text:endnote elements may not contain other text:footnote or text:endnote elements, even though the DTD allows this (via the %text; in the foot-/endnote-body). Unfortunatetly, this constraint cannot be easily specified in the DTD. --> <element name="text:note-body"> <zeroOrMore> <ref name="office-text-content-main"/> </zeroOrMore> </element> </element> </define> <define name="text-note-class"> <attribute name="text:note-class"> <choice> <value>footnote</value> <value>endnote</value> </choice> </attribute> </define> <define name="text-notes-configuration"> <element name="text:notes-configuration"> <ref name="text-notes-configuration-content"/> </element> </define> <define name="text-notes-configuration-content" combine="interleave"> <ref name="text-note-class"/> </define> <define name="text-notes-configuration-content" combine="interleave"> <optional> <attribute name="text:citation-style-name"> <ref name="styleName"/> </attribute> </optional> </define> <define name="text-notes-configuration-content" combine="interleave"> <optional> <attribute name="text:citation-body-style-name"> <ref name="styleName"/> </attribute> </optional> </define> <define name="text-notes-configuration-content" combine="interleave"> <optional> <attribute name="text:default-style-name"> <ref name="styleName"/> </attribute> </optional> </define> <define name="text-notes-configuration-content" combine="interleave"> <optional> <attribute name="text:master-page-name"> <ref name="styleName"/> </attribute> </optional> </define> <define name="text-notes-configuration-content" combine="interleave"> <optional> <attribute name="text:start-value"> <data type="nonNegativeInteger"/> </attribute> </optional> </define> <define name="text-notes-configuration-content" combine="interleave"> <optional> <attribute name="style:num-prefix"> <data type="string"/> </attribute> </optional> </define> <define name="text-notes-configuration-content" combine="interleave"> <optional> <attribute name="style:num-suffix"> <data type="string"/> </attribute> </optional> </define> <define name="text-notes-configuration-content" combine="interleave"> <optional> <ref name="field-num-format"/> </optional> </define> <define name="text-notes-configuration-content" combine="interleave"> <optional> <attribute name="text:start-numbering-at"> <choice> <value>document</value> <value>chapter</value> <value>page</value> </choice> </attribute> </optional> </define> <define name="text-notes-configuration-content" combine="interleave"> <optional> <attribute name="text:footnotes-position"> <choice> <value>document</value> <value>page</value> </choice> </attribute> </optional> </define> <define name="text-notes-configuration-content" combine="interleave"> <optional> <element name="text:note-continuation-notice-forward"> <text/> </element> </optional> </define> <define name="text-notes-configuration-content" combine="interleave"> <optional> <element name="text:note-continuation-notice-backward"> <text/> </element> </optional> </define> <define name="paragraph-content" combine="choice"> <element name="text:ruby"> <optional> <attribute name="text:style-name"> <ref name="styleName"/> </attribute> </optional> <element name="text:ruby-base"> <ref name="paragraph-content"/> </element> <element name="text:ruby-text"> <optional> <attribute name="text:style-name"> <ref name="styleName"/> </attribute> </optional> <text/> </element> </element> </define> <define name="ruby-style" combine="interleave"> <optional> <attribute name="style:ruby-position"> <choice> <value>above</value> <value>below</value> </choice> </attribute> </optional> </define> <define name="ruby-style" combine="interleave"> <optional> <attribute name="style:ruby-align"> <choice> <value>left</value> <value>center</value> <value>right</value> <value>distribute-letter</value> <value>distribute-space</value> </choice> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <ref name="office-annotation"/> </define> <define name="paragraph-content" combine="choice"> <element name="text:bibliography-mark"> <ref name="anything"/> </element> </define> <define name="paragraph-content" combine="choice"> <element> <choice> <name>text:alphabetical-index-mark</name> <name>text:alphabetical-index-mark-start</name> <name>text:alphabetical-index-mark-end</name> <name>text:user-index-mark</name> <name>text:user-index-mark-start</name> <name>text:user-index-mark-end</name> <name>text:toc-mark</name> <name>text:toc-mark-start</name> <name>text:toc-mark-end</name> </choice> <ref name="anything"/> </element> </define> <define name="paragraph-content" combine="choice"> <ref name="change-marks"/> </define> <define name="paragraph-content" combine="choice"> <ref name="shape"/> </define> <define name="paragraph-content" combine="choice"> <element name="text:date"> <ref name="text-date-attlist"/> <text/> </element> </define> <define name="text-date-attlist" combine="interleave"> <interleave> <ref name="field-fixed"/> <ref name="field-data-style-name"/> </interleave> </define> <define name="text-date-attlist" combine="interleave"> <optional> <attribute name="text:date-value"> <ref name="dateTime"/> </attribute> </optional> </define> <define name="text-date-attlist" combine="interleave"> <optional> <attribute name="text:date-adjust"> <data type="duration"/> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <element name="text:time"> <ref name="text-time-attlist"/> <text/> </element> </define> <define name="text-time-attlist" combine="interleave"> <interleave> <ref name="field-fixed"/> <ref name="field-data-style-name"/> </interleave> </define> <define name="text-time-attlist" combine="interleave"> <optional> <attribute name="text:time-value"> <ref name="dateTime"/> </attribute> </optional> </define> <define name="text-time-attlist" combine="interleave"> <optional> <attribute name="text:time-adjust"> <data type="duration"/> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <element name="text:page-number"> <ref name="text-page-number-attlist"/> <text/> </element> </define> <define name="text-page-number-attlist" combine="interleave"> <interleave> <ref name="field-num-format"/> <ref name="field-fixed"/> </interleave> </define> <define name="text-page-number-attlist" combine="interleave"> <optional> <attribute name="text:page-adjust"> <data type="integer"/> </attribute> </optional> </define> <define name="text-page-number-attlist" combine="interleave"> <optional> <attribute name="text:select-page"> <choice> <value>previous</value> <value>current</value> <value>next</value> </choice> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <element name="text:page-continuation"> <ref name="text-page-continuation-attlist"/> <text/> </element> </define> <define name="text-page-continuation-attlist" combine="interleave"> <attribute name="text:select-page"> <choice> <value>previous</value> <value>next</value> </choice> </attribute> </define> <define name="text-page-continuation-attlist" combine="interleave"> <optional> <attribute name="text:string-value"> <data type="string"/> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-firstname"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-lastname"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-initials"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-title"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-position"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-email"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-phone-private"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-fax"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-company"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-phone-work"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-street"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-city"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-postal-code"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-country"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sender-state-or-province"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:author-name"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:author-initials"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:chapter"> <ref name="text-chapter-attlist"/> <text/> </element> </define> <define name="text-chapter-attlist" combine="interleave"> <attribute name="text:display"> <choice> <value>name</value> <value>number</value> <value>number-and-name</value> <value>plain-number-and-name</value> <value>plain-number</value> </choice> </attribute> </define> <define name="text-chapter-attlist" combine="interleave"> <attribute name="text:outline-level"> <data type="nonNegativeInteger"/> </attribute> </define> <define name="paragraph-content" combine="choice"> <element name="text:file-name"> <ref name="text-file-name-attlist"/> <text/> </element> </define> <define name="text-file-name-attlist" combine="interleave"> <optional> <attribute name="text:display"> <choice> <value>full</value> <value>path</value> <value>name</value> <value>name-and-extension</value> </choice> </attribute> </optional> </define> <define name="text-file-name-attlist" combine="interleave"> <ref name="field-fixed"/> </define> <define name="paragraph-content" combine="choice"> <element name="text:template-name"> <ref name="text-template-name-attlist"/> <text/> </element> </define> <define name="text-template-name-attlist"> <optional> <attribute name="text:display"> <choice> <value>full</value> <value>path</value> <value>name</value> <value>name-and-extension</value> <value>area</value> <value>title</value> </choice> </attribute> </optional> </define> <define name="text-variable-decl"> <element name="text:variable-decl"> <ref name="field-name"/> <ref name="field-value-type"/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:variable-set"> <interleave> <ref name="field-name"/> <ref name="field-formula"/> <ref name="field-value-and-type"/> <ref name="field-display-value-none"/> <ref name="field-data-style-name"/> </interleave> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:variable-get"> <interleave> <ref name="field-name"/> <ref name="field-display-value-formula"/> <ref name="field-data-style-name"/> </interleave> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:variable-input"> <interleave> <ref name="field-name"/> <ref name="field-description"/> <ref name="field-value-type"/> <ref name="field-display-value-none"/> <ref name="field-data-style-name"/> </interleave> <text/> </element> </define> <define name="text-user-field-decl"> <element name="text:user-field-decl"> <ref name="field-name"/> <optional> <ref name="field-formula"/> </optional> <ref name="field-value-and-type"/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:user-field-get"> <interleave> <ref name="field-name"/> <ref name="field-display-value-formula-none"/> <ref name="field-data-style-name"/> </interleave> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:user-field-input"> <interleave> <ref name="field-name"/> <ref name="field-description"/> <ref name="field-data-style-name"/> </interleave> <text/> </element> </define> <define name="text-sequence-decl"> <element name="text:sequence-decl"> <ref name="text-sequence-decl-attlist"/> </element> </define> <define name="text-sequence-decl-attlist" combine="interleave"> <ref name="field-name"/> </define> <define name="text-sequence-decl-attlist" combine="interleave"> <attribute name="text:display-outline-level"> <data type="nonNegativeInteger"/> </attribute> </define> <define name="text-sequence-decl-attlist" combine="interleave"> <optional> <attribute name="text:separation-character"> <ref name="character"/> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <element name="text:sequence"> <interleave> <ref name="field-name"/> <ref name="field-formula"/> <ref name="field-num-format"/> <ref name="text-sequence-ref-name"/> </interleave> <text/> </element> </define> <define name="text-sequence-ref-name"> <optional> <attribute name="text:ref-name"> <data type="string"/> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <element name="text:expression"> <interleave> <ref name="field-formula"/> <optional> <ref name="field-value-and-type"/> </optional> <ref name="field-display-value-formula"/> <ref name="field-data-style-name"/> </interleave> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:text-input"> <ref name="field-description"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:initial-creator"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:creation-date"> <interleave> <ref name="field-fixed"/> <ref name="field-data-style-name"/> <optional> <attribute name="text:date-value"> <data type="date"/> </attribute> </optional> </interleave> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:creation-time"> <interleave> <ref name="field-fixed"/> <ref name="field-data-style-name"/> <optional> <attribute name="text:time-value"> <ref name="dateTime"/> </attribute> </optional> </interleave> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:description"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:user-defined"> <interleave> <ref name="field-fixed"/> <attribute name="text:name"> <data type="string"/> </attribute> </interleave> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:print-time"> <interleave> <ref name="field-fixed"/> <ref name="field-data-style-name"/> <optional> <attribute name="text:time-value"> <data type="time"/> </attribute> </optional> </interleave> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:print-date"> <interleave> <ref name="field-fixed"/> <ref name="field-data-style-name"/> <optional> <attribute name="text:date-value"> <data type="date"/> </attribute> </optional> </interleave> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:printed-by"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:title"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:subject"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:keywords"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:editing-cycles"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:editing-duration"> <interleave> <ref name="field-fixed"/> <ref name="field-data-style-name"/> <optional> <attribute name="text:duration"> <data type="duration"/> </attribute> </optional> </interleave> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:modification-time"> <interleave> <ref name="field-fixed"/> <ref name="field-data-style-name"/> <optional> <attribute name="text:time-value"> <data type="time"/> </attribute> </optional> </interleave> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:modification-date"> <interleave> <ref name="field-fixed"/> <ref name="field-data-style-name"/> <optional> <attribute name="text:date-value"> <data type="date"/> </attribute> </optional> </interleave> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:creator"> <ref name="field-fixed"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element> <choice> <name>text:page-count</name> <name>text:paragraph-count</name> <name>text:word-count</name> <name>text:character-count</name> <name>text:table-count</name> <name>text:image-count</name> <name>text:object-count</name> </choice> <ref name="field-num-format"/> <text/> </element> </define> <define name="field-database-table"> <interleave> <attribute name="text:database-name"> <data type="string"/> </attribute> <attribute name="text:table-name"> <data type="string"/> </attribute> <optional> <attribute name="text:table-type"> <choice> <value>table</value> <value>query</value> <value>command</value> </choice> </attribute> </optional> </interleave> </define> <define name="paragraph-content" combine="choice"> <element name="text:database-display"> <ref name="text-database-display-attlist"/> <text/> </element> </define> <define name="text-database-display-attlist" combine="interleave"> <ref name="field-database-table"/> </define> <define name="text-database-display-attlist" combine="interleave"> <ref name="field-data-style-name"/> </define> <define name="text-database-display-attlist" combine="interleave"> <attribute name="text:column-name"> <data type="string"/> </attribute> </define> <define name="paragraph-content" combine="choice"> <element name="text:database-next"> <ref name="text-database-next-attlist"/> </element> </define> <define name="text-database-next-attlist" combine="interleave"> <ref name="field-database-table"/> </define> <define name="text-database-next-attlist" combine="interleave"> <optional> <attribute name="text:condition"> <ref name="formula"/> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <element name="text:database-row-select"> <ref name="text-database-row-select-attlist"/> </element> </define> <define name="text-database-row-select-attlist" combine="interleave"> <ref name="field-database-table"/> </define> <define name="text-database-row-select-attlist" combine="interleave"> <optional> <attribute name="text:condition"> <ref name="formula"/> </attribute> </optional> </define> <define name="text-database-row-select-attlist" combine="interleave"> <optional> <attribute name="text:row-number"> <data type="nonNegativeInteger"/> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <element name="text:database-row-number"> <interleave> <ref name="field-database-table"/> <ref name="field-num-format"/> <optional> <attribute name="text:value"> <data type="nonNegativeInteger"/> </attribute> </optional> </interleave> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:database-name"> <ref name="field-database-table"/> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:page-variable-set"> <ref name="text-set-page-variable-attlist"/> <text/> </element> </define> <define name="text-set-page-variable-attlist" combine="interleave"> <optional> <attribute name="text:active"> <ref name="boolean"/> </attribute> </optional> </define> <define name="text-set-page-variable-attlist" combine="interleave"> <optional> <attribute name="text:page-adjust"> <data type="integer"/> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <element name="text:page-variable-get"> <ref name="text-get-page-variable-attlist"/> <text/> </element> </define> <define name="text-get-page-variable-attlist" combine="interleave"> <ref name="field-num-format"/> </define> <define name="paragraph-content" combine="choice"> <element name="text:placeholder"> <ref name="text-placeholder-attlist"/> <text/> </element> </define> <define name="text-placeholder-attlist" combine="interleave"> <attribute name="text:placeholder-type"> <choice> <value>text</value> <value>table</value> <value>text-box</value> <value>image</value> <value>object</value> </choice> </attribute> </define> <define name="text-placeholder-attlist" combine="interleave"> <ref name="field-description"/> </define> <define name="paragraph-content" combine="choice"> <element name="text:conditional-text"> <ref name="text-conditional-text-attlist"/> <text/> </element> </define> <define name="text-conditional-text-attlist" combine="interleave"> <attribute name="text:condition"> <ref name="formula"/> </attribute> </define> <define name="text-conditional-text-attlist" combine="interleave"> <attribute name="text:string-value-if-true"> <data type="string"/> </attribute> </define> <define name="text-conditional-text-attlist" combine="interleave"> <attribute name="text:string-value-if-false"> <data type="string"/> </attribute> </define> <define name="text-conditional-text-attlist" combine="interleave"> <optional> <attribute name="text:current-value"> <ref name="boolean"/> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <element name="text:hidden-text"> <ref name="text-hidden-text-attlist"/> <text/> </element> </define> <define name="text-hidden-text-attlist" combine="interleave"> <attribute name="text:condition"> <ref name="formula"/> </attribute> </define> <define name="text-hidden-text-attlist" combine="interleave"> <attribute name="text:string-value"> <data type="string"/> </attribute> </define> <define name="text-hidden-text-attlist" combine="interleave"> <optional> <attribute name="text:is-hidden"> <ref name="boolean"/> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <element> <choice> <name>text:reference-ref</name> <name>text:bookmark-ref</name> <name>text:note-ref</name> </choice> <interleave> <ref name="text-common-ref-content"/> <ref name="text-ref-content"/> </interleave> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:sequence-ref"> <interleave> <ref name="text-common-ref-content"/> <ref name="text-sequence-ref-content"/> </interleave> </element> </define> <define name="text-common-ref-content" combine="interleave"> <text/> </define> <define name="text-common-ref-content" combine="interleave"> <optional> <attribute name="text:ref-name"> <data type="string"/> </attribute> </optional> </define> <define name="text-ref-content" combine="interleave"> <optional> <attribute name="text:reference-format"> <choice> <value>page</value> <value>chapter</value> <value>direction</value> <value>text</value> </choice> </attribute> </optional> </define> <define name="text-sequence-ref-content" combine="interleave"> <optional> <attribute name="text:reference-format"> <choice> <value>page</value> <value>chapter</value> <value>direction</value> <value>text</value> <value>category-and-value</value> <value>caption</value> <value>value</value> </choice> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <element name="text:script"> <interleave> <choice> <attribute name="text:href"> <ref name="URL"/> </attribute> <text/> </choice> <optional> <attribute name="script:language"> <data type="string"/> </attribute> </optional> </interleave> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:execute-macro"> <optional> <attribute name="text:name"> <data type="string"/> </attribute> </optional> <optional> <ref name="office-events"/> </optional> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:hidden-paragraph"> <ref name="text-hidden-paragraph-attlist"/> <text/> </element> </define> <define name="text-hidden-paragraph-attlist" combine="interleave"> <attribute name="text:condition"> <ref name="formula"/> </attribute> </define> <define name="text-hidden-paragraph-attlist" combine="interleave"> <optional> <attribute name="text:is-hidden"> <ref name="boolean"/> </attribute> </optional> </define> <define name="paragraph-content" combine="choice"> <element name="text:dde-connection"> <attribute name="text:connection-name"> <data type="string"/> </attribute> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:measure"> <attribute name="text:kind"> <choice> <value>value</value> <value>unit</value> <value>gap</value> </choice> </attribute> <text/> </element> </define> <define name="paragraph-content" combine="choice"> <element name="text:table-formula"> <interleave> <ref name="field-formula"/> <ref name="field-display-value-formula"/> <ref name="field-data-style-name"/> </interleave> <text/> </element> </define> <define name="field-value-type"> <attribute name="text:value-type"> <choice> <value>float</value> <value>time</value> <value>date</value> <value>percentage</value> <value>currency</value> <value>boolean</value> <value>string</value> </choice> </attribute> </define> <define name="field-value-and-type"> <choice> <group> <attribute name="text:value-type"> <value>float</value> </attribute> <attribute name="text:value"> <data type="double"/> </attribute> </group> <group> <attribute name="text:value-type"> <value>percentage</value> </attribute> <attribute name="text:value"> <data type="double"/> </attribute> </group> <group> <attribute name="text:value-type"> <value>currency</value> </attribute> <attribute name="text:value"> <data type="double"/> </attribute> <optional> <attribute name="text:currency"> <data type="string"/> </attribute> </optional> </group> <group> <attribute name="text:value-type"> <value>date</value> </attribute> <attribute name="text:date-value"> <data type="date"/> </attribute> </group> <group> <attribute name="text:value-type"> <value>time</value> </attribute> <attribute name="text:time-value"> <data type="duration"/> </attribute> </group> <group> <attribute name="text:value-type"> <value>boolean</value> </attribute> <attribute name="text:boolean-value"> <ref name="boolean"/> </attribute> </group> <group> <attribute name="text:value-type"> <value>string</value> </attribute> <optional> <attribute name="text:string-value"> <data type="string"/> </attribute> </optional> </group> </choice> </define> <define name="field-fixed"> <optional> <attribute name="text:fixed"> <ref name="boolean"/> </attribute> </optional> </define> <define name="field-name"> <attribute name="text:name"> <ref name="variable-name"/> </attribute> </define> <define name="field-description"> <optional> <attribute name="text:description"> <text/> </attribute> </optional> </define> <define name="field-display-value-none"> <optional> <attribute name="text:display"> <choice> <value>value</value> <value>none</value> </choice> </attribute> </optional> </define> <define name="field-display-value-formula-none"> <optional> <attribute name="text:display"> <choice> <value>value</value> <value>formula</value> <value>none</value> </choice> </attribute> </optional> </define> <define name="field-display-value-formula"> <optional> <attribute name="text:display"> <choice> <value>value</value> <value>formula</value> </choice> </attribute> </optional> </define> <define name="field-formula"> <optional> <attribute name="text:formula"> <ref name="formula"/> </attribute> </optional> </define> <define name="field-data-style-name"> <optional> <attribute name="style:data-style-name"> <ref name="styleName"/> </attribute> </optional> </define> <define name="field-num-format"> <choice> <attribute name="style:num-format"> <choice> <value>1</value> <value>i</value> <value>I</value> </choice> </attribute> <group> <attribute name="style:num-format"> <choice> <value>a</value> <value>A</value> </choice> </attribute> <optional> <attribute name="style:num-letter-sync"> <ref name="boolean"/> </attribute> </optional> </group> <empty/> </choice> </define> <define name="text-table-of-content"> <element name="text:table-of-content"> <ref name="anyAttrs"/> <element name="text:table-of-content-source"> <ref name="anything"/> </element> <ref name="text-index-body"/> </element> </define> <define name="text-illustration-index"> <element name="text:illustration-index"> <ref name="anyAttrs"/> <element name="text:illustration-index-source"> <ref name="anything"/> </element> <ref name="text-index-body"/> </element> </define> <define name="text-table-index"> <element name="text:table-index"> <ref name="anyAttrs"/> <element name="text:table-index-source"> <ref name="anything"/> </element> <ref name="text-index-body"/> </element> </define> <define name="text-object-index"> <element name="text:object-index"> <ref name="anyAttrs"/> <element name="text:object-index-source"> <ref name="anything"/> </element> <ref name="text-index-body"/> </element> </define> <define name="text-user-index"> <element name="text:user-index"> <ref name="anyAttrs"/> <element name="text:user-index-source"> <ref name="anything"/> </element> <ref name="text-index-body"/> </element> </define> <define name="text-alphabetical-index"> <element name="text:alphabetical-index"> <ref name="anyAttrs"/> <element name="text:alphabetical-index-source"> <ref name="anything"/> </element> <ref name="text-index-body"/> </element> </define> <define name="text-bibliography"> <element name="text:bibliography"> <ref name="anyAttrs"/> <element name="text:bibliography-source"> <ref name="anything"/> </element> <ref name="text-index-body"/> </element> </define> <define name="text-index-body"> <element name="text:index-body"> <ref name="anything"/> </element> </define> <define name="table-table"> <element name="table:table"> <ref name="anything"/> </element> </define> <define name="office-forms"> <optional> <element name="office:forms"> <ref name="anything"/> </element> </optional> </define> <define name="draw-a"> <element name="draw:a"> <ref name="anything"/> </element> </define> <define name="shape"> <element> <choice> <name>draw:rect</name> <name>draw:line</name> <name>draw:polyline</name> <name>draw:polygon</name> <name>draw:path</name> <name>draw:circle</name> <name>draw:ellipse</name> <name>draw:g</name> <name>draw:page-thumbnail</name> <name>draw:text-box</name> <name>draw:image</name> <name>draw:object</name> <name>draw:object-ole</name> <name>draw:applet</name> <name>draw:floating-frame</name> <name>draw:plugin</name> <name>draw:measure</name> <name>draw:caption</name> <name>draw:connector</name> <name>chart:chart</name> <name>dr3d:scene</name> <name>draw:control</name> <name>draw:a</name> </choice> <ref name="anything"/> </element> </define> <define name="office-annotation"> <element name="office:annotation"> <ref name="office-annotation-info"/> <zeroOrMore> <ref name="text-p"/> </zeroOrMore> </element> </define> <define name="office-annotation-info" combine="interleave"> <optional> <attribute name="office:author"> <data type="string"/> </attribute> </optional> </define> <define name="office-annotation-info" combine="interleave"> <optional> <attribute name="office:create-date"> <ref name="dateTime"/> </attribute> </optional> </define> <define name="office-annotation-info" combine="interleave"> <optional> <attribute name="office:create-date-string"> <data type="string"/> </attribute> </optional> </define> <define name="office-annotation-info" combine="interleave"> <optional> <attribute name="office:display"> <ref name="boolean"/> </attribute> </optional> </define> <define name="office-events"> <element name="office:events"> <ref name="anything"/> </element> </define> <!-- to avoid inclusion of the complete MathML schema, we will simply allow anything within a math:math top-level element --> <define name="math-math"> <element name="math:math"> <ref name="anything"/> </element> </define> <define name="text-dde-connection-decl"> <element name="text:dde-connection-decl"> <ref name="text-dde-connection-decl-attlist"/> </element> </define> <define name="text-dde-connection-decl-attlist" combine="interleave"> <attribute name="text:name"> <data type="string"/> </attribute> </define> <define name="text-dde-connection-decl-attlist" combine="interleave"> <attribute name="office:dde-application"> <data type="string"/> </attribute> </define> <define name="text-dde-connection-decl-attlist" combine="interleave"> <attribute name="office:dde-topic"> <data type="string"/> </attribute> </define> <define name="text-dde-connection-decl-attlist" combine="interleave"> <attribute name="office:dde-item"> <data type="string"/> </attribute> </define> <define name="text-dde-connection-decl-attlist" combine="interleave"> <optional> <attribute name="office:automatic-update"> <data type="string"/> </attribute> </optional> </define> <define name="class-attrs"> <optional> <attribute name="text:style-name"> <text/> </attribute> </optional> <optional> <attribute name="text:class-name"> <!-- what is the actual type of the class attributes? They contain a sequence of reference, right? --> <text/> </attribute> </optional> <optional> <attribute name="text:cond-style-name"> <text/> </attribute> </optional> </define> <!-- the content definitions from the base format: Here only for reference while editing; this is to be deleted for the final spec. <define name="office-text-prelude"> <optional> <ref name="office.forms"/> </optional> <optional> <choice> <ref name="text.tracked-changes"/> <ref name="table.tracked-changes"/> </choice> </optional> <ref name="text-decls"/> <optional> <ref name="table.calculation-settings"/> </optional> <optional> <ref name="table.content-validations"/> </optional> <optional> <ref name="table.label-ranges"/> </optional> </define> <define name="office-text-content"> <zeroOrMore> <choice> <ref name="text.h"/> <ref name="text.p"/> <ref name="text.ordered-list"/> <ref name="text.unordered-list"/> <ref name="table.table"/> <ref name="draw.page"/> <ref name="draw.a"/> <ref name="shape"/> <ref name="text.section"/> <ref name="text.table-of-content"/> <ref name="text.illustration-index"/> <ref name="text.table-index"/> <ref name="text.object-index"/> <ref name="text.user-index"/> <ref name="text.alphabetical-index"/> <ref name="text.bibliography"/> <ref name="change-marks"/> </choice> </zeroOrMore> </define> <define name="office-text-epilogue"> <optional> <ref name="table.named-expressions"/> </optional> <optional> <ref name="table.database-ranges"/> </optional> <optional> <ref name="table.data-pilot-tables"/> </optional> <optional> <ref name="table.consolidation"/> </optional> <optional> <ref name="table.dde-links"/> </optional> <optional> <ref name="presentation.settings"/> </optional> </define> --> <define name="boolean"> <choice> <value>true</value> <value>false</value> </choice> </define> <define name="dateTime"> <choice> <data type="date"/> <data type="dateTime"/> </choice> </define> <define name="foreignAttribute"> <attribute> <anyName/> <text/> </attribute> </define> <define name="foreignElement"> <element> <anyName/> <zeroOrMore> <choice> <ref name="foreignAttribute"/> <ref name="foreignElement"/> <text/> </choice> </zeroOrMore> </element> </define> <!-- these should be replaced by proper data types along the way --> <define name="targetFrameName"><text/></define> <define name="uriReference"><text/></define> <define name="cLanguage"><text/></define> <define name="styleName"><text/></define> <define name="formula"><text/></define> <define name="variable-name"><text/></define> <define name="character"><text/></define> <define name="URL"><text/></define> <!-- anything, anyContent: use as a placeholder for items not yet defined. The committee draft specification should not contain any references to 'anything' and 'anyContent' any more. --> <define name="anything"> <zeroOrMore> <choice> <attribute> <anyName/> <text/> </attribute> <element> <anyName/> <ref name="anything"/> </element> <text/> </choice> </zeroOrMore> </define> <define name="anyElement"> <element> <anyName/> <ref name="anything"/> </element> </define> <define name="anyContent"> <zeroOrMore> <choice> <element> <anyName/> <ref name="anything"/> </element> <text/> </choice> </zeroOrMore> </define> <define name="anyAttrs"> <zeroOrMore> <attribute> <anyName/> <text/> </attribute> </zeroOrMore> </define> </grammar>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]