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 Rob,

robert_weir@us.ibm.com wrote:
> Hi Peter,
> 
> Thanks for that contribution.  You and your team have obviously put a lot 
> of thought into this.

Surely, but I hope we can even make it better, as it certainly has some
deficits, as Peter Korn pointed out, for example.

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

Thanks a lot. I guess I do not have to take any action with JIRA for the
near future.

> 
> 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.

As pointed out in my mail to Peter Korn, the data model and
accessibility issues might get resolved by mapping the content of the
diagonal to regular (hidden) cells. This might also apply for the
rendering fall-back. If the hidden cells, that keep the content of the
diagonal cells, are appropriately positioned in relation to the content
referred by the diagonal headers, simply exposing these hidden cells
might offer a clean alternative rendering.

> 
> 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?

That's already solved. The illustrations in the proposal are no scans,
but Ma Jun actually recreated them, exactly as you were proposing,
because she couldn't get access to a scanner. That was my misunderstanding.

Best regards,
Peter



> 
> 
> 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 

-- 
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


[Date Prev]