OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [office] Diagonal Table Headers


Hi Peter,

Thanks for that contribution.  You and your team have obviously put a lot 
of thought into this.

I'll add this to JIRA so we can track it for ODF-Next.

I need to read the use cases over, but it strikes me that we need to 
carefully define both the abstract data model that is being represented, 
as well as how it is presented.  The abstraction is especially for how we 
model this in programmatic API's (like ODF Toolkit) and how we enable 
navigation for screen readers and other assistive technologies.   Also, 
since diagonal tables are not supported in some applications and even some 
markups (like HTML) we should probably also define a canonical fall-back 
rendering for how these tables should render in situations where diagonal 
tables cells are not available.

To your question on copyright, we would not be able to publish a standard 
that contains scanned images from a book unless we had the publisher's 
permission.  However, would it be possible to recreate similar examples in 
RF, and take screen shots of those examples?

Regards,

-Rob


Peter Junge <peterjunge@RedOffice.com> wrote on 05/15/2009 04:30:34 AM:

> 
> Dear TC members,
> 
> as announced earlier this week, Redflag 2000 would like to submit a
> proposal about Diagonal (or Kite or Asian) Table Headers. The proposal
> is quite substantial, as we have been trying to take a semantic approach
> to the feature. ISO29500 keeps very brief on it (Part I - 17.4.74
> tl2br), while UOF adds some graphical lines with text to a table cell
> (range), which means IMHO emulating the feature with a 'borrowed' object
> type. RF2000 has been proposing this feature at OOo almost two years ago
> with a similar approach to UOF, see:
> http://wiki.services.openoffice.org/wiki/
> Image:Diagonal_Table_Header_Specification.odt
> Todays proposal is significantly different. The basic idea is to
> overcome the concept, that a table cell has to be rectangular. Hence, we
> copied most features of a 'cell as yet known', leaving away all the
> stuff, that is only reasonable to be used in a box concept. As a result,
> it is possible to calculate the content of diagonal table header cells
> in the same way, as used in rectangular cells. A feature we have been
> avoiding so far is to go the opposite way. Contents of diagonal table
> header cells cannot be used for calculations etc. in rectangular cells.
> We have been starting to think about this feature, but this would have
> blown up the proposal by multiple times. We think this extension can be
> added in a later step.
> 
> To draft our proposal, we have been basing our work on ODF 1.2 CD01rev5.
> You will also find a modified schema attached, that has about 200 lines
> added.
> 
> One concern I'd like to raise here. To illustrate the use cases, we have
> been scanning samples from a reference book about corporate forms and
> tables. Our draft is citing the source in a way, that would be legal to
> use in Germany, but I do not know, how this kind of use of copyrighted
> work is handled in the US. Hence, I would like to clarify this, before I
> copy the proposal to the wiki. Can anyone give me a hint?
> 
> As mentioned in an earlier posting this week, Redflag 2000 would really
> appreciate feedback about this proposal, although review of new features
> should be intermitted during the current state of ODF 1.2. We want to
> design several more features during the next couple of months and need
> some feedback to learn, as we are an unexperienced team.
> 
> Best regards,
> Peter
> 
> -- 
> Peter Junge
> Open Source Strategy Director
> 
> Beijing Redflag Chinese 2000 Software Co., Ltd.
> Building No.2, Block A, Huilongsen, 18 Xihuan Nanlu
> Beijing Economic-Technological Development Area
> 100176 Beijing - P.R.China
> 
> 北京红旗中文贰仟软件技术有限公司
> 地址:北京经济技术开发区(亦庄)西环南路18号汇龙森A座二层
> 邮编:100176
> 
> 电话/Tel: +86-10-51570010 ext.6183
> 邮箱/e-mail: peterjunge@RedOffice.com
> http://www.RedOffice.com
> [attachment "DiagonalTableHeaders-Draft20090515.odt" deleted by 
> Robert Weir/Cambridge/IBM] <?xml version="1.0" encoding="UTF-8"?>
> <!--
    OASIS OpenDocument v1.2
 Draft9, 12 February 2009
 
> Relax-NG Schema

    $Id$

    ? 2002-2009 OASIS Open
-->
> 
> <grammar
>     xmlns="http://relaxng.org/ns/structure/1.0";
> 
>     datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes";
> 
>     xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
>     xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
>     xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0"
>     xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
>     xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
>     xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
> 
> 
xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
>     xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
>     xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
>     xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
>     xmlns:db="urn:oasis:names:tc:opendocument:xmlns:database:1.0"
>     xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
>     xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
>     xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
>     xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0"
> 
>     xmlns:dc="http://purl.org/dc/elements/1.1/";
>     xmlns:xlink="http://www.w3.org/1999/xlink";
>     xmlns:math="http://www.w3.org/1998/Math/MathML";
>     xmlns:xforms="http://www.w3.org/2002/xforms";
>     xmlns:grddl="http://www.w3.org/2003/g/data-view#";
>     xmlns:xhtml="http://www.w3.org/1999/xhtml";
> 
> xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
>     xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
> xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"
> >
> <define name="office-process-content">
>     <optional>
>         <attribute name="office:process-content">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <start>
>     <choice>
>         <ref name="office-document"/>
>         <ref name="office-document-content"/>
>         <ref name="office-document-styles"/>
>         <ref name="office-document-meta"/>
>         <ref name="office-document-settings"/>
>     </choice>
> </start>
> <define name="office-document">
>     <element name="office:document">
>         <ref name="office-document-attrs"/>
>         <ref name="office-document-common-attrs"/>
>         <ref name="office-meta"/>
>         <ref name="office-settings"/>
>         <ref name="office-scripts"/>
>         <ref name="office-font-face-decls"/>
>         <ref name="office-styles"/>
>         <ref name="office-automatic-styles"/>
>         <ref name="office-master-styles"/>
>         <ref name="office-body"/>
>     </element>
> </define>
> <define name="office-document-content">
>     <element name="office:document-content">
>         <ref name="office-document-common-attrs"/>
>         <ref name="office-scripts"/>
>         <ref name="office-font-face-decls"/>
>         <ref name="office-automatic-styles"/>
>         <ref name="office-body"/>
>     </element>
> </define>
> <define name="office-document-styles">
>     <element name="office:document-styles">
>         <ref name="office-document-common-attrs"/>
>         <ref name="office-font-face-decls"/>
>         <ref name="office-styles"/>
>         <ref name="office-automatic-styles"/>
>         <ref name="office-master-styles"/>
>     </element>
> </define>
> <define name="office-document-meta">
>     <element name="office:document-meta">
>         <ref name="office-document-common-attrs"/>
>         <ref name="office-meta"/>
>     </element>
> </define>
> <define name="office-document-settings">
>     <element name="office:document-settings">
>         <ref name="office-document-common-attrs"/>
>         <ref name="office-settings"/>
>     </element>
> </define>
> <define name="office-document-common-attrs" combine="interleave">
>     <attribute name="office:version">
>         <value>1.2</value>
>     </attribute>
> </define>
> <define name="office-document-attrs" combine="interleave">
>     <attribute name="office:mimetype">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="office-document-common-attrs" combine="interleave">
>    <optional>
>       <attribute name="grddl:transformation">
>          <list>
>             <zeroOrMore>
>                <ref name="anyURI"/>
>             </zeroOrMore>
>          </list>
>       </attribute>
>    </optional>
> </define>
> <define name="office-meta">
>     <optional>
>         <element name="office:meta">
>             <ref name="office-meta-content-strict"/>
>         </element>
>     </optional>
> </define>
> 
> <define name="office-meta-content-strict">
>     <zeroOrMore>
>         <ref name="office-meta-data"/>
>     </zeroOrMore>
> </define>
> <define name="office-body">
>     <element name="office:body">
>         <ref name="office-body-content"/>
>     </element>
> </define>
> <define name="office-body-content" combine="choice">
>     <element name="office:text">
>         <ref name="office-text-attlist"/>
>         <ref name="office-text-content-prelude"/>
>         <zeroOrMore>
>             <ref name="office-text-content-main"/>
>         </zeroOrMore>
>         <ref name="office-text-content-epilogue"/>
>     </element>
> </define>
> <define name="office-text-content-prelude">
>     <ref name="office-forms"/>
>     <ref name="text-tracked-changes"/>
>     <ref name="text-decls"/>
>     <ref name="table-decls"/>
> </define>
> <define name="office-text-content-main">
>     <choice>
>         <zeroOrMore>
>             <ref name="text-content"/>
>         </zeroOrMore>
>         <group>
>             <ref name="text-page-sequence"/>
>             <zeroOrMore>
>                 <choice>
>                     <!-- ref name="draw-a"/ Ed. Note: shape incl. 
> draw-a now --> 
>                     <ref name="shape"/>
>                 </choice>
>             </zeroOrMore>
>         </group>
>     </choice>
> </define>
> 
> <define name="text-content">
>     <choice>
>         <ref name="text-h"/>
>         <ref name="text-p"/>
>         <ref name="text-list"/>
>         <ref name="text-numbered-paragraph"/>
>         <ref name="table-table"/>
>         <!-- ref name="draw-a"/ Ed. Note: shape incl. draw-a now -->
>         <ref name="text-section"/>
>         <ref name="text-soft-page-break"/>
>         <ref name="text-table-of-content"/>
>         <ref name="text-illustration-index"/>
>         <ref name="text-table-index"/>
>         <ref name="text-object-index"/>
>         <ref name="text-user-index"/>
>         <ref name="text-alphabetical-index"/>
>         <ref name="text-bibliography"/>
>         <ref name="shape"/>
>         <ref name="change-marks"/>
>     </choice>
> </define>
> <define name="office-text-content-epilogue">
>     <ref name="table-functions"/>
> </define>
> <define name="office-text-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:global">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="office-text-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:use-soft-page-breaks">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="office-body-content" combine="choice">
>     <element name="office:drawing">
>         <ref name="office-drawing-attlist"/>
>         <ref name="office-drawing-content-prelude"/>
>         <ref name="office-drawing-content-main"/>
>         <ref name="office-drawing-content-epilogue"/>
>     </element>
> </define>
> 
> <define name="office-drawing-attlist">
>     <empty/>
> </define>
> <define name="office-drawing-content-prelude">
>     <ref name="text-decls"/>
>     <ref name="table-decls"/>
> </define>
> <define name="office-drawing-content-main">
>     <zeroOrMore>
>         <ref name="draw-page"/>
>     </zeroOrMore>
> </define>
> <define name="office-drawing-content-epilogue">
>     <ref name="table-functions"/>
> </define>
> <define name="office-body-content" combine="choice">
>     <element name="office:presentation">
>         <ref name="office-presentation-attlist"/>
>         <ref name="office-presentation-content-prelude"/>
>         <ref name="office-presentation-content-main"/>
>         <ref name="office-presentation-content-epilogue"/>
>     </element>
> </define>
> 
> <define name="office-presentation-attlist">
>     <empty/>
> </define>
> <define name="office-presentation-content-prelude">
>     <ref name="text-decls"/>
>     <ref name="table-decls"/>
>     <ref name="presentation-decls"/>
> </define>
> <define name="office-presentation-content-main">
>     <zeroOrMore>
>         <ref name="draw-page"/>
>     </zeroOrMore>
> </define>
> <define name="office-presentation-content-epilogue">
>     <ref name="presentation-settings"/>
>     <ref name="table-functions"/>
> </define>
> <define name="office-body-content" combine="choice">
>     <element name="office:spreadsheet">
>         <ref name="office-spreadsheet-attlist"/>
>         <ref name="office-spreadsheet-content-prelude"/>
>         <ref name="office-spreadsheet-content-main"/>
>         <ref name="office-spreadsheet-content-epilogue"/>
>     </element>
> </define>
> <define name="office-spreadsheet-content-prelude">
>     <optional>
>         <ref name="table-tracked-changes"/> 
>     </optional>
>     <ref name="text-decls"/>
>     <ref name="table-decls"/>
> </define>
> 
> <define name="table-decls">
>     <optional>
>         <ref name="table-calculation-settings"/> 
>     </optional>
>     <optional>
>         <ref name="table-content-validations"/> 
>     </optional>
>     <optional>
>         <ref name="table-label-ranges"/> 
>     </optional>
> </define>
> <define name="office-spreadsheet-content-main">
>     <zeroOrMore>
>         <ref name="table-table"/>
>     </zeroOrMore>
> </define>
> <define name="office-spreadsheet-content-epilogue">
>     <ref name="table-functions"/> 
> </define>
> 
> <define name="table-functions">
>     <optional>
>         <ref name="table-named-expressions"/> 
>     </optional>
>     <optional>
>         <ref name="table-database-ranges"/> 
>     </optional>
>     <optional>
>         <ref name="table-data-pilot-tables"/> 
>     </optional>
>     <optional>
>         <ref name="table-consolidation"/> 
>     </optional>
>     <optional>
>         <ref name="table-dde-links"/> 
>     </optional>
> </define>
> <define name="office-body-content" combine="choice">
>     <element name="office:chart">
>         <ref name="office-chart-attlist"/>
>         <ref name="office-chart-content-prelude"/>
>         <ref name="office-chart-content-main"/>
>         <ref name="office-chart-content-epilogue"/>
>     </element>
> </define>
> 
> <define name="office-chart-attlist">
>     <empty/>
> </define>
> <define name="office-chart-content-prelude">
>     <ref name="text-decls"/>
>     <ref name="table-decls"/>
> </define>
> <define name="office-chart-content-main">
>     <ref name="chart-chart"/>
> </define>
> <define name="office-chart-content-epilogue">
>     <ref name="table-functions"/> 
> </define>
> <define name="office-body-content" combine="choice">
>     <element name="office:image">
>         <ref name="office-image-attlist"/>
>         <ref name="office-image-content-prelude"/>
>         <ref name="office-image-content-main"/>
>         <ref name="office-image-content-epilogue"/>
>     </element>
> </define>
> 
> <define name="office-image-attlist">
>     <empty/>
> </define>
> <define name="office-image-content-prelude">
>     <empty/>
> </define>
> <define name="office-image-content-main">
>     <ref name="draw-frame"/>
> </define>
> <define name="office-image-content-epilogue">
>     <empty/>
> </define>
> <define name="office-body-content" combine="choice">
>     <ref name="office-database"/>
> </define>
> <define name="office-settings">
>     <optional>
>         <element name="office:settings">
>             <oneOrMore>
>                 <ref name="config-config-item-set"/>
>             </oneOrMore>
>         </element>
>     </optional>
> </define>
> <define name="config-config-item-set">
>     <element name="config:config-item-set">
>         <ref name="config-config-item-set-attlist"/>
>         <ref name="config-items"/>
>     </element>
> </define>
> 
> <define name="config-items">
>     <oneOrMore>
>         <choice>
>             <ref name="config-config-item"/>
>             <ref name="config-config-item-set"/>
>             <ref name="config-config-item-map-named"/>
>             <ref name="config-config-item-map-indexed"/>
>         </choice>
>     </oneOrMore>
> </define>
> <define name="config-config-item-set-attlist" combine="interleave">
>     <attribute name="config:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="config-config-item">
>     <element name="config:config-item">
>         <ref name="config-config-item-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="config-config-item-attlist" combine="interleave">
>     <attribute name="config:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="config-config-item-attlist" combine="interleave">
>     <attribute name="config:type">
>         <choice>
>             <value>boolean</value>
>             <value>short</value>
>             <value>int</value>
>             <value>long</value>
>             <value>double</value>
>             <value>string</value>
>             <value>datetime</value>
>             <value>base64Binary</value>
>         </choice>
>     </attribute>
> </define>
> <define name="config-config-item-map-indexed">
>     <element name="config:config-item-map-indexed">
>         <ref name="config-config-item-map-indexed-attlist"/>
>         <oneOrMore>
>             <ref name="config-config-item-map-entry"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="config-config-item-map-indexed-attlist" 
combine="interleave">
>     <attribute name="config:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="config-config-item-map-entry">
>     <element name="config:config-item-map-entry">
>         <ref name="config-config-item-map-entry-attlist"/>
>         <ref name="config-items"/>
>     </element>
> </define>
> <define name="config-config-item-map-entry-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="config:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="config-config-item-map-named">
>     <element name="config:config-item-map-named">
>         <ref name="config-config-item-map-named-attlist"/>
>         <oneOrMore>
>             <ref name="config-config-item-map-entry"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="config-config-item-map-named-attlist" 
combine="interleave">
>     <attribute name="config:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="office-scripts">
>     <optional>
>         <element name="office:scripts">
>             <zeroOrMore>
>                 <ref name="office-script"/>
>             </zeroOrMore>
>             <optional>
>                 <ref name="office-event-listeners"/>
>             </optional>
>         </element>
>     </optional>
> </define>
> <define name="office-script">
>     <element name="office:script">
>         <ref name="office-script-attlist"/>
>         <mixed>
>             <ref name="anyElements"/>
>         </mixed>
>     </element>
> </define>
> <define name="office-script-attlist">
>     <attribute name="script:language">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="office-font-face-decls">
>     <optional>
>         <element name="office:font-face-decls">
>             <zeroOrMore>
>                 <ref name="style-font-face"/>
>             </zeroOrMore>
>         </element>
>     </optional>
> </define>
> <define name="office-styles">
>     <optional>
>         <element name="office:styles">
>             <interleave>
>                 <ref name="styles"/>
>                 <zeroOrMore>
>                     <ref name="style-default-style"/>
>                 </zeroOrMore>
>                 <optional>
>                     <ref name="style-default-page-layout"/>
>                 </optional>
>                 <optional>
>                     <ref name="text-outline-style"/>
>                 </optional>
>                 <zeroOrMore>
>                     <ref name="text-notes-configuration"/>
>                 </zeroOrMore>
>                 <optional>
>                     <ref name="text-bibliography-configuration"/>
>                 </optional>
>                 <optional>
>                     <ref name="text-linenumbering-configuration"/>
>                 </optional>
>                 <zeroOrMore>
>                     <ref name="draw-gradient"/>
>                 </zeroOrMore>
>                 <zeroOrMore>
>                     <ref name="svg-linearGradient"/>
>                 </zeroOrMore>
>                 <zeroOrMore>
>                     <ref name="svg-radialGradient"/>
>                 </zeroOrMore>
>                 <zeroOrMore>
>                     <ref name="draw-hatch"/>
>                 </zeroOrMore>
>                 <zeroOrMore>
>                     <ref name="draw-fill-image"/>
>                 </zeroOrMore>
>                 <zeroOrMore>
>                     <ref name="draw-marker"/>
>                 </zeroOrMore>
>                 <zeroOrMore>
>                     <ref name="draw-stroke-dash"/>
>                 </zeroOrMore>
>                 <zeroOrMore>
>                     <ref name="draw-opacity"/>
>                 </zeroOrMore>
>                 <zeroOrMore>
>                     <ref name="style-presentation-page-layout"/>
>                 </zeroOrMore>
>             </interleave>
>         </element>
>     </optional>
> </define>
> <define name="office-automatic-styles">
>     <optional>
>         <element name="office:automatic-styles">
>             <interleave>
>                 <ref name="styles"/>
>                 <zeroOrMore>
>                     <ref name="style-page-layout"/>
>                 </zeroOrMore>
>             </interleave>
>         </element>
>     </optional>
> </define>
> <define name="office-master-styles">
>     <optional>
>         <element name="office:master-styles">
>             <interleave>
>                 <zeroOrMore>
>                     <ref name="style-master-page"/>
>                 </zeroOrMore>
>                 <optional>
>                     <ref name="style-handout-master"/>
>                 </optional>
>                 <optional>
>                     <ref name="draw-layer-set"/>
>                 </optional>
>                 <optional>
>                     <ref name="table-table-template"/>
>                 </optional>
>             </interleave>
>         </element>
>     </optional>
> </define>
> 
> <define name="styles">
>     <interleave>
>         <zeroOrMore>
>             <ref name="style-style"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="text-list-style"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="number-number-style"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="number-currency-style"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="number-percentage-style"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="number-date-style"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="number-time-style"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="number-boolean-style"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="number-text-style"/>
>         </zeroOrMore>
>     </interleave>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="meta:generator">
>         <ref name="string"/>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="dc:title">
>         <ref name="string"/>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="dc:description">
>         <ref name="string"/>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="dc:subject">
>         <ref name="string"/>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="meta:keyword">
>         <ref name="string"/>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="meta:initial-creator">
>         <ref name="string"/>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <ref name="dc-creator"/>
> </define>
> <define name="dc-creator">
>     <element name="dc:creator">
>         <ref name="string"/>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="meta:printed-by">
>         <ref name="string"/>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="meta:creation-date">
>         <ref name="dateTime"/>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <ref name="dc-date"/>
> </define>
> <define name="dc-date">
>     <element name="dc:date">
>         <ref name="dateTime"/>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="meta:print-date">
>         <ref name="dateTime"/>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="meta:template">
>         <attribute name="xlink:href">
>             <ref name="anyURI"/>
>         </attribute>
>         <optional>
>             <attribute name="xlink:type">
>                 <value>simple</value>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="xlink:actuate">
>                 <value>onRequest</value>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="xlink:title">
>                 <ref name="string"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:date">
>                 <ref name="dateTime"/>
>             </attribute>
>         </optional>
>     </element>
> </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="anyURI"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:delay">
>                 <ref name="duration"/>
>             </attribute>
>         </optional>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="meta:hyperlink-behaviour">
>         <optional>
>             <attribute name="office:target-frame-name">
>                 <ref name="targetFrameName"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="xlink:show">
>                 <choice>
>                     <value>new</value>
>                     <value>replace</value>
>                 </choice>
>             </attribute>
>         </optional>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="dc:language">
>         <ref name="language"/>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="meta:editing-cycles">
>         <ref name="nonNegativeInteger"/>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="meta:editing-duration">
>         <ref name="duration"/>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="meta:document-statistic">
>         <optional>
>             <attribute name="meta:page-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:table-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:draw-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:image-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:ole-object-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:object-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:paragraph-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:word-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:character-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:frame-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:sentence-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:syllable-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:non-whitespace-character-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:row-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="meta:cell-count">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>     </element>
> </define>
> <define name="office-meta-data" combine="choice">
>     <element name="meta:user-defined">
>         <attribute name="meta:name">
>             <ref name="string"/>
>         </attribute>
>         <choice>
>             <group>
>                 <attribute name="meta:value-type">
>                     <value>float</value>
>                 </attribute>
>                 <ref name="double"/>
>             </group>
>             <group>
>                 <attribute name="meta:value-type">
>                     <value>date</value>
>                 </attribute>
>                 <ref name="dateOrDateTime"/>
>             </group>
>             <group>
>                 <attribute name="meta:value-type">
>                     <value>time</value>
>                 </attribute>
>                 <ref name="duration"/>
>             </group>
>             <group>
>                 <attribute name="meta:value-type">
>                     <value>boolean</value>
>                 </attribute>
>                 <ref name="boolean"/>
>             </group>
>             <group>
>                 <attribute name="meta:value-type">
>                     <value>string</value>
>                 </attribute>
>                 <ref name="string"/>
>             </group>
>             <text/>
>         </choice>
>     </element>
> </define>
> <define name="text-h">
>     <element name="text:h">
>         <ref name="heading-attrs"/>
>         <ref name="paragraph-attrs"/>
>         <optional>
>             <ref name="text-number"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="paragraph-content"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="heading-attrs" combine="interleave">
>     <attribute name="text:outline-level">
>         <ref name="positiveInteger"/>
>     </attribute>
> </define>
> <define name="heading-attrs" combine="interleave">
>     <optional>
>         <attribute name="text:restart-numbering">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="heading-attrs" combine="interleave">
>     <optional>
>         <attribute name="text:start-value">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="heading-attrs" combine="interleave">
>     <optional>
>         <attribute name="text:is-list-header">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-number">
>     <element name="text:number">
>         <ref name="string"/>
>     </element>
> </define>
> <define name="text-p">
>     <element name="text:p">
>         <ref name="paragraph-attrs"/>
>         <zeroOrMore>
>             <ref name="paragraph-content"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="paragraph-attrs">
>     <optional>
>         <attribute name="text:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:class-names">
>             <ref name="styleNameRefs"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:cond-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-attrs" combine="interleave">
>     <optional>
>       <attribute name="text:id">
>          <ref name="NCName"/>
>       </attribute>
>     </optional>
> </define>
> <define name="paragraph-attrs" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="paragraph-attrs" combine="interleave">
>    <optional>
>        <ref name="common-in-content-meta-attlist"/>
>    </optional>
> </define>
> <define name="text-page-sequence">
>     <element name="text:page-sequence">
>         <oneOrMore>
>             <ref name="text-page"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="text-page">
>     <element name="text:page">
>         <ref name="text-page-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="text-page-attlist">
>     <attribute name="text:master-page-name">
>         <ref name="styleNameRef"/>
>     </attribute>
> </define>
> <define name="text-list">
>     <element name="text:list">
>         <ref name="text-list-attr"/>
>         <optional>
>             <ref name="text-list-header"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="text-list-item"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-list-attr" combine="interleave">
>     <optional>
>         <attribute name="text:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-list-attr" combine="interleave">
>     <optional>
>         <attribute name="text:continue-numbering">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-list-attr" combine="interleave">
>     <optional>
>         <attribute name="text:continue-list">
>             <ref name="IDREF"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-list-attr" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="text-list-item">
>     <element name="text:list-item">
>         <ref name="text-list-item-attr"/>
>         <ref name="text-list-item-content"/>
>     </element>
> </define>
> <define name="text-list-item-content">
>     <optional>
>         <ref name="text-number"/>
>     </optional>
>     <zeroOrMore>
>         <choice>
>             <ref name="text-p"/>
>             <ref name="text-h"/>
>             <ref name="text-list"/>
>             <ref name="text-soft-page-break"/>
>         </choice>
>     </zeroOrMore>
> </define>
> <define name="text-list-item-attr" combine="interleave">
>     <optional>
>         <attribute name="text:start-value">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-list-item-attr" combine="interleave">
>     <optional>
>         <attribute name="text:style-override">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-list-item-attr" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="text-list-header">
>     <element name="text:list-header">
>         <ref name="text-list-header-attr"/>
>         <ref name="text-list-item-content"/>
>     </element>
> </define>
> <define name="text-list-header-attr" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="text-numbered-paragraph">
>     <element name="text:numbered-paragraph">
>         <ref name="text-numbered-paragraph-attr"/>
>         <optional>
>             <ref name="text-number"/>
>         </optional>
>         <choice>
>             <ref name="text-p"/>
>             <ref name="text-h"/>
>         </choice>
>     </element>
> </define>
> <define name="text-numbered-paragraph-attr" combine="interleave"> 
>     <attribute name="text:list-id"> 
>         <ref name="NCName"/> 
>     </attribute> 
> </define>
> <define name="text-numbered-paragraph-attr" combine="interleave">
>     <optional>
>         <attribute name="text:level">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-numbered-paragraph-attr" combine="interleave">
>     <optional>
>         <attribute name="text:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>         <attribute name="text:continue-numbering">
>             <ref name="boolean"/>
>         </attribute>
>         <attribute name="text:start-value">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-numbered-paragraph-attr" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="text-section">
>     <element name="text:section">
>         <ref name="text-section-attlist"/>
>         <choice>
>             <ref name="text-section-source"/>
>             <ref name="text-section-source-dde"/>
>             <empty/>
>         </choice>
>         <zeroOrMore>
>             <ref name="text-content"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-section-attlist" combine="interleave">
>     <ref name="common-section-attlist"/>
> </define>
> <define name="common-section-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-section-attlist" combine="interleave">
>     <attribute name="text:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="common-section-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:protected">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-section-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:protection-key">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:protection-key-digest-algorithm"
>                   >
>             <ref name="anyURI"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-section-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="text-section-attlist" combine="interleave">
>     <choice>
>         <attribute name="text:display">
>             <choice>
>                 <value>true</value>
>                 <value>none</value>
>             </choice>
>         </attribute>
>         <group>
>             <attribute name="text:display">
>                 <value>condition</value>
>             </attribute>
>             <attribute name="text:condition">
>                 <ref name="string"/>
>             </attribute>
>         </group>
>         <empty/>
>     </choice>
> </define>
> <define name="text-section-source">
>     <element name="text:section-source">
>         <ref name="text-section-source-attr"/>
>     </element>
> </define>
> <define name="text-section-source-attr" combine="interleave">
>     <optional>
>         <attribute name="xlink:href">
>             <ref name="anyURI"/>
>         </attribute>
>         <optional>
>             <attribute name="xlink:type">
>                 <value>simple</value>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="xlink:show">
>                 <value>embed</value>
>             </attribute>
>         </optional>
>     </optional>
> </define>
> <define name="text-section-source-attr" combine="interleave">
>     <optional>
>         <attribute name="text:section-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-section-source-attr" combine="interleave">
>     <optional>
>         <attribute name="text:filter-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-section-source-dde">
>     <ref name="office-dde-source"/>
> </define>
> <define name="text-tracked-changes">
>     <optional>
>         <element name="text:tracked-changes">
>             <ref name="text-tracked-changes-attr"/>
>             <zeroOrMore>
>                 <ref name="text-changed-region"/>
>             </zeroOrMore>
>         </element>
>     </optional>
> </define>
> <define name="text-tracked-changes-attr" combine="interleave">
>     <optional>
>         <attribute name="text:track-changes">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-changed-region">
>     <element name="text:changed-region">
>         <ref name="text-changed-region-attr"/>
>         <ref name="text-changed-region-content"/>
>     </element>
> </define>
> <define name="text-changed-region-attr" combine="interleave">
>    <choice>
>        <ref name="text-changed-region-text-id"/>
>       <group>
>          <ref name="xml-id"/>
>          <optional>
>             <ref name="text-changed-region-text-id"/>
>          </optional>
>       </group>
>    </choice>
> </define>
> <define name="text-changed-region-text-id">
>    <attribute name="text:id">
>       <ref name="NCName"/>
>    </attribute>
> </define>
> <define name="text-changed-region-content" combine="choice">
>     <element name="text:insertion">
>         <ref name="office-change-info"/>
>     </element>
> </define>
> <define name="text-changed-region-content" combine="choice">
>     <element name="text:deletion">
>         <ref name="office-change-info"/>
>         <zeroOrMore>
>             <ref name="text-content"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-changed-region-content" combine="choice">
>     <element name="text:format-change">
>         <ref name="office-change-info"/>
>     </element>
> </define>
> <define name="change-marks">
>     <choice>
>         <element name="text:change">
>             <ref name="change-mark-attr"/>
>         </element>
>         <element name="text:change-start">
>             <ref name="change-mark-attr"/>
>         </element>
>         <element name="text:change-end">
>             <ref name="change-mark-attr"/>
>         </element>
>     </choice>
> </define>
> <define name="change-mark-attr">
>     <attribute name="text:change-id">
>         <ref name="IDREF"/>
>     </attribute>
> </define>
> <define name="text-soft-page-break">
>     <element name="text:soft-page-break">
>         <empty/>
>     </element>
> </define>
> <define name="text-decls">
>     <optional>
>         <element name="text:variable-decls">
>             <zeroOrMore>
>                 <ref name="text-variable-decl"/>
>             </zeroOrMore>
>         </element>
>     </optional>
>     <optional>
>         <element name="text:sequence-decls">
>             <zeroOrMore>
>                 <ref name="text-sequence-decl"/>
>             </zeroOrMore>
>         </element>
>     </optional>
>     <optional>
>         <element name="text:user-field-decls">
>             <zeroOrMore>
>                 <ref name="text-user-field-decl"/>
>             </zeroOrMore>
>         </element>
>     </optional>
>     <optional>
>         <element name="text:dde-connection-decls">
>             <zeroOrMore>
>                 <ref name="text-dde-connection-decl"/>
>             </zeroOrMore>
>         </element>
>     </optional>
>     <optional>
>         <ref name="text-alphabetical-index-auto-mark-file"/>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <text/>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:s">
>         <optional>
>             <attribute name="text:c">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:tab">
>         <ref name="text-tab-attr"/>
>     </element>
> </define>
> <define name="text-tab-attr">
>     <optional>
>         <attribute name="text:tab-ref">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:line-break">
>         <empty/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <ref name="text-soft-page-break"/>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:span">
>         <optional>
>             <attribute name="text:style-name">
>                 <ref name="styleNameRef"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="text:class-names">
>                 <ref name="styleNameRefs"/>
>             </attribute>
>         </optional>
>         <zeroOrMore>
>             <ref name="paragraph-content"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:a">
>         <ref name="text-a-attlist"/>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="paragraph-content"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-a-attlist" combine="interleave">
>     <optional>
>         <attribute name="office:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-a-attlist" combine="interleave">
>     <optional>
>         <attribute name="office:title">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-a-attlist" combine="interleave">
>     <attribute name="xlink:href">
>         <ref name="anyURI"/>
>     </attribute>
>     <optional>
>         <attribute name="xlink:type">
>             <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">
>             <ref name="targetFrameName"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:show">
>             <choice>
>                 <value>new</value>
>                 <value>replace</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="text-a-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:visited-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>    <element name="text:meta">
>        <ref name="text-meta-attlist"/>
>        <zeroOrMore>
>            <ref name="paragraph-content"/>
>        </zeroOrMore>
>    </element>
> </define>
> <define name="text-meta-attlist" combine="interleave">
>    <optional>
>        <ref name="common-in-content-meta-attlist"/>
>    </optional>
> </define>
> <define name="text-meta-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <choice>
>       <ref name="text-bookmark"/>
>       <ref name="text-bookmark-start"/>
>       <ref name="text-bookmark-end"/>
>     </choice>
> </define>
> <!-- DRAFT7: ODF-Metadata-Proposal http://lists.oasis-open.org/
> archives/office/200708/msg00103.html -->
> <!-- Note: Added missing element definitions -->
> <!-- Note: Added an <empty/> as element content -->
> <define name="text-bookmark">
>    <element name="text:bookmark">
>        <ref name="text-bookmark-attlist"/>
>       <empty/>
>    </element>
> </define>
> <define name="text-bookmark-start">
>    <element name="text:bookmark-start">
>        <ref name="text-bookmark-start-attlist"/>
>       <empty/>
>    </element>
> </define>
> <define name="text-bookmark-end">
>    <element name="text:bookmark-end">
>        <ref name="text-bookmark-end-attlist"/>
>       <empty/>
>    </element>
> </define>
> <define name="text-bookmark-attlist" combine="interleave">
>    <attribute name="text:name">
>        <ref name="string"/>
>    </attribute>
> </define>
> <define name="text-bookmark-start-attlist" combine="interleave">
>    <attribute name="text:name">
>        <ref name="string"/>
>    </attribute>
> </define>
> <define name="text-bookmark-end-attlist" combine="interleave">
>    <attribute name="text:name">
>        <ref name="string"/>
>    </attribute>
> </define>
> <define name="text-bookmark-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="text-bookmark-start-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="text-bookmark-start-attlist" combine="interleave">
>    <optional>
>        <ref name="common-in-content-meta-attlist"/>
>    </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:reference-mark">
>         <attribute name="text:name">
>             <ref name="string"/>
>         </attribute>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <choice>
>         <element name="text:reference-mark-start">
>             <attribute name="text:name">
>                 <ref name="string"/>
>             </attribute>
>         </element>
>         <element name="text:reference-mark-end">
>             <attribute name="text:name">
>                 <ref name="string"/>
>             </attribute>
>         </element>
>     </choice>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:note">
>         <ref name="text-note-class"/>
>         <optional>
>             <attribute name="text:id">
>                 <ref name="string"/>
>             </attribute>
>         </optional>
>         <element name="text:note-citation">
>             <optional>
>                 <attribute name="text:label">
>                     <ref name="string"/>
>                 </attribute>
>             </optional>
>             <text/>
>         </element>
>         <element name="text:note-body">
>             <zeroOrMore>
>                 <ref name="text-content"/>
>             </zeroOrMore>
>         </element>
>     </element>
> </define>
> <define name="text-note-class">
>     <attribute name="text:note-class">
>         <choice>
>             <value>footnote</value>
>             <value>endnote</value>
>         </choice>
>     </attribute>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:ruby">
>         <optional>
>             <attribute name="text:style-name">
>                 <ref name="styleNameRef"/>
>             </attribute>
>         </optional>
>         <element name="text:ruby-base">
>             <ref name="paragraph-content"/>
>         </element>
>         <element name="text:ruby-text">
>             <optional>
>                 <attribute name="text:style-name">
>                     <ref name="styleNameRef"/>
>                 </attribute>
>             </optional>
>             <text/>
>         </element>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <choice>
>         <ref name="office-annotation"/>
>         <ref name="office-annotation-end"/>
>     </choice>
> </define>
> <define name="paragraph-content" combine="choice">
>     <ref name="change-marks"/>
> </define>
> <define name="paragraph-content" combine="choice">
>     <!-- choice -->
>         <ref name="shape"/>
>         <!-- ref name="draw-a"/ Ed. Note: shape incl. draw-a now -->
>     <!-- /choice -->
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:date">
>         <ref name="text-date-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="text-date-attlist" combine="interleave">
>     <interleave>
>         <ref name="common-field-fixed-attlist"/>
>         <ref name="common-field-data-style-name-attlist"/>
>     </interleave>
> </define>
> <define name="text-date-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:date-value">
>             <ref name="dateOrDateTime"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-date-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:date-adjust">
>             <ref name="duration"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:time">
>         <ref name="text-time-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="text-time-attlist" combine="interleave">
>     <interleave>
>         <ref name="common-field-fixed-attlist"/>
>         <ref name="common-field-data-style-name-attlist"/>
>     </interleave>
> </define>
> <define name="text-time-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:time-value">
>             <ref name="timeOrDateTime"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-time-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:time-adjust">
>             <ref name="duration"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:page-number">
>         <ref name="text-page-number-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="text-page-number-attlist" combine="interleave">
>     <interleave>
>         <ref name="common-field-num-format-attlist"/>
>         <ref name="common-field-fixed-attlist"/>
>     </interleave>
> </define>
> <define name="text-page-number-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:page-adjust">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-page-number-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:select-page">
>             <choice>
>                 <value>previous</value>
>                 <value>current</value>
>                 <value>next</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:page-continuation">
>         <ref name="text-page-continuation-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="text-page-continuation-attlist" combine="interleave">
>     <attribute name="text:select-page">
>         <choice>
>             <value>previous</value>
>             <value>next</value>
>         </choice>
>     </attribute>
> </define>
> <define name="text-page-continuation-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:string-value">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-firstname">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-lastname">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-initials">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-title">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-position">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-email">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-phone-private">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-fax">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-company">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-phone-work">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-street">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-city">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-postal-code">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-country">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sender-state-or-province">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:author-name">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:author-initials">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:chapter">
>         <ref name="text-chapter-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="text-chapter-attlist" combine="interleave">
>     <attribute name="text:display">
>         <choice>
>             <value>name</value>
>             <value>number</value>
>             <value>number-and-name</value>
>             <value>plain-number-and-name</value>
>             <value>plain-number</value>
>         </choice>
>     </attribute>
> </define>
> <define name="text-chapter-attlist" combine="interleave">
>     <attribute name="text:outline-level">
>         <ref name="nonNegativeInteger"/>
>     </attribute>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:file-name">
>         <ref name="text-file-name-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="text-file-name-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:display">
>             <choice>
>                 <value>full</value>
>                 <value>path</value>
>                 <value>name</value>
>                 <value>name-and-extension</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="text-file-name-attlist" combine="interleave">
>     <ref name="common-field-fixed-attlist"/>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:template-name">
>         <ref name="text-template-name-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="text-template-name-attlist">
>     <optional>
>         <attribute name="text:display">
>             <choice>
>                 <value>full</value>
>                 <value>path</value>
>                 <value>name</value>
>                 <value>name-and-extension</value>
>                 <value>area</value>
>                 <value>title</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sheet-name">
>         <text/>
>     </element>
> </define>
> <define name="text-variable-decl">
>     <element name="text:variable-decl">
>         <ref name="common-field-name-attlist"/>
>         <ref name="common-value-type-attlist"/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:variable-set">
>         <interleave>
>             <ref name="common-field-name-attlist"/>
>             <ref name="common-field-formula-attlist"/>
>             <ref name="common-value-and-type-attlist"/>
>             <ref name="common-field-display-value-none-attlist"/>
>             <ref name="common-field-data-style-name-attlist"/>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:variable-get">
>         <interleave>
>             <ref name="common-field-name-attlist"/>
>             <ref name="common-field-display-value-formula-attlist"/>
>             <ref name="common-field-data-style-name-attlist"/>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:variable-input">
>         <interleave>
>             <ref name="common-field-name-attlist"/>
>             <ref name="common-field-description-attlist"/>
>             <ref name="common-value-type-attlist"/>
>             <ref name="common-field-display-value-none-attlist"/>
>             <ref name="common-field-data-style-name-attlist"/>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="text-user-field-decl">
>     <element name="text:user-field-decl">
>         <ref name="common-field-name-attlist"/>
>         <optional>
>             <ref name="common-field-formula-attlist"/>
>         </optional>
>         <ref name="common-value-and-type-attlist"/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:user-field-get">
>         <interleave>
>             <ref name="common-field-name-attlist"/>
>             <ref 
name="common-field-display-value-formula-none-attlist"/>
>             <ref name="common-field-data-style-name-attlist"/>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:user-field-input">
>         <interleave>
>             <ref name="common-field-name-attlist"/>
>             <ref name="common-field-description-attlist"/>
>             <ref name="common-field-data-style-name-attlist"/>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="text-sequence-decl">
>     <element name="text:sequence-decl">
>         <ref name="text-sequence-decl-attlist"/>
>     </element>
> </define>
> <define name="text-sequence-decl-attlist" combine="interleave">
>     <ref name="common-field-name-attlist"/>
> </define>
> <define name="text-sequence-decl-attlist" combine="interleave">
>     <attribute name="text:display-outline-level">
>         <ref name="nonNegativeInteger"/>
>     </attribute>
> </define>
> <define name="text-sequence-decl-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:separation-character">
>             <ref name="character"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sequence">
>         <interleave>
>             <ref name="common-field-name-attlist"/>
>             <ref name="common-field-formula-attlist"/>
>             <ref name="common-field-num-format-attlist"/>
>             <ref name="text-sequence-ref-name"/>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="text-sequence-ref-name">
>     <optional>
>         <attribute name="text:ref-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:expression">
>         <interleave>
>             <ref name="common-field-formula-attlist"/>
>             <optional>
>                 <ref name="common-value-and-type-attlist"/>
>             </optional>
>             <ref name="common-field-display-value-formula-attlist"/>
>             <ref name="common-field-data-style-name-attlist"/>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:text-input">
>         <ref name="common-field-description-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:initial-creator">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:creation-date">
>         <interleave>
>             <ref name="common-field-fixed-attlist"/>
>             <ref name="common-field-data-style-name-attlist"/>
>             <optional>
>                 <attribute name="text:date-value">
>                     <ref name="dateOrDateTime"/>
>                 </attribute>
>             </optional>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:creation-time">
>         <interleave>
>             <ref name="common-field-fixed-attlist"/>
>             <ref name="common-field-data-style-name-attlist"/>
>             <optional>
>                 <attribute name="text:time-value">
>                     <ref name="timeOrDateTime"/>
>                 </attribute>
>             </optional>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:description">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:user-defined">
>         <interleave>
>             <ref name="common-field-fixed-attlist"/>
>             <attribute name="text:name">
>                 <ref name="string"/>
>             </attribute>
>             <ref name="common-field-data-style-name-attlist"/>
>             <optional>
>                 <attribute name="office:value">
>                     <ref name="double"/>
>                 </attribute>
>             </optional>
>             <optional>
>                 <attribute name="office:date-value">
>                     <ref name="dateOrDateTime"/>
>                 </attribute>
>             </optional>
>             <optional>
>                 <attribute name="office:time-value">
>                     <ref name="duration"/>
>                 </attribute>
>             </optional>
>             <optional>
>                 <attribute name="office:boolean-value">
>                     <ref name="boolean"/>
>                 </attribute>
>             </optional>
>             <optional>
>                 <attribute name="office:string-value">
>                     <ref name="string"/>
>                 </attribute>
>             </optional>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:print-time">
>         <interleave>
>             <ref name="common-field-fixed-attlist"/>
>             <ref name="common-field-data-style-name-attlist"/>
>             <optional>
>                 <attribute name="text:time-value">
>                     <ref name="time"/>
>                 </attribute>
>             </optional>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:print-date">
>         <interleave>
>             <ref name="common-field-fixed-attlist"/>
>             <ref name="common-field-data-style-name-attlist"/>
>             <optional>
>                 <attribute name="text:date-value">
>                     <ref name="date"/>
>                 </attribute>
>             </optional>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:printed-by">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:title">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:subject">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:keywords">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:editing-cycles">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:editing-duration">
>         <interleave>
>             <ref name="common-field-fixed-attlist"/>
>             <ref name="common-field-data-style-name-attlist"/>
>             <optional>
>                 <attribute name="text:duration">
>                     <ref name="duration"/>
>                 </attribute>
>             </optional>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:modification-time">
>         <interleave>
>             <ref name="common-field-fixed-attlist"/>
>             <ref name="common-field-data-style-name-attlist"/>
>             <optional>
>                 <attribute name="text:time-value">
>                     <ref name="time"/>
>                 </attribute>
>             </optional>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:modification-date">
>         <interleave>
>             <ref name="common-field-fixed-attlist"/>
>             <ref name="common-field-data-style-name-attlist"/>
>             <optional>
>                 <attribute name="text:date-value">
>                     <ref name="date"/>
>                 </attribute>
>             </optional>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:creator">
>         <ref name="common-field-fixed-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element>
>         <choice>
>             <name>text:page-count</name>
>             <name>text:paragraph-count</name>
>             <name>text:word-count</name>
>             <name>text:character-count</name>
>             <name>text:table-count</name>
>             <name>text:image-count</name>
>             <name>text:object-count</name>
>         </choice>
>         <ref name="common-field-num-format-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="common-field-database-table">
>     <ref name="common-field-database-table-attlist"/>
>     <ref name="common-field-database-name"/>
> </define>
> <define name="common-field-database-name" combine="choice">
>     <optional>
>         <attribute name="text:database-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-field-database-name" combine="choice">
>     <ref name="form-connection-resource"/>
> </define>
> <define name="common-field-database-table-attlist" combine="interleave">
>     <attribute name="text:table-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="common-field-database-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:table-type">
>             <choice>
>                 <value>table</value>
>                 <value>query</value>
>                 <value>command</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:database-display">
>         <ref name="text-database-display-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="text-database-display-attlist" combine="interleave">
>     <ref name="common-field-database-table"/>
> </define>
> <define name="text-database-display-attlist" combine="interleave">
>     <ref name="common-field-data-style-name-attlist"/>
> </define>
> <define name="text-database-display-attlist" combine="interleave">
>     <attribute name="text:column-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:database-next">
>         <ref name="text-database-next-attlist"/>
>     </element>
> </define>
> <define name="text-database-next-attlist" combine="interleave">
>     <ref name="common-field-database-table"/>
> </define>
> <define name="text-database-next-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:condition">
>             <ref name="formula"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:database-row-select">
>         <ref name="text-database-row-select-attlist"/>
>     </element>
> </define>
> <define name="text-database-row-select-attlist" combine="interleave">
>     <ref name="common-field-database-table"/>
> </define>
> <define name="text-database-row-select-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:condition">
>             <ref name="formula"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-database-row-select-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:row-number">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:database-row-number">
>         <interleave>
>             <ref name="common-field-database-table"/>
>             <ref name="common-field-num-format-attlist"/>
>             <optional>
>                 <attribute name="text:value">
>                     <ref name="nonNegativeInteger"/>
>                 </attribute>
>             </optional>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:database-name">
>         <ref name="common-field-database-table"/>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:page-variable-set">
>         <ref name="text-set-page-variable-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="text-set-page-variable-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:active">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-set-page-variable-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:page-adjust">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:page-variable-get">
>         <ref name="text-get-page-variable-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="text-get-page-variable-attlist" combine="interleave">
>     <ref name="common-field-num-format-attlist"/>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:placeholder">
>         <ref name="text-placeholder-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="text-placeholder-attlist" combine="interleave">
>     <attribute name="text:placeholder-type">
>         <choice>
>             <value>text</value>
>             <value>table</value>
>             <value>text-box</value>
>             <value>image</value>
>             <value>object</value>
>         </choice>
>     </attribute>
> </define>
> <define name="text-placeholder-attlist" combine="interleave">
>     <ref name="common-field-description-attlist"/>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:conditional-text">
>         <ref name="text-conditional-text-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="text-conditional-text-attlist" combine="interleave">
>     <attribute name="text:condition">
>         <ref name="formula"/>
>     </attribute>
> </define>
> <define name="text-conditional-text-attlist" combine="interleave">
>     <attribute name="text:string-value-if-true">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="text-conditional-text-attlist" combine="interleave">
>     <attribute name="text:string-value-if-false">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="text-conditional-text-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:current-value">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:hidden-text">
>         <ref name="text-hidden-text-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="text-hidden-text-attlist" combine="interleave">
>     <attribute name="text:condition">
>         <ref name="formula"/>
>     </attribute>
> </define>
> <define name="text-hidden-text-attlist" combine="interleave">
>     <attribute name="text:string-value">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="text-hidden-text-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:is-hidden">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element>
>         <choice>
>             <name>text:reference-ref</name>
>             <name>text:bookmark-ref</name>
>         </choice>
>         <interleave>
>             <ref name="text-common-ref-content"/>
>             <ref name="text-bookmark-ref-content"/>
>         </interleave>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:note-ref">
>         <interleave>
>             <ref name="text-common-ref-content"/>
>             <ref name="text-note-ref-content"/>
>         </interleave>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:sequence-ref">
>         <interleave>
>             <ref name="text-common-ref-content"/>
>             <ref name="text-sequence-ref-content"/>
>         </interleave>
>     </element>
> </define>
> <define name="text-common-ref-content" combine="interleave">
>     <text/>
> </define>
> <define name="text-common-ref-content" combine="interleave">
>     <optional>
>         <attribute name="text:ref-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-bookmark-ref-content" combine="interleave">
>     <optional>
>         <attribute name="text:reference-format">
>             <choice>
>                 <ref name="common-ref-format-values"/>
>                 <value>number-no-superior</value>
>                 <value>number-all-superior</value>
>                 <value>number</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="text-note-ref-content" combine="interleave">
>     <optional>
>         <attribute name="text:reference-format">
>             <choice>
>                 <ref name="common-ref-format-values"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="text-sequence-ref-content" combine="interleave">
>     <optional>
>         <attribute name="text:reference-format">
>             <choice>
>                 <ref name="common-ref-format-values"/>
>                 <value>category-and-value</value>
>                 <value>caption</value>
>                 <value>value</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-ref-format-values">
>     <choice>
>         <value>page</value>
>         <value>chapter</value>
>         <value>direction</value>
>         <value>text</value>
>     </choice>
> </define>
> <define name="text-note-ref-content" combine="interleave">
>     <ref name="text-note-class"/>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:script">
>         <interleave>
>             <choice>
>                 <group>
>                     <attribute name="xlink:href">
>                         <ref name="anyURI"/>
>                     </attribute>
>                     <optional>
>                         <attribute name="xlink:type">
>                             <value>simple</value>
>                         </attribute>
>                     </optional>
>                 </group> 
>                 <text/>
>             </choice>
>             <optional>
>                 <attribute name="script:language">
>                     <ref name="string"/>
>                 </attribute>
>             </optional>
>         </interleave>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:execute-macro">
>         <optional>
>             <attribute name="text:name">
>                 <ref name="string"/>
>             </attribute>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:hidden-paragraph">
>         <ref name="text-hidden-paragraph-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="text-hidden-paragraph-attlist" combine="interleave">
>     <attribute name="text:condition">
>         <ref name="formula"/>
>     </attribute>
> </define>
> <define name="text-hidden-paragraph-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:is-hidden">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:dde-connection">
>         <attribute name="text:connection-name">
>             <ref name="string"/>
>         </attribute>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:measure">
>         <attribute name="text:kind">
>             <choice>
>                 <value>value</value>
>                 <value>unit</value>
>                 <value>gap</value>
>             </choice>
>         </attribute>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:table-formula">
>         <interleave>
>             <ref name="common-field-formula-attlist"/>
>             <ref name="common-field-display-value-formula-attlist"/>
>             <ref name="common-field-data-style-name-attlist"/>
>         </interleave>
>         <text/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>    <element name="text:meta-field">
>        <ref name="text-meta-field-attlist"/>
>        <zeroOrMore>
>            <ref name="paragraph-content"/>
>        </zeroOrMore>
>    </element>
> </define>
> <define name="text-meta-field-attlist" combine="interleave"> 
>    <ref name="xml-id"/>
> </define>
> <define name="text-meta-field-attlist" combine="interleave">
>    <ref name="common-field-data-style-name-attlist"/>
> </define>
> <define name="common-value-type-attlist">
>     <attribute name="office:value-type">
>         <ref name="valueType"/>
>     </attribute>
> </define>
> <define name="common-value-and-type-attlist">
>     <choice>
>         <group>
>             <attribute name="office:value-type">
>                 <value>float</value>
>             </attribute>
>             <attribute name="office:value">
>                 <ref name="double"/>
>             </attribute>
>         </group>
>         <group>
>             <attribute name="office:value-type">
>                 <value>percentage</value>
>             </attribute>
>             <attribute name="office:value">
>                 <ref name="double"/>
>             </attribute>
>         </group>
>         <group>
>             <attribute name="office:value-type">
>                 <value>currency</value>
>             </attribute>
>             <attribute name="office:value">
>                 <ref name="double"/>
>             </attribute>
>             <optional>
>                 <attribute name="office:currency">
>                     <ref name="string"/>
>                 </attribute>
>             </optional>
>         </group>
>         <group>
>             <attribute name="office:value-type">
>                 <value>date</value>
>             </attribute>
>             <attribute name="office:date-value">
>                 <ref name="dateOrDateTime"/>
>             </attribute>
>         </group>
>         <group>
>             <attribute name="office:value-type">
>                 <value>time</value>
>             </attribute>
>             <attribute name="office:time-value">
>                 <ref name="duration"/>
>             </attribute>
>         </group>
>         <group>
>             <attribute name="office:value-type">
>                 <value>boolean</value>
>             </attribute>
>             <attribute name="office:boolean-value">
>                 <ref name="boolean"/>
>             </attribute>
>         </group>
>         <group>
>             <attribute name="office:value-type">
>                 <value>string</value>
>             </attribute>
>             <optional>
>                 <attribute name="office:string-value">
>                     <ref name="string"/>
>                 </attribute>
>             </optional>
>         </group>
>     </choice>
> </define>
> <define name="common-field-fixed-attlist">
>     <optional>
>         <attribute name="text:fixed">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-field-name-attlist">
>     <attribute name="text:name">
>         <ref name="variableName"/>
>     </attribute>
> </define>
> <define name="common-field-description-attlist">
>     <optional>
>         <attribute name="text:description">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-field-display-value-none-attlist">
>     <optional>
>         <attribute name="text:display">
>             <choice>
>                 <value>value</value>
>                 <value>none</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-field-display-value-formula-none-attlist">
>     <optional>
>         <attribute name="text:display">
>             <choice>
>                 <value>value</value>
>                 <value>formula</value>
>                 <value>none</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-field-display-value-formula-attlist">
>     <optional>
>         <attribute name="text:display">
>             <choice>
>                 <value>value</value>
>                 <value>formula</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-field-formula-attlist">
>     <optional>
>         <attribute name="text:formula">
>             <ref name="formula"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-field-data-style-name-attlist">
>     <optional>
>         <attribute name="style:data-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-field-num-format-attlist">
>     <optional>
>         <ref name="common-num-format-attlist"/>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:toc-mark-start">
>         <ref name="text-toc-mark-start-attrs"/>
>     </element>
> </define>
> <define name="text-toc-mark-start-attrs">
>     <ref name="text-id"/>
>     <ref name="text-outline-level"/>
> </define>
> <define name="text-outline-level">
>     <optional>
>         <attribute name="text:outline-level">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-id">
>     <attribute name="text:id">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:toc-mark-end">
>         <ref name="text-id"/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:toc-mark">
>         <attribute name="text:string-value">
>             <ref name="string"/>
>         </attribute>
>         <ref name="text-outline-level"/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:user-index-mark-start">
>         <ref name="text-id"/>
>         <ref name="text-outline-level"/>
>         <ref name="text-index-name"/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:user-index-mark-end">
>         <ref name="text-id"/>
>         <ref name="text-outline-level"/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:user-index-mark">
>         <attribute name="text:string-value">
>             <ref name="string"/>
>         </attribute>
>         <ref name="text-outline-level"/>
>         <ref name="text-index-name"/>
>     </element>
> </define>
> <define name="text-index-name">
>     <attribute name="text:index-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:alphabetical-index-mark-start">
>         <ref name="text-id"/>
>         <ref name="text-alphabetical-index-mark-attrs"/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:alphabetical-index-mark-end">
>         <ref name="text-id"/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:alphabetical-index-mark">
>         <attribute name="text:string-value">
>             <ref name="string"/>
>         </attribute>
>         <ref name="text-alphabetical-index-mark-attrs"/>
>     </element>
> </define>
> <define name="text-alphabetical-index-mark-attrs" combine="interleave">
>     <optional>
>         <attribute name="text:key1">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:key2">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-alphabetical-index-mark-attrs" combine="interleave">
>     <optional>
>         <attribute name="text:string-value-phonetic">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:key1-phonetic">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:key2-phonetic">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-alphabetical-index-mark-attrs" combine="interleave">
>     <optional>
>         <attribute name="text:main-entry">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="text:bibliography-mark">
>         <attribute name="text:bibliography-type">
>             <ref name="text-bibliography-types"/>
>         </attribute>
>         <zeroOrMore>
>             <attribute>
>                 <choice>
>                     <name>text:identifier</name>
>                     <name>text:address</name>
>                     <name>text:annote</name>
>                     <name>text:author</name>
>                     <name>text:booktitle</name>
>                     <name>text:chapter</name>
>                     <name>text:edition</name>
>                     <name>text:editor</name>
>                     <name>text:howpublished</name>
>                     <name>text:institution</name>
>                     <name>text:journal</name>
>                     <name>text:month</name>
>                     <name>text:note</name>
>                     <name>text:number</name>
>                     <name>text:organizations</name>
>                     <name>text:pages</name>
>                     <name>text:publisher</name>
>                     <name>text:school</name>
>                     <name>text:series</name>
>                     <name>text:title</name>
>                     <name>text:report-type</name>
>                     <name>text:volume</name>
>                     <name>text:year</name>
>                     <name>text:url</name>
>                     <name>text:custom1</name>
>                     <name>text:custom2</name>
>                     <name>text:custom3</name>
>                     <name>text:custom4</name>
>                     <name>text:custom5</name>
>                     <name>text:isbn</name>
>                     <name>text:issn</name>
>                 </choice>
>                 <ref name="string"/>
>             </attribute>
>         </zeroOrMore>
>         <text/>
>     </element>
> </define>
> <define name="text-bibliography-types">
>     <choice>
>         <value>article</value>
>         <value>book</value>
>         <value>booklet</value>
>         <value>conference</value>
>         <value>custom1</value>
>         <value>custom2</value>
>         <value>custom3</value>
>         <value>custom4</value>
>         <value>custom5</value>
>         <value>email</value>
>         <value>inbook</value>
>         <value>incollection</value>
>         <value>inproceedings</value>
>         <value>journal</value>
>         <value>manual</value>
>         <value>mastersthesis</value>
>         <value>misc</value>
>         <value>phdthesis</value>
>         <value>proceedings</value>
>         <value>techreport</value>
>         <value>unpublished</value>
>         <value>www</value>
>     </choice>
> </define>
> <define name="text-index-body">
>     <element name="text:index-body">
>         <zeroOrMore>
>             <ref name="index-content-main"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="index-content-main">
>     <choice>
>         <ref name="text-content"/>
>         <ref name="text-index-title"/>
>     </choice>
> </define>
> <define name="text-index-title">
>     <element name="text:index-title">
>         <ref name="common-section-attlist"/>
>         <zeroOrMore>
>             <ref name="index-content-main"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-table-of-content">
>     <element name="text:table-of-content">
>         <ref name="common-section-attlist"/>
>         <ref name="text-table-of-content-source"/>
>         <ref name="text-index-body"/>
>     </element>
> </define>
> <define name="text-table-of-content-source">
>     <element name="text:table-of-content-source">
>         <ref name="text-table-of-content-source-attlist"/>
>         <optional>
>             <ref name="text-index-title-template"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="text-table-of-content-entry-template"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="text-index-source-styles"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-table-of-content-source-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:outline-level">
>             <choice>
>                 <ref name="positiveInteger"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="text-table-of-content-source-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:use-outline-level">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-table-of-content-source-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:use-index-marks">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-table-of-content-source-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:use-index-source-styles">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-table-of-content-source-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:index-scope">
>             <choice>
>                 <value>document</value>
>                 <value>chapter</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="text-table-of-content-source-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:relative-tab-stop-position">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-table-of-content-entry-template">
>     <element name="text:table-of-content-entry-template">
>         <ref name="text-table-of-content-entry-template-attlist"/>
>         <zeroOrMore>
>             <ref name="text-table-of-content-children"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-table-of-content-children">
>     <choice>
>         <ref name="text-index-entry-chapter"/>
>         <ref name="text-index-entry-page-number"/>
>         <ref name="text-index-entry-text"/>
>         <ref name="text-index-entry-span"/>
>         <ref name="text-index-entry-tab-stop"/>
>         <ref name="text-index-entry-link-start"/>
>         <ref name="text-index-entry-link-end"/>
>     </choice>
> </define>
> <define name="text-table-of-content-entry-template-attlist"
>         combine="interleave">
>     <attribute name="text:outline-level">
>         <ref name="positiveInteger"/>
>     </attribute>
> </define>
> <define name="text-table-of-content-entry-template-attlist"
>         combine="interleave">
>     <attribute name="text:style-name">
>         <ref name="styleNameRef"/>
>     </attribute>
> </define>
> <define name="text-illustration-index">
>     <element name="text:illustration-index">
>         <ref name="common-section-attlist"/>
>         <ref name="text-illustration-index-source"/>
>         <ref name="text-index-body"/>
>     </element>
> </define>
> <define name="text-illustration-index-source">
>     <element name="text:illustration-index-source">
>         <ref name="text-illustration-index-source-attrs"/>
>         <optional>
>             <ref name="text-index-title-template"/>
>         </optional>
>         <optional>
>             <ref name="text-illustration-index-entry-template"/>
>         </optional>
>     </element>
> </define>
> <define name="text-illustration-index-source-attrs" 
combine="interleave">
>     <ref name="text-index-scope-attr"/>
> </define>
> <define name="text-index-scope-attr">
>     <optional>
>         <attribute name="text:index-scope">
>             <choice>
>                 <value>document</value>
>                 <value>chapter</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="text-illustration-index-source-attrs" 
combine="interleave">
>     <ref name="text-relative-tab-stop-position-attr"/>
> </define>
> <define name="text-relative-tab-stop-position-attr">
>     <optional>
>         <attribute name="text:relative-tab-stop-position"
>                   >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-illustration-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="text:use-caption">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-illustration-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="text:caption-sequence-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-illustration-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="text:caption-sequence-format">
>             <choice>
>                 <value>text</value>
>                 <value>category-and-value</value>
>                 <value>caption</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="text-illustration-index-entry-template">
>     <element name="text:illustration-index-entry-template">
>         <ref name="text-illustration-index-entry-content"/>
>     </element>
> </define>
> <define name="text-illustration-index-entry-content">
>     <ref name="text-illustration-index-entry-template-attrs"/>
>     <zeroOrMore>
>         <choice>
>             <ref name="text-index-entry-chapter"/>
>             <ref name="text-index-entry-page-number"/>
>             <ref name="text-index-entry-text"/>
>             <ref name="text-index-entry-span"/>
>             <ref name="text-index-entry-tab-stop"/>
>         </choice>
>     </zeroOrMore>
> </define>
> <define name="text-illustration-index-entry-template-attrs">
>     <attribute name="text:style-name">
>         <ref name="styleNameRef"/>
>     </attribute>
> </define>
> <define name="text-table-index">
>     <element name="text:table-index">
>         <ref name="common-section-attlist"/>
>         <ref name="text-table-index-source"/>
>         <ref name="text-index-body"/>
>     </element>
> </define>
> <define name="text-table-index-source">
>     <element name="text:table-index-source">
>         <ref name="text-illustration-index-source-attrs"/>
>         <optional>
>             <ref name="text-index-title-template"/>
>         </optional>
>         <optional>
>             <ref name="text-table-index-entry-template"/>
>         </optional>
>     </element>
> </define>
> <define name="text-table-index-entry-template">
>     <element name="text:table-index-entry-template">
>         <ref name="text-illustration-index-entry-content"/>
>     </element>
> </define>
> <define name="text-object-index">
>     <element name="text:object-index">
>         <ref name="common-section-attlist"/>
>         <ref name="text-object-index-source"/>
>         <ref name="text-index-body"/>
>     </element>
> </define>
> <define name="text-object-index-source">
>     <element name="text:object-index-source">
>         <ref name="text-object-index-source-attrs"/>
>         <optional>
>             <ref name="text-index-title-template"/>
>         </optional>
>         <optional>
>             <ref name="text-object-index-entry-template"/>
>         </optional>
>     </element>
> </define>
> <define name="text-object-index-source-attrs" combine="interleave">
>     <ref name="text-index-scope-attr"/>
> </define>
> <define name="text-object-index-source-attrs" combine="interleave">
>     <ref name="text-relative-tab-stop-position-attr"/>
> </define>
> <define name="text-object-index-source-attrs" combine="interleave">
>     <optional>
>         <attribute name="text:use-spreadsheet-objects">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-object-index-source-attrs" combine="interleave">
>     <optional>
>         <attribute name="text:use-math-objects">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-object-index-source-attrs" combine="interleave">
>     <optional>
>         <attribute name="text:use-draw-objects">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-object-index-source-attrs" combine="interleave">
>     <optional>
>         <attribute name="text:use-chart-objects">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-object-index-source-attrs" combine="interleave">
>     <optional>
>         <attribute name="text:use-other-objects">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-object-index-entry-template">
>     <element name="text:object-index-entry-template">
>         <ref name="text-illustration-index-entry-content"/>
>     </element>
> </define>
> <define name="text-user-index">
>     <element name="text:user-index">
>         <ref name="common-section-attlist"/>
>         <ref name="text-user-index-source"/>
>         <ref name="text-index-body"/>
>     </element>
> </define>
> <define name="text-user-index-source">
>     <element name="text:user-index-source">
>         <ref name="text-user-index-source-attr"/>
>         <optional>
>             <ref name="text-index-title-template"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="text-user-index-entry-template"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="text-index-source-styles"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-user-index-source-attr" combine="interleave">
>     <ref name="text-index-scope-attr"/>
>     <ref name="text-relative-tab-stop-position-attr"/>
> </define>
> <define name="text-user-index-source-attr" combine="interleave">
>     <optional>
>         <attribute name="text:use-index-marks">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:use-index-source-styles">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:use-graphics">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:use-tables">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:use-floating-frames"
>                     >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:use-objects">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-user-index-source-attr" combine="interleave">
>     <optional>
>         <attribute name="text:copy-outline-levels"
>                     >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-user-index-source-attr" combine="interleave">
>     <attribute name="text:index-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="text-user-index-entry-template">
>     <element name="text:user-index-entry-template">
>         <ref name="text-user-index-entry-template-attrs"/>
>         <zeroOrMore>
>             <choice>
>                 <ref name="text-index-entry-chapter"/>
>                 <ref name="text-index-entry-page-number"/>
>                 <ref name="text-index-entry-text"/>
>                 <ref name="text-index-entry-span"/>
>                 <ref name="text-index-entry-tab-stop"/>
>             </choice>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-user-index-entry-template-attrs" 
combine="interleave">
>     <attribute name="text:outline-level">
>         <ref name="positiveInteger"/>
>     </attribute>
> </define>
> <define name="text-user-index-entry-template-attrs" 
combine="interleave">
>     <attribute name="text:style-name">
>         <ref name="styleNameRef"/>
>     </attribute>
> </define>
> <define name="text-alphabetical-index">
>     <element name="text:alphabetical-index">
>         <ref name="common-section-attlist"/>
>         <ref name="text-alphabetical-index-source"/>
>         <ref name="text-index-body"/>
>     </element>
> </define>
> <define name="text-alphabetical-index-source">
>     <element name="text:alphabetical-index-source">
>         <ref name="text-alphabetical-index-source-attrs"/>
>         <optional>
>             <ref name="text-index-title-template"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="text-alphabetical-index-entry-template"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-alphabetical-index-source-attrs" 
combine="interleave">
>     <ref name="text-index-scope-attr"/>
>     <ref name="text-relative-tab-stop-position-attr"/>
> </define>
> <define name="text-alphabetical-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="text:ignore-case">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-alphabetical-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="text:main-entry-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-alphabetical-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="text:alphabetical-separators">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-alphabetical-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="text:combine-entries">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:combine-entries-with-dash"
>                   >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:combine-entries-with-pp">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-alphabetical-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="text:use-keys-as-entries">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-alphabetical-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="text:capitalize-entries">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-alphabetical-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="text:comma-separated">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-alphabetical-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="fo:language">
>             <ref name="languageCode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-alphabetical-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="fo:country">
>             <ref name="countryCode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-alphabetical-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="fo:script">
>             <ref name="scriptCode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-alphabetical-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="style:rfc-language-tag">
>             <ref name="language"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-alphabetical-index-source-attrs" 
combine="interleave">
>     <optional>
>         <attribute name="text:sort-algorithm">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-alphabetical-index-auto-mark-file">
>     <element name="text:alphabetical-index-auto-mark-file">
>         <attribute name="xlink:href">
>             <ref name="anyURI"/>
>         </attribute>
>         <optional>
>             <attribute name="xlink:type">
>                 <value>simple</value>
>             </attribute>
>         </optional>
>     </element>
> </define>
> <define name="text-alphabetical-index-entry-template">
>     <element name="text:alphabetical-index-entry-template">
>         <ref name="text-alphabetical-index-entry-template-attrs"/>
>         <zeroOrMore>
>             <choice>
>                 <ref name="text-index-entry-chapter"/>
>                 <ref name="text-index-entry-page-number"/>
>                 <ref name="text-index-entry-text"/>
>                 <ref name="text-index-entry-span"/>
>                 <ref name="text-index-entry-tab-stop"/>
>             </choice>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-alphabetical-index-entry-template-attrs"
>         combine="interleave">
>     <attribute name="text:outline-level">
>         <choice>
>             <value>1</value>
>             <value>2</value>
>             <value>3</value>
>             <value>separator</value>
>         </choice>
>     </attribute>
> </define>
> <define name="text-alphabetical-index-entry-template-attrs"
>         combine="interleave">
>     <attribute name="text:style-name">
>         <ref name="styleNameRef"/>
>     </attribute>
> </define>
> <define name="text-bibliography">
>     <element name="text:bibliography">
>         <ref name="common-section-attlist"/>
>         <ref name="text-bibliography-source"/>
>         <ref name="text-index-body"/>
>     </element>
> </define>
> <define name="text-bibliography-source">
>     <element name="text:bibliography-source">
>         <optional>
>             <ref name="text-index-title-template"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="text-bibliography-entry-template"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-bibliography-entry-template">
>     <element name="text:bibliography-entry-template">
>         <ref name="text-bibliography-entry-template-attrs"/>
>         <zeroOrMore>
>             <choice>
>                 <ref name="text-index-entry-span"/>
>                 <ref name="text-index-entry-tab-stop"/>
>                 <ref name="text-index-entry-bibliography"/>
>             </choice>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-bibliography-entry-template-attrs" 
combine="interleave">
>     <attribute name="text:bibliography-type">
>         <ref name="text-bibliography-types"/>
>     </attribute>
> </define>
> <define name="text-bibliography-entry-template-attrs" 
combine="interleave">
>     <attribute name="text:style-name">
>         <ref name="styleNameRef"/>
>     </attribute>
> </define>
> <define name="text-index-source-styles">
>     <element name="text:index-source-styles">
>         <attribute name="text:outline-level">
>             <ref name="positiveInteger"/>
>         </attribute>
>         <zeroOrMore>
>             <ref name="text-index-source-style"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-index-source-style">
>     <element name="text:index-source-style">
>         <attribute name="text:style-name">
>             <ref name="styleName"/>
>         </attribute>
>         <empty/>
>     </element>
> </define>
> <define name="text-index-title-template">
>     <element name="text:index-title-template">
>         <optional>
>             <attribute name="text:style-name">
>                 <ref name="styleNameRef"/>
>             </attribute>
>         </optional>
>         <text/>
>     </element>
> </define>
> <define name="text-index-entry-chapter">
>     <element name="text:index-entry-chapter">
>         <optional>
>             <attribute name="text:style-name">
>                 <ref name="styleNameRef"/>
>             </attribute>
>         </optional>
>         <ref name="text-index-entry-chapter-attrs"/>
>     </element>
> </define>
> <define name="text-index-entry-chapter-attrs">
>     <optional>
>         <attribute name="text:display">
>             <choice>
>                 <value>name</value>
>                 <value>number</value>
>                 <value>number-and-name</value>
>                 <value>plain-number</value>
>                 <value>plain-number-and-name</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="text-index-entry-chapter-attrs" combine="interleave">
>     <optional>
>         <attribute name="text:outline-level">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-index-entry-text">
>     <element name="text:index-entry-text">
>         <optional>
>             <attribute name="text:style-name">
>                 <ref name="styleNameRef"/>
>             </attribute>
>         </optional>
>     </element>
> </define>
> <define name="text-index-entry-page-number">
>     <element name="text:index-entry-page-number">
>         <optional>
>             <attribute name="text:style-name">
>                 <ref name="styleNameRef"/>
>             </attribute>
>         </optional>
>     </element>
> </define>
> <define name="text-index-entry-span">
>     <element name="text:index-entry-span">
>         <optional>
>             <attribute name="text:style-name">
>                 <ref name="styleNameRef"/>
>             </attribute>
>         </optional>
>         <text/>
>     </element>
> </define>
> <define name="text-index-entry-bibliography">
>     <element name="text:index-entry-bibliography">
>         <ref name="text-index-entry-bibliography-attrs"/>
>     </element>
> </define>
> <define name="text-index-entry-bibliography-attrs" combine="interleave">
>     <optional>
>         <attribute name="text:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-index-entry-bibliography-attrs" combine="interleave">
>     <attribute name="text:bibliography-data-field">
>         <choice>
>             <value>address</value>
>             <value>annote</value>
>             <value>author</value>
>             <value>bibliography-type</value>
>             <value>booktitle</value>
>             <value>chapter</value>
>             <value>custom1</value>
>             <value>custom2</value>
>             <value>custom3</value>
>             <value>custom4</value>
>             <value>custom5</value>
>             <value>edition</value>
>             <value>editor</value>
>             <value>howpublished</value>
>             <value>identifier</value>
>             <value>institution</value>
>             <value>isbn</value>
>             <value>issn</value>
>             <value>journal</value>
>             <value>month</value>
>             <value>note</value>
>             <value>number</value>
>             <value>organizations</value>
>             <value>pages</value>
>             <value>publisher</value>
>             <value>report-type</value>
>             <value>school</value>
>             <value>series</value>
>             <value>title</value>
>             <value>url</value>
>             <value>volume</value>
>             <value>year</value>
>         </choice>
>     </attribute>
> </define>
> <define name="text-index-entry-tab-stop">
>     <element name="text:index-entry-tab-stop">
>         <optional>
>             <attribute name="text:style-name">
>                 <ref name="styleNameRef"/>
>             </attribute>
>         </optional>
>         <ref name="text-index-entry-tab-stop-attrs"/>
>     </element>
> </define>
> <define name="text-index-entry-tab-stop-attrs" combine="interleave">
>     <optional>
>         <attribute name="style:leader-char">
>             <ref name="character"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-index-entry-tab-stop-attrs" combine="interleave">
>     <choice>
>         <attribute name="style:type">
>             <value>right</value>
>         </attribute>
>         <group>
>             <attribute name="style:type">
>                 <value>left</value>
>             </attribute>
>             <attribute name="style:position">
>                 <ref name="length"/>
>             </attribute>
>         </group>
>     </choice>
> </define>
> <define name="text-index-entry-link-start">
>     <element name="text:index-entry-link-start">
>         <optional>
>             <attribute name="text:style-name">
>                 <ref name="styleNameRef"/>
>             </attribute>
>         </optional>
>     </element>
> </define>
> <define name="text-index-entry-link-end">
>     <element name="text:index-entry-link-end">
>         <optional>
>             <attribute name="text:style-name">
>                 <ref name="styleNameRef"/>
>             </attribute>
>         </optional>
>     </element>
> </define>
> <define name="table-table">
>     <element name="table:table">
>         <ref name="table-table-attlist"/>
>         <optional>
>             <ref name="table-title"/>
>         </optional>
>         <optional>
>             <ref name="table-desc"/>
>         </optional>
>         <optional>
>             <ref name="table-table-source"/>
>         </optional>
>         <optional>
>             <ref name="office-dde-source"/>
>         </optional>
>         <optional>
>             <ref name="table-scenario"/>
>         </optional>
>         <optional>
>             <ref name="office-forms"/>
>         </optional>
>         <optional>
>             <ref name="table-shapes"/>
>         </optional>
>         <ref name="table-columns-and-groups"/>
>         <ref name="table-rows-and-groups"/>
>     </element>
> </define>
> <define name="table-columns-and-groups">
>     <oneOrMore>
>         <choice>
>             <ref name="table-table-column-group"/>
>             <ref name="table-columns-no-group"/>
>         </choice>
>     </oneOrMore>
> </define>
> 
> <define name="table-columns-no-group">
>     <choice>
>         <group>
>             <ref name="table-columns"/>
>             <optional>
>                 <ref name="table-table-header-columns"/>
>                 <optional>
>                     <ref name="table-columns"/>
>                 </optional>
>             </optional>
>         </group>
>         <group>
>             <ref name="table-table-header-columns"/>
>             <optional>
>                 <ref name="table-columns"/>
>             </optional>
>         </group>
>     </choice>
> </define>
> 
> <define name="table-columns">
>     <choice>
>         <ref name="table-table-columns"/>
>         <oneOrMore>
>                 <ref name="table-table-column"/>
>         </oneOrMore>
>     </choice>
> </define>
> 
> <define name="table-rows-and-groups">
>     <oneOrMore>
>         <choice>
>             <ref name="table-table-row-group"/>
>             <ref name="table-rows-no-group"/>
>         </choice>
>     </oneOrMore>
> </define>
> 
> <define name="table-rows-no-group">
>     <choice>
>         <group>
>             <ref name="table-rows"/>
>             <optional>
>                 <ref name="table-table-header-rows"/>
>                 <optional>
>                     <ref name="table-rows"/>
>                 </optional>
>             </optional>
>         </group>
>         <group>
>             <ref name="table-table-header-rows"/>
>             <optional>
>                 <ref name="table-rows"/>
>             </optional>
>         </group>
>     </choice>
> </define>
> 
> <define name="table-rows">
>     <choice>
>         <ref name="table-table-rows"/>
>         <oneOrMore>
>             <optional>
>                 <ref name="text-soft-page-break"/>
>             </optional>
>             <ref name="table-table-row"/>
>         </oneOrMore>
>     </choice>
> </define>
> <define name="table-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:template-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:use-first-row-styles">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:use-last-row-styles">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:use-first-column-styles">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:use-last-column-styles">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:use-banding-rows-styles">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:use-banding-columns-styles"
>                   >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:protected">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="table:protection-key">
>             <text/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="table:protection-key-digest-algorithm"
>                   >
>             <ref name="anyURI"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:print">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:print-ranges">
>             <ref name="cellRangeAddressList"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="table-title">
>     <element name="table:title">
>         <text/>
>     </element>
> </define>
> <define name="table-desc">
>     <element name="table:desc">
>         <text/>
>     </element>
> </define>
> <define name="table-table-row">
>     <element name="table:table-row">
>         <ref name="table-table-row-attlist"/>
>         <oneOrMore>
>             <choice>
>                 <ref name="table-table-cell"/>
>                 <ref name="table-covered-table-cell"/>
>             </choice>
>         </oneOrMore>
>     </element>
> </define>
> <define name="table-table-row-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:number-rows-repeated">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-row-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-row-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:default-cell-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-row-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:visibility">
>             <ref name="table-visibility-value"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-row-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> 
> <define name="table-visibility-value">
>     <choice>
>         <value>visible</value>
>         <value>collapse</value>
>         <value>filter</value>
>     </choice>
> </define>
> <define name="table-table-cell">
>     <element name="table:table-cell">
>         <ref name="table-table-cell-attlist"/>
>         <ref name="table-table-cell-attlist-extra"/>
>         <choice>
>             <ref name="table-table-cell-content"/>
>             <ref name="table-diagonal-table-headers"/>
>         </choice>
>     </element>
> </define>
> 
> <define name="table-covered-table-cell">
>     <element name="table:covered-table-cell">
>         <ref name="table-table-cell-attlist"/>
>         <ref name="table-table-cell-content"/>
>     </element>
> </define>
> 
> <define name="table-table-cell-content">
>     <optional>
>         <ref name="table-cell-range-source"/>
>     </optional>
>     <optional>
>         <ref name="office-annotation"/>
>     </optional>
>     <optional>
>         <ref name="table-detective"/>
>     </optional>
>     <zeroOrMore>
>         <ref name="text-content"/>
>     </zeroOrMore>
> </define>
> <define name="table-table-cell-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:number-columns-repeated">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-cell-attlist-extra" combine="interleave">
>     <optional>
>         <attribute name="table:number-columns-spanned">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="table:number-rows-spanned">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-cell-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-cell-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:content-validation-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-cell-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:formula">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-cell-attlist-extra" combine="interleave">
>     <optional>
>         <attribute name="table:number-matrix-columns-spanned">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="table:number-matrix-rows-spanned">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-cell-attlist" combine="interleave">
>     <optional>
>         <ref name="common-value-and-type-attlist"/>
>     </optional>
> </define>
> <define name="table-table-cell-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:protect">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-cell-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:protected">
>              <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-cell-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="table-table-cell-attlist" combine="interleave">
>    <optional>
>        <ref name="common-in-content-meta-attlist"/>
>    </optional>
> </define>
> <define name="table-diagonal-table-headers">
>     <element name="table:diagonal-table-headers">
>         <ref name="table-diagonal-table-headers-attlist"/>
>         <ref name="table-diagonal-table-header-cell"/>
>     </element>
> </define>
> <define name="table-diagonal-table-headers-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="table:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-diagonal-table-headers-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="table:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-diagonal-table-header-cell">
>     <element name="table:diagonal-table-header-cell">
>         <ref name="table-diagonal-table-header-cell-content"/>
>         <ref name="table-diagonal-table-header-cell-attlist"/>
>     </element>
> </define>
> <define name="table-diagonal-table-header-cell-content">
>     <optional>
>         <ref name="office-annotation"/>
>     </optional>
>     <optional>
>         <ref name="table-detective"/>
>     </optional>
>     <zeroOrMore>
>         <ref name="text-content"/>
>     </zeroOrMore>
> </define>
> <define name="table-diagonal-table-header-cell-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="table:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-diagonal-table-header-cell-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="table:content-validation-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-diagonal-table-header-cell-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="table:formula">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-diagonal-table-header-cell-attlist" 
combine="interleave">
>     <optional>
>         <ref name="common-value-and-type-attlist"/>
>     </optional>
> </define>
> <define name="table-diagonal-table-header-cell-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="table:protected">
>              <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-diagonal-table-header-cell-attlist" 
combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="table-diagonal-table-header-cell-attlist" 
combine="interleave">
>    <optional>
>        <ref name="common-in-content-meta-attlist"/>
>    </optional>
> </define>
> <define name="table-table-column">
>     <element name="table:table-column">
>         <ref name="table-table-column-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-table-column-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:number-columns-repeated">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-column-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-column-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:visibility">
>             <ref name="table-visibility-value"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-column-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:default-cell-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-column-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="table-table-header-columns">
>     <element name="table:table-header-columns">
>         <oneOrMore>
>             <ref name="table-table-column"/>
>         </oneOrMore>
>     </element>
> </define>
> 
> <define name="table-table-columns">
>     <element name="table:table-columns">
>         <oneOrMore>
>             <ref name="table-table-column"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="table-table-column-group">
>     <element name="table:table-column-group">
>         <ref name="table-table-column-group-attlist"/>
>         <ref name="table-columns-and-groups"/>
>     </element>
> </define>
> <define name="table-table-column-group-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:display">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-header-rows">
>     <element name="table:table-header-rows">
>         <oneOrMore>
>             <optional>
>                 <ref name="text-soft-page-break"/>
>             </optional>
>             <ref name="table-table-row"/>
>         </oneOrMore>
>     </element>
> </define>
> 
> <define name="table-table-rows">
>     <element name="table:table-rows">
>         <oneOrMore>
>             <optional>
>                 <ref name="text-soft-page-break"/>
>             </optional>
>             <ref name="table-table-row"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="table-table-row-group">
>     <element name="table:table-row-group">
>         <ref name="table-table-row-group-attlist"/>
>         <ref name="table-rows-and-groups"/>
>     </element>
> </define>
> <define name="table-table-row-group-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:display">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:is-sub-table">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="cellAddress">
>     <data type="string">
>         <param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+
> $?[0-9]+</param>
> 
>     </data>
> </define>
> <define name="cellRangeAddress" combine="choice">
>     <data type="string">
>         <param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+
> $?[0-9]+(:($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+)?</param>
> 
>     </data>
> </define>
> <define name="cellRangeAddress" combine="choice">
>     <data type="string">
>         <param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[0-9]
> +:($?([^\. ']+|'([^']|'')+'))?\.$?[0-9]+</param>
> 
>     </data>
> </define>
> 
> <define name="cellRangeAddress" combine="choice">
>     <data type="string">
>         <param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]
> +:($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+</param>
> 
>     </data>
> </define>
> <define name="cellRangeAddressList">
>     <!-- Value is a space separated list of "cellRangeAddress" patterns 
-->
>     <data type="string"/>
> </define>
> <define name="table-table-source">
>     <element name="table:table-source">
>         <ref name="table-table-source-attlist"/>
>         <ref name="table-linked-source-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-table-source-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:mode">
>             <choice>
>                 <value>copy-all</value>
>                 <value>copy-results-only</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-source-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:table-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-linked-source-attlist" combine="interleave">
>     <optional>
>         <attribute name="xlink:type">
>             <value>simple</value>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:actuate">
>             <value>onRequest</value>
>         </attribute>
>     </optional>
>     <attribute name="xlink:href">
>         <ref name="anyURI"/>
>     </attribute>
> </define>
> <define name="table-linked-source-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:filter-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-linked-source-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:filter-options">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-linked-source-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:refresh-delay">
>             <ref name="duration"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-scenario">
>     <element name="table:scenario">
>         <ref name="table-scenario-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-scenario-attlist" combine="interleave">
>     <attribute name="table:scenario-ranges">
>         <ref name="cellRangeAddressList"/>
>     </attribute>
> </define>
> <define name="table-scenario-attlist" combine="interleave">
>     <attribute name="table:is-active">
>         <ref name="boolean"/>
>     </attribute>
> </define>
> <define name="table-scenario-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:display-border">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-scenario-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:border-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-scenario-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:copy-back">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-scenario-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:copy-styles">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-scenario-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:copy-formulas">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-scenario-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:comment">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-scenario-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:protected">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-shapes">
>     <element name="table:shapes">
>         <oneOrMore>
>             <ref name="shape"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="table-cell-range-source">
>     <element name="table:cell-range-source">
>         <ref name="table-table-cell-range-source-attlist"/>
>         <ref name="table-linked-source-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-table-cell-range-source-attlist" 
combine="interleave">
>     <attribute name="table:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-table-cell-range-source-attlist" 
combine="interleave">
>     <attribute name="table:last-column-spanned">
>         <ref name="positiveInteger"/>
>     </attribute>
>     <attribute name="table:last-row-spanned">
>         <ref name="positiveInteger"/>
>     </attribute>
> </define>
> <define name="table-detective">
>     <element name="table:detective">
>         <zeroOrMore>
>             <ref name="table-highlighted-range"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="table-operation"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="table-operation">
>     <element name="table:operation">
>         <ref name="table-operation-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-operation-attlist" combine="interleave">
>     <attribute name="table:name">
>         <choice>
>             <value>trace-dependents</value>
>             <value>remove-dependents</value>
>             <value>trace-precedents</value>
>             <value>remove-precedents</value>
>             <value>trace-errors</value>
>         </choice>
>     </attribute>
> </define>
> <define name="table-operation-attlist" combine="interleave">
>     <attribute name="table:index">
>         <ref name="nonNegativeInteger"/>
>     </attribute>
> </define>
> <define name="table-highlighted-range">
>     <element name="table:highlighted-range">
>         <choice>
>             <group>
>                 <ref name="table-highlighted-range-attlist"/>
>             </group>
>             <group>
>                 <ref name="table-highlighted-range-attlist-invalid"/>
>             </group>
>         </choice>
>         <empty/>
>     </element>
> </define>
> <define name="table-highlighted-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:cell-range-address">
>             <ref name="cellRangeAddress"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-highlighted-range-attlist" combine="interleave">
>     <attribute name="table:direction">
>         <choice>
>             <value>from-another-table</value>
>             <value>to-another-table</value>
>             <value>from-same-table</value>
>         </choice>
>     </attribute>
> </define>
> <define name="table-highlighted-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:contains-error">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-highlighted-range-attlist-invalid" 
combine="interleave">
>     <attribute name="table:marked-invalid">
>         <ref name="boolean"/>
>     </attribute>
> </define>
> <define name="office-spreadsheet-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:structure-protected">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="table:protection-key">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="table:protection-key-digest-algorithm"
>                   >
>             <ref name="anyURI"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-calculation-settings">
>     <element name="table:calculation-settings">
>         <ref name="table-calculation-setting-attlist"/>
>         <optional>
>             <ref name="table-null-date"/>
>         </optional>
>         <optional>
>             <ref name="table-iteration"/>
>         </optional>
>     </element>
> </define>
> <define name="table-calculation-setting-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:case-sensitive">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-calculation-setting-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:precision-as-shown">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-calculation-setting-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:search-criteria-must-apply-to-whole-cell"
>                     >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-calculation-setting-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:automatic-find-labels">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-calculation-setting-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:use-regular-expressions"
>                   >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-calculation-setting-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:use-wildcards">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-calculation-setting-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:null-year">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-null-date">
>     <element name="table:null-date">
>         <optional>
>             <attribute name="table:value-type">
>                 <ref name="valueType"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="table:date-value"
>                         >
>                 <ref name="date"/>
>             </attribute>
>         </optional>
>         <empty/>
>     </element>
> </define>
> <define name="table-iteration">
>     <element name="table:iteration">
>         <optional>
>             <attribute name="table:status">
>                 <choice>
>                     <value>enable</value>
>                     <value>disable</value>
>                 </choice>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="table:steps">
>                 <ref name="positiveInteger"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="table:maximum-difference"
>                         >
>                 <ref name="double"/>
>             </attribute>
>         </optional>
>         <empty/>
>     </element>
> </define>
> <define name="table-content-validations">
>     <element name="table:content-validations">
>         <oneOrMore>
>             <ref name="table-content-validation"/>
>         </oneOrMore>
>     </element>
> </define>
> 
> <define name="table-content-validation">
>     <element name="table:content-validation">
>         <ref name="table-validation-attlist"/>
>         <optional>
>             <ref name="table-help-message"/>
>         </optional>
>         <optional>
>             <choice>
>                 <ref name="table-error-message"/>
>                 <group>
>                     <ref name="table-error-macro"/>
>                     <optional>
>                         <ref name="office-event-listeners"/>
>                     </optional>
>                 </group>
>             </choice>
>         </optional>
>     </element>
> </define>
> <define name="table-validation-attlist" combine="interleave">
>     <attribute name="table:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-validation-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:condition">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-validation-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:base-cell-address">
>             <ref name="cellAddress"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-validation-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:allow-empty-cell">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-validation-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:display-list">
>             <choice>
>                 <value>none</value>
>                 <value>unsorted</value>
>                 <value>sort-ascending</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="table-help-message">
>     <element name="table:help-message">
>         <optional>
>             <attribute name="table:title">
>                 <ref name="string"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="table:display">
>                 <ref name="boolean"/>
>             </attribute>
>         </optional>
>         <zeroOrMore>
>             <ref name="text-p"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="table-error-message">
>     <element name="table:error-message">
>         <optional>
>             <attribute name="table:title">
>                 <ref name="string"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="table:display">
>                 <ref name="boolean"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="table:message-type">
>                 <choice>
>                     <value>stop</value>
>                     <value>warning</value>
>                     <value>information</value>
>                 </choice>
>             </attribute>
>         </optional>
>         <zeroOrMore>
>             <ref name="text-p"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="table-error-macro">
>     <element name="table:error-macro">
>         <optional>
>             <attribute name="table:execute">
>                 <ref name="boolean"/>
>             </attribute>
>         </optional>
>     </element>
> </define>
> <define name="table-label-ranges">
>     <element name="table:label-ranges">
>         <zeroOrMore>
>             <ref name="table-label-range"/>
>         </zeroOrMore>
>     </element>
> </define>
> 
> <define name="table-label-range">
>     <element name="table:label-range">
>         <ref name="table-label-range-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-label-range-attlist" combine="interleave">
>     <attribute name="table:label-cell-range-address">
>         <ref name="cellRangeAddress"/>
>     </attribute>
> </define>
> <define name="table-label-range-attlist" combine="interleave">
>     <attribute name="table:data-cell-range-address">
>         <ref name="cellRangeAddress"/>
>     </attribute>
> </define>
> <define name="table-label-range-attlist" combine="interleave">
>     <attribute name="table:orientation">
>         <choice>
>             <value>column</value>
>             <value>row</value>
>         </choice>
>     </attribute>
> </define>
> <define name="table-named-expressions">
>     <element name="table:named-expressions">
>         <zeroOrMore>
>             <choice>
>                 <ref name="table-named-range"/>
>                 <ref name="table-named-expression"/>
>             </choice>
>         </zeroOrMore>
>     </element>
> </define>
> 
> <define name="table-named-range">
>     <element name="table:named-range">
>         <ref name="table-named-range-attlist"/>
>         <empty/>
>     </element>
> </define>

> <define name="table-named-range-attlist" combine="interleave">
>     <attribute name="table:name">
>         <ref name="string"/>
>     </attribute>
>     <attribute name="table:cell-range-address">
>         <ref name="cellRangeAddress"/>
>     </attribute>
>     <optional>
>         <attribute name="table:base-cell-address">
>             <ref name="cellAddress"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="table:range-usable-as">
>             <choice>
>                 <value>none</value>
>                 <list>
>                     <oneOrMore>
>                         <choice>
>                             <value>print-range</value>
>                             <value>filter</value>
>                             <value>repeat-row</value>
>                             <value>repeat-column</value>
>                         </choice>
>                     </oneOrMore>
>                 </list>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="table-named-expression">
>     <element name="table:named-expression">
>         <ref name="table-named-expression-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> <define name="table-named-expression-attlist" combine="interleave">
>     <attribute name="table:name">
>         <ref name="string"/>
>     </attribute>
>     <attribute name="table:expression">
>         <ref name="string"/>
>     </attribute>
>     <optional>
>         <attribute name="table:base-cell-address">
>             <ref name="cellAddress"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-database-ranges">
>     <element name="table:database-ranges">
>         <zeroOrMore>
>             <ref name="table-database-range"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="table-database-range">
>     <element name="table:database-range">
>         <ref name="table-database-range-attlist"/>
>         <optional>
>             <choice>
>                 <ref name="table-database-source-sql"/>
>                 <ref name="table-database-source-table"/>
>                 <ref name="table-database-source-query"/>
>             </choice>
>         </optional>
>         <optional>
>             <ref name="table-filter"/>
>         </optional>
>         <optional>
>             <ref name="table-sort"/>
>         </optional>
>         <optional>
>             <ref name="table-subtotal-rules"/>
>         </optional>
>     </element>
> </define>
> <define name="table-database-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-database-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:is-selection">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-database-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:on-update-keep-styles">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-database-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:on-update-keep-size">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-database-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:has-persistent-data">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-database-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:orientation">
>             <choice>
>                 <value>column</value>
>                 <value>row</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="table-database-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:contains-header">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-database-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:display-filter-buttons"
>                   >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-database-range-attlist" combine="interleave">
>     <attribute name="table:target-range-address">
>         <ref name="cellRangeAddress"/>
>     </attribute>
> </define>
> <define name="table-database-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:refresh-delay">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-database-source-sql">
>     <element name="table:database-source-sql">
>         <ref name="table-database-source-sql-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-database-source-sql-attlist" combine="interleave">
>     <attribute name="table:database-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-database-source-sql-attlist" combine="interleave">
>     <attribute name="table:sql-statement">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-database-source-sql-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:parse-sql-statement">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-database-source-query">
>     <element name="table:database-source-table">
>         <ref name="table-database-source-table-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-database-source-table-attlist" combine="interleave">
>     <attribute name="table:database-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-database-source-table-attlist" combine="interleave">
>     <attribute name="table:database-table-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-database-source-table">
>     <element name="table:database-source-query">
>         <ref name="table-database-source-query-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-database-source-query-attlist" combine="interleave">
>     <attribute name="table:database-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-database-source-query-attlist" combine="interleave">
>     <attribute name="table:query-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-sort">
>     <element name="table:sort">
>         <ref name="table-sort-attlist"/>
>         <oneOrMore>
>             <ref name="table-sort-by"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="table-sort-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:bind-styles-to-content">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-sort-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:target-range-address">
>             <ref name="cellRangeAddress"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-sort-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:case-sensitive">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-sort-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:language">
>             <ref name="languageCode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-sort-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:country">
>             <ref name="countryCode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-sort-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:script">
>             <ref name="scriptCode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-sort-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:rfc-language-tag">
>             <ref name="language"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-sort-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:algorithm">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-sort-by">
>     <element name="table:sort-by">
>         <ref name="table-sort-by-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-sort-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:embedded-number-behavior"
>                   >
>             <choice>
>                 <value>alpha-numeric</value>
>                 <value>integer</value>
>                 <value>double</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="table-sort-by-attlist" combine="interleave">
>     <attribute name="table:field-number">
>         <ref name="nonNegativeInteger"/>
>     </attribute>
> </define>
> <define name="table-sort-by-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:data-type">
>             <choice>
>                 <value>text</value>
>                 <value>number</value>
>                 <value>automatic</value>
>                 <ref name="string"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="table-sort-by-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:order">
>             <choice>
>                 <value>ascending</value>
>                 <value>descending</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="table-subtotal-rules">
>     <element name="table:subtotal-rules">
>         <ref name="table-subtotal-rules-attlist"/>
>         <optional>
>             <ref name="table-sort-groups"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="table-subtotal-rule"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="table-subtotal-rules-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:bind-styles-to-content">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-subtotal-rules-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:case-sensitive">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-subtotal-rules-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:page-breaks-on-group-change"
>                   >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-sort-groups">
>     <element name="table:sort-groups">
>         <ref name="table-sort-groups-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-sort-groups-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:data-type">
>             <choice>
>                 <value>text</value>
>                 <value>number</value>
>                 <value>automatic</value>
>                 <ref name="string"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="table-sort-groups-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:order">
>             <choice>
>                 <value>ascending</value>
>                 <value>descending</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="table-subtotal-rule">
>     <element name="table:subtotal-rule">
>         <ref name="table-subtotal-rule-attlist"/>
>         <zeroOrMore>
>             <ref name="table-subtotal-field"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="table-subtotal-rule-attlist" combine="interleave">
>     <attribute name="table:group-by-field-number">
>         <ref name="nonNegativeInteger"/>
>     </attribute>
> </define>
> <define name="table-subtotal-field">
>     <element name="table:subtotal-field">
>         <ref name="table-subtotal-field-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-subtotal-field-attlist" combine="interleave">
>     <attribute name="table:field-number">
>         <ref name="nonNegativeInteger"/>
>     </attribute>
> </define>
> <define name="table-subtotal-field-attlist" combine="interleave">
>     <attribute name="table:function">
>         <choice>
>             <value>auto</value>
>             <value>average</value>
>             <value>count</value>
>             <value>countnums</value>
>             <value>max</value>
>             <value>min</value>
>             <value>product</value>
>             <value>stdev</value>
>             <value>stdevp</value>
>             <value>sum</value>
>             <value>var</value>
>             <value>varp</value>
>             <ref name="string"/>
>         </choice>
>     </attribute>
> </define>
> <define name="table-filter">
>     <element name="table:filter">
>         <ref name="table-filter-attlist"/>
>         <choice>
>             <ref name="table-filter-condition"/>
>             <ref name="table-filter-and"/>
>             <ref name="table-filter-or"/>
>         </choice>
>     </element>
> </define>
> <define name="table-filter-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:target-range-address">
>             <ref name="cellRangeAddress"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-filter-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:condition-source">
>             <choice>
>                 <value>self</value>
>                 <value>cell-range</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="table-filter-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:condition-source-range-address">
>             <ref name="cellRangeAddress"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-filter-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:display-duplicates">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-filter-and">
>     <element name="table:filter-and">
>         <oneOrMore>
>             <choice>
>                 <ref name="table-filter-or"/>
>                 <ref name="table-filter-condition"/>
>             </choice>
>         </oneOrMore>
>     </element>
> </define>
> <define name="table-filter-or">
>     <element name="table:filter-or">
>         <oneOrMore>
>             <choice>
>                 <ref name="table-filter-and"/>
>                 <ref name="table-filter-condition"/>
>             </choice>
>         </oneOrMore>
>     </element>
> </define>
> <define name="table-filter-condition">
>     <element name="table:filter-condition">
>         <ref name="table-filter-condition-attlist"/>
>         <zeroOrMore>
>             <ref name="table-filter-set-item"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="table-filter-condition-attlist" combine="interleave">
>     <attribute name="table:field-number"> 
>         <ref name="nonNegativeInteger"/>
>     </attribute>
> </define>
> <define name="table-filter-condition-attlist" combine="interleave">
>     <attribute name="table:value">
>         <choice>
>             <ref name="string"/>
>             <ref name="double"/>
>         </choice>
>     </attribute>
> </define>
> <define name="table-filter-condition-attlist" combine="interleave">
>     <attribute name="table:operator">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-filter-condition-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:case-sensitive"> 
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-filter-condition-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:data-type">
>             <choice>
>                 <value>text</value>
>                 <value>number</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="table-filter-set-item">
>     <element name="table:filter-set-item">
>         <attribute name="table:value"> 
>             <ref name="string"/>
>         </attribute>
>         <empty/>
>     </element>
> </define>
> <define name="table-data-pilot-tables">
>     <element name="table:data-pilot-tables">
>         <zeroOrMore>
>             <ref name="table-data-pilot-table"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="table-data-pilot-table">
>     <element name="table:data-pilot-table">
>         <ref name="table-data-pilot-table-attlist"/>
>         <optional>
>             <choice>
>                 <ref name="table-database-source-sql"/>
>                 <ref name="table-database-source-table"/>
>                 <ref name="table-database-source-query"/>
>                 <ref name="table-source-service"/>
>                 <ref name="table-source-cell-range"/>
>             </choice>
>         </optional>
>         <oneOrMore>
>             <ref name="table-data-pilot-field"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="table-data-pilot-table-attlist" combine="interleave">
>     <attribute name="table:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-data-pilot-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:application-data">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-data-pilot-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:grand-total">
>             <choice>
>                 <value>none</value>
>                 <value>row</value>
>                 <value>column</value>
>                 <value>both</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="table-data-pilot-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:ignore-empty-rows"> 
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-data-pilot-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:identify-categories"> 
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-data-pilot-table-attlist" combine="interleave">
>     <attribute name="table:target-range-address"> 
>         <ref name="cellRangeAddress"/>
>     </attribute>
> </define>
> <define name="table-data-pilot-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:buttons"> 
>             <ref name="cellRangeAddressList"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-data-pilot-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:show-filter-button"> 
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-data-pilot-table-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:drill-down-on-double-click"
>                   > 
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-source-cell-range">
>     <element name="table:source-cell-range">
>         <ref name="table-source-cell-range-attlist"/>
>         <optional>
>             <ref name="table-filter"/>
>         </optional>
>     </element>
> </define>
> <define name="table-source-cell-range-attlist" combine="interleave">
>     <attribute name="table:cell-range-address"> 
>         <ref name="cellRangeAddress"/>
>     </attribute>
> </define>
> <define name="table-source-service">
>     <element name="table:source-service">
>         <ref name="table-source-service-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-source-service-attlist" combine="interleave">
>     <attribute name="table:name"> 
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-source-service-attlist" combine="interleave">
>     <attribute name="table:source-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-source-service-attlist" combine="interleave">
>     <attribute name="table:object-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-source-service-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:user-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-source-service-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:password">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-data-pilot-field">
>     <element name="table:data-pilot-field">
>         <ref name="table-data-pilot-field-attlist"/>
>         <optional>
>             <ref name="table-data-pilot-level"/>
>         </optional>
>         <optional>
>             <ref name="table-data-pilot-field-reference"/>
>         </optional>
>         <optional>
>             <ref name="table-data-pilot-groups"/>
>         </optional>
>     </element>
> </define>
> <define name="table-data-pilot-field-attlist" combine="interleave">
>     <attribute name="table:source-field-name"> 
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-data-pilot-field-attlist" combine="interleave">
>     <choice>
>         <attribute name="table:orientation">
>             <choice>
>                 <value>row</value>
>                 <value>column</value>
>                 <value>data</value>
>                 <value>hidden</value>
>             </choice>
>         </attribute>
>         <group>
>             <attribute name="table:orientation">
>                 <value>page</value>
>             </attribute>
>             <attribute name="table:selected-page">
>                 <ref name="string"/>
>             </attribute>
>         </group>
>     </choice>
> </define>
> <define name="table-data-pilot-field-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:is-data-layout-field">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-data-pilot-field-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:function">
>             <choice>
>                 <value>auto</value>
>                 <value>average</value>
>                 <value>count</value>
>                 <value>countnums</value>
>                 <value>max</value>
>                 <value>min</value>
>                 <value>product</value>
>                 <value>stdev</value>
>                 <value>stdevp</value>
>                 <value>sum</value>
>                 <value>var</value>
>                 <value>varp</value>
>                 <ref name="string"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="table-data-pilot-field-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:used-hierarchy"> 
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-data-pilot-level">
>     <element name="table:data-pilot-level">
>         <ref name="table-data-pilot-level-attlist"/>
>         <optional>
>             <ref name="table-data-pilot-subtotals"/>
>         </optional>
>         <optional>
>             <ref name="table-data-pilot-members"/>
>         </optional>
>         <optional>
>             <ref name="table-data-pilot-display-info"/>
>         </optional>
>         <optional>
>             <ref name="table-data-pilot-sort-info"/>
>         </optional>
>         <optional>
>             <ref name="table-data-pilot-layout-info"/>
>         </optional>
>     </element>
> </define>
> <define name="table-data-pilot-level-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:show-empty"> 
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-data-pilot-subtotals">
>     <element name="table:data-pilot-subtotals">
>         <zeroOrMore>
>             <ref name="table-data-pilot-subtotal"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="table-data-pilot-subtotal">
>     <element name="table:data-pilot-subtotal">
>         <ref name="table-data-pilot-subtotal-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-data-pilot-subtotal-attlist" combine="interleave">
>     <attribute name="table:function">
>         <choice>
>             <value>auto</value>
>             <value>average</value>
>             <value>count</value>
>             <value>countnums</value>
>             <value>max</value>
>             <value>min</value>
>             <value>product</value>
>             <value>stdev</value>
>             <value>stdevp</value>
>             <value>sum</value>
>             <value>var</value>
>             <value>varp</value>
>             <ref name="string"/>
>         </choice>
>     </attribute>
> </define>
> <define name="table-data-pilot-members">
>     <element name="table:data-pilot-members">
>         <zeroOrMore>
>             <ref name="table-data-pilot-member"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="table-data-pilot-member">
>     <element name="table:data-pilot-member">
>         <ref name="table-data-pilot-member-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-data-pilot-member-attlist" combine="interleave">
>     <attribute name="table:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-data-pilot-member-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:display">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-data-pilot-member-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:show-details">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-data-pilot-display-info">
>     <element name="table:data-pilot-display-info">
>         <ref name="table-data-pilot-display-info-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-data-pilot-display-info-attlist" 
combine="interleave">
>     <attribute name="table:enabled">
>         <ref name="boolean"/>
>     </attribute>
> </define>
> <define name="table-data-pilot-display-info-attlist" 
combine="interleave">
>     <attribute name="table:data-field">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-data-pilot-display-info-attlist" 
combine="interleave">
>     <attribute name="table:member-count">
>         <ref name="nonNegativeInteger"/>
>     </attribute>
> </define>
> <define name="table-data-pilot-display-info-attlist" 
combine="interleave">
>     <attribute name="table:display-member-mode">
>         <choice>
>             <value>from-top</value>
>             <value>from-bottom</value>
>         </choice>
>     </attribute>
> </define>
> <define name="table-data-pilot-sort-info">
>     <element name="table:data-pilot-sort-info">
>         <ref name="table-data-pilot-sort-info-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-data-pilot-sort-info-attlist" combine="interleave">
>     <choice>
>         <group>
>             <attribute name="table:sort-mode">
>                 <value>data</value>
>             </attribute>
>             <attribute name="table:data-field">
>                 <ref name="string"/>
>             </attribute>
>         </group>
>         <attribute name="table:sort-mode">
>             <choice>
>                 <value>none</value>
>                 <value>manual</value>
>                 <value>name</value>
>             </choice>
>         </attribute>
>     </choice>
> </define>
> <define name="table-data-pilot-sort-info-attlist" combine="interleave">
>     <attribute name="table:order">
>         <choice>
>             <value>ascending</value>
>             <value>descending</value>
>         </choice>
>     </attribute>
> </define>
> <define name="table-data-pilot-layout-info">
>     <element name="table:data-pilot-layout-info">
>         <ref name="table-data-pilot-layout-info-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-data-pilot-layout-info-attlist" 
combine="interleave">
>     <attribute name="table:layout-mode">
>         <choice>
>             <value>tabular-layout</value>
>             <value>outline-subtotals-top</value>
>             <value>outline-subtotals-bottom</value>
>         </choice>
>     </attribute>
> </define>
> <define name="table-data-pilot-layout-info-attlist" 
combine="interleave">
>     <attribute name="table:add-empty-lines">
>         <ref name="boolean"/>
>     </attribute>
> </define>
> <define name="table-data-pilot-field-reference">
>     <element name="table:data-pilot-field-reference">
>         <ref name="table-data-pilot-field-reference-attlist"/>
>     </element>
> </define>
> <define name="table-data-pilot-field-reference-attlist" 
combine="interleave">
>     <attribute name="table:field-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-data-pilot-field-reference-attlist" 
combine="interleave">
>     <choice>
>         <group>
>             <attribute name="table:member-type">
>                 <value>named</value>
>             </attribute>
>             <attribute name="table:member-name">
>                 <ref name="string"/>
>             </attribute>
>         </group>
>         <attribute name="table:member-type">
>             <choice>
>                 <value>previous</value>
>                 <value>next</value>
>             </choice>
>         </attribute>
>     </choice>
> </define>
> <define name="table-data-pilot-field-reference-attlist" 
combine="interleave">
>     <attribute name="table:type">
>         <choice>
>             <value>none</value>
>             <value>member-difference</value>
>             <value>member-percentage</value>
>             <value>member-percentage-difference</value>
>             <value>running-total</value>
>             <value>row-percentage</value>
>             <value>column-percentage</value>
>             <value>total-percentage</value>
>             <value>index</value>
>         </choice>
>     </attribute>
> </define>
> <define name="table-data-pilot-groups">
>     <element name="table:data-pilot-groups">
>         <ref name="table-data-pilot-groups-attlist"/>
>         <oneOrMore>
>             <ref name="table-data-pilot-group"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="table-data-pilot-groups-attlist" combine="interleave">
>     <attribute name="table:source-field-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-data-pilot-groups-attlist" combine="interleave">
>     <choice>
>         <attribute name="table:date-start">
>             <choice>
>                 <ref name="dateOrDateTime"/>
>                 <value>auto</value>
>             </choice>
>         </attribute>
>         <attribute name="table:start">
>             <choice>
>                 <ref name="double"/>
>                 <value>auto</value>
>             </choice>
>         </attribute>
>     </choice>
> </define>
> <define name="table-data-pilot-groups-attlist" combine="interleave">
>     <choice>
>         <attribute name="table:date-end">
>             <choice>
>                 <ref name="dateOrDateTime"/>
>                 <value>auto</value>
>             </choice>
>         </attribute>
>         <attribute name="table:end">
>             <choice>
>                 <ref name="double"/>
>                 <value>auto</value>
>             </choice>
>         </attribute>
>     </choice>
> </define>
> <define name="table-data-pilot-groups-attlist" combine="interleave">
>     <attribute name="table:step">
>         <ref name="double"/>
>     </attribute>
> </define>
> <define name="table-data-pilot-groups-attlist" combine="interleave">
>     <attribute name="table:grouped-by">
>         <choice>
>             <value>seconds</value>
>             <value>minutes</value>
>             <value>hours</value>
>             <value>days</value>
>             <value>months</value>
>             <value>quarters</value>
>             <value>years</value>
>         </choice>
>     </attribute>
> </define>
> <define name="table-data-pilot-group">
>     <element name="table:data-pilot-group">
>         <ref name="table-data-pilot-group-attlist"/>
>         <oneOrMore>
>             <ref name="table-data-pilot-group-member"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="table-data-pilot-group-attlist" combine="interleave">
>     <attribute name="table:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-data-pilot-group-member">
>     <element name="table:data-pilot-group-member">
>         <ref name="table-data-pilot-group-member-attlist"/>
>     </element>
> </define>
> <define name="table-data-pilot-group-member-attlist" 
combine="interleave">
>     <attribute name="table:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-consolidation">
>     <element name="table:consolidation">
>         <ref name="table-consolidation-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-consolidation-attlist" combine="interleave">
>     <attribute name="table:function"> 
>         <choice>
>             <value>auto</value>
>             <value>average</value>
>             <value>count</value>
>             <value>countnums</value>
>             <value>max</value>
>             <value>min</value>
>             <value>product</value>
>             <value>stdev</value>
>             <value>stdevp</value>
>             <value>sum</value>
>             <value>var</value>
>             <value>varp</value>
>             <ref name="string"/>
>         </choice>
>     </attribute>
> </define>
> <define name="table-consolidation-attlist" combine="interleave">
>     <attribute name="table:source-cell-range-addresses"> 
>         <ref name="cellRangeAddressList"/>
>     </attribute>
> </define>
> <define name="table-consolidation-attlist" combine="interleave">
>     <attribute name="table:target-cell-address"> 
>         <ref name="cellAddress"/>
>     </attribute>
> </define>
> <define name="table-consolidation-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:use-labels">
>             <choice>
>                 <value>none</value>
>                 <value>row</value>
>                 <value>column</value>
>                 <value>both</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="table-consolidation-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:link-to-source-data">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-dde-links">
>     <element name="table:dde-links">
>         <oneOrMore>
>             <ref name="table-dde-link"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="table-tracked-changes">
>     <element name="table:tracked-changes">
>         <ref name="table-tracked-changes-attlist"/>
>         <zeroOrMore>
>             <choice>
>                 <ref name="table-cell-content-change"/>
>                 <ref name="table-insertion"/>
>                 <ref name="table-deletion"/>
>                 <ref name="table-movement"/>
>             </choice>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="table-tracked-changes-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:track-changes">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-insertion">
>     <element name="table:insertion">
>         <ref name="table-insertion-attlist"/>
>         <ref name="common-table-change-attlist"/>
>         <ref name="office-change-info"/>
>         <optional>
>             <ref name="table-dependencies"/>
>         </optional>
>         <optional>
>             <ref name="table-deletions"/>
>         </optional>
>     </element>
> </define>
> <define name="table-insertion-attlist" combine="interleave">
>     <attribute name="table:type">
>         <choice>
>             <value>row</value>
>             <value>column</value>
>             <value>table</value>
>         </choice>
>     </attribute>
> </define>
> <define name="table-insertion-attlist" combine="interleave">
>     <attribute name="table:position">
>         <ref name="integer"/>
>     </attribute>
> </define>
> <define name="table-insertion-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:count">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-insertion-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:table">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-dependencies">
>     <element name="table:dependencies">
>         <oneOrMore>
>             <ref name="table-dependency"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="table-dependency">
>     <element name="table:dependency">
>         <attribute name="table:id">
>             <ref name="string"/>
>         </attribute>
>         <empty/>
>     </element>
> </define>
> <define name="table-deletions">
>     <element name="table:deletions">
>         <oneOrMore>
>             <choice>
>                 <ref name="table-cell-content-deletion"/>
>                 <ref name="table-change-deletion"/>
>             </choice>
>         </oneOrMore>
>     </element>
> </define>
> <define name="table-cell-content-deletion">
>     <element name="table:cell-content-deletion">
>         <optional>
>             <attribute name="table:id">
>                 <ref name="string"/>
>             </attribute>
>         </optional>
>         <optional>
>             <ref name="table-cell-address"/>
>         </optional>
>         <optional>
>             <ref name="table-change-track-table-cell"/>
>         </optional>
>     </element>
> </define>
> <define name="table-change-deletion">
>     <element name="table:change-deletion">
>         <optional>
>             <attribute name="table:id">
>                 <ref name="string"/>
>             </attribute>
>         </optional>
>         <empty/>
>     </element>
> </define>
> <define name="table-deletion">
>     <element name="table:deletion">
>         <ref name="table-deletion-attlist"/>
>         <ref name="common-table-change-attlist"/>
>         <ref name="office-change-info"/>
>         <optional>
>             <ref name="table-dependencies"/>
>         </optional>
>         <optional>
>             <ref name="table-deletions"/>
>         </optional>
>         <optional>
>             <ref name="table-cut-offs"/>
>         </optional>
>     </element>
> </define>
> <define name="table-deletion-attlist" combine="interleave">
>     <attribute name="table:type">
>         <choice>
>             <value>row</value>
>             <value>column</value>
>             <value>table</value>
>         </choice>
>     </attribute>
> </define>
> <define name="table-deletion-attlist" combine="interleave">
>     <attribute name="table:position">
>         <ref name="integer"/>
>     </attribute>
> </define>
> <define name="table-deletion-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:table">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-deletion-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:multi-deletion-spanned">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-cut-offs">
>     <element name="table:cut-offs">
>         <choice>
>             <oneOrMore>
>                 <ref name="table-movement-cut-off"/>
>             </oneOrMore>
>             <group>
>                 <ref name="table-insertion-cut-off"/>
>                 <zeroOrMore>
>                     <ref name="table-movement-cut-off"/>
>                 </zeroOrMore>
>             </group>
>         </choice>
>     </element>
> </define>
> <define name="table-insertion-cut-off">
>     <element name="table:insertion-cut-off">
>         <ref name="table-insertion-cut-off-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-insertion-cut-off-attlist" combine="interleave">
>     <attribute name="table:id">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-insertion-cut-off-attlist" combine="interleave">
>     <attribute name="table:position">
>         <ref name="integer"/>
>     </attribute>
> </define>
> <define name="table-movement-cut-off">
>     <element name="table:movement-cut-off">
>         <ref name="table-movement-cut-off-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-movement-cut-off-attlist" combine="interleave">
>     <choice>
>         <attribute name="table:position">
>             <ref name="integer"/>
>         </attribute>
>         <group>
>             <attribute name="table:start-position">
>                 <ref name="integer"/>
>             </attribute>
>             <attribute name="table:end-position">
>                 <ref name="integer"/>
>             </attribute>
>         </group>
>     </choice>
> </define>
> <define name="table-movement">
>     <element name="table:movement">
>         <ref name="common-table-change-attlist"/>
>         <ref name="table-source-range-address"/>
>         <ref name="table-target-range-address"/>
>         <ref name="office-change-info"/>
>         <optional>
>             <ref name="table-dependencies"/>
>         </optional>
>         <optional>
>             <ref name="table-deletions"/>
>         </optional>
>     </element>
> </define>
> <define name="table-source-range-address">
>     <element name="table:source-range-address">
>         <ref name="common-table-range-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> <define name="table-target-range-address">
>     <element name="table:target-range-address">
>         <ref name="common-table-range-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> 
> <define name="common-table-range-attlist" combine="interleave">
>     <choice>
>         <group>
>             <ref name="common-table-cell-address-attlist"/>
>         </group>
>         <group>
>             <ref name="common-table-cell-range-address-attlist"/>
>         </group>
>     </choice>
> </define>
> <define name="common-table-cell-address-attlist" combine="interleave">
>     <attribute name="table:column">
>         <ref name="integer"/>
>     </attribute>
>     <attribute name="table:row">
>         <ref name="integer"/>
>     </attribute>
>     <attribute name="table:table">
>         <ref name="integer"/>
>     </attribute>
> </define>
> <define name="common-table-cell-range-address-attlist" 
combine="interleave">
>     <attribute name="table:start-column">
>         <ref name="integer"/>
>     </attribute>
>     <attribute name="table:start-row">
>         <ref name="integer"/>
>     </attribute>
>     <attribute name="table:start-table">
>         <ref name="integer"/>
>     </attribute>
>     <attribute name="table:end-column">
>         <ref name="integer"/>
>     </attribute>
>     <attribute name="table:end-row">
>         <ref name="integer"/>
>     </attribute>
>     <attribute name="table:end-table">
>         <ref name="integer"/>
>     </attribute>
> </define>
> <define name="table-change-track-table-cell" combine="interleave">
>     <element name="table:change-track-table-cell">
>         <ref name="table-change-track-table-cell-attlist"/>
>         <zeroOrMore>
>             <ref name="text-p"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="table-change-track-table-cell-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="table:cell-address">
>             <ref name="cellAddress"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-change-track-table-cell-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="table:matrix-covered">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-change-track-table-cell-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="table:formula">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="table:number-matrix-columns-spanned">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="table:number-matrix-rows-spanned">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
>     <optional>
>         <ref name="common-value-and-type-attlist"/>
>     </optional>
> </define>
> <define name="table-cell-content-change">
>     <element name="table:cell-content-change">
>         <ref name="common-table-change-attlist"/>
>         <ref name="table-cell-address"/>
>         <ref name="office-change-info"/>
>         <optional>
>             <ref name="table-dependencies"/>
>         </optional>
>         <optional>
>             <ref name="table-deletions"/>
>         </optional>
>         <ref name="table-previous"/>
>     </element>
> </define>
> <define name="table-cell-address">
>     <element name="table:cell-address">
>         <ref name="common-table-cell-address-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="table-previous">
>     <element name="table:previous">
>         <optional>
>             <attribute name="table:id">
>                 <ref name="string"/>
>             </attribute>
>         </optional>
>         <ref name="table-change-track-table-cell"/>
>     </element>
> </define>
> <define name="common-table-change-attlist" combine="interleave">
>     <attribute name="table:id">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="common-table-change-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:acceptance-state">
>             <choice>
>                 <value>accepted</value>
>                 <value>rejected</value>
>                 <value>pending</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-table-change-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:rejecting-change-id">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-handout-master">
>     <element name="style:handout-master">
>         <ref name="common-presentation-header-footer-attlist"/>
>         <ref name="style-handout-master-attlist"/>
>         <zeroOrMore>
>             <ref name="shape"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="style-handout-master-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:presentation-page-layout-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-handout-master-attlist" combine="interleave">
>     <attribute name="style:page-layout-name">
>         <ref name="styleNameRef"/>
>     </attribute>
> </define>
> <define name="style-handout-master-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-layer-set">
>     <element name="draw:layer-set">
>         <zeroOrMore>
>             <ref name="draw-layer"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="draw-layer">
>     <element name="draw:layer">
>         <ref name="draw-layer-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>     </element>
> </define>
> <define name="draw-layer-attlist" combine="interleave">
>     <attribute name="draw:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="draw-layer-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:protected">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-layer-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:display">
>             <choice>
>                 <value>always</value>
>                 <value>screen</value>
>                 <value>printer</value>
>                 <value>none</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-page">
>     <element name="draw:page">
>         <ref name="common-presentation-header-footer-attlist"/>
>         <ref name="draw-page-attlist"/>
>       <optional>
>          <ref name="svg-title"/>
>       </optional>
>       <optional>
>          <ref name="svg-desc"/>
>       </optional>
>       <optional>
>          <ref name="draw-layer-set"/>
>       </optional> 
>         <optional>
>             <ref name="office-forms"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="shape"/>
>         </zeroOrMore>
>         <optional>
>             <choice>
>                 <ref name="presentation-animations"/>
>                 <ref name="animation-element"/>
>             </choice>
>         </optional>
>         <optional>
>             <ref name="presentation-notes"/>
>         </optional>
>     </element>
> </define>
> <define name="draw-page-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-page-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-page-attlist" combine="interleave">
>     <attribute name="draw:master-page-name">
>         <ref name="styleNameRef"/>
>     </attribute>
> </define>
> <define name="draw-page-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:presentation-page-layout-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-presentation-header-footer-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="presentation:use-header-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-presentation-header-footer-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="presentation:use-footer-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-presentation-header-footer-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="presentation:use-date-time-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-page-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:id">
>             <ref name="NCName"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-page-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:nav-order">
>             <ref name="IDREFS"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-page-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="shape">
>     <choice>
>         <ref name="shape-instance"/>
>         <ref name="draw-a"/>
>     </choice>
> </define>
> 
> <define name="shape-instance">
>     <choice>
>         <ref name="draw-rect"/>
>         <ref name="draw-line"/>
>         <ref name="draw-polyline"/>
>         <ref name="draw-polygon"/>
>         <ref name="draw-regular-polygon"/>
>         <ref name="draw-path"/>
>         <ref name="draw-circle"/>
>         <ref name="draw-ellipse"/>
>         <ref name="draw-g"/>
>         <ref name="draw-page-thumbnail"/>
>         <ref name="draw-frame"/>
>         <ref name="draw-measure"/>
>         <ref name="draw-caption"/>
>         <ref name="draw-connector"/>
>         <ref name="draw-control"/>
>         <ref name="dr3d-scene"/>
>         <ref name="draw-custom-shape"/>
>     </choice>
> </define>
> <define name="draw-rect">
>     <element name="draw:rect">
>         <ref name="draw-rect-attlist"/>
>         <ref name="common-draw-position-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>         <ref name="draw-text"/>
>     </element>
> </define>
> <define name="draw-rect-attlist" combine="interleave">
>     <choice>
>         <optional>
>             <attribute name="draw:corner-radius">
>                 <ref name="nonNegativeLength"/>
>             </attribute>
>         </optional>
>         <group>
>             <optional>
>                 <attribute name="svg:rx">
>                     <ref name="nonNegativeLength"/>
>                 </attribute>
>             </optional>
>             <optional>
>                 <attribute name="svg:ry">
>                     <ref name="nonNegativeLength"/>
>                 </attribute>
>             </optional>
>         </group>
>     </choice>
> </define>
> <define name="draw-line">
>     <element name="draw:line">
>         <ref name="draw-line-attlist"/>
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>         <ref name="draw-text"/>
>     </element>
> </define>
> <define name="draw-line-attlist" combine="interleave">
>     <attribute name="svg:x1">
>         <ref name="coordinate"/>
>     </attribute>
>     <attribute name="svg:y1">
>         <ref name="coordinate"/>
>     </attribute>
> </define>
> <define name="draw-line-attlist" combine="interleave">
>     <attribute name="svg:x2">
>         <ref name="coordinate"/>
>     </attribute>
>     <attribute name="svg:y2">
>         <ref name="coordinate"/>
>     </attribute>
> </define>
> <define name="draw-polyline">
>     <element name="draw:polyline">
>         <ref name="common-draw-points-attlist"/>
>         <ref name="common-draw-position-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="common-draw-viewbox-attlist"/>
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>         <ref name="draw-text"/>
>     </element>
> </define>
> <define name="common-draw-points-attlist">
>     <attribute name="draw:points">
>         <ref name="points"/>
>     </attribute>
> </define>
> <define name="draw-polygon">
>     <element name="draw:polygon">
>         <ref name="common-draw-points-attlist"/>
>         <ref name="common-draw-position-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="common-draw-viewbox-attlist"/>
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>         <ref name="draw-text"/>
>     </element>
> </define>
> <define name="draw-regular-polygon">
>     <element name="draw:regular-polygon">
>         <ref name="draw-regular-polygon-attlist"/>
>         <ref name="common-draw-position-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>         <ref name="draw-text"/>
>     </element>
> </define>
> <define name="draw-regular-polygon-attlist" combine="interleave">
>     <choice>
>         <attribute name="draw:concave">
>             <value>false</value>
>         </attribute>
>         <group>
>             <attribute name="draw:concave">
>                 <value>true</value>
>             </attribute>
>             <ref name="draw-regular-polygon-sharpness-attlist"/>
>         </group>
>     </choice>
> </define>
> <define name="draw-regular-polygon-attlist" combine="interleave">
>     <attribute name="draw:corners">
>         <ref name="positiveInteger"/>
>     </attribute>
> </define>
> <define name="draw-regular-polygon-sharpness-attlist">
>     <attribute name="draw:sharpness">
>         <ref name="percent"/>
>     </attribute>
> </define>
> <define name="draw-path">
>     <element name="draw:path">
>         <ref name="common-draw-path-data-attlist"/>
>         <ref name="common-draw-position-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="common-draw-viewbox-attlist"/>
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>         <ref name="draw-text"/>
>     </element>
> </define>
> <define name="common-draw-path-data-attlist">
>     <attribute name="svg:d">
>         <ref name="pathData"/>
>     </attribute>
> </define>
> <define name="draw-circle">
>     <element name="draw:circle">
>         <ref name="draw-circle-attlist"/>
>         <ref name="common-draw-circle-ellipse-attlist"/>
>         <ref name="common-draw-position-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>         <ref name="draw-text"/>
>     </element>
> </define>
> <define name="common-draw-circle-ellipse-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:cx">
>             <ref name="coordinate"/>
>         </attribute>
>         <attribute name="svg:cy">
>             <ref name="coordinate"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-circle-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:r">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-circle-ellipse-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:kind">
>             <choice>
>                 <value>full</value>
>                 <value>section</value>
>                 <value>cut</value>
>                 <value>arc</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-circle-ellipse-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:start-angle">
>             <ref name="angle"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-circle-ellipse-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:end-angle">
>             <ref name="angle"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-ellipse">
>     <element name="draw:ellipse">
>         <ref name="common-draw-circle-ellipse-attlist"/>
>         <ref name="draw-ellipse-attlist"/>
>         <ref name="common-draw-position-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>         <ref name="draw-text"/>
>     </element>
> </define>
> <define name="draw-ellipse-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:rx">
>             <ref name="length"/>
>         </attribute>
>         <attribute name="svg:ry">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-connector">
>     <element name="draw:connector">
>         <ref name="draw-connector-attlist"/>
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <ref name="common-draw-viewbox-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>         <ref name="draw-text"/>
>     </element>
> </define>
> <define name="draw-connector-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:type">
>             <choice>
>                 <value>standard</value>
>                 <value>lines</value>
>                 <value>line</value>
>                 <value>curve</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-connector-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:x1">
>             <ref name="coordinate"/>
>         </attribute>
>         <attribute name="svg:y1">
>             <ref name="coordinate"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-connector-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:start-shape">
>             <ref name="IDREF"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-connector-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:start-glue-point">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-connector-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:x2">
>             <ref name="coordinate"/>
>         </attribute>
>         <attribute name="svg:y2">
>             <ref name="coordinate"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-connector-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:end-shape">
>             <ref name="IDREF"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-connector-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:end-glue-point">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-connector-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:line-skew">
>             <list>
>                 <ref name="length"/>
>                 <optional>
>                     <ref name="length"/>
>                     <optional>
>                         <ref name="length"/>
>                     </optional>
>                 </optional>
>             </list>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-connector-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:d">
>             <ref name="pathData"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-caption">
>     <element name="draw:caption">
>         <ref name="draw-caption-attlist"/>
>         <ref name="common-draw-position-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>         <ref name="draw-text"/>
>     </element>
> </define>
> <define name="draw-caption-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:caption-point-x">
>             <ref name="coordinate"/>
>         </attribute>
>         <attribute name="draw:caption-point-y">
>             <ref name="coordinate"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-caption-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:corner-radius">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-measure">
>     <element name="draw:measure">
>         <ref name="draw-measure-attlist"/>
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>         <ref name="draw-text"/>
>     </element>
> </define>
> <define name="draw-measure-attlist" combine="interleave">
>     <attribute name="svg:x1">
>         <ref name="coordinate"/>
>     </attribute>
>     <attribute name="svg:y1">
>         <ref name="coordinate"/>
>     </attribute>
> </define>
> <define name="draw-measure-attlist" combine="interleave">
>     <attribute name="svg:x2">
>         <ref name="coordinate"/>
>     </attribute>
>     <attribute name="svg:y2">
>         <ref name="coordinate"/>
>     </attribute>
> </define>
> <define name="draw-control">
>     <element name="draw:control">
>         <ref name="draw-control-attlist"/>
>         <ref name="common-draw-position-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/> 
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="draw-control-attlist" combine="interleave">
>     <attribute name="draw:control">
>         <ref name="IDREF"/>
>     </attribute>
> </define>
> <define name="draw-page-thumbnail">
>     <element name="draw:page-thumbnail">
>         <ref name="draw-page-thumbnail-attlist"/>
>         <ref name="common-draw-position-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="presentation-shape-attlist"/>
>         <ref name="common-draw-shape-with-styles-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>     </element>
> </define>
> <define name="draw-page-thumbnail-attlist">
>     <optional>
>         <attribute name="draw:page-number">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-g">
>     <element name="draw:g">
>         <ref name="draw-g-attlist"/>
>         <ref name="common-draw-z-index-attlist"/>
>         <ref name="common-draw-name-attlist"/>
>         <ref name="common-draw-id-attlist"/>
>         <ref name="common-draw-style-name-attlist"/>
>         <ref name="common-text-spreadsheet-shape-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="shape"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="draw-g-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:y">
>             <ref name="coordinate"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-name-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-caption-id-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:caption-id">
>             <ref name="IDREF"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-position-attlist">
>     <optional>
>         <attribute name="svg:x">
>             <ref name="coordinate"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:y">
>             <ref name="coordinate"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-size-attlist">
>     <optional>
>         <attribute name="svg:width">
>             <ref name="length"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:height">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-transform-attlist">
>     <optional>
>         <attribute name="draw:transform">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-viewbox-attlist">
>     <attribute name="svg:viewBox">
>         <list>
>             <ref name="integer"/>
>             <ref name="integer"/>
>             <ref name="integer"/>
>             <ref name="integer"/>
>         </list>
>     </attribute>
> </define>
> <define name="common-draw-style-name-attlist">
>     <choice>
>         <group>
>             <optional>
>                 <attribute name="draw:style-name">
>                     <ref name="styleNameRef"/>
>                 </attribute>
>             </optional>
>             <optional>
>                 <attribute name="draw:class-names">
>                     <ref name="styleNameRefs"/>
>                 </attribute>
>             </optional>
>         </group>
>         <group>
>             <optional>
>                 <attribute name="presentation:style-name">
>                     <ref name="styleNameRef"/>
>                 </attribute>
>             </optional>
>             <optional>
>                 <attribute name="presentation:class-names">
>                     <ref name="styleNameRefs"/>
>                 </attribute>
>             </optional>
>         </group>
>     </choice>
> </define>
> <define name="common-draw-text-style-name-attlist">
>     <optional>
>         <attribute name="draw:text-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-layer-name-attlist">
>     <optional>
>         <attribute name="draw:layer">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-id-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:id">
>             <ref name="NCName"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-id-attlist" combine="interleave">
>     <optional>
>        <ref name="xml-id"/>
>     </optional>
> </define>
> <define name="common-draw-z-index-attlist">
>     <optional>
>         <attribute name="draw:z-index">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-text-spreadsheet-shape-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="table:end-cell-address">
>             <ref name="cellAddress"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="table:end-x">
>             <ref name="coordinate"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="table:end-y">
>             <ref name="coordinate"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-text-spreadsheet-shape-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="table:table-background">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-text-spreadsheet-shape-attlist" 
combine="interleave">
>     <ref name="common-text-anchor-attlist"/>
> </define>
> 
> <define name="common-text-anchor-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:anchor-type">
>             <choice>
>                 <value>page</value>
>                 <value>frame</value>
>                 <value>paragraph</value>
>                 <value>char</value>
>                 <value>as-char</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-text-anchor-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:anchor-page-number">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-text">
>     <zeroOrMore>
>         <choice>
>             <ref name="text-p"/>
>             <ref name="text-list"/>
>         </choice>
>     </zeroOrMore>
> </define>
> <define name="common-draw-shape-with-styles-attlist">
>     <ref name="common-draw-z-index-attlist"/>
>     <ref name="common-draw-id-attlist"/>
>     <ref name="common-draw-layer-name-attlist"/>
>     <ref name="common-draw-style-name-attlist"/>
>     <ref name="common-draw-transform-attlist"/>
>     <ref name="common-draw-name-attlist"/>
>     <ref name="common-text-spreadsheet-shape-attlist"/>
> </define>
> <define name="common-draw-shape-with-text-and-styles-attlist">
>     <ref name="common-draw-shape-with-styles-attlist"/>
>     <ref name="common-draw-text-style-name-attlist"/>
> </define>
> <define name="draw-glue-point">
>     <element name="draw:glue-point">
>         <ref name="draw-glue-point-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="draw-glue-point-attlist" combine="interleave">
>     <attribute name="draw:id">
>         <ref name="nonNegativeInteger"/>
>     </attribute>
> </define>
> <define name="draw-glue-point-attlist" combine="interleave">
>     <attribute name="svg:x">
>         <choice>
>             <ref name="distance"/>
>             <ref name="percent"/>
>         </choice>
>     </attribute>
>     <attribute name="svg:y">
>         <choice>
>             <ref name="distance"/>
>             <ref name="percent"/>
>         </choice>
>     </attribute>
> </define>
> <define name="draw-glue-point-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:align">
>             <choice>
>                 <value>top-left</value>
>                 <value>top</value>
>                 <value>top-right</value>
>                 <value>left</value>
>                 <value>center</value>
>                 <value>right</value>
>                 <value>bottom-left</value>
>                 <value>bottom-right</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-glue-point-attlist" combine="interleave">
> <!-- DRAFT7: the name of the defines was wrong -->
>     <attribute name="draw:escape-direction">
>         <choice>
>             <value>auto</value>
>             <value>left</value>
>             <value>right</value>
>             <value>up</value>
>             <value>down</value>
>             <value>horizontal</value>
>             <value>vertical</value>
>         </choice>
>     </attribute>
> </define>
> <define name="svg-title">
>     <element name="svg:title">
>         <text/>
>     </element>
> </define>
> <define name="svg-desc">
>     <element name="svg:desc">
>         <text/>
>     </element>
> </define>
> <define name="draw-frame">
>     <element name="draw:frame">
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
>         <ref name="common-draw-position-attlist"/>
>         <ref name="common-draw-rel-size-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <ref name="presentation-shape-attlist"/>
>         <ref name="draw-frame-attlist"/>
>         <zeroOrMore>
>             <choice>
>                 <ref name="draw-text-box"/>
>                 <ref name="draw-image"/>
>                 <ref name="draw-object"/>
>                 <ref name="draw-object-ole"/>
>                 <ref name="draw-applet"/>
>                 <ref name="draw-floating-frame"/>
>                 <ref name="draw-plugin"/>
>                 <ref name="table-table"/>
>             </choice>
>         </zeroOrMore>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>         <optional>
>             <ref name="draw-image-map"/>
>         </optional>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <choice>
>                 <ref name="draw-contour-polygon"/>
>                 <ref name="draw-contour-path"/>
>             </choice>
>         </optional>
>     </element>
> </define>
> <define name="common-draw-rel-size-attlist">
>     <ref name="common-draw-size-attlist"/>
>     <optional>
>         <attribute name="style:rel-width">
>             <choice>
>                 <ref name="percent"/>
>                 <value>scale</value>
>                 <value>scale-min</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:rel-height">
>             <choice>
>                 <ref name="percent"/>
>                 <value>scale</value>
>                 <value>scale-min</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-frame-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:copy-of">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-text-box">
>     <element name="draw:text-box">
>         <ref name="draw-text-box-attlist"/>
>         <zeroOrMore>
>             <ref name="text-content"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="draw-text-box-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:chain-next-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-text-box-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:corner-radius">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-text-box-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:min-height">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:min-width">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-text-box-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:max-height">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:max-width">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-text-box-attlist" combine="interleave">
>     <optional>
>       <attribute name="text:id">
>          <ref name="NCName"/>
>       </attribute>
>     </optional>
> </define>
> <define name="draw-text-box-attlist" combine="interleave">
>     <optional>
>        <ref name="xml-id"/>
>     </optional>
> </define>
> <define name="draw-image">
>     <element name="draw:image">
>         <ref name="draw-image-attlist"/>
>         <choice>
>             <ref name="common-draw-data-attlist"/>
>             <ref name="office-binary-data"/>
>         </choice>
>         <ref name="draw-text"/>
>     </element>
> </define>
> <define name="common-draw-data-attlist" combine="interleave">
>     <group>
>         <attribute name="xlink:href">
>             <ref name="anyURI"/>
>         </attribute>
>         <optional>
>             <attribute name="xlink:type">
>                 <choice>
>                     <value>simple</value>
>                 </choice>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="xlink:show">
>                 <choice>
>                     <value>embed</value>
>                 </choice>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="xlink:actuate">
>                 <choice>
>                     <value>onLoad</value>
>                 </choice>
>             </attribute>
>         </optional>
>     </group>
> </define>
> 
> <define name="office-binary-data">
>     <element name="office:binary-data">
>         <ref name="base64Binary"/>
>     </element>
> </define>
> <define name="draw-image-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:filter-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-image-attlist" combine="interleave">
>     <optional>
>        <ref name="xml-id"/>
>     </optional>
> </define>
> 
> <define name="draw-object">
>     <element name="draw:object">
>         <ref name="draw-object-attlist"/>
>         <choice>
>             <ref name="common-draw-data-attlist"/>
>             <ref name="office-document"/>
>             <ref name="math-math"/>
>         </choice>
>     </element>
> </define>
> 
> <define name="draw-object-ole">
>     <element name="draw:object-ole">
>         <ref name="draw-object-ole-attlist"/>
>         <choice>
>             <ref name="common-draw-data-attlist"/>
>             <ref name="office-binary-data"/>
>         </choice>
>     </element>
> </define>
> <define name="draw-object-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:notify-on-update-of-ranges">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-object-attlist" combine="interleave">
> <!-- DRAFT8: Added xml:id for consistency reasons -->
>     <optional>
>        <ref name="xml-id"/>
>     </optional>
> </define>
> <define name="draw-object-ole-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:class-id">
>          <ref name="string"/>
>       </attribute>
>     </optional>
> </define>
> <define name="draw-object-ole-attlist" combine="interleave">
> <!-- DRAFT8: Added xml:id for consistency reasons -->
>     <optional>
>        <ref name="xml-id"/>
>     </optional>
> </define>
> <define name="draw-applet">
>     <element name="draw:applet">
>         <ref name="draw-applet-attlist"/>
>         <optional>
>             <ref name="common-draw-data-attlist"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-param"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="draw-applet-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:code">
>          <ref name="string"/>
>       </attribute>
>     </optional>
> </define>
> <define name="draw-applet-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:object">
>          <ref name="string"/>
>       </attribute>
>     </optional>
> </define>
> <define name="draw-applet-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:archive">
>          <ref name="string"/>
>       </attribute>
>     </optional>
> </define>
> <define name="draw-applet-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:may-script">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-applet-attlist" combine="interleave">
> <!-- DRAFT8: Added xml:id for consistency reasons -->
>     <optional>
>        <ref name="xml-id"/>
>     </optional>
> </define>
> <define name="draw-plugin">
>     <element name="draw:plugin">
>         <ref name="draw-plugin-attlist"/>
>         <ref name="common-draw-data-attlist"/>
>         <zeroOrMore>
>             <ref name="draw-param"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="draw-plugin-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:mime-type">
>          <ref name="string"/>
>       </attribute>
>     </optional>
> </define>
> <define name="draw-plugin-attlist" combine="interleave">
> <!-- DRAFT8: Added xml:id for consistency reasons -->
>     <optional>
>        <ref name="xml-id"/>
>     </optional>
> </define>
> <define name="draw-param">
>     <element name="draw:param">
>         <ref name="draw-param-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="draw-param-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-param-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:value">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-floating-frame">
>     <element name="draw:floating-frame">
>         <ref name="draw-floating-frame-attlist"/>
>         <ref name="common-draw-data-attlist"/>
>     </element>
> </define>
> <define name="draw-floating-frame-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:frame-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-floating-frame-attlist" combine="interleave">
> <!-- DRAFT8: Added xml:id for consistency reasons -->
>     <optional>
>        <ref name="xml-id"/>
>     </optional>
> </define>
> <define name="draw-contour-polygon">
>     <element name="draw:contour-polygon">
>         <ref name="common-contour-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="common-draw-viewbox-attlist"/>
>         <ref name="common-draw-points-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> <define name="draw-contour-path">
>     <element name="draw:contour-path">
>         <ref name="common-contour-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="common-draw-viewbox-attlist"/>
>         <ref name="common-draw-path-data-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="common-contour-attlist" combine="interleave">
>     <attribute name="draw:recreate-on-edit">
>         <ref name="boolean"/>
>     </attribute>
> </define>
> <define name="draw-a">
>     <element name="draw:a">
>         <ref name="draw-a-attlist"/>
>         <ref name="shape-instance"/>
>     </element>
> </define>
> <define name="draw-a-attlist" combine="interleave">
>     <attribute name="xlink:href">
>         <ref name="anyURI"/>
>     </attribute>
>     <optional>
>         <attribute name="xlink:type">
>             <value>simple</value>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:actuate">
>             <choice>
>                 <value>onRequest</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-a-attlist" combine="interleave">
>     <optional>
>         <attribute name="office:target-frame-name">
>             <ref name="targetFrameName"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:show">
>             <choice>
>                 <value>new</value>
>                 <value>replace</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-a-attlist" combine="interleave">
>     <optional>
>         <attribute name="office:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-a-attlist" combine="interleave">
>     <optional>
>         <attribute name="office:title">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-a-attlist" combine="interleave">
>     <optional>
>         <attribute name="office:server-map">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-a-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="draw-image-map">
>     <element name="draw:image-map">
>         <zeroOrMore>
>             <choice>
>                 <ref name="draw-area-rectangle"/>
>                 <ref name="draw-area-circle"/>
>                 <ref name="draw-area-polygon"/>
>             </choice>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="draw-area-rectangle">
>     <element name="draw:area-rectangle">
>         <ref name="common-draw-area-attlist"/>
>         <attribute name="svg:x">
>             <ref name="coordinate"/>
>         </attribute>
>         <attribute name="svg:y">
>             <ref name="coordinate"/>
>         </attribute>
>         <attribute name="svg:width">
>             <ref name="length"/>
>         </attribute>
>         <attribute name="svg:height">
>             <ref name="length"/>
>         </attribute>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>     </element>
> </define>
> <define name="draw-area-circle">
>     <element name="draw:area-circle">
>         <ref name="common-draw-area-attlist"/>
>         <attribute name="svg:cx">
>             <ref name="coordinate"/>
>         </attribute>
>         <attribute name="svg:cy">
>             <ref name="coordinate"/>
>         </attribute>
>         <attribute name="svg:r">
>             <ref name="length"/>
>         </attribute>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>     </element>
> </define>
> <define name="draw-area-polygon">
>     <element name="draw:area-polygon">
>         <ref name="common-draw-area-attlist"/>
>         <attribute name="svg:x">
>             <ref name="coordinate"/>
>         </attribute>
>         <attribute name="svg:y">
>             <ref name="coordinate"/>
>         </attribute>
>         <attribute name="svg:width">
>             <ref name="length"/>
>         </attribute>
>         <attribute name="svg:height">
>             <ref name="length"/>
>         </attribute>
>         <ref name="common-draw-viewbox-attlist"/>
>         <ref name="common-draw-points-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>     </element>
> </define>
> <define name="common-draw-area-attlist" combine="interleave">
>     <optional>
>         <attribute name="xlink:href">
>             <ref name="anyURI"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:type">
>             <choice>
>                 <value>simple</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="office:target-frame-name">
>             <ref name="targetFrameName"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:show">
>             <choice>
>                 <value>new</value>
>                 <value>replace</value>
>             </choice>
>             </attribute>
>     </optional>
> </define>
> <define name="common-draw-area-attlist" combine="interleave">
>     <optional>
>         <attribute name="office:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-area-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:nohref">
>             <choice>
>                 <value>nohref</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="dr3d-scene">
>     <element name="dr3d:scene">
>         <ref name="dr3d-scene-attlist"/>
>         <ref name="common-draw-position-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="common-draw-style-name-attlist"/>
>         <ref name="common-draw-z-index-attlist"/>
>         <ref name="common-draw-id-attlist"/>
>         <ref name="common-draw-layer-name-attlist"/>
>         <ref name="common-text-spreadsheet-shape-attlist"/>
>         <ref name="common-dr3d-transform-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="dr3d-light"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="shapes3d"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>     </element>
> </define>
> 
> <define name="shapes3d">
>     <choice>
>         <ref name="dr3d-scene"/>
>         <ref name="dr3d-extrude"/>
>         <ref name="dr3d-sphere"/>
>         <ref name="dr3d-rotate"/>
>         <ref name="dr3d-cube"/>
>     </choice>
> </define>
> <define name="dr3d-scene-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:vrp">
>             <ref name="vector3D"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="dr3d:vpn">
>             <ref name="vector3D"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="dr3d:vup">
>             <ref name="vector3D"/>
>         </attribute>
>     </optional>
> </define>
> <define name="dr3d-scene-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:projection">
>             <choice>
>                 <value>parallel</value>
>                 <value>perspective</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="dr3d-scene-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:distance">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="dr3d-scene-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:focal-length">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="dr3d-scene-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:shadow-slant">
>             <ref name="angle"/>
>         </attribute>
>     </optional>
> </define>
> <define name="dr3d-scene-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:shade-mode">
>             <choice>
>                 <value>flat</value>
>                 <value>phong</value>
>                 <value>gouraud</value>
>                 <value>draft</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="dr3d-scene-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:ambient-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="dr3d-scene-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:lighting-mode">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-dr3d-transform-attlist">
>     <optional>
>         <attribute name="dr3d:transform">
>          <ref name="string"/>
>       </attribute>
>     </optional>
> </define>
> <define name="dr3d-light">
>     <element name="dr3d:light">
>         <ref name="dr3d-light-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="dr3d-light-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:diffuse-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="dr3d-light-attlist" combine="interleave">
>     <attribute name="dr3d:direction">
>         <ref name="vector3D"/>
>     </attribute>
> </define>
> <define name="dr3d-light-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:enabled">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="dr3d-light-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:specular">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="dr3d-cube">
>     <element name="dr3d:cube">
>         <ref name="dr3d-cube-attlist"/>
>         <ref name="common-draw-z-index-attlist"/>
>         <ref name="common-draw-id-attlist"/>
>         <ref name="common-draw-layer-name-attlist"/>
>         <ref name="common-draw-style-name-attlist"/>
>         <ref name="common-dr3d-transform-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="dr3d-cube-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:min-edge">
>             <ref name="vector3D"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="dr3d:max-edge">
>             <ref name="vector3D"/>
>         </attribute>
>     </optional>
> </define>
> <define name="dr3d-sphere">
>     <element name="dr3d:sphere">
>         <ref name="dr3d-sphere-attlist"/>
>         <ref name="common-draw-z-index-attlist"/>
>         <ref name="common-draw-id-attlist"/>
>         <ref name="common-draw-layer-name-attlist"/>
>         <ref name="common-draw-style-name-attlist"/>
>         <ref name="common-dr3d-transform-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="dr3d-sphere-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:center">
>             <ref name="vector3D"/>
>         </attribute>
>     </optional>
> </define>
> <define name="dr3d-sphere-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:size">
>             <ref name="vector3D"/>
>         </attribute>
>     </optional>
> </define>
> <define name="dr3d-extrude">
>     <element name="dr3d:extrude">
>         <ref name="common-draw-path-data-attlist"/>
>         <ref name="common-draw-viewbox-attlist"/>
>         <ref name="common-draw-id-attlist"/>
>         <ref name="common-draw-z-index-attlist"/>
>         <ref name="common-draw-layer-name-attlist"/>
>         <ref name="common-draw-style-name-attlist"/>
>         <ref name="common-dr3d-transform-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="dr3d-rotate">
>     <element name="dr3d:rotate">
>         <ref name="common-draw-viewbox-attlist"/>
>         <ref name="common-draw-path-data-attlist"/>
>         <ref name="common-draw-z-index-attlist"/>
>         <ref name="common-draw-id-attlist"/>
>         <ref name="common-draw-layer-name-attlist"/>
>         <ref name="common-draw-style-name-attlist"/>
>         <ref name="common-dr3d-transform-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="draw-custom-shape">
>     <element name="draw:custom-shape">
>         <ref name="draw-custom-shape-attlist"/>
>         <ref name="common-draw-position-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
>         <ref name="common-draw-caption-id-attlist"/>
>         <optional>
>             <ref name="svg-title"/>
>         </optional>
>         <optional>
>             <ref name="svg-desc"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="draw-glue-point"/>
>         </zeroOrMore>
>         <ref name="draw-text"/>
>         <optional>
>             <ref name="draw-enhanced-geometry"/>
>         </optional>
>     </element>
> </define>
> <define name="draw-custom-shape-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:engine">
>             <ref name="namespacedToken"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-custom-shape-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:data">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry">
>     <element name="draw:enhanced-geometry">
>         <ref name="draw-enhanced-geometry-attlist"/>
>         <zeroOrMore>
>             <ref name="draw-equation"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="draw-handle"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:type">
>             <ref name="custom-shape-type"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="custom-shape-type">
>     <choice>
>         <value>non-primitive</value>
>         <ref name="string"/>
>     </choice>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:viewBox">
>             <list>
>                 <ref name="integer"/>
>                 <ref name="integer"/>
>                 <ref name="integer"/>
>                 <ref name="integer"/>
>             </list>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:mirror-vertical">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:mirror-horizontal">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:text-rotate-angle">
>             <ref name="angle"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-allowed">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:text-path-allowed">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:concentric-gradient-fill-allowed"
>                    >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-brightness">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-depth">
>             <list>
>                 <ref name="length"/>
>                 <ref name="double"/>
>             </list>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-diffusion">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-number-of-line-segments"
>                   >
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-light-face">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-first-light-harsh"
>                   >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-second-light-harsh"
>                   >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-first-light-level"
>                   >
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-second-light-level"
>                   >
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-first-light-direction"
>                   >
>             <ref name="vector3D"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-second-light-direction"
>                   >
>             <ref name="vector3D"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-metal">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:shade-mode">
>             <choice>
>                 <value>flat</value>
>                 <value>phong</value>
>                 <value>gouraud</value>
>                 <value>draft</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-rotation-angle">
>             <list>
>                <ref name="angle"/>
>                <ref name="angle"/>
>             </list>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-rotation-center">
>             <ref name="vector3D"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-shininess">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-skew">
>             <list>
>                <ref name="double"/>
>                <ref name="angle"/>
>             </list>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-specularity">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:projection">
>             <choice>
>                 <value>parallel</value>
>                 <value>perspective</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-viewpoint"
>                   >
>             <ref name="point3D"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="point3D">
>     <data type="string">
>         <param name="pattern">\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)
> ((cm)|(mm)|(in)|(pt)|(pc))([ ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|
> (mm)|(in)|(pt)|(pc))){2}[ ]*\)</param>
> 
> 
>     </data>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-origin">
>             <list>
>                 <ref name="extrusionOrigin"/>
>                 <ref name="extrusionOrigin"/>
>             </list>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="extrusionOrigin">
>     <data type="double">
>         <param name="minInclusive">-0.5</param>
>         <param name="maxInclusive">0.5</param>
>     </data>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:extrusion-color">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:enhanced-path">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:path-stretchpoint-x">
>             <ref name="double"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:path-stretchpoint-y">
>             <ref name="double"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:text-areas">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:glue-points">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:glue-point-type">
>             <choice>
>                 <value>none</value>
>                 <value>segments</value>
>                 <value>rectangle</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:glue-point-leaving-directions">
>          <ref name="string"/>
>       </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:text-path">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:text-path-mode">
>             <choice>
>                 <value>normal</value>
>                 <value>path</value>
>                 <value>shape</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:text-path-scale">
>             <choice>
>                 <value>path</value>
>                 <value>shape</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:text-path-same-letter-heights"
>                   >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-enhanced-geometry-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:modifiers">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-equation">
>     <element name="draw:equation">
>         <ref name="draw-equation-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="draw-equation-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-equation-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:formula">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-handle">
>     <element name="draw:handle">
>         <ref name="draw-handle-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="draw-handle-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:handle-mirror-vertical">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-handle-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:handle-mirror-horizontal">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-handle-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:handle-switched">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-handle-attlist" combine="interleave">
>     <attribute name="draw:handle-position">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="draw-handle-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:handle-range-x-minimum">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-handle-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:handle-range-x-maximum">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-handle-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:handle-range-y-minimum">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-handle-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:handle-range-y-maximum">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-handle-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:handle-polar">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-handle-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:handle-radius-range-minimum">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-handle-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:handle-radius-range-maximum">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-shape-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:class">
>             <ref name="presentation-classes"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-classes">
>     <choice>
>         <value>title</value>
>         <value>outline</value>
>         <value>subtitle</value>
>         <value>text</value>
>         <value>graphic</value>
>         <value>object</value>
>         <value>chart</value>
>         <value>table</value>
>         <value>orgchart</value>
>         <value>page</value>
>         <value>notes</value>
>         <value>handout</value>
>         <value>header</value>
>         <value>footer</value>
>         <value>date-time</value>
>         <value>page-number</value>
>     </choice>
> </define>
> <define name="presentation-shape-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:placeholder">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-shape-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:user-transformed">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-animations">
>     <element name="presentation:animations">
>         <zeroOrMore>
>             <choice>
>                 <ref name="presentation-animation-elements"/>
>                 <ref name="presentation-animation-group"/>
>             </choice>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="presentation-animation-elements">
>     <choice>
>         <ref name="presentation-show-shape"/>
>         <ref name="presentation-show-text"/>
>         <ref name="presentation-hide-shape"/>
>         <ref name="presentation-hide-text"/>
>         <ref name="presentation-dim"/>
>         <ref name="presentation-play"/>
>     </choice>
> </define>
> <define name="presentation-sound">
>     <element name="presentation:sound">
>         <ref name="presentation-sound-attlist"/>
>         <attribute name="xlink:href">
>             <ref name="anyURI"/>
>         </attribute>
>         <optional>
>             <attribute name="xlink:type">
>                 <choice>
>                     <value>simple</value>
>                 </choice>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="xlink:actuate">
>                 <choice>
>                     <value>onRequest</value>
>                 </choice>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="xlink:show">
>                 <choice>
>                     <value>new</value>
>                     <value>replace</value>
>                 </choice>
>             </attribute>
>         </optional>
>         <empty/>
>     </element>
> </define>
> <define name="presentation-sound-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:play-full">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-sound-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="presentation-show-shape">
>     <element name="presentation:show-shape">
>         <ref name="common-presentation-effect-attlist"/>
>         <optional>
>             <ref name="presentation-sound"/>
>         </optional>
>     </element>
> </define>
> <define name="common-presentation-effect-attlist" combine="interleave">
>     <attribute name="draw:shape-id">
>         <ref name="IDREF"/>
>     </attribute>
> </define>
> <define name="common-presentation-effect-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:effect">
>             <ref name="presentationEffects"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentationEffects">
>     <choice>
>         <value>none</value>
>         <value>fade</value>
>         <value>move</value>
>         <value>stripes</value>
>         <value>open</value>
>         <value>close</value>
>         <value>dissolve</value>
>         <value>wavyline</value>
>         <value>random</value>
>         <value>lines</value>
>         <value>laser</value>
>         <value>appear</value>
>         <value>hide</value>
>         <value>move-short</value>
>         <value>checkerboard</value>
>         <value>rotate</value>
>         <value>stretch</value>
>     </choice>
> </define>
> <define name="common-presentation-effect-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:direction">
>             <ref name="presentationEffectDirections"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentationEffectDirections">
>     <choice>
>         <value>none</value>
>         <value>from-left</value>
>         <value>from-top</value>
>         <value>from-right</value>
>         <value>from-bottom</value>
>         <value>from-center</value>
>         <value>from-upper-left</value>
>         <value>from-upper-right</value>
>         <value>from-lower-left</value>
>         <value>from-lower-right</value>
>         <value>to-left</value>
>         <value>to-top</value>
>         <value>to-right</value>
>         <value>to-bottom</value>
>         <value>to-upper-left</value>
>         <value>to-upper-right</value>
>         <value>to-lower-right</value>
>         <value>to-lower-left</value>
>         <value>path</value>
>         <value>spiral-inward-left</value>
>         <value>spiral-inward-right</value>
>         <value>spiral-outward-left</value>
>         <value>spiral-outward-right</value>
>         <value>vertical</value>
>         <value>horizontal</value>
>         <value>to-center</value>
>         <value>clockwise</value>
>         <value>counter-clockwise</value>
>     </choice>
> </define>
> <define name="common-presentation-effect-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:speed">
>             <ref name="presentationSpeeds"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentationSpeeds">
>     <choice>
>         <value>slow</value>
>         <value>medium</value>
>         <value>fast</value>
>     </choice>
> </define>
> <define name="common-presentation-effect-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:delay">
>             <ref name="duration"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-presentation-effect-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:start-scale">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-presentation-effect-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:path-id">
>          <ref name="string"/>
>       </attribute>
>     </optional>
> </define>
> <define name="presentation-show-text">
>     <element name="presentation:show-text">
>         <ref name="common-presentation-effect-attlist"/>
>         <optional>
>             <ref name="presentation-sound"/>
>         </optional>
>     </element>
> </define>
> <define name="presentation-hide-shape">
>     <element name="presentation:hide-shape">
>         <ref name="common-presentation-effect-attlist"/>
>         <optional>
>             <ref name="presentation-sound"/>
>         </optional>
>     </element>
> </define>
> <define name="presentation-hide-text">
>     <element name="presentation:hide-text">
>         <ref name="common-presentation-effect-attlist"/>
>         <optional>
>             <ref name="presentation-sound"/>
>         </optional>
>     </element>
> </define>
> <define name="presentation-dim">
>     <element name="presentation:dim">
>         <ref name="presentation-dim-attlist"/>
>         <optional>
>             <ref name="presentation-sound"/>
>         </optional>
>     </element>
> </define>
> <define name="presentation-dim-attlist" combine="interleave">
>     <attribute name="draw:shape-id">
>         <ref name="IDREF"/>
>     </attribute>
> </define>
> <define name="presentation-dim-attlist" combine="interleave">
>     <attribute name="draw:color">
>         <ref name="color"/>
>     </attribute>
> </define>
> <define name="presentation-play">
>     <element name="presentation:play">
>         <ref name="presentation-play-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="presentation-play-attlist" combine="interleave">
>     <attribute name="draw:shape-id">
>         <ref name="IDREF"/>
>     </attribute>
>     <optional>
>         <attribute name="presentation:speed">
>             <ref name="presentationSpeeds"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-animation-group">
>     <element name="presentation:animation-group">
>         <zeroOrMore>
>             <ref name="presentation-animation-elements"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="common-anim-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:node-type">
>             <choice>
>                 <value>default</value>
>                 <value>on-click</value>
>                 <value>with-previous</value>
>                 <value>after-previous</value>
>                 <value>timing-root</value>
>                 <value>main-sequence</value>
>                 <value>interactive-sequence</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-anim-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:preset-id">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-anim-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:preset-sub-type">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-anim-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:preset-class">
>             <choice>
>                 <value>custom</value>
>                 <value>entrance</value>
>                 <value>exit</value>
>                 <value>emphasis</value>
>                 <value>motion-path</value>
>                 <value>ole-action</value>
>                 <value>media-call</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-anim-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:master-element">
>             <ref name="IDREF"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-anim-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:group-id">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-event-listener">
>     <element name="presentation:event-listener">
>         <ref name="presentation-event-listener-attlist"/>
>         <optional>
>             <ref name="presentation-sound"/>
>         </optional>
>     </element>
> </define>
> <define name="presentation-event-listener-attlist" combine="interleave">
>     <attribute name="script:event-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="presentation-event-listener-attlist" combine="interleave">
>     <attribute name="presentation:action">
>         <choice>
>             <value>none</value>
>             <value>previous-page</value>
>             <value>next-page</value>
>             <value>first-page</value>
>             <value>last-page</value>
>             <value>hide</value>
>             <value>stop</value>
>             <value>execute</value>
>             <value>show</value>
>             <value>verb</value>
>             <value>fade-out</value>
>             <value>sound</value>
>             <value>last-visited-page</value>
>         </choice>
>     </attribute>
> </define>
> <define name="presentation-event-listener-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:effect">
>             <ref name="presentationEffects"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-event-listener-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:direction">
>             <ref name="presentationEffectDirections"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-event-listener-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:speed">
>             <ref name="presentationSpeeds"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-event-listener-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:start-scale">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-event-listener-attlist" combine="interleave">
>     <optional>
>         <attribute name="xlink:href">
>             <ref name="anyURI"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:type">
>             <choice>
>                 <value>simple</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:show">
>             <choice>
>                 <value>embed</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:actuate">
>             <choice>
>                 <value>onRequest</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-event-listener-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:verb">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="presentation:header">
>         <empty/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="presentation:footer">
>         <empty/>
>     </element>
> </define>
> <define name="paragraph-content" combine="choice">
>     <element name="presentation:date-time">
>         <empty/>
>     </element>
> </define>
> <define name="presentation-decls">
>     <zeroOrMore>
>         <ref name="presentation-decl"/>
>     </zeroOrMore>
> </define>
> <define name="presentation-decl" combine="choice">
>     <element name="presentation:header-decl">
>         <ref name="presentation-header-decl-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="presentation-header-decl-attlist" combine="interleave">
>     <attribute name="presentation:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="presentation-decl" combine="choice">
>     <element name="presentation:footer-decl">
>         <ref name="presentation-footer-decl-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="presentation-footer-decl-attlist" combine="interleave">
>     <attribute name="presentation:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="presentation-decl" combine="choice">
>     <element name="presentation:date-time-decl">
>         <ref name="presentation-date-time-decl-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="presentation-date-time-decl-attlist" combine="interleave">
>     <attribute name="presentation:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="presentation-date-time-decl-attlist" combine="interleave">
>     <attribute name="presentation:source">
>         <choice>
>             <value>fixed</value>
>             <value>current-date</value>
>         </choice>
>     </attribute>
> </define>
> <define name="presentation-date-time-decl-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:data-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-settings">
>     <optional>
>         <element name="presentation:settings">
>             <ref name="presentation-settings-attlist"/>
>             <zeroOrMore>
>                 <ref name="presentation-show"/>
>             </zeroOrMore>
>         </element>
>     </optional>
> </define>
> <define name="presentation-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:start-page">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:show">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:full-screen">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:endless">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:pause">
>             <ref name="duration"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:show-logo">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:force-manual">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:mouse-visible">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:mouse-as-pen">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:start-with-navigator"
>                   >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:animations">
>             <choice>
>                 <value>enabled</value>
>                 <value>disabled</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:transition-on-click"
>                   >
>             <choice>
>                 <value>enabled</value>
>                 <value>disabled</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:stay-on-top">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="presentation:show-end-of-presentation-slide"
>                   >
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-show">
>     <element name="presentation:show">
>         <ref name="presentation-show-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="presentation-show-attlist" combine="interleave">
>     <attribute name="presentation:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="presentation-show-attlist" combine="interleave">
>     <attribute name="presentation:pages">
>       <ref name="string"/>
>    </attribute>
> </define>
> <define name="chart-chart">
>     <element name="chart:chart">
>         <ref name="chart-chart-attlist"/>
>         <optional>
>             <ref name="chart-title"/>
>         </optional>
>         <optional>
>             <ref name="chart-subtitle"/>
>         </optional>
>         <optional>
>             <ref name="chart-footer"/>
>         </optional>
>         <optional>
>             <ref name="chart-legend"/>
>         </optional>
>         <ref name="chart-plot-area"/>
>         <optional>
>             <ref name="table-table"/>
>         </optional>
>     </element>
> </define>
> <define name="chart-chart-attlist" combine="interleave">
>     <attribute name="chart:class">
>         <ref name="namespacedToken"/>
>     </attribute>
> </define>
> <define name="chart-chart-attlist" combine="interleave">
>     <ref name="common-draw-size-attlist"/>
> </define>
> <define name="chart-chart-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:column-mapping">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-chart-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:row-mapping">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-chart-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-chart-attlist" combine="interleave">
>      <optional>
>          <group>
>              <attribute name="xlink:href">
>                  <ref name="anyURI"/>
>              </attribute>
>              <attribute name="xlink:type">
>                  <value>simple</value>
>              </attribute>
>          </group>
>      </optional>
> </define>
> <define name="chart-chart-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="chart-title">
>     <element name="chart:title">
>         <ref name="chart-title-attlist"/>
>         <optional>
>             <ref name="text-p"/>
>         </optional>
>     </element>
> </define>
> <define name="chart-title-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:cell-range">
>             <ref name="cellRangeAddressList"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-title-attlist" combine="interleave">
>     <ref name="common-draw-position-attlist"/>
> </define>
> <define name="chart-title-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-subtitle">
>     <element name="chart:subtitle">
>         <ref name="chart-title-attlist"/>
>         <optional>
>             <ref name="text-p"/>
>         </optional>
>     </element>
> </define>
> <define name="chart-footer">
>     <element name="chart:footer">
>         <ref name="chart-title-attlist"/>
>         <optional>
>             <ref name="text-p"/>
>         </optional>
>     </element>
> </define>
> <define name="chart-legend">
>     <element name="chart:legend">
>         <ref name="chart-legend-attlist"/>
>       <optional>
>          <ref name="text-p"/>
>       </optional>
>     </element>
> </define>
> <define name="chart-legend-attlist" combine="interleave">
>     <choice>
>         <group>
>             <attribute name="chart:legend-position">
>                 <choice>
>                     <value>start</value>
>                     <value>end</value>
>                     <value>top</value>
>                     <value>bottom</value>
>                 </choice>
>             </attribute>
>             <optional>
>                 <attribute name="chart:legend-align">
>                     <choice>
>                         <value>start</value>
>                         <value>center</value>
>                         <value>end</value>
>                     </choice>
>                 </attribute>
>             </optional>
>         </group>
>         <attribute name="chart:legend-position">
>             <choice>
>                 <value>top-start</value>
>                 <value>bottom-start</value>
>                 <value>top-end</value>
>                 <value>bottom-end</value>
>             </choice>
>         </attribute>
>         <empty/>
>     </choice>
> </define>
> <define name="chart-legend-attlist" combine="interleave">
>     <ref name="common-draw-position-attlist"/>
> </define>
> <define name="chart-legend-attlist" combine="interleave">
>     <choice>
>         <attribute name="style:legend-expansion">
>             <choice>
>                 <value>wide</value>
>                 <value>high</value>
>                 <value>balanced</value>
>             </choice>
>         </attribute>
>         <group>
>             <attribute name="style:legend-expansion">
>                 <value>custom</value>
>             </attribute>
>             <attribute name="style:legend-expansion-aspect-ratio">
>                 <ref name="double"/>
>             </attribute>
>         </group>
>         <empty/>
>     </choice>
> </define>
> <define name="chart-legend-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-plot-area">
>     <element name="chart:plot-area">
>         <ref name="chart-plot-area-attlist"/>
>         <zeroOrMore>
>             <ref name="dr3d-light"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="chart-axis"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="chart-series"/>
>         </zeroOrMore>
>         <optional>
>             <ref name="chart-stock-gain-marker"/>
>         </optional>
>         <optional>
>             <ref name="chart-stock-loss-marker"/>
>         </optional>
>         <optional>
>             <ref name="chart-stock-range-line"/>
>         </optional>
>         <optional>
>             <ref name="chart-wall"/>
>         </optional>
>         <optional>
>             <ref name="chart-floor"/>
>         </optional>
>     </element>
> </define>
> <define name="chart-plot-area-attlist" combine="interleave">
>     <ref name="common-draw-position-attlist"/>
>     <ref name="common-draw-size-attlist"/>
> </define>
> <define name="chart-plot-area-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-plot-area-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:cell-range-address">
>             <ref name="cellRangeAddressList"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-plot-area-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:data-source-has-labels">
>             <choice>
>                 <value>none</value>
>                 <value>row</value>
>                 <value>column</value>
>                 <value>both</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-plot-area-attlist" combine="interleave">
>     <ref name="dr3d-scene-attlist"/>
>     <ref name="common-dr3d-transform-attlist"/>
> </define>
> <define name="chart-plot-area-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="chart-wall">
>     <element name="chart:wall">
>         <ref name="chart-wall-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="chart-wall-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:width">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-wall-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-floor">
>     <element name="chart:floor">
>         <ref name="chart-floor-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="chart-floor-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:width">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-floor-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-axis">
>     <element name="chart:axis">
>         <ref name="chart-axis-attlist"/>
>         <optional>
>             <ref name="chart-title"/>
>         </optional>
>         <optional>
>             <ref name="chart-categories"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="chart-grid"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="chart-axis-attlist" combine="interleave">
>     <attribute name="chart:dimension">
>       <ref name="chart-dimension"/>
>     </attribute>
> </define>
> <define name="chart-dimension">
>     <choice>
>         <value>x</value>
>         <value>y</value>
>         <value>z</value>
>     </choice>
> </define>
> <define name="chart-axis-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-axis-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-categories">
>     <element name="chart:categories">
>     <optional>
>         <attribute name="table:cell-range-address">
>             <ref name="cellRangeAddressList"/>
>         </attribute>
>     </optional>
>     </element>
> </define>
> <define name="chart-grid">
>     <element name="chart:grid">
>         <ref name="chart-grid-attlist"/>
>     </element>
> </define>
> <define name="chart-grid-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:class">
>             <choice>
>                 <value>major</value>
>                 <value>minor</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-grid-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-series">
>     <element name="chart:series">
>         <ref name="chart-series-attlist"/>
>         <zeroOrMore>
>             <ref name="chart-domain"/>
>         </zeroOrMore>
>         <optional>
>             <ref name="chart-mean-value"/>
>         </optional>
>         <optional>
>             <ref name="chart-regression-curve"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="chart-error-indicator"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="chart-data-point"/>
>         </zeroOrMore>
>       <optional>
>          <ref name="chart-data-label"/>
>       </optional>
>     </element>
> </define>
> <define name="chart-series-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:values-cell-range-address">
>             <ref name="cellRangeAddressList"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-series-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:label-cell-address">
>             <ref name="cellRangeAddressList"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-series-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:class">
>             <ref name="namespacedToken"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-series-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:attached-axis">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-series-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-series-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="chart-domain">
>     <element name="chart:domain">
>         <optional>
>             <attribute name="table:cell-range-address">
>                 <ref name="cellRangeAddressList"/>
>             </attribute>
>         </optional>
>     </element>
> </define>
> <define name="chart-data-point">
>     <element name="chart:data-point">
>         <ref name="chart-data-point-attlist"/>
>       <optional>
>          <ref name="chart-data-label"/>
>       </optional>
>     </element>
> </define>
> <define name="chart-data-point-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:repeated">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-data-point-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-data-point-attlist" combine="interleave">
>    <optional>
>        <ref name="xml-id"/>
>    </optional>
> </define>
> <define name="chart-data-label">
>    <element name="chart:data-label">
>       <ref name="chart-data-label-attlist"/>
>       <optional>
>          <ref name="text-p"/>
>       </optional>
>    </element>
> </define>
> <define name="chart-data-label-attlist" combine="interleave">
>    <ref name="common-draw-position-attlist"/>
> </define>
> <define name="chart-data-label-attlist" combine="interleave">
>    <optional>
>       <attribute name="chart:style-name">
>          <ref name="styleNameRef"/>
>       </attribute>
>    </optional>
> </define>
> <define name="chart-mean-value">
>     <element name="chart:mean-value">
>         <ref name="chart-mean-value-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="chart-mean-value-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-error-indicator">
>     <element name="chart:error-indicator">
>         <ref name="chart-error-indicator-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="chart-error-indicator-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-error-indicator-attlist" combine="interleave">
>    <attribute name="chart:dimension">
>       <ref name="chart-dimension"/>
>    </attribute>
> </define>
> <define name="chart-error-indicator-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:error-lower-range">
>             <ref name="cellRangeAddress"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:error-upper-range">
>             <ref name="cellRangeAddress"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-regression-curve">
>     <element name="chart:regression-curve">
>         <ref name="chart-regression-curve-attlist"/>
>         <optional>
>             <ref name="chart-equation"/>
>         </optional>
>     </element>
> </define>
> <define name="chart-regression-curve-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-equation">
>     <element name="chart:equation">
>         <ref name="chart-equation-attlist"/>
>         <optional>
>             <ref name="text-p"/>
>         </optional>
>     </element>
> </define>
> <define name="chart-equation-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:automatic-content">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-equation-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:display-r-square">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-equation-attlist" combine="interleave">
>    <optional>
>       <attribute name="chart:display-equation">
>          <ref name="boolean"/>
>       </attribute>
>    </optional>
> </define>
> <define name="chart-equation-attlist" combine="interleave">
>     <ref name="common-draw-position-attlist"/>
> </define>
> <define name="chart-equation-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="chart-stock-gain-marker">
>     <element name="chart:stock-gain-marker">
>         <ref name="common-stock-marker-attlist"/>
>     </element>
> </define>
> <define name="chart-stock-loss-marker">
>     <element name="chart:stock-loss-marker">
>         <ref name="common-stock-marker-attlist"/>
>     </element>
> </define>
> <define name="chart-stock-range-line">
>     <element name="chart:stock-range-line">
>         <ref name="common-stock-marker-attlist"/>
>     </element>
> </define>
> <define name="common-stock-marker-attlist">
>     <optional>
>         <attribute name="chart:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="office-database">
>     <element name="office:database">
>         <ref name="db-data-source"/>
>         <optional>
>             <ref name="db-forms"/>
>         </optional>
>         <optional>
>             <ref name="db-reports"/>
>         </optional>
>         <optional>
>             <ref name="db-queries"/>
>         </optional>
>         <optional>
>             <ref name="db-table-presentations"/>
>         </optional>
>         <optional>
>             <ref name="db-schema-definition"/>
>         </optional>
>     </element>
> </define>
> <define name="db-data-source">
>     <element name="db:data-source">
>         <ref name="db-data-source-attlist"/>
>         <ref name="db-connection-data"/>
>         <optional>
>             <ref name="db-driver-settings"/>
>         </optional>
>         <optional>
>             <ref name="db-application-connection-settings"/>
>         </optional>
>     </element>
> </define>
> <define name="db-data-source-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-connection-data">
>     <element name="db:connection-data">
>         <ref name="db-connection-data-attlist"/>
>         <choice>
>             <ref name="db-database-description"/>
>             <ref name="db-connection-resource"/>
>             <ref name="db-compound-database"/>
>         </choice>
>         <optional>
>             <ref name="db-login"/>
>         </optional>
>     </element>
> </define>
> <define name="db-connection-data-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-database-description">
>     <element name="db:database-description">
>         <ref name="db-database-description-attlist"/>
>         <choice>
>             <ref name="db-file-based-database"/>
>             <ref name="db-server-database"/>
>         </choice>
>     </element>
> </define>
> <define name="db-database-description-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-file-based-database">
>     <element name="db:file-based-database">
>         <ref name="db-file-based-database-attlist"/>
>     </element>
> </define>
> <define name="db-file-based-database-attlist" combine="interleave">
>     <attribute name="xlink:href">
>         <ref name="anyURI"/>
>     </attribute>
>     <optional>
>         <attribute name="xlink:type">
>             <choice>
>                 <value>simple</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="db-file-based-database-attlist" combine="interleave">
>     <attribute name="db:media-type">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="db-file-based-database-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:extension">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-server-database">
>     <element name="db:server-database">
>         <ref name="db-server-database-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="db-server-database-attlist" combine="interleave">
>     <attribute name="db:type">
>         <ref name="namespacedToken"/>
>     </attribute>
> </define>
> <define name="db-server-database-attlist" combine="interleave">
>     <choice>
>         <ref name="db-host-and-port"/>
>         <ref name="db-local-socket-name"/>
>     </choice>
> </define>
> <define name="db-host-and-port">
>     <attribute name="db:hostname">
>         <ref name="string"/>
>     </attribute>
>     <optional>
>         <attribute name="db:port">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-local-socket-name">
>     <optional>
>         <attribute name="db:local-socket">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-server-database-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:database-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-connection-resource">
>     <element name="db:connection-resource">
>         <ref name="db-connection-resource-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="db-connection-resource-attlist" combine="interleave">
>     <attribute name="xlink:href">
>         <ref name="anyURI"/>
>     </attribute>
>     <optional>
>         <attribute name="xlink:type">
>             <choice>
>                 <value>simple</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:show">
>             <choice>
>                 <value>none</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:actuate">
>             <choice>
>                 <value>onRequest</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="db-compound-database">
>     <element name="db:compound-database">
>         <ref name="db-compound-database-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="db-compound-database-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-login">
>     <element name="db:login">
>         <ref name="db-login-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="db-login-attlist" combine="interleave">
>     <optional>
>         <choice>
>             <attribute name="db:user-name">
>                 <ref name="string"/>
>             </attribute>
>             <attribute name="db:use-system-user">
>                 <ref name="boolean"/>
>             </attribute>
>         </choice>
>     </optional>
> </define>
> <define name="db-login-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:is-password-required">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-login-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:login-timeout">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-driver-settings">
>     <element name="db:driver-settings">
>         <ref name="db-driver-settings-attlist"/>
>         <optional>
>             <ref name="db-java-classpath"/>
>         </optional>
>         <optional>
>             <ref name="db-auto-increment"/>
>         </optional>
>         <optional>
>             <ref name="db-delimiter"/>
>         </optional>
>         <optional>
>             <ref name="db-character-set"/>
>         </optional>
>         <optional>
>             <ref name="db-table-settings"/>
>         </optional>
>     </element>
> </define>
> <define name="db-driver-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:java-driver-class">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-driver-settings-attlist" combine="interleave">
>     <ref name="db-show-deleted"/>
> </define>
> <define name="db-show-deleted">
>     <optional>
>         <attribute name="db:show-deleted">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-driver-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:system-driver-settings">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-driver-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:base-dn">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-driver-settings-attlist" combine="interleave">
>     <ref name="db-is-first-row-header-line"/>
> </define>
> <define name="db-is-first-row-header-line">
>     <optional>
>         <attribute name="db:is-first-row-header-line">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-driver-settings-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:parameter-name-substitution">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-java-classpath">
>     <oneOrMore>
>         <element name="db:java-classpath">
>             <attribute name="xlink:href">
>                 <ref name="anyURI"/>
>             </attribute>
>             <optional>
>         <attribute name="xlink:type">
>             <value>simple</value>
>         </attribute>
>         </optional> 
>             <optional>
>                 <attribute name="xlink:show">
>                     <choice>
>                         <value>none</value>
>                     </choice>
>                 </attribute>
>             </optional>
>             <optional>
>                 <attribute name="xlink:actuate">
>                     <choice>
>                         <value>onRequest</value>
>                     </choice>
>                 </attribute>
>             </optional>
>         </element>
>     </oneOrMore>
> </define>
> <define name="db-auto-increment">
>     <element name="db:auto-increment">
>         <ref name="db-auto-increment-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="db-auto-increment-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:additional-column-statement">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-auto-increment-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:row-retrieving-statement">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-delimiter">
>     <element name="db:delimiter">
>         <ref name="db-delimiter-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="db-delimiter-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:field">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-delimiter-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:string">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-delimiter-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:decimal">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-delimiter-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:thousand">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-character-set">
>     <element name="db:character-set">
>         <ref name="db-character-set-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="db-character-set-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:encoding">
>             <ref name="textEncoding"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-table-settings">
>     <element name="db:table-settings">
>         <zeroOrMore>
>             <ref name="db-table-setting"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="db-table-setting">
>     <element name="db:table-setting">
>         <ref name="db-table-setting-attlist"/>
>         <optional>
>             <ref name="db-delimiter"/>
>         </optional>
>         <optional>
>             <ref name="db-character-set"/>
>         </optional>
>         <empty/>
>     </element>
> </define>
> <define name="db-table-setting-attlist" combine="interleave">
>     <ref name="db-is-first-row-header-line"/>
>     <ref name="db-show-deleted"/>
> </define>
> <define name="db-application-connection-settings">
>     <element name="db:application-connection-settings">
>         <ref name="db-application-connection-settings-attlist"/>
>         <optional>
>             <ref name="db-table-filter"/>
>         </optional>
>         <optional>
>             <ref name="db-table-type-filter"/>
>         </optional>
>         <optional>
>             <ref name="db-data-source-settings"/>
>         </optional>
>     </element>
> </define>
> <define name="db-application-connection-settings-attlist" 
> combine="interleave">
>     <optional>
>         <attribute name="db:is-table-name-length-limited">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-application-connection-settings-attlist" 
> combine="interleave">
>     <optional>
>         <attribute name="db:enable-sql92-check">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-application-connection-settings-attlist" 
> combine="interleave">
>     <optional>
>         <attribute name="db:append-table-alias-name">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-application-connection-settings-attlist" 
> combine="interleave">
>     <optional>
>         <attribute name="db:ignore-driver-privileges">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-application-connection-settings-attlist" 
> combine="interleave">
>     <optional>
>         <attribute name="db:boolean-comparison-mode"
>                   >
>             <choice>
>                 <value>equal-integer</value>
>                 <value>is-boolean</value>
>                 <value>equal-boolean</value>
>                 <value>equal-use-only-zero</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="db-application-connection-settings-attlist" 
> combine="interleave">
>     <optional>
>         <attribute name="db:use-catalog">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-application-connection-settings-attlist" 
> combine="interleave">
>     <optional>
>         <attribute name="db:max-row-count">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-application-connection-settings-attlist" 
> combine="interleave">
>     <optional>
>         <attribute name="db:suppress-version-columns">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-table-filter">
>     <element name="db:table-filter">
>         <ref name="db-table-filter-attlist"/>
>         <optional>
>             <ref name="db-table-include-filter"/>
>         </optional>
>         <optional>
>             <ref name="db-table-exclude-filter"/>
>         </optional>
>     </element>
> </define>
> <define name="db-table-filter-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-table-include-filter">
>     <element name="db:table-include-filter">
>         <ref name="db-table-include-filter-attlist"/>
>         <oneOrMore>
>             <ref name="db-table-filter-pattern"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="db-table-include-filter-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-table-exclude-filter">
>     <element name="db:table-exclude-filter">
>         <ref name="db-table-exclude-filter-attlist"/>
>         <oneOrMore>
>             <ref name="db-table-filter-pattern"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="db-table-exclude-filter-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-table-filter-pattern">
>     <element name="db:table-filter-pattern">
>         <ref name="db-table-filter-pattern-attlist"/>
>         <ref name="string"/>
>     </element>
> </define>
> <define name="db-table-filter-pattern-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-table-type-filter">
>     <element name="db:table-type-filter">
>         <ref name="db-table-type-filter-attlist"/>
>         <zeroOrMore>
>             <ref name="db-table-type"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="db-table-type-filter-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-table-type">
>     <element name="db:table-type">
>         <ref name="db-table-type-attlist"/>
>         <ref name="string"/>
>     </element>
> </define>
> <define name="db-table-type-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-data-source-settings">
>     <element name="db:data-source-settings">
>         <ref name="db-data-source-settings-attlist"/>
>         <oneOrMore>
>             <ref name="db-data-source-setting"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="db-data-source-settings-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-data-source-setting">
>     <element name="db:data-source-setting">
>         <ref name="db-data-source-setting-attlist"/>
>         <oneOrMore>
>             <ref name="db-data-source-setting-value"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="db-data-source-setting-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:data-source-setting-is-list">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-data-source-setting-attlist" combine="interleave">
>     <attribute name="db:data-source-setting-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="db-data-source-setting-attlist" combine="interleave">
>     <attribute name="db:data-source-setting-type">
>         <ref name="db-data-source-setting-types"/>
>     </attribute>
> </define>
> <define name="db-data-source-setting-types" combine="choice">
>     <choice>
>         <value>boolean</value>
>         <value>short</value>
>         <value>int</value>
>         <value>long</value>
>         <value>double</value>
>         <value>string</value>
>     </choice>
> </define>
> <define name="db-data-source-setting-value">
>     <element name="db:data-source-setting-value">
>         <ref name="db-data-source-setting-value-attlist"/>
>         <ref name="string"/>
>     </element>
> </define>
> <define name="db-data-source-setting-value-attlist" 
combine="interleave">
>     <empty/>
> </define>
> <define name="db-forms">
>     <element name="db:forms">
>         <ref name="db-forms-attlist"/>
>         <zeroOrMore>
>             <choice>
>                 <ref name="db-component"/>
>                 <ref name="db-component-collection"/>
>             </choice>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="db-forms-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-reports">
>     <element name="db:reports">
>         <ref name="db-reports-attlist"/>
>         <zeroOrMore>
>             <choice>
>                 <ref name="db-component"/>
>                 <ref name="db-component-collection"/>
>             </choice>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="db-reports-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-component-collection">
>     <element name="db:component-collection">
>         <ref name="db-component-collection-attlist"/>
>         <ref name="common-db-object-name"/>
>         <ref name="common-db-object-title"/>
>         <ref name="common-db-object-description"/>
>         <zeroOrMore>
>             <choice>
>                 <ref name="db-component"/>
>                 <ref name="db-component-collection"/>
>             </choice>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="db-component-collection-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-component">
>     <element name="db:component">
>         <ref name="db-component-attlist"/>
>         <ref name="common-db-object-name"/>
>         <ref name="common-db-object-title"/>
>         <ref name="common-db-object-description"/>
>         <optional>
>             <choice>
>                 <ref name="office-document"/>
>                 <ref name="math-math"/>
>             </choice>
>         </optional>
>     </element>
> </define>
> <define name="db-component-attlist" combine="interleave">
>     <optional>
>         <attribute name="xlink:href">
>             <ref name="anyURI"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:type">
>             <choice>
>                 <value>simple</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:show">
>             <choice>
>                 <value>none</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:actuate">
>             <choice>
>                 <value>onRequest</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="db-component-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:as-template">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-queries">
>     <element name="db:queries">
>         <ref name="db-queries-attlist"/>
>         <zeroOrMore>
>             <choice>
>                 <ref name="db-query"/>
>                 <ref name="db-query-collection"/>
>             </choice>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="db-queries-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-query-collection">
>     <element name="db:query-collection">
>         <ref name="db-query-collection-attlist"/>
>         <ref name="common-db-object-name"/>
>         <ref name="common-db-object-title"/>
>         <ref name="common-db-object-description"/>
>         <zeroOrMore>
>             <choice>
>                 <ref name="db-query"/>
>                 <ref name="db-query-collection"/>
>             </choice>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="db-query-collection-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-query">
>     <element name="db:query">
>         <ref name="db-query-attlist"/>
>         <ref name="common-db-object-name"/>
>         <ref name="common-db-object-title"/>
>         <ref name="common-db-object-description"/>
>         <ref name="common-db-table-style-name"/>
>         <optional>
>             <ref name="db-order-statement"/>
>         </optional>
>         <optional>
>             <ref name="db-filter-statement"/>
>         </optional>
>         <optional>
>             <ref name="db-columns"/>
>         </optional>
>         <optional>
>             <ref name="db-update-table"/>
>         </optional>
>     </element>
> </define>
> <define name="db-query-attlist" combine="interleave">
>     <attribute name="db:command">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="db-query-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:escape-processing">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-order-statement">
>     <element name="db:order-statement">
>         <ref name="db-command"/>
>         <ref name="db-apply-command"/>
>         <empty/>
>     </element>
> </define>
> <define name="db-filter-statement">
>     <element name="db:filter-statement">
>         <ref name="db-command"/>
>         <ref name="db-apply-command"/>
>         <empty/>
>     </element>
> </define>
> <define name="db-update-table">
>     <element name="db:update-table">
>         <ref name="common-db-table-name-attlist"/>
>     </element>
> </define>
> <define name="db-table-presentations">
>     <element name="db:table-representations">
>         <ref name="db-table-presentations-attlist"/>
>         <zeroOrMore>
>             <ref name="db-table-presentation"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="db-table-presentations-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-table-presentation">
>     <element name="db:table-representation">
>         <ref name="db-table-presentation-attlist"/>
>         <ref name="common-db-table-name-attlist"/>
>         <ref name="common-db-object-title"/>
>         <ref name="common-db-object-description"/>
>         <ref name="common-db-table-style-name"/>
>         <optional>
>             <ref name="db-order-statement"/>
>         </optional>
>         <optional>
>             <ref name="db-filter-statement"/>
>         </optional>
>         <optional>
>             <ref name="db-columns"/>
>         </optional>
>     </element>
> </define>
> <define name="db-table-presentation-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-columns"> 
>     <element name="db:columns">
>         <ref name="db-columns-attlist"/>
>         <oneOrMore>
>             <ref name="db-column"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="db-columns-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-column"> 
>     <element name="db:column">
>         <ref name="db-column-attlist"/>
>         <ref name="common-db-object-name"/>
>         <ref name="common-db-object-title"/>
>         <ref name="common-db-object-description"/>
>         <ref name="common-db-default-value"/>
>     </element>
> </define>
> <define name="db-column-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:visible">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-column-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-column-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:default-cell-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-command">
>     <attribute name="db:command">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="db-apply-command">
>     <optional>
>         <attribute name="db:apply-command">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-db-table-name-attlist" combine="interleave">
>     <attribute name="db:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="common-db-table-name-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:catalog-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-db-table-name-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:schema-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-db-object-name"> 
>     <attribute name="db:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="common-db-object-title">
>     <optional>
>         <attribute name="db:title">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-db-object-description">
>     <optional>
>         <attribute name="db:description">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-db-table-style-name">
>     <optional>
>         <attribute name="db:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-db-table-style-name" combine="interleave">
>     <optional>
>         <attribute name="db:default-row-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-db-default-value">
>     <optional>
>         <ref name="common-value-and-type-attlist"/>
>     </optional>
> </define>
> <define name="db-schema-definition"> 
>     <element name="db:schema-definition">
>         <ref name="db-schema-definition-attlist"/>
>         <ref name="db-table-definitions"/>
>     </element>
> </define>
> <define name="db-schema-definition-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-table-definitions"> 
>     <element name="db:table-definitions">
>         <ref name="db-table-definitions-attlist"/>
>         <zeroOrMore>
>             <ref name="db-table-definition"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="db-table-definitions-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-table-definition"> 
>     <element name="db:table-definition">
>         <ref name="common-db-table-name-attlist"/>
>         <ref name="db-table-definition-attlist"/>
>         <ref name="db-column-definitions"/>
>         <optional>
>             <ref name="db-keys"/>
>         </optional>
>         <optional>
>             <ref name="db-indices"/>
>         </optional>
>     </element>
> </define>
> <define name="db-table-definition-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:type">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-column-definitions">
>     <element name="db:column-definitions">
>         <ref name="db-column-definitions-attlist"/>
>         <oneOrMore>
>             <ref name="db-column-definition"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="db-column-definitions-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-column-definition">
>     <element name="db:column-definition">
>         <ref name="db-column-definition-attlist"/>
>         <ref name="common-db-default-value"/>
>     </element>
> </define>
> <define name="db-column-definition-attlist" combine="interleave">
>     <attribute name="db:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="db-column-definition-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:data-type">
>             <ref name="db-data-types"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-data-types" combine="choice">
>     <choice>
>         <value>bit</value>
>         <value>boolean</value>
>         <value>tinyint</value>
>         <value>smallint</value>
>         <value>integer</value>
>         <value>bigint</value>
>         <value>float</value>
>         <value>real</value>
>         <value>double</value>
>         <value>numeric</value>
>         <value>decimal</value>
>         <value>char</value>
>         <value>varchar</value>
>         <value>longvarchar</value>
>         <value>date</value>
>         <value>time</value>
>         <value>timestmp</value>
>         <value>binary</value>
>         <value>varbinary</value>
>         <value>longvarbinary</value>
>         <value>sqlnull</value>
>         <value>other</value>
>         <value>object</value>
>         <value>distinct</value>
>         <value>struct</value>
>         <value>array</value>
>         <value>blob</value>
>         <value>clob</value>
>         <value>ref</value>
>     </choice>
> </define>
> <define name="db-column-definition-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:type-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-column-definition-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:precision">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-column-definition-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:scale">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-column-definition-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:is-nullable">
>             <choice>
>                 <value>no-nulls</value>
>                 <value>nullable</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="db-column-definition-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:is-empty-allowed">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-column-definition-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:is-autoincrement">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-keys">
>     <element name="db:keys">
>         <ref name="db-keys-attlist"/>
>         <oneOrMore>
>             <ref name="db-key"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="db-keys-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-key">
>     <element name="db:key">
>         <ref name="db-key-attlist"/>
>         <oneOrMore>
>             <ref name="db-key-columns"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="db-key-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-key-attlist" combine="interleave"> 
>     <attribute name="db:type">
>         <choice>
>             <value>primary</value>
>             <value>unique</value>
>             <value>foreign</value>
>         </choice>
>     </attribute>
> </define>
> <define name="db-key-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:referenced-table-name">
>          <ref name="string"/>
>       </attribute>
>     </optional>
> </define>
> <define name="db-key-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:update-rule">
>             <choice>
>                 <value>cascade</value>
>                 <value>restrict</value>
>                 <value>set-null</value>
>                 <value>no-action</value>
>                 <value>set-default</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="db-key-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:delete-rule">
>             <choice>
>                 <value>cascade</value>
>                 <value>restrict</value>
>                 <value>set-null</value>
>                 <value>no-action</value>
>                 <value>set-default</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="db-key-columns">
>     <element name="db:key-columns">
>         <ref name="db-key-columns-attlist"/>
>         <oneOrMore>
>             <ref name="db-key-column"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="db-key-columns-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-key-column">
>     <element name="db:key-column">
>         <ref name="db-key-column-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="db-key-column-attlist" combine="interleave">
>     <optional>
>         <attribute name="db:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-key-column-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:related-column-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-indices">
>     <element name="db:indices">
>         <ref name="db-indices-attlist"/>
>         <oneOrMore>
>             <ref name="db-index"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="db-indices-attlist" combine="interleave">
>     <empty/>
> </define>
> <define name="db-index">
>     <element name="db:index">
>         <ref name="db-index-attlist"/>
>         <oneOrMore>
>             <ref name="db-index-columns"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="db-index-attlist" combine="interleave">
>     <attribute name="db:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="db-index-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:catalog-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-index-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:is-unique">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-index-attlist" combine="interleave"> 
>     <optional>
>         <attribute name="db:is-clustered">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="db-index-columns">
>     <element name="db:index-columns">
>         <oneOrMore>
>             <ref name="db-index-column"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="db-index-column">
>     <element name="db:index-column">
>         <ref name="db-index-column-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="db-index-column-attlist" combine="interleave">
>     <attribute name="db:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="db-index-column-attlist" combine="interleave"> 
>     <attribute name="db:is-ascending">
>         <ref name="boolean"/>
>     </attribute>
> </define>
> <define name="office-forms">
>     <optional>
>         <element name="office:forms">
>             <ref name="office-forms-attlist"/>
>             <zeroOrMore>
>                 <choice>
>                     <ref name="form-form"/>
>                     <ref name="xforms-model"/>
>                 </choice>
>             </zeroOrMore>
>         </element>
>     </optional>
> </define>
> <define name="office-forms-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:automatic-focus">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="office-forms-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:apply-design-mode">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form">
>     <element name="form:form">
>         <ref name="common-form-control-attlist"/>
>         <ref name="form-form-attlist"/>
>         <optional>
>             <ref name="form-properties"/>
>         </optional>
>         <optional>
>             <ref name="office-event-listeners"/>
>         </optional>
>         <zeroOrMore>
>             <choice>
>                 <ref name="controls"/>
>                 <ref name="form-form"/>
>             </choice>
>         </zeroOrMore>
>         <optional>
>             <ref name="form-connection-resource"/>
>         </optional>
>     </element>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="xlink:href">
>             <ref name="anyURI"/>
>         </attribute>
>         <optional>
>             <attribute name="xlink:type">
>                 <value>simple</value>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="xlink:actuate">
>                 <value>onRequest</value>
>             </attribute>
>         </optional>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="office:target-frame">
>             <ref name="targetFrameName"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:method">
>             <choice>
>                 <value>get</value>
>                 <value>post</value>
>                 <ref name="string"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:enctype"
>                    >
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:allow-deletes">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:allow-inserts">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:allow-updates">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:apply-filter">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:command-type">
>             <choice>
>                 <value>table</value>
>                 <value>query</value>
>                 <value>command</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:command">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:datasource">
>             <choice>
>                 <ref name="anyURI"/>
>                 <ref name="string"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:master-fields">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:detail-fields">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:escape-processing">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:filter">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:ignore-result">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:navigation-mode">
>             <ref name="navigation"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="navigation">
>     <choice>
>         <value>none</value>
>         <value>current</value>
>         <value>parent</value>
>     </choice>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:order">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-form-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:tab-cycle">
>             <ref name="tab-cycles"/>
>         </attribute>
>     </optional>
> </define>
> <define name="tab-cycles">
>     <choice>
>         <value>records</value>
>         <value>current</value>
>         <value>page</value>
>     </choice>
> </define>
> <define name="form-connection-resource">
>     <element name="form:connection-resource">
>         <attribute name="xlink:href">
>             <ref name="anyURI"/>
>         </attribute>
>         <empty/>
>     </element>
> </define>
> <define name="xforms-model">
>     <element name="xforms:model">
>         <ref name="anyAttListOrElements"/>
>     </element>
> </define>
> <define name="column-controls" combine="choice">
>     <element name="form:text">
>         <ref name="form-text-attlist"/>
>         <ref name="common-form-control-content"/>
>     </element>
> </define>
> <define name="controls" combine="choice">
>     <ref name="column-controls"/>
> </define>
> <define name="form-text-attlist">
>     <ref name="form-control-attlist"/>
>     <ref name="common-current-value-attlist"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="common-maxlength-attlist"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-readonly-attlist"/>
>     <ref name="common-tab-attlist"/>
>     <ref name="common-title-attlist"/>
>     <ref name="common-value-attlist"/>
>     <ref name="common-convert-empty-attlist"/>
>     <ref name="common-data-field-attlist"/>
>     <ref name="common-linked-cell"/>
> </define>
> <define name="form-control-attlist">
>     <ref name="common-form-control-attlist"/>
>     <ref name="common-control-id-attlist"/>
>     <ref name="xforms-bind-attlist"/>
> </define>
> <define name="common-form-control-content">
>     <optional>
>         <ref name="form-properties"/>
>     </optional>
>     <optional>
>         <ref name="office-event-listeners"/>
>     </optional>
> </define>
> <define name="column-controls" combine="choice">
>     <element name="form:textarea">
>         <ref name="form-textarea-attlist"/>
>         <ref name="common-form-control-content"/>
>         <zeroOrMore>
>             <ref name="text-p"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="form-textarea-attlist">
>     <ref name="form-control-attlist"/>
>     <ref name="common-current-value-attlist"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="common-maxlength-attlist"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-readonly-attlist"/>
>     <ref name="common-tab-attlist"/>
>     <ref name="common-title-attlist"/>
>     <ref name="common-value-attlist"/>
>     <ref name="common-convert-empty-attlist"/>
>     <ref name="common-data-field-attlist"/>
>     <ref name="common-linked-cell"/>
> </define>
> <define name="controls" combine="choice">
>     <element name="form:password">
>         <ref name="form-password-attlist"/>
>         <ref name="common-form-control-content"/>
>     </element>
> </define>
> <define name="form-password-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="common-maxlength-attlist"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-tab-attlist"/>
>     <ref name="common-title-attlist"/>
>     <ref name="common-value-attlist"/>
>     <ref name="common-convert-empty-attlist"/>
>     <ref name="common-linked-cell"/>
> </define>
> <define name="form-password-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:echo-char">
>             <ref name="character"/>
>         </attribute>
>     </optional>
> </define>
> <define name="controls" combine="choice">
>     <element name="form:file">
>         <ref name="form-file-attlist"/>
>         <ref name="common-form-control-content"/>
>     </element>
> </define>
> <define name="form-file-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="common-current-value-attlist"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="common-maxlength-attlist"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-readonly-attlist"/>
>     <ref name="common-tab-attlist"/>
>     <ref name="common-title-attlist"/>
>     <ref name="common-value-attlist"/>
>     <ref name="common-linked-cell"/>
> </define>
> <define name="column-controls" combine="choice">
>     <element name="form:formatted-text">
>         <ref name="form-formatted-text-attlist"/>
>         <ref name="common-form-control-content"/>
>     </element>
> </define>
> <define name="form-formatted-text-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="common-current-value-attlist"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="common-maxlength-attlist"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-readonly-attlist"/>
>     <ref name="common-tab-attlist"/>
>     <ref name="common-title-attlist"/>
>     <ref name="common-value-attlist"/>
>     <ref name="common-convert-empty-attlist"/>
>     <ref name="common-data-field-attlist"/>
>     <ref name="common-linked-cell"/>
>     <ref name="common-spin-button"/>
>     <ref name="common-repeat"/>
>     <ref name="common-delay-for-repeat"/>
> </define>
> <define name="form-formatted-text-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:max-value">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-formatted-text-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:min-value">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-formatted-text-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:validation">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="column-controls" combine="choice">
>     <element name="form:number">
>         <ref name="form-number-attlist"/>
>         <ref name="common-numeric-control-attlist"/>
>         <ref name="common-form-control-content"/>
>         <ref name="common-linked-cell"/>
>     <ref name="common-spin-button"/>
>     <ref name="common-repeat"/>
>     <ref name="common-delay-for-repeat"/>
>     </element>
> </define>
> <define name="common-numeric-control-attlist">
>     <ref name="form-control-attlist"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="common-maxlength-attlist"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-readonly-attlist"/>
>     <ref name="common-tab-attlist"/>
>     <ref name="common-title-attlist"/>
>     <ref name="common-convert-empty-attlist"/>
>     <ref name="common-data-field-attlist"/>
> </define>
> <define name="form-number-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:value">
>             <ref name="double"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-number-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:current-value">
>             <ref name="double"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-number-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:min-value">
>             <ref name="double"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-number-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:max-value">
>             <ref name="double"/>
>         </attribute>
>     </optional>
> </define>
> <define name="column-controls" combine="choice">
>     <element name="form:date">
>         <ref name="form-date-attlist"/>
>         <ref name="common-numeric-control-attlist"/>
>         <ref name="common-form-control-content"/>
>         <ref name="common-linked-cell"/>
>         <ref name="common-spin-button"/>
>         <ref name="common-repeat"/>
>         <ref name="common-delay-for-repeat"/>
>     </element>
> </define>
> <define name="column-controls" combine="choice">
>     <element name="form:time">
>         <ref name="form-time-attlist"/>
>         <ref name="common-numeric-control-attlist"/>
>         <ref name="common-form-control-content"/>
>         <ref name="common-linked-cell"/>
>         <ref name="common-spin-button"/>
>         <ref name="common-repeat"/>
>         <ref name="common-delay-for-repeat"/>
>     </element>
> </define>
> <define name="form-date-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:value">
>             <ref name="date"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-time-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:value">
>             <ref name="time"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-date-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:current-value">
>             <ref name="date"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-time-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:current-value">
>             <ref name="time"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-date-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:min-value">
>             <ref name="date"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-time-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:min-value">
>             <ref name="time"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-date-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:max-value">
>             <ref name="date"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-time-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:max-value">
>             <ref name="time"/>
>         </attribute>
>     </optional>
> </define>
> <define name="controls" combine="choice">
>     <element name="form:fixed-text">
>         <ref name="form-fixed-text-attlist"/>
>         <ref name="common-form-control-content"/>
>     </element>
> </define>
> <define name="form-fixed-text-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="for"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="label"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-title-attlist"/>
> </define>
> <define name="form-fixed-text-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:multi-line">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="column-controls" combine="choice">
>     <element name="form:combobox">
>         <ref name="form-combobox-attlist"/>
>         <ref name="common-form-control-content"/>
>         <zeroOrMore>
>             <ref name="form-item"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="form-combobox-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="common-current-value-attlist"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="dropdown"/>
>     <ref name="common-maxlength-attlist"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-readonly-attlist"/>
>     <ref name="size"/>
>     <ref name="common-tab-attlist"/>
>     <ref name="common-title-attlist"/>
>     <ref name="common-value-attlist"/>
>     <ref name="common-convert-empty-attlist"/>
>     <ref name="common-data-field-attlist"/>
>     <ref name="list-source"/>
>     <ref name="list-source-type"/>
>     <ref name="common-linked-cell"/>
>     <ref name="common-source-cell-range"/>
> </define>
> <define name="form-combobox-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:auto-complete">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-item">
>     <element name="form:item">
>         <ref name="form-item-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="form-item-attlist" combine="interleave">
>     <ref name="label"/>
> </define>
> <define name="column-controls" combine="choice">
>     <element name="form:listbox">
>         <ref name="form-listbox-attlist"/>
>         <ref name="common-form-control-content"/>
>         <zeroOrMore>
>             <ref name="form-option"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="form-listbox-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="dropdown"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="size"/>
>     <ref name="common-tab-attlist"/>
>     <ref name="common-title-attlist"/>
>     <ref name="bound-column"/>
>     <ref name="common-data-field-attlist"/>
>     <ref name="list-source"/>
>     <ref name="list-source-type"/>
>     <ref name="common-linked-cell"/>
>     <ref name="list-linkage-type"/>
>     <ref name="common-source-cell-range"/>
> </define>
> <define name="form-listbox-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:multiple">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-listbox-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:xforms-list-source">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="list-linkage-type" combine="interleave">
>     <optional>
>         <attribute name="form:list-linkage-type">
>             <choice>
>                 <value>selection</value>
>                 <value>selection-indexes</value>
>             </choice >
>         </attribute>
>     </optional>
> </define>
> <define name="form-option">
>     <element name="form:option">
>         <ref name="form-option-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="form-option-attlist" combine="interleave">
>     <ref name="current-selected"/>
>     <ref name="selected"/>
>     <ref name="label"/>
>     <ref name="common-value-attlist"/>
> </define>
> <define name="controls" combine="choice">
>     <element name="form:button">
>         <ref name="form-button-attlist"/>
>         <ref name="common-form-control-content"/>
>     </element>
> </define>
> <define name="form-button-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="button-type"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="label"/>
>     <ref name="image-data"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-tab-attlist"/>
>     <ref name="target-frame"/>
>     <ref name="target-location"/>
>     <ref name="common-title-attlist"/>
>     <ref name="common-value-attlist"/>
>     <ref name="common-form-relative-image-position-attlist"/>
>         <ref name="common-repeat"/>
>         <ref name="common-delay-for-repeat"/>
> </define>
> <define name="form-button-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:default-button">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-button-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:toggle">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-button-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:focus-on-click">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-button-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:xforms-submission">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="controls" combine="choice">
>     <element name="form:image">
>         <ref name="form-image-attlist"/>
>         <ref name="common-form-control-content"/>
>     </element>
> </define>
> <define name="form-image-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="button-type"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="image-data"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-tab-attlist"/>
>     <ref name="target-frame"/>
>     <ref name="target-location"/>
>     <ref name="common-title-attlist"/>
>     <ref name="common-value-attlist"/>
> </define>
> <define name="column-controls" combine="choice">
>     <element name="form:checkbox">
>         <ref name="form-checkbox-attlist"/>
>         <ref name="common-form-control-content"/>
>     </element>
> </define>
> <define name="form-checkbox-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="label"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-tab-attlist"/>
>     <ref name="common-title-attlist"/>
>     <ref name="common-value-attlist"/>
>     <ref name="common-data-field-attlist"/>
>     <ref name="common-form-visual-effect-attlist"/>
>     <ref name="common-form-relative-image-position-attlist"/>
>     <ref name="common-linked-cell"/>
> </define>
> <define name="states">
>     <choice>
>         <value>unchecked</value>
>         <value>checked</value>
>         <value>unknown</value>
>     </choice>
> </define>
> <define name="form-checkbox-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:current-state">
>             <ref name="states"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-checkbox-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:is-tristate">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-checkbox-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:state">
>             <ref name="states"/>
>         </attribute>
>     </optional>
> </define>
> <define name="controls" combine="choice">
>     <element name="form:radio">
>         <ref name="form-radio-attlist"/>
>         <ref name="common-form-control-content"/>
>     </element>
> </define>
> <define name="form-radio-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="current-selected"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="label"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="selected"/>
>     <ref name="common-tab-attlist"/>
>     <ref name="common-title-attlist"/>
>     <ref name="common-value-attlist"/>
>     <ref name="common-data-field-attlist"/>
>     <ref name="common-form-visual-effect-attlist"/>
>     <ref name="common-form-relative-image-position-attlist"/>
>     <ref name="common-linked-cell"/>
> </define>
> <define name="controls" combine="choice">
>     <element name="form:frame">
>         <ref name="form-frame-attlist"/>
>         <ref namene>
> <define name="form-frame-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="for"/>
>     <ref name="label"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-title-attlist"/>
> </define>
> <define name="controls" combine="choice">
>     <element name="form:image-frame">
>         <ref name="form-image-frame-attlist"/>
>         <ref name="common-form-control-content"/>
>     </element>
> </define>
> <define name="form-image-frame-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="image-data"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-readonly-attlist"/>
>     <ref name="common-title-attlist"/>
>     <ref name="common-data-field-attlist"/>
> </define>
> <define name="controls" combine="choice">
>     <element name="form:hidden">
>         <ref name="form-hidden-attlist"/>
>         <ref name="common-form-control-content"/>
>     </element>
> </define>
> <define name="form-hidden-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="common-value-attlist"/>
> </define>
> <define name="controls" combine="choice">
>     <element name="form:grid">
>         <ref name="form-grid-attlist"/>
>         <ref name="common-form-control-content"/>
>         <zeroOrMore>
>             <ref name="form-column"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="form-grid-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-tab-attlist"/>
>     <ref name="common-title-attlist"/>
> </define>
> <define name="form-column">
>     <element name="form:column">
>         <ref name="form-column-attlist"/>
>         <oneOrMore>
>             <ref name="column-controls"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="form-column-attlist" combine="interleave">
>     <ref name="common-form-control-attlist"/>
>     <ref name="label"/>
>     <ref name="text-style-name"/>
> </define>
> <define name="text-style-name">
>     <optional>
>         <attribute name="form:text-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="controls" combine="choice">
>     <element name="form:value-range">
>         <ref name="form-value-range-attlist"/>
>         <ref name="common-form-control-content"/>
>     </element>
> </define>
> <define name="form-value-range-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
>     <ref name="common-disabled-attlist"/>
>     <ref name="common-printable-attlist"/>
>     <ref name="common-tab-attlist"/>
>     <ref name="common-title-attlist"/>
>     <ref name="common-value-attlist"/>
>     <ref name="common-linked-cell"/> 
>     <ref name="common-repeat"/>
>     <ref name="common-delay-for-repeat"/>
> 
> </define>
> <define name="form-value-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:max-value">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-value-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:min-value">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-value-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:step-size">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-value-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:page-step-size">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-value-range-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:orientation">
>             <choice>
>                 <value>horizontal</value>
>                 <value>vertical</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="controls" combine="choice">
>     <element name="form:generic-control">
>         <ref name="form-generic-control-attlist"/>
>         <ref name="common-form-control-content"/>
>     </element>
> </define>
> <define name="form-generic-control-attlist" combine="interleave">
>     <ref name="form-control-attlist"/>
> </define>
> <define name="common-form-control-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-form-control-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:control-implementation">
>             <ref name="namespacedToken"/>
>         </attribute>
>     </optional>
> </define>
> <define name="xforms-bind-attlist">
>     <optional>
>         <attribute name="xforms:bind">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="types">
>     <choice>
>         <value>submit</value>
>         <value>reset</value>
>         <value>push</value>
>         <value>url</value>
>     </choice>
> </define>
> <define name="button-type">
>     <optional>
>         <attribute name="form:button-type">
>             <ref name="types"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-cont-form-id-attlist"/>
>       <group>
>          <ref name="xml-id"/>
>          <optional>
>             <ref name="common-control-form-id-attlist"/>
>          </optional>
>       </group>
>    </choice>
> </define>
> <define name="common-control-form-id-attlist" combine="interleave">
>     <attribute name="form:id">
>         <ref name="NCName"/>
>     </attribute>
> </define>
> <define name="current-selected">
>     <optional>
>         <attribute name="form:current-selected">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-value-attlist">
>     <optional>
>         <attribute name="form:value">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-current-value-attlist">
>     <optional>
>         <attribute name="form:current-value">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-disabled-attlist">
>     <optional>
>         <attribute name="form:disabled">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="dropdown">
>     <optional>
>         <attribute name="form:dropdown">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="for">
>     <optional>
>         <attribute name="form:for">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="image-data">
>     <optional>
>         <attribute name="form:image-data">
>             <ref name="anyURI"/>
>         </attribute>
>     </optional>
> </define>
> <define name="label">
>     <optional>
>         <attribute name="form:label">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-maxlength-attlist">
>     <optional>
>         <attribute name="form:max-length">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-printable-attlist">
>     <optional>
>         <attribute name="form:printable">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-readonly-attlist">
>     <optional>
>         <attribute name="form:readonly">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="selected">
>     <optional>
>         <attribute name="form:selected">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="size">
>     <optional>
>         <attribute name="form:size">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-tab-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:tab-index">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-tab-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:tab-stop">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="target-frame">
>     <optional>
>         <attribute name="office:target-frame">
>             <ref name="targetFrameName"/>
>         </attribute>
>     </optional>
> </define>
> <define name="target-location">
>     <optional>
>         <attribute name="xlink:href">
>             <ref name="anyURI"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-title-attlist">
>     <optional>
>         <attribute name="form:title">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-form-visual-effect-attlist" combine="interleave">
>     <optional>
>         <attribute name="form:visual-effect">
>             <choice>
>                 <value>flat</value>
>                 <value>3d</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-form-relative-image-position-attlist"
>         combine="interleave">
>     <choice>
>         <optional>
>             <attribute name="form:image-position">
>                 <value>center</value>
>             </attribute>
>         </optional>
>         <group>
>             <attribute name="form:image-position">
>                 <choice>
>                     <value>start</value>
>                     <value>end</value>
>                     <value>top</value>
>                     <value>bottom</value>
>                 </choice>
>             </attribute>
>             <optional>
>                 <attribute name="form:image-align">
>                     <choice>
>                         <value>start</value>
>                         <value>center</value>
>                         <value>end</value>
>                     </choice>
>                 </attribute>
>             </optional>
>         </group>
>     </choice>
> </define>
> <define name="bound-column">
>     <optional>
>         <attribute name="form:bound-column">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-convert-empty-attlist">
>     <optional>
>         <attribute name="form:convert-empty-to-null">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-data-field-attlist">
>     <optional>
>         <attribute name="form:data-field">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="list-source">
>     <optional>
>         <attribute name="form:list-source">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="list-source-type">
>     <optional>
>         <attribute name="form:list-source-type">
>             <choice>
>                 <value>table</value>
>                 <value>query</value>
>                 <value>sql</value>
>                 <value>sql-pass-through</value>
>                 <value>value-list</value>
>                 <value>table-fields</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-linked-cell" combine="choice">
>     <optional>
>         <attribute name="form:linked-cell">
>             <choice>
>                 <ref name="cellAddress"/>
>                 <ref name="string"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-source-cell-range" combine="choice">
>     <optional>
>         <attribute name="form:source-cell-range">
>             <choice>
>                 <ref name="cellRangeAddress"/>
>                 <ref name="string"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-spin-button">
>     <optional>
>         <attribute name="form:spin-button">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-repeat">
>     <optional>
>         <attribute name="form:repeat">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-delay-for-repeat">
>     <optional>
>         <attribute name="form:delay-for-repeat">
>             <ref name="duration"/>
>         </attribute>
>     </optional>
> </define>
> <define name="form-properties">
>     <element name="form:properties">
>         <oneOrMore>
>             <ref name="form-property"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="form-property" combine="choice">
>     <element name="form:property">
>         <ref name="form-property-name"/>
>         <ref name="form-property-value-and-type-attlist"/>
>     </element>
> </define>
> <define name="form-property-name" combine="interleave">
>     <attribute name="form:property-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="form-property-value-and-type-attlist" 
combine="interleave">
>     <choice>
>         <ref name="common-value-and-type-attlist"/>
>         <attribute name="office:value-type">
>             <value>void</value>
>         </attribute>
>     </choice>
> </define>
> <define name="form-property" combine="choice">
>     <element name="form:list-property">
>         <ref name="form-property-name"/>
>         <ref name="form-property-type-and-value-list"/>
>     </element>
> </define>
> <define name="form-property-type-and-value-list">
>     <choice>
>         <group>
>             <attribute name="office:value-type">
>                 <value>float</value>
>             </attribute>
>             <zeroOrMore>
>                 <element name="form:list-value">
>                     <attribute name="office:value">
>                         <ref name="double"/>
>                     </attribute>
>                 </element>
>             </zeroOrMore>
>         </group>
>         <group>
>             <attribute name="office:value-type">
>                 <value>percentage</value>
>             </attribute>
>             <zeroOrMore>
>                 <element name="form:list-value">
>                     <attribute name="office:value">
>                         <ref name="double"/>
>                     </attribute>
>                 </element>
>             </zeroOrMore>
>         </group>
>         <group>
>             <attribute name="office:value-type">
>                 <value>currency</value>
>             </attribute>
>             <zeroOrMore>
>                 <element name="form:list-value">
>                     <attribute name="office:value">
>                         <ref name="double"/>
>                     </attribute>
>                     <optional>
>                         <attribute name="office:currency">
>                             <ref name="string"/>
>                         </attribute>
>                     </optional>
>                 </element>
>             </zeroOrMore>
>         </group>
>         <group>
>             <attribute name="office:value-type">
>                 <value>date</value>
>             </attribute>
>             <zeroOrMore>
>                 <element name="form:list-value">
>                     <attribute name="office:date-value">
>                         <ref name="dateOrDateTime"/>
>                     </attribute>
>                 </element>
>             </zeroOrMore>
>         </group>
>         <group>
>             <attribute name="office:value-type">
>                 <value>time</value>
>             </attribute>
>             <zeroOrMore>
>                 <element name=""office:time-value">
>                         <ref name="duration"/>
>                     </attribute>
>                 </element>
>             </zeroOrMore>
>         </group>
>         <group>
>             <attribute name="office:value-type">
>                 <value>boolean</value>
>             </attribute>
>             <zeroOrMore>
>                 <element name="form:list-value">
>                     <attribute name="office:boolean-value">
>                         <ref name="boolean"/>
>                     </attribute>
>                 </element>
>             </zeroOrMore>
>         </group>
>         <group>
>             <attribute name="office:value-type">
>                 <value>string</value>
>             </attribute>
>             <zeroOrMore>
>                 <element name="form:list-value">
>                     <attribute name="office:string-value">
>                         <ref name="string"/>
>                     </attribute>
>                 </element>
>             </zeroOrMore>
>         </group>
>         <attribute name="office:value-type">
>             <value>void</value>
>         </attribute>
>     </choice>
> </define>
> <define name="office-annotation">
>     <element name="office:annotation">
>         <ref name="office-annotation-attlist"/>
>         <ref name="draw-caption-attlist"/>
>         <ref name="common-draw-position-attlist"/>
>         <ref name="common-draw-size-attlist"/>
>         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
>         <optional>
>             <ref name="dc-creator"/>
>         </optional>
>         <optional>
>             <ref name="dc-date"/>
>         </optional>
>         <optional>
>             <ref name="meta-date-string"/>
>         </optional>
>         <zeroOrMore>
>             <choice>
>                 <ref name="text-p"/>
>                 <ref name="text-list"/>
>             </choice>
>         </zeroOrMore>
>     </element>
> </define>
> 
> <define name="office-annotation-end">
>     <element name="office:annotation-end">
>         <ref name="office-annotation-end-attlist"/>
>     </element>
> </define>
> <define name="office-annotation-attlist" combine="interleave">
>     <optional>
>         <attribute name="office:display">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="office-annotation-attlist" combine="interleave">
>     <optional>
>         <ref name="common-office-annotation-name-attlist"/>
>     </optional>
> </define>
> 
> <define name="office-annotation-end-attlist" combine="interleave">
>     <ref name="common-office-annotation-name-attlist"/>
> </define>
> 
> <define name="common-office-annotation-name-attlist">
>     <attribute name="office:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="meta-date-string">
>     <element name="meta:date-string">
>         <ref name="string"/>
>     </element>
> </define>
> <define name="common-num-format-prefix-suffix-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:num-prefix">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:num-suffix">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-num-format-attlist" combine="interleave">
>     <choice>
>         <attribute name="style:num-format">
>             <choice>
>                 <value>1</value>
>                 <value>i</value>
>                 <value>I</value>
>                 <ref name="string"/>
>                 <empty/>
>             </choice>
>         </attribute>
>         <group>
>             <attribute name="style:num-format">
>                 <choice>
>                     <value>a</value>
>                     <value>A</value>
>                 </choice>
>             </attribute>
>             <ref name="style-num-letter-sync-attlist"/>
>         </group>
>         <empty/>
>     </choice>
> </define>
> <define name="style-num-letter-sync-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:num-letter-sync">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="office-change-info">
>     <element name="office:change-info">
>         <ref name="dc-creator"/>
>         <ref name="dc-date"/>
>         <zeroOrMore>
>             <ref name="text-p"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="office-event-listeners">
>     <element name="office:event-listeners">
>         <zeroOrMore>
>             <choice>
>                 <ref name="script-event-listener"/>
>                 <ref name="presentation-event-listener"/>
>             </choice>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="script-event-listener" combine="interleave">
>     <element name="script:event-listener">
>         <ref name="script-event-listener-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="script-event-listener-attlist" combine="interleave">
>     <attribute name="script:event-name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="script-event-listener-attlist" combine="interleave">
>     <attribute name="script:language">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="script-event-listener-attlist" combine="interleave">
>     <choice>
>         <attribute name="script:macro-name">
>             <ref name="string"/>
>         </attribute>
>         <group>
>          name="anyURI"/>
>             </attribute>
>             <optional>
>                 <attribute name="xlink:type">
>                     <value>simple</value>
>                 </attribute>
>             </optional>
>             <optional>
>                 <attribute name="xlink:actuate">
>                     <value>onRequest</value>
>                 </attribute>
>             </optional>
>         </group>
>     </choice>
> </define>
> <define name="math-math">
>     <element name="math:math">
>         <ref name="mathMarkup"/>
>     </element>
> </define>
> 
> <!-- To avoid inclusion of the complete MathML schema, anything -->
> <!-- is allowed within a math:math top-level element            -->
> <define name="mathMarkup">
>     <zeroOrMore>
>         <choice>
>             <attribute>
>                 <anyName/>
>             </attribute>
>             <text/>
>             <element>
>                 <anyName/>
>                 <ref name="mathMarkup"/>
>             </element>
>         </choice>
>     </zeroOrMore>
> </define>
> <define name="text-dde-connection-decl">
>     <element name="text:dde-connection-decl">
>         <ref name="text-dde-connection-decl-attlist"/>
>         <ref name="common-dde-connection-decl-attlist"/>
>     </element>
> </define>
> <define name="text-dde-connection-decl-attlist" combine="interleave">
>     <attribute name="office:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="common-dde-connection-decl-attlist" combine="interleave">
>     <attribute name="office:dde-application">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="common-dde-connection-decl-attlist" combine="interleave">
>     <attribute name="office:dde-topic">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="common-dde-connection-decl-attlist" combine="interleave">
>     <attribute name="office:dde-item">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="common-dde-connection-decl-attlist" combine="interleave">
>     <optional>
>         <attribute name="office:automatic-update">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-dde-link">
>     <element name="table:dde-link">
>         <ref name="office-dde-source"/>
>         <ref name="table-table"/>
>     </element>
> </define>
> <define name="office-dde-source">
>     <element name="office:dde-source">
>         <ref name="office-dde-source-attlist"/>
>         <ref name="common-dde-connection-decl-attlist"/>
>     </element>
> </define>
> <define name="office-dde-source-attlist" combine="interleave">
>     <optional>
>         <attribute name="office:name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="office-dde-source-attlist" combine="interleave">
>     <optional>
>         <attribute name="office:conversion-mode"
>                    >
>             <choice>
>                 <value>into-default-style-data-style</value>
>                 <value>into-english-number</value>
>                 <value>keep-text</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="animation-element" combine="choice">
>     <element name="anim:animate">
>         <ref name="common-anim-target-attlist"/>
>         <ref name="common-anim-named-target-attlist"/>
>         <ref name="common-anim-values-attlist"/>
>         <ref name="common-anim-spline-mode-attlist"/>
>         <ref name="common-spline-anim-value-attlist"/>
>         <ref name="common-timing-attlist"/>
>         <ref name="common-anim-add-accum-attlist"/>
>     </element>
> </define>
> <define name="animation-element" combine="choice">
>     <element name="anim:set">
>         <ref name="common-anim-target-attlist"/>
>         <ref name="common-anim-named-target-attlist"/>
>         <ref name="common-anim-set-values-attlist"/>
>         <ref name="common-timing-attlist"/>
>         <ref name="common-anim-add-accum-attlist"/>
>     </element>
> </define>
> <define name="animation-element" combine="choice">
>     <element name="anim:animateMotion">
>         <ref name="anim-animate-motion-attlist"/>
>         <ref name="common-anim-target-attlist"/>
>         <ref name="common-anim-named-target-attlist"/>
>         <ref name="common-anim-add-accum-attlist"/>
>         <ref name="common-anim-values-attlist"/>
>         <ref name="common-timing-attlist"/>
>         <ref name="common-spline-anim-value-attlist"/>
>     </element>
> </define>
> <define name="anim-animate-motion-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:path">
>             <ref name="pathData"/>
>         </attribute>
>     </optional>
> </define>
> <define name="anim-animate-motion-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:origin">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="anim-animate-motion-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:calcMode">
>             <choice>
>                 <value>discrete</value>
>                 <value>linear</value>
>                 <value>paced</value>
>                 <value>spline</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="animation-element" combine="choice">
>     <element name="anim:animateColor">
>         <ref name="common-anim-target-attlist"/>
>         <ref name="common-anim-named-target-attlist"/>
>         <ref name="common-anim-add-accum-attlist"/>
>         <ref name="common-anim-values-attlist"/>
>         <ref name="common-anim-spline-mode-attlist"/>
>         <ref name="common-spline-anim-value-attlist"/>
>         <ref name="anim-animate-color-attlist"/>
>         <ref name="common-timing-attlist"/>
>     </element>
> </define>
> <define name="anim-animate-color-attlist" combine="interleave">
>     <optional>
>         <attribute name="anim:color-interpolation">
>             <choice>
>                 <value>rgb</value>
>                 <value>hsl</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="anim-animate-color-attlist" combine="interleave">
>     <optional>
>         <attribute name="anim:color-interpolation-direction"
>                   >
>             <choice>
>                 <value>clockwise</value>
>                 <value>counter-clockwise</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="animation-element" combine="choice">
>     <element name="anim:animateTransform">
>         <ref name="common-anim-target-attlist"/>
>         <ref name="common-anim-named-target-attlist"/>
>         <ref name="common-anim-add-accum-attlist"/>
>         <ref name="common-anim-values-attlist"/>
>         <ref name="anim-animate-transform-attlist"/>
>         <ref name="common-timing-attlist"/>
>     </element>
> </define>
> <define name="anim-animate-transform-attlist" combine="interleave">
>     <attribute name="svg:type">
>         <choice>
>             <value>translate</value>
>             <value>scale</value>
>             <value>rotate</value>
>             <value>skewX</value>
>             <value>skewY</value>
>         </choice>
>     </attribute>
> </define>
> <define name="animation-element" combine="choice">
>     <element name="anim:transitionFilter">
>         <ref name="common-anim-target-attlist"/>
>         <ref name="common-anim-add-accum-attlist"/>
>         <ref name="common-anim-values-attlist"/>
>         <ref name="common-anim-spline-mode-attlist "/>
>         <ref name="anim-transition-filter-attlist"/>
>         <ref name="common-timing-attlist"/>
>     </element>
> </define>
> <define name="anim-transition-filter-attlist" combine="interleave">
>     <attribute name="smil:type">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="anim-transition-filter-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:subtype">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="anim-transition-filter-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:direction">
>             <choice>
>                 <value>forward</value>
>                 <value>reverse</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="anim-transition-filter-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:fadeColor">
>             <choice>
>                 <value>forward</value>
>                 <value>reverse</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="anim-transition-filter-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:mode">
>             <choice>
>                 <value>in</value>
>                 <value>out</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-anim-attlist" combine="interleave">
>     <optional>
>         <attribute name="anim:id">
>             <ref name="NCName"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-anim-attlist" combine="interleave">
>     <optional>
>        <ref name="xml-id"/>
>     </optional>
> </define>
> <define name="common-anim-target-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:targetElement">
>             <ref name="IDREF"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-anim-named-target-attlist" combine="interleave">
>     <attribute name="smil:attributeName">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="common-anim-target-attlist" combine="interleave">
>     <optional>
>         <attribute name="anim:sub-item">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-anim-values-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:values">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-anim-spline-mode-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:calcMode">
>             <choice>
>                 <value>discrete</value>
>                 <value>linear</value>
>                 <value>paced</value>
>                 <value>spline</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-spline-anim-value-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:keyTimes">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-spline-anim-value-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:keySplines">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-anim-add-accum-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:accumulate">
>             <choice>
>                 <value>none</value>
>                 <value>sum</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-anim-add-accum-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:additive">
>             <choice>
>                 <value>replace</value>
>                 <value>sum</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-anim-values-attlist" combine="interleave">
>     <optional>
>         <attribute name="anim:formula">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-anim-set-values-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:to">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="common-anim-values-attlist" combine="interleave">
>     <ref name="common-anim-set-values-attlist"/>
>     <optional>
>         <attribute name="smil:from">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="smil:by">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-begin-end-timing-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:begin">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-begin-end-timing-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:end">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-dur-timing-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:dur">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-endsync-timing-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:endsync">
>             <choice>
>                 <value>first</value>
>                 <value>last</value>
>                 <value>all</value>
>                 <value>media</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-repeat-timing-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:repeatDur">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="smil:repeatCount">
>             <choice>
>                 <ref name="nonNegativeInteger"/>
>                 <value>indefinite</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-fill-timing-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:fill">
>             <choice>
>                 <value>remove</value>
>                 <value>freeze</value>
>                 <value>hold</value>
>                 <value>auto</value>
>                 <value>default</value>
>                 <value>transition</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-fill-default-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:fillDefault">
>             <choice>
>                 <value>remove</value>
>                 <value>freeze</value>
>                 <value>hold</value>
>                 <value>transition</value>
>                 <value>auto</value>
>                 <value>inherit</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-restart-timing-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:restart">
>             <choice>
>                 <value>never</value>
>                 <value>always</value>
>                 <value>whenNotActive</value>
>                 <value>default</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-restart-default-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:restartDefault">
>             <choice>
>                 <value>never</value>
>                 <value>always</value>
>                 <value>whenNotActive</value>
>                 <value>inherit</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-time-manip-attlist" combine="interleave">
>     <optional> 
>         <attribute name="smil:accelerate">
>             <ref name="double"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-time-manip-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:decelerate">
>             <ref name="double"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-time-manip-attlist" combine="interleave">
>     <optional>
>         <attribute name="smil:autoReverse">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="animation-element" combine="choice">
>     <element name="anim:par">
>         <ref name="common-anim-attlist"/>
>         <ref name="common-timing-attlist"/>
>         <ref name="common-endsync-timing-attlist"/>
>         <zeroOrMore>
>             <ref name="animation-element"/>
>         </zeroOrMore>
>     </element>
> </define>
> 
> <define name="common-basic-timing-attlist" combine="interleave">
>     <ref name="common-begin-end-timing-attlist"/>
>     <ref name="common-dur-timing-attlist"/>
>     <ref name="common-repeat-timing-attlist"/>
>     <ref name="common-restart-timing-attlist"/>
>     <ref name="common-restart-default-attlist"/>
>     <ref name="common-fill-timing-attlist"/>
>     <ref name="common-fill-default-attlist"/>
> </define>
> 
> <define name="common-timing-attlist" combine="interleave">
>     <ref name="common-basic-timing-attlist"/>
>     <ref name="common-time-manip-attlist"/>
> </define>
> <define name="animation-element" combine="choice">
>     <element name="anim:seq">
>         <ref name="common-anim-attlist"/>
>         <ref name="common-endsync-timing-attlist"/>
>         <ref name="common-timing-attlist"/>
>         <zeroOrMore>
>             <ref name="animation-element"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="animation-element" combine="choice">
>     <element name="anim:iterate">
>         <ref name="common-anim-attlist"/>
>         <ref name="anim-iterate-attlist"/>
>         <ref name="common-timing-attlist"/>
>         <ref name="common-endsync-timing-attlist"/>
>         <zeroOrMore>
>             <ref name="animation-element"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="anim-iterate-attlist" combine="interleave">
>     <ref name="common-anim-target-attlist"/>
> </define>
> <define name="anim-iterate-attlist" combine="interleave">
>     <optional>
>         <attribute name="anim:iterate-type">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="anim-iterate-attlist" combine="interleave">
>     <optional>
>         <attribute name="anim:iterate-interval">
>             <ref name="duration"/>
>         </attribute>
>     </optional>
> </define>
> <define name="animation-element" combine="choice">
>     <element name="anim:audio">
>         <ref name="common-anim-attlist"/>
>         <ref name="anim-audio-attlist"/>
>         <ref name="common-basic-timing-attlist"/>
>     </element>
> </define>
> <define name="anim-audio-attlist" combine="interleave">
>     <optional>
>         <attribute name="xlink:href">
>             <ref name="anyURI"/>
>         </attribute>
>     </optional>
> </define>
> <define name="anim-audio-attlist" combine="interleave">
>     <optional>
>         <attribute name="anim:audio-level">
>             <ref name="double"/>
>         </attribute>
>     </optional>
> </define>
> <define name="animation-element" combine="choice">
>     <element name="anim:command">
>         <ref name="common-anim-attlist"/>
>         <ref name="anim-command-attlist"/>
>         <ref name="common-begin-end-timing-attlist"/>
>         <ref name="common-anim-target-attlist"/>
>         <zeroOrMore>
>             <element name="anim:param">
>                 <attribute name="anim:name">
>                <ref name="string"/>
>             </attribute>
>                 <attribute name="anim:value">
>                <ref name="string"/>
>             </attribute>
>             </element>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="anim-command-attlist" combine="interleave">
>     <attribute name="anim:command">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="style-style">
>     <element name="style:style">
>         <ref name="style-style-attlist"/>
>         <ref name="style-style-content"/>
>         <zeroOrMore>
>             <ref name="style-map"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="common-in-content-meta-attlist" combine="interleave">
>    <attribute name="xhtml:about">
>       <ref name="URIorSafeCURIE"/>
>    </attribute>
>    <attribute name="xhtml:property">
>       <ref name="CURIEs"/>
>    </attribute>
>    <ref name="common-meta-literal-attlist"/>
> </define>
> <define name="common-meta-literal-attlist" combine="interleave">
>     <optional>
>         <attribute name="xhtml:datatype">
>             <ref name="CURIE"/>
>         </attribute>
>    </optional>
>     <optional>
>       <attribute name="xhtml:content">
>          <ref name="string"/>
>       </attribute>
>    </optional>
> </define>
> <define name="xml-id" combine="interleave">
>    <attribute name="xml:id">
>       <ref name="ID"/>
>    </attribute>
> </define>
> <define name="style-style-attlist" combine="interleave">
>     <attribute name="style:name">
>         <ref name="styleName"/>
>     </attribute>
> </define>
> <define name="style-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:display-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:parent-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:next-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:list-level">
>             <choice>
>                 <ref name="positiveInteger"/>
>                 <empty/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:list-style-name">
>             <choice>
>                 <ref name="styleName"/>
>                 <empty/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:master-page-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:auto-update">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:data-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:percentage-data-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:class">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:default-outline-level">
>             <choice>
>                 <ref name="positiveInteger"/>
>                 <empty/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-map">
>     <element name="style:map">
>         <ref name="style-map-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="style-map-attlist" combine="interleave">
>     <attribute name="style:condition">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="style-map-attlist" combine="interleave">
>     <attribute name="style:apply-style-name">
>         <ref name="styleNameRef"/>
>     </attribute>
> </define>
> <define name="style-map-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:base-cell-address">
>             <ref name="cellAddress"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-default-style">
>     <element name="style:default-style">
>         <ref name="style-style-content"/>
>     </element>
> </define>
> <define name="style-page-layout">
>     <element name="style:page-layout">
>         <ref name="style-page-layout-attlist"/>
>         <ref name="style-page-layout-content"/>
>     </element>
> </define>
> 
> <define name="style-page-layout-content">
>     <optional>
>         <ref name="style-page-layout-properties"/>
>     </optional>
>     <optional>
>         <ref name="style-header-style"/>
>     </optional>
>     <optional>
>         <ref name="style-footer-style"/>
>     </optional>
> </define>
> <define name="style-page-layout-attlist" combine="interleave">
>     <attribute name="style:name">
>         <ref name="styleName"/>
>     </attribute>
> </define>
> <define name="style-page-layout-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:page-usage">
>             <choice>
>                 <value>all</value>
>                 <value>left</value>
>                 <value>right</value>
>                 <value>mirrored</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-header-style">
>     <element name="style:header-style">
>         <optional>
>             <ref name="style-header-footer-properties"/>
>         </optional>
>     </element>
> </define>
> <define name="style-footer-style">
>     <element name="style:footer-style">
>         <optional>
>             <ref name="style-header-footer-properties"/>
>         </optional>
>     </element>
> </define>
> <define name="style-default-page-layout">
>     <element name="style:default-page-layout">
>         <ref name="style-page-layout-content"/>
>     </element>
> </define>
> <define name="style-master-page">
>     <element name="style:master-page">
>         <ref name="style-master-page-attlist"/>
>         <optional>
>             <ref name="style-header"/>
>             <optional>
>                 <ref name="style-header-left"/>
>             </optional>
>         </optional>
>         <optional>
>             <ref name="style-footer"/>
>             <optional>
>                 <ref name="style-footer-left"/>
>             </optional>
>         </optional>
>       <optional>
>          <ref name="draw-layer-set"/>
>       </optional> 
>         <optional>
>             <ref name="office-forms"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="style-style"/>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="shape"/>
>         </zeroOrMore>
>         <optional>
>             <ref name="animation-element"/>
>         </optional>
>         <optional>
>             <ref name="presentation-notes"/>
>         </optional>
>     </element>
> </define>
> <define name="style-master-page-attlist" combine="interleave">
>     <attribute name="style:name">
>         <ref name="styleName"/>
>     </attribute>
> </define>
> <define name="style-master-page-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:display-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-master-page-attlist" combine="interleave">
>     <attribute name="style:page-layout-name">
>         <ref name="styleNameRef"/>
>     </attribute>
> </define>
> <define name="style-master-page-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-master-page-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:next-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-header">
>     <element name="style:header">
>         <ref name="common-style-header-footer-attlist"/>
>         <ref name="header-footer-content"/>
>     </element>
> </define>
> <define name="style-footer">
>     <element name="style:footer">
>         <ref name="common-style-header-footer-attlist"/>
>         <ref name="header-footer-content"/>
>     </element>
> </define>
> <define name="style-header-left">
>     <element name="style:header-left">
>         <ref name="common-style-header-footer-attlist"/>
>         <ref name="header-footer-content"/>
>     </element>
> </define>
> <define name="style-footer-left">
>     <element name="style:footer-left">
>         <ref name="common-style-header-footer-attlist"/>
>         <ref name="header-footer-content"/>
>     </element>
> </define>
> <define name="header-footer-content">
>     <choice>
>         <group>
>             <ref name="text-tracked-changes"/>
>             <ref name="text-decls"/>
>             <zeroOrMore>
>                 <choice>
>                     <ref name="text-h"/>
>                     <ref name="text-p"/>
>                     <ref name="text-list"/>
>                     <ref name="table-table"/>
>                     <ref name="text-section"/>
>                     <ref name="text-table-of-content"/>
>                     <ref name="text-illustration-index"/>
>                     <ref name="text-table-index"/>
>                     <ref name="text-object-index"/>
>                     <ref name="text-user-index"/>
>                     <ref name="text-alphabetical-index"/>
>                     <ref name="text-bibliography"/>
>                     <ref name="text-index-title"/>
>                     <ref name="change-marks"/>
>                 </choice>
>             </zeroOrMore>
>         </group>
>         <group>
>             <optional>
>                 <ref name="style-region-left"/>
>             </optional>
>             <optional>
>                 <ref name="style-region-center"/>
>             </optional>
>             <optional>
>                 <ref name="style-region-right"/>
>             </optional>
>         </group>
>     </choice>
> </define>
> <define name="common-style-header-footer-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:display">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-region-left">
>     <element name="style:region-left">
>         <ref name="region-content"/>
>     </element>
> </define>
> <define name="style-region-center">
>     <element name="style:region-center">
>         <ref name="region-content"/>
>     </element>
> </define>
> <define name="style-region-right">
>     <element name="style:region-right">
>         <ref name="region-content"/>
>     </element>
> </define>
> 
> <define name="region-content">
>     <zeroOrMore>
>         <ref name="text-p"/>
>     </zeroOrMore>
> </define>
> <define name="presentation-notes">
>     <element name="presentation:notes">
>         <ref name="common-presentation-header-footer-attlist"/>
>         <ref name="presentation-notes-attlist"/>
>         <ref name="office-forms"/>
>         <zeroOrMore>
>             <ref name="shape"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="presentation-notes-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:page-layout-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="presentation-notes-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="table-table-template">
>     <element name="table:table-template">
>         <ref name="table-table-template-attlist"/>
>         <optional>
>             <ref name="table-first-row"/>
>         </optional>
>         <optional>
>             <ref name="table-last-row"/>
>         </optional>
>         <optional>
>             <ref name="table-first-column"/>
>         </optional>
>         <optional>
>             <ref name="table-last-column"/>
>         </optional>
>         <ref name="table-body"/>
>         <optional>
>             <ref name="table-even-rows"/>
>       </optional>
>       <optional>
>             <ref name="table-odd-rows"/>
>         </optional>
>         <optional>
>             <ref name="table-even-columns"/>
>       </optional>
>       <optional>
>             <ref name="table-odd-columns"/>
>         </optional>
>         <optional>
>             <ref name="table-background"/>
>         </optional>
>     </element>
> </define>
> <define name="table-table-template-attlist" combine="interleave">
>     <attribute name="table:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="table-table-template-attlist" combine="interleave">
>     <attribute name="table:first-row-start-column">
>         <ref name="rowOrCol"/>
>     </attribute>
> </define>
> 
> <define name="table-table-template-attlist" combine="interleave">
>     <attribute name="table:first-row-end-column">
>         <ref name="rowOrCol"/>
>     </attribute>
> </define>
> 
> <define name="table-table-template-attlist" combine="interleave">
>     <attribute name="table:last-row-start-column">
>         <ref name="rowOrCol"/>
>     </attribute>
> </define>
> 
> <define name="table-table-template-attlist" combine="interleave">
>     <attribute name="table:last-row-end-column">
>         <ref name="rowOrCol"/>
>     </attribute>
> </define>
> 
> <define name="rowOrCol">
>     <choice>
>         <value>row</value>
>         <value>column</value>
>     </choice>
> </define>
> <define name="table-first-row">
>     <element name="table:first-row">
>         <ref name="common-table-template-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> <define name="table-last-row">
>     <element name="table:last-row">
>         <ref name="common-table-template-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> <define name="table-first-column">
>     <element name="table:first-column">
>         <ref name="common-table-template-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> <define name="table-last-column">
>     <element name="table:last-column">
>         <ref name="common-table-template-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> <define name="table-body">
>     <element name="table:body">
>         <ref name="common-table-template-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> <define name="table-even-rows">
>     <element name="table:even-rows">
>         <ref name="common-table-template-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> <define name="table-odd-rows">
>     <element name="table:odd-rows">
>         <ref name="common-table-template-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> <define name="table-even-columns">
>     <element name="table:even-columns">
>         <ref name="common-table-template-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> <define name="table-odd-columns">
>     <element name="table:odd-columns">
>         <ref name="common-table-template-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> <define name="common-table-template-attlist" combine="interleave">
>     <attribute name="table:style-name">
>         <ref name="styleNameRef"/>
>     </attribute>
>    <optional>
>       <attribute name="table:paragraph-style-name">
>             <ref name="styleNameRef"/>
>       </attribute>
>    </optional>
> </define>
> 
> <define name="table-background">
>     <element name="table:background">
>         <ref name="table-background-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> <define name="table-background-attlist" combine="interleave">
>     <attribute name="table:style-name">
>         <ref name="styleNameRef"/>
>     </attribute>
> </define>
> <define name="style-font-face">
>     <element name="style:font-face">
>         <ref name="style-font-face-attlist"/>
>         <optional>
>             <ref name="svg-font-face-src"/>
>         </optional>
>         <optional>
>             <ref name="svg-definition-src"/>
>         </optional>
>     </element>
> </define>
> <define name="style-font-face-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:font-family">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:font-style">
>             <ref name="fontStyle"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:font-variant">
>             <ref name="fontVariant"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:font-weight">
>             <ref name="fontWeight"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:font-stretch">
>             <choice>
>                 <value>normal</value>
>                 <value>ultra-condensed</value>
>                 <value>extra-condensed</value>
>                 <value>condensed</value>
>                 <value>semi-condensed</value>
>                 <value>semi-expanded</value>
>                 <value>expanded</value>
>                 <value>extra-expanded</value>
>                 <value>ultra-expanded</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:font-size">
>             <ref name="positiveLength"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:unicode-range">
>          <ref name="string"/>
>       </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:units-per-em">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:panose-1">
>          <ref name="string"/>
>       </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:stemv">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:stemh">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:slope">
>             <ref name="integer"/>
>         </attribute>
>         </optional>
>     <optional>
>         <attribute name="svg:cap-height">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:x-height">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:accent-height">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:ascent">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:descent">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:widths">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:bbox">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:ideographic">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:alphabetic">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:mathematical">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:hanging">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:v-ideographic">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:v-alphabetic">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:v-mathematical">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:v-hanging">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:underline-position">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:underline-thickness">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:strikethrough-position">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:strikethrough-thickness">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:overline-position">
>             <ref name="integer"/>
>         </attribute>
>         </optional>
>     <optional>
>         <attribute name="svg:overline-thickness">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="svg-font-face-src">
>     <element name="svg:font-face-src">
>         <oneOrMore>
>             <choice>
>                 <ref name="svg-font-face-uri"/>
>                 <ref name="svg-font-face-name"/>
>             </choice>
>         </oneOrMore>
>     </element>
> </define>
> 
> <define name="svg-font-face-uri">
>     <element name="svg:font-face-uri">
>         <ref name="common-svg-font-face-xlink-attlist"/>
>         <zeroOrMore>
>             <ref name="svg-font-face-format"/>
>         </zeroOrMore>
>     </element>
> </define>
> 
> <define name="svg-font-face-format">
>     <element name="svg:font-face-format">
>         <optional>
>             <attribute name="svg:string">
>             <ref name="string"/>
>          </attribute>
>         </optional>
>         <empty/>
>     </element>
> </define>
> <define name="svg-font-face-name">
>     <element name="svg:font-face-name">
>         <optional>
>             <attribute name="svg:name">
>             <ref name="string"/>
>          </attribute>
>         </optional>
>         <empty/>
>     </element>
> </define>
> 
> <define name="svg-definition-src">
>     <element name="svg:definition-src">
>         <ref name="common-svg-font-face-xlink-attlist"/>
>     <empty/>
>     </element>
> </define>
> 
> <define name="common-svg-font-face-xlink-attlist" combine="interleave">
>     <attribute name="xlink:href">
>         <ref name="anyURI"/>
>     </attribute>
>     <optional>
>         <attribute name="xlink:type">
>             <value>simple</value>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="xlink:actuate">
>             <value>onRequest</value>
>         </attribute>
>     </optional>
> </define>
> <define name="style-font-face-attlist" combine="interleave">
>     <attribute name="style:name">
>         <ref name="string"/>
>     </attribute>
> </define>
> <define name="style-font-face-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:font-adornments">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-font-face-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:font-family-generic">
>             <ref name="fontFamilyGeneric"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-font-face-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:font-pitch">
>             <ref name="fontPitch"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="style-font-face-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:font-charset">
>             <ref name="textEncoding"/>
>         </attribute>
>     </optional>
> </define>
> <define name="number-number-style">
>     <element name="number:number-style">
>         <ref name="common-data-style-attlist"/>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>         <optional>
>             <ref name="number-text"/>
>         </optional>
>         <optional>
>             <ref name="any-number"/>
>             <optional>
>                 <ref name="number-text"/>
>             </optional>
>         </optional>
>         <zeroOrMore>
>             <ref name="style-map"/>
>         </zeroOrMore>
>     </element>
> </define>
> 
> <define name="any-number">
>     <choice>
>         <ref name="number-number"/>
>         <ref name="number-scientific-number"/>
>         <ref name="number-fraction"/>
>     </choice>
> </define>
> <define name="number-number">
>     <element name="number:number">
>         <ref name="number-number-attlist"/>
>         <ref name="common-decimal-places-attlist"/>
>         <ref name="common-number-attlist"/>
>         <zeroOrMore>
>             <ref name="number-embedded-text"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="number-number-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:decimal-replacement">
>          <ref name="string"/>
>       </attribute>
>     </optional>
> </define>
> <define name="number-number-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:display-factor">
>             <ref name="double"/>
>         </attribute>
>     </optional>
> </define>
> <define name="number-embedded-text">
>     <element name="number:embedded-text">
>         <ref name="number-embedded-text-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="number-embedded-text-attlist" combine="interleave">
>     <attribute name="number:position">
>         <ref name="integer"/>
>     </attribute>
> </define>
> <define name="number-scientific-number">
>     <element name="number:scientific-number">
>         <ref name="number-scientific-number-attlist"/>
>         <ref name="common-decimal-places-attlist"/>
>         <ref name="common-number-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="number-scientific-number-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:min-exponent-digits">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="number-fraction">
>     <element name="number:fraction">
>         <ref name="number-fraction-attlist"/>
>         <ref name="common-number-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="number-fraction-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:min-numerator-digits">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="number-fraction-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:min-denominator-digits">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="number-fraction-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:denominator-value">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="number-currency-style">
>     <element name="number:currency-style">
>         <ref name="common-data-style-attlist"/>
>         <ref name="common-auto-reorder-attlist"/>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>         <optional>
>             <ref name="number-text"/>
>         </optional>
>         <optional>
>             <choice>
>                 <group>
>                     <ref name="number-and-text"/>
>                     <optional>
>                         <ref name="currency-symbol-and-text"/>
>                     </optional>
>                 </group>
>                 <group>
>                     <ref name="currency-symbol-and-text"/>
>                     <optional>
>                         <ref name="number-and-text"/>
>                     </optional>
>                 </group>
>             </choice>
>         </optional>
>         <zeroOrMore>
>             <ref name="style-map"/>
>         </zeroOrMore>
>     </element>
> </define>
> 
> <define name="currency-symbol-and-text">
>     <ref name="number-currency-symbol"/>
>     <optional>
>         <ref name="number-text"/>
>     </optional>
> </define>
> <define name="number-and-text">
>     <ref name="number-number"/>
>     <optional>
>         <ref name="number-text"/>
>     </optional>
> </define>
> <define name="number-currency-symbol">
>     <element name="number:currency-symbol">
>         <ref name="number-currency-symbol-attlist"/>
>         <text/>
>     </element>
> </define>
> <define name="number-currency-symbol-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:language">
>             <ref name="languageCode"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="number:country">
>             <ref name="countryCode"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="number:script">
>             <ref name="scriptCode"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="number:rfc-language-tag">
>             <ref name="language"/>
>         </attribute>
>     </optional>
> </define>
> <define name="number-percentage-style">
>     <element name="number:percentage-style">
>         <ref name="common-data-style-attlist"/>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>         <optional>
>             <ref name="number-text"/>
>         </optional>
>         <optional>
>             <ref name="number-and-text"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="style-map"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="number-date-style">
>     <element name="number:date-style">
>         <ref name="common-data-style-attlist"/>
>         <ref name="common-auto-reorder-attlist"/>
>         <ref name="common-format-source-attlist"/>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>         <optional>
>             <ref name="number-text"/>
>         </optional>
>         <oneOrMore>
>             <ref name="any-date"/>
>             <optional>
>                 <ref name="number-text"/>
>             </optional>
>         </oneOrMore>
>         <zeroOrMore>
>             <ref name="style-map"/>
>         </zeroOrMore>
>     </element>
> </define>
> 
> <define name="any-date">
>     <choice>
>         <ref name="number-day"/>
>         <ref name="number-month"/>
>         <ref name="number-year"/>
>         <ref name="number-era"/>
>         <ref name="number-day-of-week"/>
>         <ref name="number-week-of-year"/>
>         <ref name="number-quarter"/>
>         <ref name="number-hours"/>
>         <ref name="number-am-pm"/>
>         <ref name="number-minutes"/>
>         <ref name="number-seconds"/>
>     </choice>
> </define>
> <define name="number-day">
>     <element name="number:day">
>         <ref name="number-day-attlist"/>
>         <ref name="common-calendar-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="number-day-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:style">
>             <choice>
>                 <value>short</value>
>                 <value>long</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="number-month">
>     <element name="number:month">
>         <ref name="number-month-attlist"/>
>         <ref name="common-calendar-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="number-month-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:textual">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="number-month-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:possessive-form">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="number-month-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:style">
>             <choice>
>                 <value>short</value>
>                 <value>long</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="number-year">
>     <element name="number:year">
>         <ref name="number-year-attlist"/>
>         <ref name="common-calendar-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="number-year-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:style">
>             <choice>
>                 <value>short</value>
>                 <value>long</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="number-era">
>     <element name="number:era">
>         <ref name="number-era-attlist"/>
>         <ref name="common-calendar-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="number-era-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:style">
>             <choice>
>                 <value>short</value>
>                 <value>long</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="number-day-of-week">
>     <element name="number:day-of-week">
>         <ref name="number-day-of-week-attlist"/>
>         <ref name="common-calendar-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="number-day-of-week-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:style">
>             <choice>
>                 <value>short</value>
>                 <value>long</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="number-week-of-year">
>     <element name="number:week-of-year">
>         <ref name="common-calendar-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="number-quarter">
>     <element name="number:quarter">
>         <ref name="number-quarter-attlist"/>
>         <ref name="common-calendar-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="number-quarter-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:style">
>             <choice>
>                 <value>short</value>
>                 <value>long</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="number-time-style">
>     <element name="number:time-style">
>         <ref name="number-time-style-attlist"/>
>         <ref name="common-data-style-attlist"/>
>         <ref name="common-format-source-attlist"/>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>         <optional>
>             <ref name="number-text"/>
>         </optional>
>         <oneOrMore>
>             <ref name="any-time"/>
>             <optional>
>                 <ref name="number-text"/>
>             </optional>
>         </oneOrMore>
>         <zeroOrMore>
>             <ref name="style-map"/>
>         </zeroOrMore>
>     </element>
> </define>
> 
> <define name="any-time">
>     <choice>
>         <ref name="number-hours"/>
>         <ref name="number-am-pm"/>
>         <ref name="number-minutes"/>
>         <ref name="number-seconds"/>
>     </choice>
> </define>
> <define name="number-time-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:truncate-on-overflow">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="number-hours">
>     <element name="number:hours">
>         <ref name="number-hours-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="number-hours-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:style">
>             <choice>
>                 <value>short</value>
>                 <value>long</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="number-minutes">
>     <element name="number:minutes">
>         <ref name="number-minutes-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="number-minutes-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:style">
>             <choice>
>                 <value>short</value>
>                 <value>long</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="number-seconds">
>     <element name="number:seconds">
>         <ref name="number-seconds-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="number-seconds-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:style">
>             <choice>
>                 <value>short</value>
>                 <value>long</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="number-seconds-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:decimal-places">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="number-am-pm">
>     <element name="number:am-pm">
>         <empty/>
>     </element>
> </define>
> <define name="number-boolean-style">
>     <element name="number:boolean-style">
>         <ref name="common-data-style-attlist"/>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>         <optional>
>             <ref name="number-text"/>
>         </optional>
>         <optional>
>             <ref name="number-boolean"/>
>             <optional>
>                 <ref name="number-text"/>
>             </optional>
>         </optional>
>         <zeroOrMore>
>             <ref name="style-map"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="number-boolean">
>     <element name="number:boolean">
>         <empty/>
>     </element>
> </define>
> <define name="number-text-style">
>     <element name="number:text-style">
>         <ref name="common-data-style-attlist"/>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>         <optional>
>             <ref name="number-text"/>
>         </optional>
>         <zeroOrMore>
>             <ref name="number-text-content"/>
>             <optional>
>                 <ref name="number-text"/>
>             </optional>
>         </zeroOrMore>
>         <zeroOrMore>
>             <ref name="style-map"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="number-text">
>     <element name="number:text">
>         <text/>
>     </element>
> </define>
> <define name="number-text-content">
>     <element name="number:text-content">
>         <empty/>
>     </element>
> </define>
> <define name="common-data-style-attlist" combine="interleave">
>     <attribute name="style:name">
>         <ref name="styleName"/>
>     </attribute>
> </define>
> <define name="style-data-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:display-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-data-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:language">
>             <ref name="languageCode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-data-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:country">
>             <ref name="countryCode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-data-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:script">
>             <ref name="scriptCode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-data-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:rfc-language-tag">
>             <ref name="language"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-data-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:title">
>          <ref name="string"/>
>       </attribute>
>     </optional>
> </define>
> <define name="common-data-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:volatile">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-auto-reorder-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:automatic-order">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-format-source-attlist">
>     <optional>
>         <attribute name="number:format-source">
>             <choice>
>                 <value>fixed</value>
>                 <value>language</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-data-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:transliteration-format">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-data-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:transliteration-language">
>             <ref name="countryCode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-data-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:transliteration-country">
>             <ref name="countryCode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-data-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:transliteration-style">
>             <choice>
>                 <value>short</value>
>                 <value>medium</value>
>                 <value>long</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-decimal-places-attlist">
>     <optional>
>         <attribute name="number:decimal-places">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-number-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:min-integer-digits">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-number-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:grouping">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-calendar-attlist" combine="interleave">
>     <optional>
>         <attribute name="number:calendar">
>             <choice>
>                 <value>gregorian</value>
>                 <value>gengou</value>
>                 <value>ROC</value>
>                 <value>hanja_yoil</value>
>                 <value>hanja</value>
>                 <value>hijri</value>
>                 <value>jewish</value>
>                 <value>buddhist</value>
>                 <ref name="string"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-style-content" combine="choice">
>     <group>
>         <attribute name="style:family">
>             <value>text</value>
>         </attribute>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>     </group>
> </define>
> <define name="style-style-content" combine="choice">
>     <group>
>         <attribute name="style:family">
>             <value>paragraph</value>
>         </attribute>
>         <optional>
>             <ref name="style-paragraph-properties"/>
>         </optional>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>     </group>
> </define>
> <define name="style-style-content" combine="choice">
>     <group>
>         <attribute name="style:family">
>             <value>section</value>
>         </attribute>
>         <optional>
>             <ref name="style-section-properties"/>
>         </optional>
>     </group>
> </define>
> <define name="style-style-content" combine="choice">
>     <group>
>         <attribute name="style:family">
>             <value>ruby</value>
>         </attribute>
>         <optional>
>             <ref name="style-ruby-properties"/>
>         </optional>
>     </group>
> </define>
> <define name="text-linenumbering-configuration">
>     <element name="text:linenumbering-configuration">
>         <ref name="text-linenumbering-configuration-attlist"/>
>         <optional>
>             <ref name="text-linenumbering-separator"/>
>         </optional>
>     </element>
> </define>
> <define name="text-linenumbering-configuration-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:number-lines">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-linenumbering-configuration-attlist" 
combine="interleave">
>     <optional>
>         <ref name="common-num-format-attlist"/>
>     </optional>
> </define>
> <define name="text-linenumbering-configuration-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-linenumbering-configuration-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:increment">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-linenumbering-configuration-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:number-position">
>             <choice>
>                 <value>left</value>
>                 <value>right</value>
>                 <value>inner</value>
>                 <value>outer</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="text-linenumbering-configuration-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:offset">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-linenumbering-configuration-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:count-empty-lines">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-linenumbering-configuration-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:count-in-text-boxes">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-linenumbering-configuration-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:restart-on-page">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-linenumbering-separator">
>     <element name="text:linenumbering-separator">
>         <optional>
>             <attribute name="text:increment">
>                 <ref name="nonNegativeInteger"/>
>             </attribute>
>         </optional>
>         <text/>
>     </element>
> </define>
> <define name="text-notes-configuration">
>     <element name="text:notes-configuration">
>         <ref name="text-notes-configuration-content"/>
>     </element>
> </define>
> <define name="text-notes-configuration-content" combine="interleave">
>     <ref name="text-note-class"/>
> </define>
> <define name="text-notes-configuration-content" combine="interleave">
>     <optional>
>         <attribute name="text:citation-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-notes-configuration-content" combine="interleave">
>     <optional>
>         <attribute name="text:citation-body-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-notes-configuration-content" combine="interleave">
>     <optional>
>         <attribute name="text:default-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-notes-configuration-content" combine="interleave">
>     <optional>
>         <attribute name="text:master-page-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-notes-configuration-content" combine="interleave">
>     <optional>
>         <attribute name="text:start-value">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-notes-configuration-content" combine="interleave">
>     <ref name="common-num-format-prefix-suffix-attlist"/>
>     <optional>
>         <ref name="common-num-format-attlist"/>
>     </optional>
> </define>
> <define name="text-notes-configuration-content" combine="interleave">
>     <optional>
>         <attribute name="text:start-numbering-at">
>             <choice>
>                 <value>document</value>
>                 <value>chapter</value>
>                 <value>page</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="text-notes-configuration-content" combine="interleave">
>     <optional>
>         <attribute name="text:footnotes-position">
>             <choice>
>                 <value>text</value>
>                 <value>page</value>
>                 <value>section</value>
>                 <value>document</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="text-notes-configuration-content" combine="interleave">
>     <optional>
>         <element name="text:note-continuation-notice-forward">
>             <text/>
>         </element>
>     </optional>
> </define>
> <define name="text-notes-configuration-content" combine="interleave">
>     <optional>
>         <element name="text:note-continuation-notice-backward">
>             <text/>
>         </element>
>     </optional>
> </define>
> <define name="text-bibliography-configuration">
>     <element name="text:bibliography-configuration">
>         <ref name="text-bibliography-configuration-attlist"/>
>         <zeroOrMore>
>             <ref name="text-sort-key"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-bibliography-configuration-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:prefix">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:suffix">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-bibliography-configuration-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:numbered-entries">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-bibliography-configuration-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:sort-by-position">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:language">
>             <ref name="languageCode"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:country">
>             <ref name="countryCode"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:script">
>             <ref name="scriptCode"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:rfc-language-tag">
>             <ref name="language"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:sort-algorithm">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-sort-key">
>     <element name="text:sort-key">
>         <ref name="text-sort-key-attlist"/>
>         <empty/>
>     </element>
> </define>
> 
> <define name="text-sort-key-attlist" combine="interleave">
>     <attribute name="text:key">
>         <choice>
>             <value>address</value>
>             <value>annote</value>
>             <value>author</value>
>             <value>bibliography-type</value>
>             <value>booktitle</value>
>             <value>chapter</value>
>             <value>custom1</value>
>             <value>custom2</value>
>             <value>custom3</value>
>             <value>custom4</value>
>             <value>custom5</value>
>             <value>edition</value>
>             <value>editor</value>
>             <value>howpublished</value>
>             <value>identifier</value>
>             <value>institution</value>
>             <value>isbn</value>
>             <value>issn</value>
>             <value>journal</value>
>             <value>month</value>
>             <value>note</value>
>             <value>number</value>
>             <value>organizations</value>
>             <value>pages</value>
>             <value>publisher</value>
>             <value>report-type</value>
>             <value>school</value>
>             <value>series</value>
>             <value>title</value>
>             <value>url</value>
>             <value>volume</value>
>             <value>year</value>
>         </choice>
>     </attribute>
>     <optional>
>         <attribute name="text:sort-ascending">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-list-style">
>     <element name="text:list-style">
>         <ref name="text-list-style-attr"/>
>         <zeroOrMore>
>             <ref name="text-list-style-content"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="text-list-style-attr" combine="interleave">
>     <attribute name="style:name">
>         <ref name="styleName"/>
>     </attribute>
> </define>
> <define name="text-list-style-attr" combine="interleave">
>     <optional>
>         <attribute name="style:display-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-list-style-attr" combine="interleave">
>     <optional>
>         <attribute name="text:consecutive-numbering">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-list-style-content" combine="choice">
>     <element name="text:list-level-style-number">
>         <ref name="text-list-level-style-attr"/>
>         <ref name="text-list-level-style-number-attr"/>
>         <optional>
>             <ref name="style-list-level-properties"/>
>         </optional>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>     </element>
> </define>
> <define name="text-list-level-style-number-attr" combine="interleave">
>     <optional>
>         <attribute name="text:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-list-level-style-number-attr" combine="interleave">
>     <ref name="common-num-format-attlist"/>
>     <ref name="common-num-format-prefix-suffix-attlist"/>
> </define>
> <define name="text-list-level-style-number-attr" combine="interleave">
>     <optional>
>         <attribute name="text:display-levels">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-list-level-style-number-attr" combine="interleave">
>     <optional>
>         <attribute name="text:start-value">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-list-style-content" combine="choice">
>     <element name="text:list-level-style-bullet">
>         <ref name="text-list-level-style-attr"/>
>         <ref name="text-list-level-style-bullet-attr"/>
>         <optional>
>             <ref name="style-list-level-properties"/>
>         </optional>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>     </element>
> </define>
> <define name="text-list-level-style-bullet-attr" combine="interleave">
>     <optional>
>         <attribute name="text:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-list-level-style-bullet-attr" combine="interleave">
>     <attribute name="text:bullet-char">
>         <ref name="character"/>
>     </attribute>
> </define>
> <define name="text-list-level-style-bullet-attr" combine="interleave">
>     <ref name="common-num-format-prefix-suffix-attlist"/>
> </define>
> <define name="text-list-level-style-bullet-attr" combine="interleave">
>     <optional>
>         <attribute name="text:bullet-relative-size">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-list-style-content" combine="choice">
>     <element name="text:list-level-style-image">
>         <ref name="text-list-level-style-attr"/>
>         <ref name="text-list-level-style-image-attr"/>
>         <optional>
>             <ref name="style-list-level-properties"/>
>         </optional>
>     </element>
> </define>
> <define name="text-list-level-style-image-attr" combine="interleave">
>     <choice>
>         <ref name="common-draw-data-attlist"/>
>         <ref name="office-binary-data"/>
>     </choice>
> </define>
> <define name="text-list-level-style-attr">
>     <attribute name="text:level">
>         <ref name="positiveInteger"/>
>     </attribute>
> </define>
> <define name="text-outline-style">
>     <element name="text:outline-style">
>         <ref name="text-outline-style-attr"/>
>         <oneOrMore>
>             <ref name="text-outline-level-style"/>
>         </oneOrMore>
>     </element>
> </define>
> <define name="text-outline-style-attr" combine="interleave">
>     <attribute name="style:name">
>         <ref name="styleName"/>
>     </attribute>
> </define>
> <define name="text-outline-level-style">
>     <element name="text:outline-level-style">
>         <ref name="text-outline-level-style-attlist"/>
>         <optional>
>             <ref name="style-list-level-properties"/>
>         </optional>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>     </element>
> </define>
> <define name="text-outline-level-style-attlist" combine="interleave">
>     <attribute name="text:level">
>         <ref name="positiveInteger"/>
>     </attribute>
> </define>
> <define name="text-outline-level-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-outline-level-style-attlist" combine="interleave">
>     <ref name="common-num-format-attlist"/>
>     <ref name="common-num-format-prefix-suffix-attlist"/>
> </define>
> <define name="text-outline-level-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:display-levels">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="text-outline-level-style-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:start-value">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-style-content" combine="choice">
>     <group>
>         <attribute name="style:family">
>             <value>table</value>
>         </attribute>
>         <optional>
>             <ref name="style-table-properties"/>
>         </optional>
>     </group>
> </define>
> <define name="style-style-content" combine="choice">
>     <group>
>         <attribute name="style:family">
>             <value>table-column</value>
>         </attribute>
>         <optional>
>             <ref name="style-table-column-properties"/>
>         </optional>
>     </group>
> </define>
> <define name="style-style-content" combine="choice">
>     <group>
>         <attribute name="style:family">
>             <value>table-row</value>
>         </attribute>
>         <optional>
>             <ref name="style-table-row-properties"/>
>         </optional>
>     </group>
> </define>
> <define name="style-style-content" combine="choice">
>     <group>
>         <attribute name="style:family">
>             <value>table-cell</value>
>         </attribute>
>         <optional>
>             <ref name="style-table-cell-properties"/>
>         </optional>
>         <optional>
>             <ref name="style-paragraph-properties"/>
>         </optional>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>     </group>
> </define>
> <define name="style-style-content" combine="choice">
>     <group>
>         <attribute name="style:family">
>             <value>table-diagonal-table-headers</value>
>         </attribute>
>         <optional>
>             <ref name="style-diagonal-table-headers-properties"/>
>         </optional>
>     </group>
> </define>
> <define name="style-style-content" combine="choice">
>     <group>
>         <attribute name="style:family">
>             <value>table-diagonal-table-header-cell</value>
>         </attribute>
>         <optional>
>             <ref name="style-diagonal-table-header-cell-properties"/>
>         </optional>
>     </group>
> </define>
> <define name="style-style-content" combine="choice">
>     <group>
>         <attribute name="style:family">
>             <choice>
>                 <value>graphic</value>
>                 <value>presentation</value>
>             </choice>
>         </attribute>
>         <optional>
>             <ref name="style-graphic-properties"/>
>         </optional>
>         <optional>
>             <ref name="style-paragraph-properties"/>
>         </optional>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>     </group>
> </define>
> 
> <define name="style-graphic-properties">
>     <element name="style:graphic-properties">
>         <ref name="style-graphic-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-graphic-properties-content-strict">
>     <ref name="style-graphic-properties-attlist"/>
>     <ref name="style-graphic-fill-properties-attlist"/>
>     <ref name="style-graphic-properties-elements"/>
> </define>
> 
> <define name=" style-graphic-properties-elements">
>     <empty/>
> </define>
> <define name="style-style-content" combine="choice">
>     <group>
>         <attribute name="style:family">
>             <value>drawing-page</value>
>         </attribute>
>         <optional>
>             <ref name="style-drawing-page-properties"/>
>         </optional>
>     </group>
> </define>
> 
> <define name="style-drawing-page-properties">
>     <element name="style:drawing-page-properties">
>         <ref name="style-drawing-page-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-drawing-page-properties-content-strict">
>     <ref name="style-graphic-fill-properties-attlist"/>
>     <ref name="style-drawing-page-properties-attlist"/>
>     <ref name="style-drawing-page-properties-elements"/>
> </define>
> <define name="draw-gradient">
>     <element name="draw:gradient">
>         <ref name="common-draw-gradient-attlist"/>
>         <ref name="draw-gradient-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="common-draw-gradient-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:name">
>             <ref name="styleName"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-gradient-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:display-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-gradient-attlist" combine="interleave">
>     <attribute name="draw:style">
>         <ref name="gradient-style"/>
>     </attribute>
> </define>
> <define name="gradient-style">
>     <choice>
>         <value>linear</value>
>         <value>axial</value>
>         <value>radial</value>
>         <value>ellipsoid</value>
>         <value>square</value>
>         <value>rectangular</value>
>     </choice>
> </define>
> <define name="common-draw-gradient-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:cx">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:cy">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-gradient-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:start-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:end-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-gradient-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:start-intensity">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:end-intensity">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-gradient-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:angle">
>          <ref name="angle"/>
>         </attribute>
>     </optional>
> </define>
> <define name="common-draw-gradient-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:border">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="svg-linearGradient">
>     <element name="svg:linearGradient">
>         <ref name="common-svg-gradient-attlist"/>
>         <optional>
>             <attribute name="svg:x1">
>                 <choice>
>                     <ref name="coordinate"/>
>                     <ref name="percent"/>
>                 </choice> 
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="svg:y1">
>                 <choice>
>                     <ref name="coordinate"/>
>                     <ref name="percent"/>
>                 </choice> 
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="svg:x2">
>                 <choice>
>                     <ref name="coordinate"/>
>                     <ref name="percent"/>
>                 </choice> 
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="svg:y2">
>                 <choice>
>                     <ref name="coordinate"/>
>                     <ref name="percent"/>
>                 </choice> 
>             </attribute>
>         </optional>
>         <zeroOrMore>
>             <ref name="svg-stop"/>
>         </zeroOrMore>
>     </element>
> </define>
> 
> <define name="svg-radialGradient">
>     <element name="svg:radialGradient">
>         <ref name="common-svg-gradient-attlist"/>
>         <optional>
>             <attribute name="svg:cx">
>                 <choice>
>                     <ref name="coordinate"/>
>                     <ref name="percent"/>
>                 </choice> 
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="svg:cy">
>                 <choice>
>                     <ref name="coordinate"/>
>                     <ref name="percent"/>
>                 </choice> 
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="svg:r">
>                 <choice>
>                     <ref name="coordinate"/>
>                     <ref name="percent"/>
>                 </choice> 
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="svg:fx">
>                 <choice>
>                     <ref name="coordinate"/>
>                     <ref name="percent"/>
>                 </choice> 
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="svg:fy">
>                 <choice>
>                     <ref name="coordinate"/>
>                     <ref name="percent"/>
>                 </choice> 
>             </attribute>
>         </optional>
>         <zeroOrMore>
>             <ref name="svg-stop"/>
>         </zeroOrMore>
>     </element>
> </define>
> 
> <define name="svg-stop">
>     <element name="svg:stop">
>         <attribute name="svg:offset">
>             <choice>
>                 <ref name="double"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>         <optional>
>             <attribute name="svg:stop-color">
>                 <ref name="color"/>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="svg:stop-opacity">
>                 <ref name="double"/>
>             </attribute>
>         </optional>
>     </element>
> </define>
> 
> <define name="common-svg-gradient-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:gradientUnits">
>             <value>objectBoundingBox</value>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:gradientTransform">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:spreadMethod">
>             <choice>
>                 <value>pad</value>
>                 <value>reflect</value>
>                 <value>repeat</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="common-svg-gradient-attlist" combine="interleave">
>     <attribute name="draw:name">
>         <ref name="styleName"/>
>     </attribute>
> </define>
> <define name="common-svg-gradient-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:display-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-hatch">
>     <element name="draw:hatch">
>         <ref name="draw-hatch-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="draw-hatch-attlist" combine="interleave">
>     <attribute name="draw:name">
>         <ref name="styleName"/>
>     </attribute>
> </define>
> <define name="draw-hatch-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:display-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-hatch-attlist" combine="interleave">
>     <attribute name="draw:style">
>         <choice>
>             <value>single</value>
>             <value>double</value>
>             <value>triple</value>
>         </choice>
>     </attribute>
> </define>
> <define name="draw-hatch-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-hatch-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:distance">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-hatch-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:rotation">
>          <ref name="angle"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-fill-image">
>     <element name="draw:fill-image">
>         <ref name="draw-fill-image-attlist"/>
>         <attribute name="xlink:href">
>             <ref name="anyURI"/>
>         </attribute>
>         <optional>
>             <attribute name="xlink:type">
>                 <choice>
>                     <value>simple</value>
>                 </choice>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="xlink:show">
>                 <choice>
>                     <value>embed</value>
>                 </choice>
>             </attribute>
>         </optional>
>         <optional>
>             <attribute name="xlink:actuate">
>                 <choice>
>                     <value>onLoad</value>
>                 </choice>
>             </attribute>
>         </optional>
>         <empty/>
>     </element>
> </define>
> <define name="draw-fill-image-attlist" combine="interleave">
>     <attribute name="draw:name">
>         <ref name="styleName"/>
>     </attribute>
> </define>
> <define name="draw-fill-image-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:display-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-fill-image-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:width">
>             <ref name="length"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:height">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-opacity">
>     <element name="draw:opacity">
>         <ref name="common-draw-gradient-attlist"/>
>         <ref name="draw-opacity-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="draw-opacity-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:start">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:end">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-marker">
>     <element name="draw:marker">
>         <ref name="draw-marker-attlist"/>
>         <ref name="common-draw-viewbox-attlist"/>
>         <ref name="common-draw-path-data-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="draw-marker-attlist" combine="interleave">
>     <attribute name="draw:name">
>         <ref name="styleName"/>
>     </attribute>
> </define>
> <define name="draw-marker-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:display-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-stroke-dash">
>     <element name="draw:stroke-dash">
>         <ref name="draw-stroke-dash-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="draw-stroke-dash-attlist" combine="interleave">
>     <attribute name="draw:name">
>         <ref name="styleName"/>
>     </attribute>
> </define>
> <define name="draw-stroke-dash-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:display-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-stroke-dash-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:style">
>             <choice>
>                 <value>rect</value>
>                 <value>round</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-stroke-dash-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:dots1">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:dots1-length">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:dots2">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:dots2-length">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="draw-stroke-dash-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:distance">
>             <choice>
>             <ref name="length"/>
>             <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-presentation-page-layout">
>     <element name="style:presentation-page-layout">
>         <attribute name="style:name">
>             <ref name="styleName"/>
>         </attribute>
>         <optional>
>             <attribute name="style:display-name">
>                 <ref name="string"/>
>             </attribute>
>         </optional>
>         <zeroOrMore>
>             <ref name="presentation-placeholder"/>
>         </zeroOrMore>
>     </element>
> </define>
> <define name="presentation-placeholder">
>     <element name="presentation:placeholder">
>         <attribute name="presentation:object">
>             <ref name="presentation-classes"/>
>         </attribute>
>         <attribute name="svg:x">
>             <choice>
>                 <ref name="coordinate"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>         <attribute name="svg:y">
>             <choice>
>                 <ref name="coordinate"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>         <attribute name="svg:width">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>         <attribute name="svg:height">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>         <empty/>
>     </element>
> </define>
> <define name="style-style-content" combine="choice">
>     <group>
>         <attribute name="style:family">
>             <value>chart</value>
>         </attribute>
>         <optional>
>             <ref name="style-chart-properties"/>
>         </optional>
>         <optional>
>             <ref name="style-graphic-properties"/>
>         </optional>
>         <optional>
>             <ref name="style-paragraph-properties"/>
>         </optional>
>         <optional>
>             <ref name="style-text-properties"/>
>         </optional>
>     </group>
> </define>
> <define name="style-page-layout-properties">
>     <element name="style:page-layout-properties">
>         <ref name="style-page-layout-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-page-layout-properties-content-strict">
>     <ref name="style-page-layout-properties-attlist"/>
>     <ref name="style-page-layout-properties-elements"/>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="fo:page-width">
>             <ref name="length"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:page-height">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <ref name="common-num-format-attlist"/>
>     </optional>
>     <ref name="common-num-format-prefix-suffix-attlist"/>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:paper-tray-name">
>             <choice>
>                 <value>default</value>
>                 <ref name="string"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:print-orientation">
>             <choice>
>                 <value>portrait</value>
>                 <value>landscape</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <ref name="common-horizontal-margin-attlist"/>
>     <ref name="common-vertical-margin-attlist"/>
>     <ref name="common-margin-attlist"/>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <ref name="common-border-attlist"/>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <ref name="common-border-line-width-attlist"/>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <ref name="common-padding-attlist"/>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <ref name="common-shadow-attlist"/>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <ref name="common-background-color-attlist"/>
> </define>
> <define name="style-page-layout-properties-elements" 
combine="interleave">
>     <ref name="style-background-image"/>
> </define>
> <define name="style-page-layout-properties-elements" 
combine="interleave">
>     <ref name="style-columns"/>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:register-truth-ref-style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:print">
>             <list>
>                 <zeroOrMore>
>                     <choice>
>                         <value>headers</value>
>                         <value>grid</value>
>                         <value>annotations</value>
>                         <value>objects</value>
>                         <value>charts</value>
>                         <value>drawings</value>
>                         <value>formulas</value>
>                         <value>zero-values</value>
>                     </choice>
>                 </zeroOrMore>
>             </list>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:print-page-order">
>             <choice>
>                 <value>ttb</value>
>                 <value>ltr</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:first-page-number">
>             <choice>
>                 <ref name="positiveInteger"/>
>                 <value>continue</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:scale-to">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:scale-to-pages">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:table-centering">
>             <choice>
>                 <value>horizontal</value>
>                 <value>vertical</value>
>                 <value>both</value>
>                 <value>none</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:footnote-max-height">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <ref name="common-writing-mode-attlist"/>
> </define>
> <define name="style-page-layout-properties-elements" 
combine="interleave">
>     <ref name="style-footnote-sep"/>
> </define>
> 
> <define name="style-footnote-sep">
>     <optional>
>         <element name="style:footnote-sep">
>             <ref name="style-footnote-sep-attlist"/>
>             <empty/>
>         </element>
>     </optional>
> </define>
> <define name="style-footnote-sep-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:width">
>             <ref name="length"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:rel-width">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:line-style">
>             <ref name="lineStyle"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:adjustment">
>             <choice>
>                 <value>left</value>
>                 <value>center</value>
>                 <value>right</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:distance-before-sep">
>             <ref name="length"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:distance-after-sep">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:layout-grid-mode">
>             <choice>
>                 <value>none</value>
>                 <value>line</value>
>                 <value>both</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:layout-grid-standard-mode">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:layout-grid-base-height">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:layout-grid-ruby-height">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:layout-grid-lines">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:layout-grid-base-width">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:layout-grid-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:layout-grid-ruby-below">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:layout-grid-print">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:layout-grid-display">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-page-layout-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:layout-grid-snap-to">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-header-footer-properties">
>     <element name="style:header-footer-properties">
>         <ref name="style-header-footer-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-header-footer-properties-content-strict">
>         <ref name="style-header-footer-properties-attlist"/>
>         <ref name="style-header-footer-properties-elements"/>
> </define>
> <define name="style-header-footer-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="svg:height">
>             <ref name="length"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:min-height">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-header-footer-properties-attlist" 
combine="interleave">
>     <ref name="common-horizontal-margin-attlist"/>
>     <ref name="common-vertical-margin-attlist"/>
>     <ref name="common-margin-attlist"/>
> </define>
> <define name="style-header-footer-properties-attlist" 
combine="interleave">
>     <ref name="common-border-attlist"/>
> </define>
> <define name="style-header-footer-properties-attlist" 
combine="interleave">
>     <ref name="common-border-line-width-attlist"/>
> </define>
> <define name="style-header-footer-properties-attlist" 
combine="interleave">
>     <ref name="common-padding-attlist"/>
> </define>
> <define name="style-header-footer-properties-attlist" 
combine="interleave">
>     <ref name="common-background-color-attlist"/>
> </define>
> <define name="style-header-footer-properties-elements" 
combine="interleave">
>     <ref name="style-background-image"/>
> </define>
> <define name="style-header-footer-properties-attlist" 
combine="interleave">
>     <ref name="common-shadow-attlist"/>
> </define>
> <define name="style-header-footer-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:dynamic-spacing">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties">
>     <element name="style:text-properties">
>         <ref name="style-text-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-text-properties-content-strict">
>     <ref name="style-text-properties-attlist"/>
>     <ref name="style-text-properties-elements"/>
> </define>
> 
> <define name="style-text-properties-elements">
>     <empty/>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:font-variant">
>             <ref name="fontVariant"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="fontVariant">
>     <choice>
>         <value>normal</value>
>         <value>small-caps</value>
>     </choice>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:text-transform">
>             <choice>
>                 <value>none</value>
>                 <value>lowercase</value>
>                 <value>uppercase</value>
>                 <value>capitalize</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>             <attribute name="fo:color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:use-window-font-color">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-outline">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-line-through-type">
>             <ref name="lineType"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-line-through-style">
>             <ref name="lineStyle"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-line-through-width">
>             <ref name="lineWidth"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-line-through-color">
>             <choice>
>                 <value>font-color</value>
>                 <ref name="color"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-line-through-text">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-line-through-text-style">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-position">
>             <list>
>                 <choice>
>                     <ref name="percent"/>
>                     <value>super</value>
>                     <value>sub</value>
>                 </choice>
>                 <optional>
>                     <ref name="percent"/>
>                 </optional>
>             </list>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:font-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-name-asian">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-name-complex">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:font-family">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-family-asian">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-family-complex">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:font-family-generic">
>             <ref name="fontFamilyGeneric"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-family-generic-asian">
>             <ref name="fontFamilyGeneric"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-family-generic-complex">
>             <ref name="fontFamilyGeneric"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="fontFamilyGeneric">
>     <choice>
>         <value>roman</value>
>         <value>swiss</value>
>         <value>modern</value>
>         <value>decorative</value>
>         <value>script</value>
>         <value>system</value>
>     </choice>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:font-style-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-style-name-asian">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-style-name-complex">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:font-pitch">
>             <ref name="fontPitch"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-pitch-asian">
>             <ref name="fontPitch"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-pitch-complex">
>             <ref name="fontPitch"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="fontPitch">
>     <choice>
>         <value>fixed</value>
>         <value>variable</value>
>     </choice>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:font-charset">
>             <ref name="textEncoding"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-charset-asian">
>             <ref name="textEncoding"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-charset-complex">
>             <ref name="textEncoding"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="textEncoding">
>     <data type="string">
>         <param name="pattern">[A-Za-z][A-Za-z0-9._\-]*</param>
>     </data>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:font-size">
>             <choice>
>                 <ref name="positiveLength"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-size-asian">
>             <choice>
>                 <ref name="positiveLength"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-size-complex">
>             <choice>
>                 <ref name="positiveLength"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:font-size-rel">
>             <ref name="length"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-size-rel-asian">
>             <ref name="length"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-size-rel-complex">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:script-type">
>             <choice>
>                 <value>latin</value>
>                 <value>asian</value>
>                 <value>complex</value>
>                 <value>ignore</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:letter-spacing">
>             <choice>
>                 <ref name="length"/>
>                 <value>normal</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:language">
>             <ref name="languageCode"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:language-asian">
>             <ref name="languageCode"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:language-complex">
>             <ref name="languageCode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:country">
>             <ref name="countryCode"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:country-asian">
>             <ref name="countryCode"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:country-complex">
>             <ref name="countryCode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:script">
>             <ref name="scriptCode"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:script-asian">
>             <ref name="scriptCode"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:script-complex">
>             <ref name="scriptCode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:rfc-language-tag">
>             <ref name="language"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:rfc-language-tag-asian">
>             <ref name="language"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:rfc-language-tag-complex">
>             <ref name="language"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:font-style">
>             <ref name="fontStyle"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-style-asian">
>             <ref name="fontStyle"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-style-complex">
>             <ref name="fontStyle"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="fontStyle">
>     <choice>
>         <value>normal</value>
>         <value>italic</value>
>         <value>oblique</value>
>     </choice>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:font-relief">
>             <choice>
>             <value>none</value>
>                 <value>embossed</value>
>                 <value>engraved</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:text-shadow">
>             <ref name="shadowType"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="shadowType">
>     <choice>
>         <value>none</value>
>         <ref name="string"/>
>     </choice>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-underline-type">
>             <ref name="lineType"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="lineType">
>     <choice>
>         <value>none</value>
>         <value>single</value>
>         <value>double</value>
>     </choice>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-underline-style">
>             <ref name="lineStyle"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="lineStyle">
>     <choice>
>         <value>none</value>
>         <value>solid</value>
>         <value>dotted</value>
>         <value>dash</value>
>         <value>long-dash</value>
>         <value>dot-dash</value>
>         <value>dot-dot-dash</value>
>         <value>wave</value>
>     </choice>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-underline-width">
>             <ref name="lineWidth"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="lineWidth">
>     <choice>
>         <value>auto</value>
>         <value>normal</value>
>         <value>bold</value>
>         <value>thin</value>
>         <value>dash</value>
>         <value>medium</value>
>         <value>thick</value>
>         <ref name="positiveInteger"/>
>         <ref name="percent"/>
>         <ref name="positiveLength"/>
>     </choice>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-underline-color">
>             <choice>
>                 <value>font-color</value>
>                 <ref name="color"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-overline-type">
>             <ref name="lineType"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-overline-style">
>             <ref name="lineStyle"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-overline-width">
>             <ref name="lineWidth"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-overline-color">
>             <choice>
>                 <value>font-color</value>
>                 <ref name="color"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-overline-mode">
>             <ref name="lineMode"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:font-weight">
>             <ref name="fontWeight"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-weight-asian">
>             <ref name="fontWeight"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:font-weight-complex">
>             <ref name="fontWeight"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="fontWeight">
>     <choice>
>         <value>normal</value>
>         <value>bold</value>
>         <value>100</value>
>         <value>200</value>
>         <value>300</value>
>         <value>400</value>
>         <value>500</value>
>         <value>600</value>
>         <value>700</value>
>         <value>800</value>
>         <value>900</value>
>     </choice>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-underline-mode">
>             <ref name="lineMode"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="lineMode">
>     <choice>
>         <value>continuous</value>
>         <value>skip-white-space</value>
>     </choice>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-line-through-mode">
>             <ref name="lineMode"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:letter-kerning">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-blinking">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <ref name="common-background-color-attlist"/>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-combine">
>             <choice>
>                 <value>none</value>
>                 <value>letters</value>
>                 <value>lines</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-combine-start-char">
>             <ref name="character"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:text-combine-end-char">
>             <ref name="character"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-emphasize">
>             <choice>
>                 <value>none</value>
>                 <list>
>                     <choice>
>                         <value>none</value>
>                         <value>accent</value>
>                         <value>dot</value>
>                         <value>circle</value>
>                         <value>disc</value>
>                     </choice>
>                     <choice>
>                         <value>above</value>
>                         <value>below</value>
>                     </choice>
>                 </list>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-scale">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-rotation-angle">
>             <choice>
>                 <value>0</value>
>                 <value>90</value>
>                 <value>270</value>
>                <ref name="angle"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-rotation-scale">
>             <choice>
>                 <value>fixed</value>
>                 <value>line-height</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:hyphenate">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:hyphenation-remain-char-count">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:hyphenation-push-char-count">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-text-properties-attlist" combine="interleave">
>     <choice>
>         <attribute name="text:display">
>             <value>true</value>
>         </attribute>
>         <attribute name="text:display">
>             <value>none</value>
>         </attribute>
>         <group>
>             <attribute name="text:display">
>                 <value>condition</value>
>             </attribute>
>             <attribute name="text:condition">
>                 <value>none</value>
>             </attribute>
>         </group>
>         <empty/>
>     </choice>
> </define>
> <define name="style-paragraph-properties">
>     <element name="style:paragraph-properties">
>         <ref name="style-paragraph-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-paragraph-properties-content-strict">
>     <ref name="style-paragraph-properties-attlist"/>
>     <ref name="style-paragraph-properties-elements"/>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:line-height">
>             <choice>
>                 <value>normal</value>
>                 <ref name="nonNegativeLength"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:line-height-at-least">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:line-spacing">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:font-independent-line-spacing">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <ref name="common-text-align"/>
> </define>
> 
> <define name="common-text-align">
>     <optional>
>         <attribute name="fo:text-align">
>             <choice>
>                 <value>start</value>
>                 <value>end</value>
>                 <value>left</value>
>                 <value>right</value>
>                 <value>center</value>
>                 <value>justify</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:text-align-last">
>             <choice>
>                 <value>start</value>
>                 <value>center</value>
>                 <value>justify</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:justify-single-word">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:keep-together">
>             <choice>
>                 <value>auto</value>
>                 <value>always</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:widows">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:orphans">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-elements" combine="interleave">
>     <ref name="style-tab-stops"/>
> </define>
> 
> <define name="style-tab-stops">
>     <optional>
>         <element name="style:tab-stops">
>             <zeroOrMore>
>                 <ref name="style-tab-stop"/>
>             </zeroOrMore>
>         </element>
>     </optional>
> </define>
> 
> <define name="style-tab-stop">
>     <element name="style:tab-stop">
>         <ref name="style-tab-stop-attlist"/>
>         <empty/>
>     </element>
> </define>
> <define name="style-tab-stop-attlist" combine="interleave">
>     <attribute name="style:position">
>         <ref name="length"/>
>     </attribute>
> </define>
> <define name="style-tab-stop-attlist" combine="interleave">
>     <choice>
>         <optional>
>             <attribute name="style:type">
>                 <choice>
>                     <value>left</value>
>                     <value>center</value>
>                     <value>right</value>
>                 </choice>
>             </attribute>
>         </optional>
>         <group>
>             <attribute name="style:type">
>                 <value>char</value>
>             </attribute>
>             <ref name="style-tab-stop-char-attlist"/>
>         </group>
>     </choice>
> </define>
> <define name="style-tab-stop-char-attlist" combine="interleave">
>     <attribute name="style:char">
>         <ref name="character"/>
>     </attribute>
> </define>
> <define name="style-tab-stop-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:leader-type">
>             <ref name="lineType"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-tab-stop-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:leader-style">
>             <ref name="lineStyle"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-tab-stop-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:leader-width">
>             <ref name="lineWidth"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-tab-stop-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:leader-color">
>             <choice>
>                 <value>font-color</value>
>                 <ref name="color"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-tab-stop-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:leader-text">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-tab-stop-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:leader-text-style">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:tab-stop-distance">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:hyphenation-keep">
>             <choice>
>                 <value>auto</value>
>                 <value>page</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:hyphenation-ladder-count">
>             <choice>
>                 <value>no-limit</value>
>                 <ref name="positiveInteger"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-elements" combine="interleave">
>     <ref name="style-drop-cap"/>
> </define>
> 
> <define name="style-drop-cap">
>     <optional>
>         <element name="style:drop-cap">
>             <ref name="style-drop-cap-attlist"/>
>             <empty/>
>         </element>
>     </optional>
> </define>
> <define name="style-drop-cap-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:length">
>             <choice>
>                 <value>word</value>
>                 <ref name="positiveInteger"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drop-cap-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:lines">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drop-cap-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:distance">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drop-cap-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:style-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>         <optional>
>             <attribute name="style:register-true">
>                 <ref name="boolean"/>
>             </attribute>
>         </optional>
>     </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <ref name="common-horizontal-margin-attlist"/>
> </define>
> 
> <define name="common-horizontal-margin-attlist">
>     <optional>
>         <attribute name="fo:margin-left">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:margin-right">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:text-indent">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:auto-text-indent">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <ref name="common-vertical-margin-attlist"/>
> </define>
> 
> <define name="common-vertical-margin-attlist">
>     <optional>
>         <attribute name="fo:margin-top">
>             <choice>
>                 <ref name="nonNegativeLength"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:margin-bottom">
>             <choice>
>                 <ref name="nonNegativeLength"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <ref name="common-margin-attlist"/>
> </define>
> 
> <define name="common-margin-attlist">
>     <optional>
>         <attribute name="fo:margin">
>             <choice>
>                 <ref name="nonNegativeLength"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <ref name="common-break-attlist"/>
> </define>
> 
> <define name="common-break-attlist">
>     <optional>
>         <attribute name="fo:break-before">
>             <choice>
>                 <value>auto</value>
>                 <value>column</value>
>                 <value>page</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:break-after">
>             <choice>
>                 <value>auto</value>
>                 <value>column</value>
>                 <value>page</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <ref name="common-background-color-attlist"/>
> </define>
> 
> <define name="common-background-color-attlist">
>     <optional>
>         <attribute name="fo:background-color">
>             <choice>
>                 <value>transparent</value>
>                 <ref name="color"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-elements" combine="interleave">
>     <ref name="style-background-image"/>
> </define>
> 
> <define name="style-background-image">
>     <optional>
>         <element name="style:background-image">
>             <ref name="style-background-image-attlist"/>
>             <choice>
>                 <ref name="common-draw-data-attlist"/>
>                 <ref name="office-binary-data"/>
>                 <empty/>
>             </choice>
>         </element>
>     </optional>
> </define>
> <define name="style-background-image-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:repeat">
>             <choice>
>                 <value>no-repeat</value>
>                 <value>repeat</value>
>                 <value>stretch</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-background-image-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:position">
>             <choice>
>                 <value>left</value>
>                 <value>center</value>
>                 <value>right</value>
>                 <value>top</value>
>                 <value>bottom</value>
>                 <list>
>                     <ref name="horiBackPos"/>
>                     <ref name="vertBackPos"/>
>                 </list>
>                 <list>
>                     <ref name="vertBackPos"/>
>                     <ref name="horiBackPos"/>
>                 </list>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="horiBackPos">
>     <choice>
>         <value>left</value>
>         <value>center</value>
>         <value>right</value>
>     </choice>
> </define>
> <define name="vertBackPos">
>     <choice>
>         <value>top</value>
>         <value>center</value>
>         <value>bottom</value>
>     </choice>
> </define>
> <define name="style-background-image-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:filter-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-background-image-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:opacity">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <ref name="common-border-attlist"/>
> </define>
> 
> <define name="common-border-attlist">
>     <optional>
>         <attribute name="fo:border">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:border-top">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:border-bottom">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:border-left">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:border-right">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <ref name="common-border-line-width-attlist"/>
> </define>
> 
> <define name="common-border-line-width-attlist">
>     <optional>
>         <attribute name="style:border-line-width">
>             <ref name="borderWidths"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:border-line-width-top">
>             <ref name="borderWidths"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:border-line-width-bottom">
>             <ref name="borderWidths"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:border-line-width-left">
>             <ref name="borderWidths"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:border-line-width-right">
>             <ref name="borderWidths"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="borderWidths">
>     <list>
>         <ref name="positiveLength"/>
>         <ref name="positiveLength"/>
>         <ref name="positiveLength"/>
>     </list>
> </define> 
> <define name="style-paragraph-properties-attlist" combine="interleave">
>       <optional>
>           <attribute name="style:join-border">
>               <ref name="boolean"/>
>           </attribute>
>       </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <ref name="common-padding-attlist"/>
> </define>
> 
> <define name="common-padding-attlist">
>     <optional>
>         <attribute name="fo:padding">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:padding-top">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:padding-bottom">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:padding-left">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:padding-right">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <ref name="common-shadow-attlist"/>
> </define>
> 
> <define name="common-shadow-attlist">
>     <optional>
>         <attribute name="style:shadow">
>             <ref name="shadowType"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <ref name="common-keep-with-next-attlist"/>
> </define>
> 
> <define name="common-keep-with-next-attlist">
>     <optional>
>         <attribute name="fo:keep-with-next">
>             <choice>
>                 <value>auto</value>
>                 <value>always</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:number-lines">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:line-number">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-autospace">
>             <choice>
>                 <value>none</value>
>                 <value>ideograph-alpha</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:punctuation-wrap">
>             <choice>
>                 <value>simple</value>
>                 <value>hanging</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:line-break">
>             <choice>
>                 <value>normal</value>
>                 <value>strict</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:vertical-align">
>             <choice>
>                 <value>top</value>
>                 <value>middle</value>
>                 <value>bottom</value>
>                 <value>auto</value>
>                 <value>baseline</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <ref name="common-writing-mode-attlist"/>
> </define>
> 
> <define name="common-writing-mode-attlist">
>     <optional>
>         <attribute name="style:writing-mode">
>             <choice>
>                 <value>lr-tb</value>
>                 <value>rl-tb</value>
>                 <value>tb-rl</value>
>                 <value>tb-lr</value>
>                 <value>lr</value>
>                 <value>rl</value>
>                 <value>tb</value>
>                 <value>page</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:writing-mode-automatic">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:snap-to-layout-grid">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <ref name="common-page-number-attlist"/>
> </define>
> 
> <define name="common-page-number-attlist">
>     <optional>
>         <attribute name="style:page-number">
>             <choice>
>                 <ref name="positiveInteger"/>
>                 <value>auto</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-paragraph-properties-attlist" combine="interleave">
>     <ref name="common-background-transparency-attlist"/>
> </define>
> <define name="common-background-transparency-attlist">
>     <optional>
>         <attribute name="style:background-transparency">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-ruby-properties">
>     <element name="style:ruby-properties">
>         <ref name="style-ruby-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-ruby-properties-content-strict">
>     <ref name="style-ruby-properties-attlist"/>
>     <ref name="style-ruby-properties-elements"/>
> </define>
> 
> <define name="style-ruby-properties-elements">
>     <empty/>
> </define>
> <define name="style-ruby-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:ruby-position">
>             <choice>
>                 <value>above</value>
>                 <value>below</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-ruby-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:ruby-align">
>             <choice>
>                 <value>left</value>
>                 <value>center</value>
>                 <value>right</value>
>                 <value>distribute-letter</value>
>                 <value>distribute-space</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-section-properties">
>     <element name="style:section-properties">
>         <ref name="style-section-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-section-properties-content-strict">
>     <ref name="style-section-properties-attlist"/>
>     <ref name="style-section-properties-elements"/>
> </define>
> <define name="style-section-properties-attlist" combine="interleave">
>     <ref name="common-background-color-attlist"/>
> </define>
> <define name="style-section-properties-elements" combine="interleave">
>     <ref name="style-background-image"/>
> </define>
> <define name="style-section-properties-attlist" combine="interleave">
>     <ref name="common-horizontal-margin-attlist"/>
> </define>
> <define name="style-section-properties-elements" combine="interleave">
>     <ref name="style-columns"/>
> </define>
> 
> <define name="style-columns">
>     <optional>
>         <element name="style:columns">
>             <ref name="style-columns-attlist"/>
>             <optional>
>                 <ref name="style-column-sep"/>
>             </optional>
>             <zeroOrMore>
>                 <ref name="style-column"/>
>             </zeroOrMore>
>         </element>
>     </optional>
> </define>
> <define name="style-columns-attlist" combine="interleave">
>     <attribute name="fo:column-count">
>         <ref name="positiveInteger"/>
>     </attribute>
> </define>
> <define name="style-columns-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:column-gap">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-column">
>     <element name="style:column">
>         <ref name="style-column-attlist"/>
>     </element>
> </define>
> <define name="style-column-attlist" combine="interleave">
>     <attribute name="style:rel-width">
>         <ref name="relativeLength"/>
>     </attribute>
> </define>
> <define name="style-column-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:start-indent">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-column-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:end-indent">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-column-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:space-before">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-column-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:space-after">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-column-sep">
>     <element name="style:column-sep">
>         <ref name="style-column-sep-attlist"/>
>     </element>
> </define>
> <define name="style-column-sep-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:style">
>             <choice>
>                 <value>none</value>
>                 <value>solid</value>
>                 <value>dotted</value>
>                 <value>dashed</value>
>                 <value>dot-dashed</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-column-sep-attlist" combine="interleave">
>     <attribute name="style:width">
>         <ref name="length"/>
>     </attribute>
> </define>
> <define name="style-column-sep-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:height">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-column-sep-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:vertical-align">
>             <choice>
>                 <value>top</value>
>                 <value>middle</value>
>                 <value>bottom</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-column-sep-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-section-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:protect">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-section-properties-attlist" combine="interleave">
>     <ref name="common-editable-attlist"/>
> </define>
> <define name="style-section-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:dont-balance-text-columns">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-section-properties-attlist" combine="interleave">
>     <ref name="common-writing-mode-attlist"/>
> </define>
> <define name="style-section-properties-elements" combine="interleave">
>     <zeroOrMore>
>         <ref name="text-notes-configuration"/>
>     </zeroOrMore>
> </define>
> <define name="style-table-properties">
>     <element name="style:table-properties">
>         <ref name="style-table-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-table-properties-content-strict">
>     <ref name="style-table-properties-attlist"/>
>     <ref name="style-table-properties-elements"/>
> </define>
> <define name="style-table-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:width">
>             <ref name="positiveLength"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:rel-width">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:align">
>             <choice>
>                 <value>left</value>
>                 <value>center</value>
>                 <value>right</value>
>                 <value>margins</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-properties-attlist" combine="interleave">
>     <ref name="common-horizontal-margin-attlist"/>
> </define>
> <define name="style-table-properties-attlist" combine="interleave">
>     <ref name="common-vertical-margin-attlist"/>
> </define>
> <define name="style-table-properties-attlist" combine="interleave">
>     <ref name="common-margin-attlist"/>
> </define>
> <define name="style-table-properties-attlist" combine="interleave">
>     <ref name="common-page-number-attlist"/>
> </define>
> <define name="style-table-properties-attlist" combine="interleave">
>     <ref name="common-break-attlist"/>
> </define>
> <define name="style-table-properties-attlist" combine="interleave">
>     <ref name="common-background-color-attlist"/>
> </define>
> <define name="style-table-properties-elements" combine="interleave">
>     <ref name="style-background-image"/>
> </define>
> <define name="style-table-properties-attlist" combine="interleave">
>     <ref name="common-shadow-attlist"/>
> </define>
> <define name="style-table-properties-attlist" combine="interleave">
>     <ref name="common-keep-with-next-attlist"/>
> </define>
> <define name="style-table-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:may-break-between-rows">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:border-model">
>             <choice>
>                 <value>collapsing</value>
>                 <value>separating</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-properties-attlist" combine="interleave">
>     <ref name="common-writing-mode-attlist"/>
> </define>
> <define name="style-table-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="table:display">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-column-properties">
>     <element name="style:table-column-properties">
>         <ref name="style-table-column-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-table-column-properties-content-strict">
>     <ref name="style-table-column-properties-attlist"/>
>     <ref name="style-table-column-properties-elements"/>
> </define>
> 
> <define name="style-table-column-properties-elements">
>     <empty/>
> </define>
> <define name="style-table-column-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:column-width">
>             <ref name="positiveLength"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:rel-column-width">
>             <ref name="relativeLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-column-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:use-optimal-column-width">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-column-properties-attlist" 
combine="interleave">
>     <ref name="common-break-attlist"/>
> </define>
> <define name="style-table-row-properties">
>     <element name="style:table-row-properties">
>         <ref name="style-table-row-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-table-row-properties-content-strict">
>     <ref name="style-table-row-properties-attlist"/>
>     <ref name="style-table-row-properties-elements"/>
> </define>
> <define name="style-table-row-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:row-height">
>             <ref name="positiveLength"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:min-row-height">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-row-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:use-optimal-row-height">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-row-properties-attlist" combine="interleave">
>     <ref name="common-background-color-attlist"/>
> </define>
> <define name="style-table-row-properties-elements" combine="interleave">
>     <ref name="style-background-image"/>
> </define>
> <define name="style-table-row-properties-attlist" combine="interleave">
>     <ref name="common-break-attlist"/>
> </define>
> <define name="style-table-row-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:keep-together">
>             <choice>
>                 <value>auto</value>
>                 <value>always</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-cell-properties">
>     <element name="style:table-cell-properties">
>         <ref name="style-table-cell-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-table-cell-properties-content-strict">
>     <ref name="style-table-cell-properties-attlist"/>
>     <ref name="style-table-cell-properties-elements"/>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:vertical-align">
>             <choice>
>                 <value>top</value>
>                 <value>middle</value>
>                 <value>bottom</value>
>                 <value>automatic</value>
>             </choice>
>             </attribute>
>     </optional>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:text-align-source">
>             <choice>
>                 <value>fix</value>
>                 <value>value-type</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <ref name="common-style-direction-attlist"/>
> </define>
> 
> <define name="common-style-direction-attlist">
>     <optional>
>         <attribute name="style:direction">
>             <choice>
>                 <value>ltr</value>
>                 <value>ttb</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:glyph-orientation-vertical">
>             <choice>
>                 <value>auto</value>
>                 <value>0</value>
>                 <value>0deg</value>
>                 <value>0rad</value>
>                 <value>0grad</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <ref name="common-writing-mode-attlist"/>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <ref name="common-shadow-attlist"/>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <ref name="common-background-color-attlist"/>
> </define>
> <define name="style-table-cell-properties-elements" 
combine="interleave">
>     <ref name="style-background-image"/>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <ref name="common-border-attlist"/>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:diagonal-tl-br">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:diagonal-tl-br-widths">
>             <ref name="borderWidths"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:diagonal-bl-tr">
>             <ref name="string"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="style:diagonal-bl-tr-widths">
>             <ref name="borderWidths"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <ref name="common-border-line-width-attlist"/>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <ref name="common-padding-attlist"/>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:wrap-option">
>             <choice>
>                 <value>no-wrap</value>
>                 <value>wrap</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <ref name="common-rotation-angle-attlist"/>
> </define>
> 
> <define name="common-rotation-angle-attlist">
>     <optional>
>         <attribute name="style:rotation-angle">
>             <ref name="angle"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:rotation-align">
>             <choice>
>                 <value>none</value>
>                 <value>bottom</value>
>                 <value>top</value>
>                 <value>center</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:cell-protect">
>             <choice>
>                 <value>none</value>
>                 <value>hidden-and-protected</value>
>                 <list>
>                     <oneOrMore>
>                         <choice>
>                             <value>protected</value>
>                             <value>formula-hidden</value>
>                         </choice>
>                     </oneOrMore>
>                 </list>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:print-content">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:decimal-places">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:repeat-content">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-table-cell-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:shrink-to-fit">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-list-level-properties">
>     <element name="style:list-level-properties">
>         <ref name="style-list-level-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-list-level-properties-content-strict">
>     <ref name="style-list-level-properties-attlist"/>
>     <ref name="style-list-level-properties-elements"/>
> </define>
> 
> <define name="style-list-level-properties-elements">
>     <empty/>
> </define>
> <define name="style-list-level-properties-attlist" combine="interleave">
>     <ref name="common-text-align"/>
> </define>
> <define name="style-list-level-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:space-before">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-list-level-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:min-label-width">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-list-level-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:min-label-distance">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-list-level-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:font-name">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-list-level-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:width">
>             <ref name="positiveLength"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:height">
>             <ref name="positiveLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-list-level-properties-attlist" combine="interleave">
>     <ref name="common-vertical-rel-attlist"/>
>     <ref name="common-vertical-pos-attlist"/>
> </define>
> <define name="style-list-level-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:list-level-position-and-space-mode">
>             <choice>
>                 <value>label-width-and-position</value>
>                 <value>label-alignment</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-list-level-properties-elements" 
combine="interleave">
>     <ref name="style-list-level-label-alignment"/>
> </define>
> 
> <define name="style-list-level-label-alignment">
>     <optional>
>         <element name="style:list-level-label-alignment">
>             <ref name="style-list-level-label-alignment-attlist"/>
>             <empty/>
>         </element>
>     </optional>
> </define>
> <define name="style-list-level-label-alignment-attlist" 
combine="interleave">
>     <attribute name="text:label-followed-by">
>         <choice>
>             <value>listtab</value>
>             <value>space</value>
>             <value>nothing</value>
>         </choice>
>     </attribute>
> </define>
> <define name="style-list-level-label-alignment-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="text:list-tab-stop-position">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-list-level-label-alignment-attlist" 
combine="interleave">
>     <optional>
> <!-- DRAFT7: text:text-indent actually must be fo:text-indent -->
>         <attribute name="fo:text-indent">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="style-list-level-label-alignment-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="fo:margin-left">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:stroke">
>             <choice>
>                 <value>none</value>
>                 <value>dash</value>
>                 <value>solid</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:stroke-dash">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:stroke-dash-names">
>             <ref name="styleNameRefs"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:stroke-width">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:stroke-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:marker-start">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:marker-end">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:marker-start-width">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:marker-end-width">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:marker-start-center">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:marker-end-center">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:stroke-opacity">
>             <choice>
>                 <data type="double">
>                     <param name="minInclusive">0</param>
>                     <param name="maxInclusive">1</param>
>                 </data>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:stroke-linejoin">
>             <choice>
>                 <value>miter</value>
>                 <value>round</value>
>                 <value>bevel</value>
>                 <value>middle</value>
>                 <value>none</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="svg:stroke-linecap">
>             <choice>
>                 <value>butt</value>
>                 <value>square</value>
>                 <value>round</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="draw:fill">
>             <choice>
>                 <value>none</value>
>                 <value>solid</value>
>                 <value>bitmap</value>
>                 <value>gradient</value>
>                 <value>hatch</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="draw:fill-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="draw:secondary-fill-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="draw:fill-gradient-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="draw:gradient-step-count">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="draw:fill-hatch-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="draw:fill-hatch-solid">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="draw:fill-image-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="style:repeat">
>             <choice>
>                 <value>no-repeat</value>
>                 <value>repeat</value>
>                 <value>stretch</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="draw:fill-image-width">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:fill-image-height">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="draw:fill-image-ref-point-x">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:fill-image-ref-point-y">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:fill-image-ref-point">
>             <choice>
>                 <value>top-left</value>
>                 <value>top</value>
>                 <value>top-right</value>
>                 <value>left</value>
>                 <value>center</value>
>                 <value>right</value>
>                 <value>bottom-left</value>
>                 <value>bottom</value>
>                 <value>bottom-right</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="draw:tile-repeat-offset">
>          <ref name="string"/>
>       </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="draw:opacity">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="draw:opacity-name">
>             <ref name="styleNameRef"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-fill-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="svg:fill-rule">
>             <choice>
>                 <value>nonzero</value>
>                 <value>evenodd</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:symbol-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:animation">
>             <choice>
>                 <value>none</value>
>                 <value>scroll</value>
>                 <value>alternate</value>
>                 <value>slide</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:animation-direction">
>             <choice>
>                 <value>left</value>
>                 <value>right</value>
>                 <value>up</value>
>                 <value>down</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:animation-start-inside">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:animation-stop-inside">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:animation-repeat">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:animation-delay">
>             <ref name="duration"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="text:animation-steps">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:auto-grow-width">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:auto-grow-height">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:fit-to-size">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:fit-to-contour">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:textarea-vertical-align">
>             <choice>
>                 <value>top</value>
>                 <value>middle</value>
>                 <value>bottom</value>
>                 <value>justify</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:textarea-horizontal-align">
>             <choice>
>                 <value>left</value>
>                 <value>center</value>
>                 <value>right</value>
>                 <value>justify</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:wrap-option">
>             <choice>
>                 <value>no-wrap</value>
>                 <value>wrap</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:shrink-to-fit">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-elements" combine="interleave">
>     <optional>
>         <ref name="text-list-style"/>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:color-mode">
>             <choice>
>                 <value>greyscale</value>
>                 <value>mono</value>
>                 <value>watermark</value>
>                 <value>standard</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:color-inversion">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:luminance">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:contrast">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:gamma">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:red">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:green">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:blue">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:image-opacity">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:shadow">
>             <choice>
>                 <value>visible</value>
>                 <value>hidden</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:shadow-offset-x">
>             <ref name="length"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:shadow-offset-y">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:shadow-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:shadow-opacity">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:start-line-spacing-horizontal">
>             <ref name="distance"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:start-line-spacing-vertical">
>             <ref name="distance"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:end-line-spacing-horizontal">
>             <ref name="distance"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:end-line-spacing-vertical">
>             <ref name="distance"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:line-distance">
>             <ref name="distance"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:guide-overhang">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:guide-distance">
>             <ref name="distance"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:start-guide">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:end-guide">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:placing">
>             <choice>
>                 <value>below</value>
>                 <value>above</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:parallel">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:measure-align">
>             <choice>
>                 <value>automatic</value>
>                 <value>left-outside</value>
>                 <value>inside</value>
>                 <value>right-outside</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:measure-vertical-align">
>             <choice>
>                 <value>automatic</value>
>                 <value>above</value>
>                 <value>below</value>
>                 <value>center</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:unit">
>             <choice>
>                 <value>automatic</value>
>                 <value>mm</value>
>                 <value>cm</value>
>                 <value>m</value>
>                 <value>km</value>
>                 <value>pt</value>
>                 <value>pc</value>
>                 <value>inch</value>
>                 <value>ft</value>
>                 <value>mi</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:show-unit">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:decimal-places">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:caption-type">
>             <choice>
>                 <value>straight-line</value>
>                 <value>angled-line</value>
>                 <value>angled-connector-line</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:caption-angle-type">
>             <choice>
>                 <value>fixed</value>
>                 <value>free</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:caption-angle">
>             <ref name="angle"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:caption-gap">
>             <ref name="distance"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:caption-escape-direction">
>             <choice>
>                 <value>horizontal</value>
>                 <value>vertical</value>
>                 <value>auto</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:caption-escape">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:caption-line-length">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:caption-fit-line-length">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:horizontal-segments">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:vertical-segments">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:edge-rounding">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:edge-rounding-mode">
>             <choice>
>                 <value>correct</value>
>                 <value>attractive</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:back-scale">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:depth">
>             <ref name="length"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:backface-culling">
>             <choice>
>                 <value>enabled</value>
>                 <value>disabled</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:end-angle">
>             <ref name="angle"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:close-front">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:close-back">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:lighting-mode">
>             <choice>
>                 <value>standard</value>
>                 <value>double-sided</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:normals-kind">
>             <choice>
>                 <value>object</value>
>                 <value>flat</value>
>                 <value>sphere</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:normals-direction">
>             <choice>
>                 <value>normal</value>
>                 <value>inverse</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:texture-generation-mode-x">
>             <choice>
>                 <value>object</value>
>                 <value>parallel</value>
>                 <value>sphere</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="dr3d:texture-generation-mode-y">
>             <choice>
>                 <value>object</value>
>                 <value>parallel</value>
>                 <value>sphere</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:texture-kind">
>             <choice>
>                 <value>luminance</value>
>                 <value>intensity</value>
>                 <value>color</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:texture-filter">
>             <choice>
>                 <value>enabled</value>
>                 <value>disabled</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:texture-mode">
>             <choice>
>                 <value>replace</value>
>                 <value>modulate</value>
>                 <value>blend</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:ambient-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="dr3d:emissive-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="dr3d:specular-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="dr3d:diffuse-color">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:shininess">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="dr3d:shadow">
>             <choice>
>                 <value>visible</value>
>                 <value>hidden</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <ref name="common-draw-rel-size-attlist"/>
>     <optional>
>         <attribute name="fo:min-width">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:min-height">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:max-height">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="fo:max-width">
>             <choice>
>                 <ref name="length"/>
>                 <ref name="percent"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <ref name="common-horizontal-margin-attlist"/>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <ref name="common-vertical-margin-attlist"/>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <ref name="common-margin-attlist"/>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:print-content">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:protect">
>             <choice>
>                 <value>none</value>
>                 <list>
>                     <oneOrMore>
>                         <choice>
>                             <value>content</value>
>                             <value>position</value>
>                             <value>size</value>
>                         </choice>
>                     </oneOrMore>
>                 </list>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:horizontal-pos">
>             <choice>
>                 <value>left</value>
>                 <value>center</value>
>                 <value>right</value>
>                 <value>from-left</value>
>                 <value>inside</value>
>                 <value>outside</value>
>                 <value>from-inside</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:x">
>             <ref name="coordinate"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:horizontal-rel">
>             <choice>
>                     <value>page</value>
>                 <value>page-content</value>
>                 <value>page-start-margin</value>
>                 <value>page-end-margin</value>
>                 <value>frame</value>
>                 <value>frame-content</value>
>                 <value>frame-start-margin</value>
>                 <value>frame-end-margin</value>
>                 <value>paragraph</value>
>                 <value>paragraph-content</value>
>                 <value>paragraph-start-margin</value>
>                 <value>paragraph-end-margin</value>
>                 <value>char</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <ref name="common-vertical-pos-attlist"/>
> </define>
> 
> <define name="common-vertical-pos-attlist">
>     <optional>
>         <attribute name="style:vertical-pos">
>             <choice>
>                 <value>top</value>
>                 <value>middle</value>
>                 <value>bottom</value>
>                 <value>from-top</value>
>                 <value>below</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="svg:y">
>             <ref name="coordinate"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <ref name="common-vertical-rel-attlist"/>
> </define>
> 
> <define name="common-vertical-rel-attlist">
>     <optional>
>         <attribute name="style:vertical-rel">
>             <choice>
>                 <value>page</value>
>                 <value>page-content</value>
>                 <value>frame</value>
>                 <value>frame-content</value>
>                 <value>paragraph</value>
>                 <value>paragraph-content</value>
>                 <value>char</value>
>                 <value>line</value>
>                 <value>baseline</value>
>                 <value>text</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <ref name="common-text-anchor-attlist"/>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <ref name="common-border-attlist"/>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <ref name="common-border-line-width-attlist"/>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <ref name="common-padding-attlist"/>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <ref name="common-shadow-attlist"/>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <ref name="common-background-color-attlist"/>
>     <ref name="common-background-transparency-attlist"/>
> </define>
> <define name="style-graphic-properties-elements" combine="interleave">
>     <ref name="style-background-image"/>
> </define>
> <define name="style-graphic-properties-elements" combine="interleave">
>     <ref name="style-columns"/>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <ref name="common-editable-attlist"/>
> </define>
> <define name="common-editable-attlist">
>     <optional>
>         <attribute name="style:editable">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:wrap">
>             <choice>
>                 <value>none</value>
>                 <value>left</value>
>                 <value>right</value>
>                 <value>parallel</value>
>                 <value>dynamic</value>
>                 <value>run-through</value>
>                 <value>biggest</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:wrap-dynamic-threshold">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:number-wrapped-paragraphs">
>             <choice>
>                 <value>no-limit</value>
>                 <ref name="positiveInteger"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:wrap-contour">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:wrap-contour-mode">
>             <choice>
>                 <value>full</value>
>                 <value>outside</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:run-through">
>             <choice>
>                 <value>foreground</value>
>                 <value>background</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:flow-with-text">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:overflow-behavior">
>             <choice>
>                 <value>clip</value>
>                 <value>auto-create-new-frame</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="style:mirror">
>             <choice>
>                 <value>none</value>
>                 <value>vertical</value>
>                 <ref name="horizontal-mirror"/>
>                 <list>
>                     <value>vertical</value>
>                     <ref name="horizontal-mirror"/>
>                 </list>
>                 <list>
>                     <ref name="horizontal-mirror"/>
>                     <value>vertical</value>
>                 </list>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="horizontal-mirror">
>     <choice>
>         <value>horizontal</value>
>         <value>horizontal-on-odd</value>
>         <value>horizontal-on-even</value>
>     </choice>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="fo:clip">
>             <choice>
>                 <value>auto</value>
>                 <ref name="clipShape"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="clipShape">
>    <!-- DRAFT7: There had to be spaces before the , -->
>     <data type="string">
>         <param name="pattern">rect\([ ]*((-?([0-9]+(\.[0-9]*)?|\.
> [0-9]+)((cm)|(mm)|(in)|(pt)|(pc)))|(auto))([ ]*,[ ]*((-?([0-9]+(\.
> [0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc))))|(auto)){3}[ ]*\)</param>
> 
> 
>     </data>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:wrap-influence-on-position">
>             <choice>
>                 <value>iterative</value>
>                 <value>once-concurrent</value>
>                 <value>once-successive</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <ref name="common-writing-mode-attlist"/>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:frame-display-scrollbar">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:frame-display-border">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:frame-margin-horizontal">
>             <ref name="nonNegativePixelLength"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:frame-margin-vertical">
>             <ref name="nonNegativePixelLength"/>
>         </attribute>
>     </optional>
> </define>
> 
> <define name="nonNegativePixelLength">
>     <data type="string">
>         <param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)(px)</param>
>     </data>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:visible-area-left">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:visible-area-top">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:visible-area-width">
>             <ref name="positiveLength"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="draw:visible-area-height">
>             <ref name="positiveLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:draw-aspect">
>             <choice>
>                 <value>content</value>
>                 <value>thumbnail</value>
>                 <value>icon</value>
>                 <value>print-view</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-graphic-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="draw:ole-draw-aspect">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties">
>     <element name="style:chart-properties">
>         <ref name="style-chart-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-chart-properties-content-strict">
>     <ref name="style-chart-properties-attlist"/>
>     <ref name="style-chart-properties-elements"/>
> </define>
> 
> <define name="style-chart-properties-elements">
>     <empty/>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:scale-text">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:three-dimensional">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:deep">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:right-angled-axes">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <choice>
>         <attribute name="chart:symbol-type">
>             <value>none</value>
>         </attribute>
>         <attribute name="chart:symbol-type">
>             <value>automatic</value>
>         </attribute>
>         <group>
>             <attribute name="chart:symbol-type">
>                 <value>named-symbol</value>
>             </attribute>
>             <attribute name="chart:symbol-name">
>                 <choice>
>                     <value>square</value>
>                     <value>diamond</value>
>                     <value>arrow-down</value>
>                     <value>arrow-up</value>
>                     <value>arrow-right</value>
>                     <value>arrow-left</value>
>                     <value>bow-tie</value>
>                     <value>hourglass</value>
>                     <value>circle</value>
>                     <value>star</value>
>                     <value>x</value>
>                     <value>plus</value>
>                     <value>asterisk</value>
>                     <value>horizontal-bar</value>
>                     <value>vertical-bar</value>
>                 </choice>
>             </attribute>
>         </group>
>         <group>
>             <attribute name="chart:symbol-type">
>                 <value>image</value>
>             </attribute>
>             <element name="chart:symbol-image">
>                 <attribute name="xlink:href">
>                     <ref name="anyURI"/>
>                 </attribute>
>             </element>
>         </group>
>         <empty/>
>     </choice>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:symbol-width">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:symbol-height">
>             <ref name="nonNegativeLength"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:sort-by-x-values">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:vertical">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:connect-bars">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:gap-width">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:overlap">
>             <ref name="integer"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:group-bars-per-axis">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:japanese-candle-stick">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:interpolation">
>             <choice>
>                 <value>none</value>
>                 <value>cubic-spline</value>
>                 <value>b-spline</value>
>             </choice>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:spline-order">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:spline-resolution">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:pie-offset">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:angle-offset">
>             <ref name="angle"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:hole-size">
>             <ref name="percent"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:lines">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:solid-type">
>             <choice>
>                 <value>cuboid</value>
>                 <value>cylinder</value>
>                 <value>cone</value>
>                 <value>pyramid</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:stacked">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:percentage">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:treat-empty-cells">
>             <choice>
>                 <value>use-zero</value>
>                 <value>leave-gap</value>
>                 <value>ignore</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:link-data-style-to-source">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:logarithmic">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:maximum">
>             <ref name="double"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:minimum">
>             <ref name="double"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:origin">
>             <ref name="double"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:interval-major">
>             <ref name="double"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:interval-minor-divisor">
>             <ref name="positiveInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:tick-marks-major-inner">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:tick-marks-major-outer">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:tick-marks-minor-inner">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:tick-marks-minor-outer">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:reverse-direction">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:display-label">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:text-overlap">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="text:line-break">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:label-arrangement">
>             <choice>
>                 <value>side-by-side</value>
>                 <value>stagger-even</value>
>                 <value>stagger-odd</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <ref name="common-style-direction-attlist"/>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <ref name="common-rotation-angle-attlist"/>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:data-label-number"
>                   >
>             <choice>
>                 <value>none</value>
>                 <value>value</value>
>                 <value>percentage</value>
>                 <value>value-and-percentage</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:data-label-text">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:data-label-symbol">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <element name="chart:label-separator">
>             <ref name="text-p"/>
>         </element>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>    <optional>
>       <attribute name="chart:label-position">
>          <ref name="labelPositions"/>
>       </attribute>
>    </optional>
> </define>
> <define name="labelPositions">
>    <choice>
>       <value>avoid-overlap</value>
>       <value>center</value>
>       <value>top</value>
>       <value>top-right</value>
>       <value>right</value>
>       <value>bottom-right</value>
>       <value>bottom</value>
>       <value>bottom-left</value>
>       <value>left</value>
>       <value>top-left</value>
>       <value>inside</value>
>       <value>outside</value>
>       <value>near-origin</value>
>    </choice>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>    <optional>
>       <attribute name="chart:label-position-negative">
>          <ref name="labelPositions"/>
>       </attribute>
>    </optional>
> </define>
> 
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:visible">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:auto-position">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:auto-size">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:mean-value">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:error-category"
>                   >
>             <choice>
>                 <value>none</value>
>                 <value>variance</value>
>                 <value>standard-deviation</value>
>                 <value>percentage</value>
>                 <value>error-margin</value>
>                 <value>constant</value>
>             <value>standard-error</value>
>                 <value>cell-range</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:error-percentage">
>             <ref name="double"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:error-margin">
>             <ref name="double"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:error-lower-limit">
>             <ref name="double"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:error-upper-limit">
>             <ref name="double"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:error-upper-indicator">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
>     <optional>
>         <attribute name="chart:error-lower-indicator">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:series-source">
>             <choice>
>                 <value>columns</value>
>                 <value>rows</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:regression-type">
>             <choice>
>                 <value>none</value>
>                 <value>linear</value>
>                 <value>logarithmic</value>
>                 <value>exponential</value>
>                 <value>power</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:axis-position">
>             <choice>
>                 <value>start</value>
>                 <value>end</value>
>                 <ref name="double"/>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:axis-label-position">
>             <choice>
>                 <value>near-axis</value>
>                 <value>near-axis-other-side</value>
>                 <value>outside-start</value>
>                 <value>outside-end</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:tick-mark-position">
>             <choice>
>                 <value>at-labels</value>
>                 <value>at-axis</value>
>                 <value>at-labels-and-axis</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-chart-properties-attlist" combine="interleave">
>     <optional>
>         <attribute name="chart:include-hidden-cells">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist"
>         combine="interleave">
>     <optional>
>         <attribute name="presentation:transition-type">
>             <choice>
>                 <value>manual</value>
>                 <value>automatic</value>
>                 <value>semi-automatic</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist"
>          combine="interleave">
>     <optional>
>         <attribute name="presentation:transition-style">
>             <choice>
>                 <value>none</value>
>                 <value>fade-from-left</value>
>                 <value>fade-from-top</value>
>                 <value>fade-from-right</value>
>                 <value>fade-from-bottom</value>
>                 <value>fade-from-upperleft</value>
>                 <value>fade-from-upperright</value>
>                 <value>fade-from-lowerleft</value>
>                 <value>fade-from-lowerright</value>
>                 <value>move-from-left</value>
>                 <value>move-from-top</value>
>                 <value>move-from-right</value>
>                 <value>move-from-bottom</value>
>                 <value>move-from-upperleft</value>
>                 <value>move-from-upperright</value>
>                 <value>move-from-lowerleft</value>
>                 <value>move-from-lowerright</value>
>                 <value>uncover-to-left</value>
>                 <value>uncover-to-top</value>
>                 <value>uncover-to-right</value> 
>                 <value>uncover-to-bottom</value>
>                 <value>uncover-to-upperleft</value>
>                 <value>uncover-to-upperright</value>
>                 <value>uncover-to-lowerleft</value>
>                 <value>uncover-to-lowerright</value>
>                 <value>fade-to-center</value>
>                 <value>fade-from-center</value>
>                 <value>vertical-stripes</value>
>                 <value>horizontal-stripes</value>
>                 <value>clockwise</value>
>                 <value>counterclockwise</value>
>                 <value>open-vertical</value>
>                 <value>open-horizontal</value>
>                 <value>close-vertical</value>
>                 <value>close-horizontal</value>
>                 <value>wavyline-from-left</value>
>                 <value>wavyline-from-top</value>
>                 <value>wavyline-from-right</value>
>                 <value>wavyline-from-bottom</value>
>                 <value>spiralin-left</value>
>                 <value>spiralin-right</value>
>                 <value>spiralout-left</value>
>                 <value>spiralout-right</value>
>                 <value>roll-from-top</value>
>                 <value>roll-from-left</value>
>                 <value>roll-from-right</value>
>                 <value>roll-from-bottom</value>
>                 <value>stretch-from-left</value>
>                 <value>stretch-from-top</value>
>                 <value>stretch-from-right</value>
>                 <value>stretch-from-bottom</value>
>                 <value>vertical-lines</value>
>                 <value>horizontal-lines</value>
>                 <value>dissolve</value>
>                 <value>random</value>
>                 <value>vertical-checkerboard</value>
>                 <value>horizontal-checkerboard</value>
>                 <value>interlocking-horizontal-left</value>
>                 <value>interlocking-horizontal-right</value>
>                 <value>interlocking-vertical-top</value>
>                 <value>interlocking-vertical-bottom</value>
>                 <value>fly-away</value>
>                 <value>open</value>
>                 <value>close</value>
>                 <value>melt</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist"
>         combine="interleave">
>     <optional>
>         <attribute name="presentation:transition-speed">
>             <ref name="presentationSpeeds"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist " 
combine="interleave">
>     <optional>
>         <attribute name="smil:type">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="smil:subtype">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="smil:direction">
>             <choice>
>                 <value>forward</value>
>                 <value>reverse</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="smil:fadeColor">
>             <ref name="color"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist"
>         combine="interleave">
>     <optional>
>         <attribute name="presentation:duration">
>             <ref name="duration"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist"
>          combine="interleave">
>     <optional>
>         <attribute name="presentation:visibility">
>             <choice>
>                 <value>visible</value>
>                 <value>hidden</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-elements"
>         combine="interleave">
>     <optional>
>         <ref name="presentation-sound"/>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist"
>          combine="interleave">
>     <optional>
>         <attribute name="draw:background-size">
>             <choice>
>                 <value>full</value>
>                 <value>border</value>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist"
>          combine="interleave">
>     <optional>
>         <attribute name="presentation:background-objects-visible">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist"
>          combine="interleave">
>     <optional>
>         <attribute name="presentation:background-visible">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="presentation:display-header">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="presentation:display-footer">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="presentation:display-page-number">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-drawing-page-properties-attlist" 
combine="interleave">
>     <optional>
>         <attribute name="presentation:display-date-time">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-diagonal-table-headers-properties">
>     <element name="style:diagonal-table-headers-properties">
>         <ref 
name="style-diagonal-table-headers-properties-content-strict"/>
>     </element>
> </define>
> 
> <define name="style-diagonal-table-headers-properties-content-strict">
>     <ref name="style-diagonal-table-headers-properties-attlist"/>
>     <ref name="style-diagonal-table-headers-properties-elements"/>
> </define>
> 
> <define name="style-diagonal-table-headers-properties-elements">
>     <empty/>
> </define>
> <define name="style-diagonal-table-headers-properties-attlist" 
> combine="interleave">
>     <attribute name="style:diagonal-table-headers-style">
>         <choice>
>             <value>Chinese_DTH1</value>
>             <value>Chinese_DTH2</value>
>             <value>Chinese_DTH3</value>
>             <value>Chinese_DTH4</value>
>             <value>Chinese_DTH5</value>
>             <value>Chinese_DTH6</value>
>             <value>Chinese_DTH7</value>
>         </choice>
>     </attribute>
> </define>
> 
> 
> <define name="style-diagonal-table-header-cell-properties">
>     <element name="style:diagonal-table-header-cell-properties">
>         <ref name="style-diagonal-table-header-cell-properties-
> content-strict"/>
>     </element>
> </define>
> 
> <define 
name="style-diagonal-table-header-cell-properties-content-strict">
>     <ref name="style-diagonal-table-header-cell-properties-attlist"/>
>     <ref name="style-diagonal-table-header-cell-properties-elements"/>
> </define>
> <define name="style-diagonal-table-header-cell-properties-elements">
>     <empty/>
> </define>
> <define name="style-diagonal-table-header-cell-properties-attlist" 
> combine="interleave">
>     <ref name="common-style-direction-attlist"/>
> </define>
> <define name="style-diagonal-table-header-cell-properties-attlist" 
> combine="interleave">
>     <ref name="common-writing-mode-attlist"/>
> </define>
> <define name="style-diagonal-table-header-cell-properties-attlist" 
> combine="interleave">
>     <ref name="common-rotation-angle-attlist"/>
> </define>
> <define name="style-diagonal-table-header-cell-properties-attlist" 
> combine="interleave">
>     <optional>
>         <attribute name="style:cell-protect">
>             <choice>
>                 <value>none</value>
>                 <value>hidden-and-protected</value>
>                 <list>
>                     <oneOrMore>
>                         <choice>
>                             <value>protected</value>
>                             <value>formula-hidden</value>
>                         </choice>
>                     </oneOrMore>
>                 </list>
>             </choice>
>         </attribute>
>     </optional>
> </define>
> <define name="style-diagonal-table-header-cell-properties-attlist" 
> combine="interleave">
>     <optional>
>         <attribute name="style:print-content">
>             <ref name="boolean"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-diagonal-table-header-cell-properties-attlist" 
> combine="interleave">
>     <optional>
>         <attribute name="style:decimal-places">
>             <ref name="nonNegativeInteger"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-diagonal-table-header-cell-properties-attlist" 
> combine="interleave">
>     <optional>
>         <attribute name="style:diagonal-table-header-cell-border-style">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="style-diagonal-table-header-cell-properties-attlist" 
> combine="interleave">
>     <optional>
>         <attribute 
name="style:diagonal-table-header-cell-border-position">
>             <ref name="string"/>
>         </attribute>
>     </optional>
> </define>
> <define name="string">
>     <data type="string"/>
> </define>
> <define name="date">
>     <data type="date"/>
> </define>
> <define name="time">
>     <data type="time"/>
> </define>
> <define name="dateTime">
>     <data type="dateTime"/>
> </define>
> <define name="duration">
>     <data type="duration"/>
> </define>
> <define name="integer">
>     <data type="integer"/>
> </define>
> <define name="nonNegativeInteger">
>     <data type="nonNegativeInteger"/>
> </define>
> <define name="positiveInteger">
>     <data type="positiveInteger"/>
> </define>
> <define name="double">
>     <data type="double"/>
> </define>
> <define name="anyURI">
>     <data type="anyURI"/>
> </define>
> <define name="base64Binary">
>     <data type="base64Binary"/>
> </define>
> <define name="ID">
>     <data type="ID"/>
> </define>
> <define name="IDREF">
>     <data type="IDREF"/>
> </define>
> <define name="IDREFS">
>     <data type="IDREFS"/>
> </define>
> <define name="NCName">
>     <data type="NCName"/>
> </define>
> <define name="boolean">
>     <choice>
>         <value>true</value>
>         <value>false</value>
>     </choice>
> </define>
> <define name="dateOrDateTime">
>     <choice>
>         <data type="date"/>
>         <data type="dateTime"/>
>     </choice>
>         <data type="time"/>
>         <data type="dateTime"/>
>     </choice>
> </define>
> <define name="language">
>     <data type="language"/>
> </define>
> <define name="countryCode">
>     <data type="token">
>         <param name="pattern">[A-Za-z0-9]{1,8}</param>
>     </data>
> </define>
> <define name="languageCode">
>     <data type="token">
>         <param name="pattern">[A-Za-z]{1,8}</param>
>     </data>
> </define>
> <define name="scriptCode">
>     <data type="token">
>         <param name="pattern">[A-Za-z0-9]{1,8}</param>
>     </data>
> </define>
> <define name="character">
>     <data type="string">
>         <param name="length">1</param>
>     </data>
> </define>
> <define name="length">
>     <data type="string">
>         <param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|
> (mm)|(in)|(pt)|(pc)|(px))</param>
> 
>     </data>
> </define>
> <define name="nonNegativeLength">
>     <data type="string">
>         <param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|
> (mm)|(in)|(pt)|(pc)|(px))</param>
> 
>     </data>
> </define>
> <define name="positiveLength">
>     <data type="string">
>         <param name="pattern">([0-9]*[1-9][0-9]*(\.[0-9]*)?|0+\.
> 
[0-9]*[1-9][0-9]*|\.[0-9]*[1-9][0-9]*)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
> 
>     </data>
> </define>
> <define name="percent">
>     <data type="string">
>         <param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)%</param>
>     </data>
> </define>
> <define name="relativeLength">
>     <data type="string">
>         <param name="pattern">[0-9]+\*</param>
>     </data>
> </define>
> <define name="coordinate">
>     <ref name="length"/>
> </define>
> <define name="distance">
>     <ref name="length"/>
> </define>
> <define name="color">
>     <data type="string">
>         <param name="pattern">#[0-9a-fA-F]{6}</param>
>     </data>
> </define>
> <define name="angle">
>     <data type="string"/>
> </define>
> <define name="CURIE">
>     <data type="string">
>         <param name="pattern">(([\i-[:]][\c-[:]]*)?:)?.+</param>
>         <param name="minLength">1</param>
>    </data>
> </define>
> <define name="CURIEs">
>     <list>
>         <oneOrMore>
>             <ref name="CURIE"/>
>         </oneOrMore>
>     </list>
> </define>
> <define name="SafeCURIE">
>     <data type="string">
>         <param name="pattern">\[(([\i-[:]][\c-[:]]*)?:)?.+\]</param>
>         <param name="minLength">3</param>
>    </data>
> </define>
> <define name="URIorSafeCURIE">
>     <choice>
>         <ref name="anyURI"/>
>         <ref name="SafeCURIE"/>
>     </choice>
> </define>
> 
> <define name="styleName">
>     <data type="NCName"/>
> </define>
> <define name="styleNameRef">
>     <choice>
>         <data type="NCName"/>
>         <empty/>
>     </choice>
> </define>
> <define name="styleNameRefs">
>     <list>
>         <zeroOrMore>
>             <data type="NCName"/>
>         </zeroOrMore>
>     </list>
> </define>
> <define name="variableName">
>     <data type="string"/>
> </define>
> <define name="formula">
>     <!-- A formula should start with a namespace prefix, -->
>     <!-- but has no restrictions-->
>     <data type="string"/>
> </define>
> 
> <define name="targetFrameName">
>     <choice>
>         <value>_self</value>
>         <value>_blank</value>
>         <value>_parent</value>
>         <value>_top</value>
>         <ref name="string"/>
>     </choice>
> </define>
> 
> <define name="valueType">
>     <choice>
>         <value>float</value>
>         <value>time</value>
>         <value>date</value>
>         <value>percentage</value>
>         <value>currency</value>
>         <value>boolean</value>
>         <value>string</value>
>     </choice>
> </define>
> 
> <define name="points">
>     <data type="string">
>         <param name="pattern">-?[0-9]+,-?[0-9]+([ ]+-?[0-9]+,-?[0-9]
> +)*</param>
>     </data>
> </define>
> <define name="pathData">
>     <data type="string"/>
> </define>
> 
> <define name="vector3D">
>     <data type="string">
>         <param name="pattern">\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)([
> ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)){2}[ ]*\)</param>
> 
>     </data>
> </define>
> 
> <define name="namespacedToken">
>     <data type="string">
>         <param name="pattern">[0-9a-zA-Z_]+:[0-9a-zA-Z._\-]+</param>
>     </data>
> </define>
> <define name="anyAttListOrElements">
>     <zeroOrMore>
>         <attribute>
>             <anyName/>
>             <text/>
>         </attribute>
>     </zeroOrMore>
>     <ref name="anyElements"/>
> </define>
> <define name="anyElements">
>     <zeroOrMore>
>         <element>
>             <anyName/>
>             <mixed>
>                 <ref name="anyAttListOrElements"/>
>             </mixed>
>         </element>
>     </zeroOrMore>
> </define>
> </grammar>
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail.  Follow this link to all your TCs in OASIS at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]