Warning, /office/calligra/devtools/scripts/OpenDocument-schema-v1.1.rng is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!--
0003     OASIS OpenDocument v1.1
0004     OASIS Standard, 1 Feb 2007
0005     Relax-NG Schema
0006 
0007     $Id$
0008 
0009     © 2002-2007 OASIS Open
0010     © 1999-2007 Sun Microsystems, Inc.
0011 -->
0012 
0013 <grammar
0014     xmlns="http://relaxng.org/ns/structure/1.0"
0015     xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
0016 
0017     datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
0018 
0019     xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
0020     xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
0021     xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0"
0022     xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
0023     xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
0024     xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
0025     xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
0026     xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
0027     xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
0028     xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
0029     xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
0030     xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
0031     xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
0032     xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0"
0033 
0034     xmlns:dc="http://purl.org/dc/elements/1.1/"
0035     xmlns:xlink="http://www.w3.org/1999/xlink"
0036     xmlns:math="http://www.w3.org/1998/Math/MathML"
0037     xmlns:xforms="http://www.w3.org/2002/xforms"
0038 
0039     xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
0040     xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
0041     xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"
0042 >
0043 <define name="office-process-content">
0044     <optional>
0045         <attribute name="office:process-content" a:defaultValue="true">
0046             <ref name="boolean"/>
0047         </attribute>
0048     </optional>
0049 </define>
0050 <start>
0051     <choice>
0052         <ref name="office-document"/>
0053         <ref name="office-document-content"/>
0054         <ref name="office-document-styles"/>
0055         <ref name="office-document-meta"/>
0056         <ref name="office-document-settings"/>
0057     </choice>
0058 </start>
0059 <define name="office-document">
0060     <element name="office:document">
0061         <ref name="office-document-attrs"/>
0062         <ref name="office-document-common-attrs"/>
0063         <ref name="office-meta"/>
0064         <ref name="office-settings"/>
0065         <ref name="office-scripts"/>
0066         <ref name="office-font-face-decls"/>
0067         <ref name="office-styles"/>
0068         <ref name="office-automatic-styles"/>
0069         <ref name="office-master-styles"/>
0070         <ref name="office-body"/>
0071     </element>
0072 </define>
0073 <define name="office-document-content">
0074     <element name="office:document-content">
0075         <ref name="office-document-common-attrs"/>
0076         <ref name="office-scripts"/>
0077         <ref name="office-font-face-decls"/>
0078         <ref name="office-automatic-styles"/>
0079         <ref name="office-body"/>
0080     </element>
0081 </define>
0082 <define name="office-document-styles">
0083     <element name="office:document-styles">
0084         <ref name="office-document-common-attrs"/>
0085         <ref name="office-font-face-decls"/>
0086         <ref name="office-styles"/>
0087         <ref name="office-automatic-styles"/>
0088         <ref name="office-master-styles"/>
0089     </element>
0090 </define>
0091 <define name="office-document-meta">
0092     <element name="office:document-meta">
0093         <ref name="office-document-common-attrs"/>
0094         <ref name="office-meta"/>
0095     </element>
0096 </define>
0097 <define name="office-document-settings">
0098     <element name="office:document-settings">
0099         <ref name="office-document-common-attrs"/>
0100         <ref name="office-settings"/>
0101     </element>
0102 </define>
0103 <define name="office-document-common-attrs" combine="interleave">
0104     <optional>
0105         <attribute name="office:version">
0106             <ref name="string"/>
0107         </attribute>
0108     </optional>
0109 </define>
0110 <define name="office-document-attrs" combine="interleave">
0111     <attribute name="office:mimetype">
0112         <ref name="string"/>
0113     </attribute>
0114 </define>
0115 <define name="office-meta">
0116     <optional>
0117         <element name="office:meta">
0118             <ref name="office-meta-content"/>
0119         </element>
0120     </optional>
0121 </define>
0122 
0123 <define name="office-meta-content">
0124     <ref name="anyElements"/>
0125 </define>
0126 
0127 <define name="office-meta-content-strict">
0128     <zeroOrMore>
0129         <ref name="office-meta-data"/>
0130     </zeroOrMore>
0131 </define>
0132 <define name="office-body">
0133     <element name="office:body">
0134         <ref name="office-body-content"/>
0135     </element>
0136 </define>
0137 <define name="office-body-content" combine="choice">
0138     <element name="office:text">
0139         <ref name="office-text-attlist"/>
0140         <ref name="office-text-content-prelude"/>
0141         <zeroOrMore>
0142             <ref name="office-text-content-main"/>
0143         </zeroOrMore>
0144         <ref name="office-text-content-epilogue"/>
0145     </element>
0146 </define>
0147 <define name="office-text-content-prelude">
0148     <ref name="office-forms"/>
0149     <ref name="text-tracked-changes"/>
0150     <ref name="text-decls"/>
0151     <ref name="table-decls"/>
0152 </define>
0153 <define name="office-text-content-main">
0154     <choice>
0155         <zeroOrMore>
0156             <ref name="text-content"/>
0157         </zeroOrMore>
0158         <group>
0159             <ref name="text-page-sequence"/>
0160             <zeroOrMore>
0161                 <choice>
0162                     <ref name="draw-a"/>
0163                     <ref name="shape"/>
0164                 </choice>
0165             </zeroOrMore>
0166         </group>
0167     </choice>
0168 </define>
0169 
0170 <define name="text-content">
0171     <choice>
0172         <ref name="text-h"/>
0173         <ref name="text-p"/>
0174         <ref name="text-list"/>
0175         <ref name="text-numbered-paragraph"/>
0176         <ref name="table-table"/>
0177         <ref name="draw-a"/>
0178         <ref name="text-section"/>
0179         <ref name="text-soft-page-break"/> 
0180         <ref name="text-table-of-content"/>
0181         <ref name="text-illustration-index"/>
0182         <ref name="text-table-index"/>
0183         <ref name="text-object-index"/>
0184         <ref name="text-user-index"/>
0185         <ref name="text-alphabetical-index"/>
0186         <ref name="text-bibliography"/>
0187         <ref name="shape"/>
0188         <ref name="change-marks"/>
0189     </choice>
0190 </define>
0191 <define name="office-text-content-epilogue">
0192     <ref name="table-functions"/>
0193 </define>
0194 <define name="office-text-attlist" combine="interleave">
0195     <optional>
0196         <attribute name="text:global" a:defaultValue="false">
0197             <ref name="boolean"/>
0198         </attribute>
0199     </optional>
0200 </define>
0201 <define name="office-text-attlist" combine="interleave">
0202     <optional>
0203         <attribute name="text:use-soft-page-breaks" a:defaultValue="false">
0204             <ref name="boolean"/>
0205         </attribute>
0206     </optional>
0207 </define>
0208 <define name="office-body-content" combine="choice">
0209     <element name="office:drawing">
0210         <ref name="office-drawing-attlist"/>
0211         <ref name="office-drawing-content-prelude"/>
0212         <ref name="office-drawing-content-main"/>
0213         <ref name="office-drawing-content-epilogue"/>
0214     </element>
0215 </define>
0216 
0217 <define name="office-drawing-attlist">
0218     <empty/>
0219 </define>
0220 <define name="office-drawing-content-prelude">
0221     <ref name="text-decls"/>
0222     <ref name="table-decls"/>
0223 </define>
0224 <define name="office-drawing-content-main">
0225     <zeroOrMore>
0226         <ref name="draw-page"/>
0227     </zeroOrMore>
0228 </define>
0229 <define name="office-drawing-content-epilogue">
0230     <ref name="table-functions"/>
0231 </define>
0232 <define name="office-body-content" combine="choice">
0233     <element name="office:presentation">
0234         <ref name="office-presentation-attlist"/>
0235         <ref name="office-presentation-content-prelude"/>
0236         <ref name="office-presentation-content-main"/>
0237         <ref name="office-presentation-content-epilogue"/>
0238     </element>
0239 </define>
0240 
0241 <define name="office-presentation-attlist">
0242     <empty/>
0243 </define>
0244 <define name="office-presentation-content-prelude">
0245     <ref name="text-decls"/>
0246     <ref name="table-decls"/>
0247     <ref name="presentation-decls"/>
0248 </define>
0249 <define name="office-presentation-content-main">
0250     <zeroOrMore>
0251         <ref name="draw-page"/>
0252     </zeroOrMore>
0253 </define>
0254 <define name="office-presentation-content-epilogue">
0255     <ref name="presentation-settings"/>
0256     <ref name="table-functions"/>
0257 </define>
0258 <define name="office-body-content" combine="choice">
0259     <element name="office:spreadsheet">
0260         <ref name="office-spreadsheet-attlist"/>
0261         <ref name="office-spreadsheet-content-prelude"/>
0262         <ref name="office-spreadsheet-content-main"/>
0263         <ref name="office-spreadsheet-content-epilogue"/>
0264     </element>
0265 </define>
0266 <define name="office-spreadsheet-content-prelude">
0267     <optional>
0268         <ref name="table-tracked-changes"/>    
0269     </optional>
0270     <ref name="text-decls"/>
0271     <ref name="table-decls"/>
0272 </define>
0273 
0274 <define name="table-decls">
0275     <optional>
0276         <ref name="table-calculation-settings"/>    
0277     </optional>
0278     <optional>
0279         <ref name="table-content-validations"/>    
0280     </optional>
0281     <optional>
0282         <ref name="table-label-ranges"/>    
0283     </optional>
0284 </define>
0285 <define name="office-spreadsheet-content-main">
0286     <zeroOrMore>
0287         <ref name="table-table"/>
0288     </zeroOrMore>
0289 </define>
0290 <define name="office-spreadsheet-content-epilogue">
0291     <ref name="table-functions"/>    
0292 </define>
0293 
0294 <define name="table-functions">
0295     <optional>
0296         <ref name="table-named-expressions"/>    
0297     </optional>
0298     <optional>
0299         <ref name="table-database-ranges"/>    
0300     </optional>
0301     <optional>
0302         <ref name="table-data-pilot-tables"/>    
0303     </optional>
0304     <optional>
0305         <ref name="table-consolidation"/>    
0306     </optional>
0307     <optional>
0308         <ref name="table-dde-links"/>    
0309     </optional>
0310 </define>
0311 <define name="office-body-content" combine="choice">
0312     <element name="office:chart">
0313         <ref name="office-chart-attlist"/>
0314         <ref name="office-chart-content-prelude"/>
0315         <ref name="office-chart-content-main"/>
0316         <ref name="office-chart-content-epilogue"/>
0317     </element>
0318 </define>
0319 
0320 <define name="office-chart-attlist">
0321     <empty/>
0322 </define>
0323 <define name="office-chart-content-prelude">
0324     <ref name="text-decls"/>
0325     <ref name="table-decls"/>
0326 </define>
0327 <define name="office-chart-content-main">
0328     <ref name="chart-chart"/>
0329 </define>
0330 <define name="office-chart-content-epilogue">
0331     <ref name="table-functions"/>    
0332 </define>
0333 <define name="office-body-content" combine="choice">
0334     <element name="office:image">
0335         <ref name="office-image-attlist"/>
0336         <ref name="office-image-content-prelude"/>
0337         <ref name="office-image-content-main"/>
0338         <ref name="office-image-content-epilogue"/>
0339     </element>
0340 </define>
0341 
0342 <define name="office-image-attlist">
0343     <empty/>
0344 </define>
0345 <define name="office-image-content-prelude">
0346     <empty/>
0347 </define>
0348 <define name="office-image-content-main">
0349     <ref name="draw-frame"/>
0350 </define>
0351 <define name="office-image-content-epilogue">
0352     <empty/>
0353 </define>
0354 <define name="office-settings">
0355     <optional>
0356         <element name="office:settings">
0357             <oneOrMore>
0358                 <ref name="config-config-item-set"/>
0359             </oneOrMore>
0360         </element>
0361     </optional>
0362 </define>
0363 <define name="config-config-item-set">
0364     <element name="config:config-item-set">
0365         <ref name="config-config-item-set-attlist"/>
0366         <ref name="config-items"/>
0367     </element>
0368 </define>
0369 
0370 <define name="config-items">
0371     <oneOrMore>
0372         <choice>
0373             <ref name="config-config-item"/>
0374             <ref name="config-config-item-set"/>
0375             <ref name="config-config-item-map-named"/>
0376             <ref name="config-config-item-map-indexed"/>
0377         </choice>
0378     </oneOrMore>
0379 </define>
0380 <define name="config-config-item-set-attlist" combine="interleave">
0381     <attribute name="config:name">
0382         <ref name="string"/>
0383     </attribute>
0384 </define>
0385 <define name="config-config-item">
0386     <element name="config:config-item">
0387         <ref name="config-config-item-attlist"/>
0388         <text/>
0389     </element>
0390 </define>
0391 <define name="config-config-item-attlist" combine="interleave">
0392     <attribute name="config:name">
0393         <ref name="string"/>
0394     </attribute>
0395 </define>
0396 <define name="config-config-item-attlist" combine="interleave">
0397     <attribute name="config:type">
0398         <choice>
0399             <value>boolean</value>
0400             <value>short</value>
0401             <value>int</value>
0402             <value>long</value>
0403             <value>double</value>
0404             <value>string</value>
0405             <value>datetime</value>
0406             <value>base64Binary</value>
0407         </choice>
0408     </attribute>
0409 </define>
0410 <define name="config-config-item-map-indexed">
0411     <element name="config:config-item-map-indexed">
0412         <ref name="config-config-item-map-indexed-attlist"/>
0413         <oneOrMore>
0414             <ref name="config-config-item-map-entry"/>
0415         </oneOrMore>
0416     </element>
0417 </define>
0418 <define name="config-config-item-map-indexed-attlist" combine="interleave">
0419     <attribute name="config:name">
0420         <ref name="string"/>
0421     </attribute>
0422 </define>
0423 <define name="config-config-item-map-entry">
0424     <element name="config:config-item-map-entry">
0425         <ref name="config-config-item-map-entry-attlist"/>
0426         <ref name="config-items"/>
0427     </element>
0428 </define>
0429 <define name="config-config-item-map-entry-attlist" combine="interleave">
0430     <optional>
0431         <attribute name="config:name">
0432             <ref name="string"/>
0433         </attribute>
0434     </optional>
0435 </define>
0436 <define name="config-config-item-map-named">
0437     <element name="config:config-item-map-named">
0438         <ref name="config-config-item-map-named-attlist"/>
0439         <oneOrMore>
0440             <ref name="config-config-item-map-entry"/>
0441         </oneOrMore>
0442     </element>
0443 </define>
0444 <define name="config-config-item-map-named-attlist" combine="interleave">
0445     <attribute name="config:name">
0446         <ref name="string"/>
0447     </attribute>
0448 </define>
0449 <define name="office-scripts">
0450     <optional>
0451         <element name="office:scripts">
0452             <zeroOrMore>
0453                 <ref name="office-script"/>
0454             </zeroOrMore>
0455             <optional>
0456                 <ref name="office-event-listeners"/>
0457             </optional>
0458         </element>
0459     </optional>
0460 </define>
0461 <define name="office-script">
0462     <element name="office:script">
0463         <ref name="office-script-attlist"/>
0464         <mixed>
0465             <ref name="anyElements"/>
0466         </mixed>
0467     </element>
0468 </define>
0469 <define name="office-script-attlist">
0470     <attribute name="script:language">
0471         <ref name="string"/>
0472     </attribute>
0473 </define>
0474 <define name="office-font-face-decls">
0475     <optional>
0476         <element name="office:font-face-decls">
0477             <zeroOrMore>
0478                 <ref name="style-font-face"/>
0479             </zeroOrMore>
0480         </element>
0481     </optional>
0482 </define>
0483 <define name="office-styles">
0484     <optional>
0485         <element name="office:styles">
0486             <interleave>
0487                 <ref name="styles"/>
0488                 <zeroOrMore>
0489                     <ref name="style-default-style"/>
0490                 </zeroOrMore>
0491                 <optional>
0492                     <ref name="text-outline-style"/>
0493                 </optional>
0494                 <zeroOrMore>
0495                     <ref name="text-notes-configuration"/>
0496                 </zeroOrMore>
0497                 <optional>
0498                     <ref name="text-bibliography-configuration"/>
0499                 </optional>
0500                 <optional>
0501                     <ref name="text-linenumbering-configuration"/>
0502                 </optional>
0503                 <zeroOrMore>
0504                     <ref name="draw-gradient"/>
0505                 </zeroOrMore>
0506                 <zeroOrMore>
0507                     <ref name="svg-linearGradient"/>
0508                 </zeroOrMore>
0509                 <zeroOrMore>
0510                     <ref name="svg-radialGradient"/>
0511                 </zeroOrMore>
0512                 <zeroOrMore>
0513                     <ref name="draw-hatch"/>
0514                 </zeroOrMore>
0515                 <zeroOrMore>
0516                     <ref name="draw-fill-image"/>
0517                 </zeroOrMore>
0518                 <zeroOrMore>
0519                     <ref name="draw-marker"/>
0520                 </zeroOrMore>
0521                 <zeroOrMore>
0522                     <ref name="draw-stroke-dash"/>
0523                 </zeroOrMore>
0524                 <zeroOrMore>
0525                     <ref name="draw-opacity"/>
0526                 </zeroOrMore>
0527                 <zeroOrMore>
0528                     <ref name="style-presentation-page-layout"/>
0529                 </zeroOrMore>
0530             </interleave>
0531         </element>
0532     </optional>
0533 </define>
0534 <define name="office-automatic-styles">
0535     <optional>
0536         <element name="office:automatic-styles">
0537             <interleave>
0538                 <ref name="styles"/>
0539                 <zeroOrMore>
0540                     <ref name="style-page-layout"/>
0541                 </zeroOrMore>
0542             </interleave>
0543         </element>
0544     </optional>
0545 </define>
0546 <define name="office-master-styles">
0547     <optional>
0548         <element name="office:master-styles">
0549             <interleave>
0550                 <zeroOrMore>
0551                     <ref name="style-master-page"/>
0552                 </zeroOrMore>
0553                 <optional>
0554                     <ref name="style-handout-master"/>
0555                 </optional>
0556                 <optional>
0557                     <ref name="draw-layer-set"/>
0558                 </optional>
0559             </interleave>
0560         </element>
0561     </optional>
0562 </define>
0563 
0564 <define name="styles">
0565     <interleave>
0566         <zeroOrMore>
0567             <ref name="style-style"/>
0568         </zeroOrMore>
0569         <zeroOrMore>
0570             <ref name="text-list-style"/>
0571         </zeroOrMore>
0572         <zeroOrMore>
0573             <ref name="number-number-style"/>
0574         </zeroOrMore>
0575         <zeroOrMore>
0576             <ref name="number-currency-style"/>
0577         </zeroOrMore>
0578         <zeroOrMore>
0579             <ref name="number-percentage-style"/>
0580         </zeroOrMore>
0581         <zeroOrMore>
0582             <ref name="number-date-style"/>
0583         </zeroOrMore>
0584         <zeroOrMore>
0585             <ref name="number-time-style"/>
0586         </zeroOrMore>
0587         <zeroOrMore>
0588             <ref name="number-boolean-style"/>
0589         </zeroOrMore>
0590         <zeroOrMore>
0591             <ref name="number-text-style"/>
0592         </zeroOrMore>
0593     </interleave>
0594 </define>
0595 <define name="office-meta-data" combine="choice">
0596     <element name="meta:generator">
0597         <ref name="string"/>
0598     </element>
0599 </define>
0600 <define name="office-meta-data" combine="choice">
0601     <element name="dc:title">
0602         <ref name="string"/>
0603     </element>
0604 </define>
0605 <define name="office-meta-data" combine="choice">
0606     <element name="dc:description">
0607         <ref name="string"/>
0608     </element>
0609 </define>
0610 <define name="office-meta-data" combine="choice">
0611     <element name="dc:subject">
0612         <ref name="string"/>
0613     </element>
0614 </define>
0615 <define name="office-meta-data" combine="choice">
0616     <element name="meta:keyword">
0617         <ref name="string"/>
0618     </element>
0619 </define>
0620 <define name="office-meta-data" combine="choice">
0621     <element name="meta:initial-creator">
0622         <ref name="string"/>
0623     </element>
0624 </define>
0625 <define name="office-meta-data" combine="choice">
0626     <ref name="dc-creator"/>
0627 </define>
0628 <define name="dc-creator">
0629     <element name="dc:creator">
0630         <ref name="string"/>
0631     </element>
0632 </define>
0633 <define name="office-meta-data" combine="choice">
0634     <element name="meta:printed-by">
0635         <ref name="string"/>
0636     </element>
0637 </define>
0638 <define name="office-meta-data" combine="choice">
0639     <element name="meta:creation-date">
0640         <ref name="dateTime"/>
0641     </element>
0642 </define>
0643 <define name="office-meta-data" combine="choice">
0644     <ref name="dc-date"/>
0645 </define>
0646 <define name="dc-date">
0647     <element name="dc:date">
0648         <ref name="dateTime"/>
0649     </element>
0650 </define>
0651 <define name="office-meta-data" combine="choice">
0652     <element name="meta:print-date">
0653         <ref name="dateTime"/>
0654     </element>
0655 </define>
0656 <define name="office-meta-data" combine="choice">
0657     <element name="meta:template">
0658         <attribute name="xlink:href">
0659             <ref name="anyURI"/>
0660         </attribute>
0661         <optional>
0662             <attribute name="xlink:type" a:defaultValue="simple">
0663                 <value>simple</value>
0664             </attribute>
0665         </optional>
0666         <optional>
0667             <attribute name="xlink:actuate" a:defaultValue="onRequest">
0668                 <value>onRequest</value>
0669             </attribute>
0670         </optional>
0671         <optional>
0672             <attribute name="xlink:title">
0673                 <ref name="string"/>
0674             </attribute>
0675         </optional>
0676         <optional>
0677             <attribute name="meta:date">
0678                 <ref name="dateTime"/>
0679             </attribute>
0680         </optional>
0681     </element>
0682 </define>
0683 <define name="office-meta-data" combine="choice">
0684     <element name="meta:auto-reload">
0685         <optional>
0686             <attribute name="xlink:type" a:defaultValue="simple">
0687                 <value>simple</value>
0688             </attribute>
0689         </optional>
0690         <optional>
0691             <attribute name="xlink:show" a:defaultValue="replace">
0692                 <value>replace</value>
0693             </attribute>
0694         </optional>
0695         <optional>
0696             <attribute name="xlink:actuate" a:defaultValue="onLoad">
0697                 <value>onLoad</value>
0698             </attribute>
0699         </optional>
0700         <optional>
0701             <attribute name="xlink:href">
0702                 <ref name="anyURI"/>
0703             </attribute>
0704         </optional>
0705         <optional>
0706             <attribute name="meta:delay">
0707                 <ref name="duration"/>
0708             </attribute>
0709         </optional>
0710     </element>
0711 </define>
0712 <define name="office-meta-data" combine="choice">
0713     <element name="meta:hyperlink-behaviour">
0714         <optional>
0715             <attribute name="office:target-frame-name">
0716                 <ref name="targetFrameName"/>
0717             </attribute>
0718         </optional>
0719         <optional>
0720             <attribute name="xlink:show">
0721                 <choice>
0722                     <value>new</value>
0723                     <value>replace</value>
0724                 </choice>
0725             </attribute>
0726         </optional>
0727     </element>
0728 </define>
0729 <define name="office-meta-data" combine="choice">
0730     <element name="dc:language">
0731         <ref name="language"/>
0732     </element>
0733 </define>
0734 <define name="office-meta-data" combine="choice">
0735     <element name="meta:editing-cycles">
0736         <ref name="nonNegativeInteger"/>
0737     </element>
0738 </define>
0739 <define name="office-meta-data" combine="choice">
0740     <element name="meta:editing-duration">
0741         <ref name="duration"/>
0742     </element>
0743 </define>
0744 <define name="office-meta-data" combine="choice">
0745     <element name="meta:document-statistic">
0746         <optional>
0747             <attribute name="meta:page-count">
0748                 <ref name="nonNegativeInteger"/>
0749             </attribute>
0750         </optional>
0751         <optional>
0752             <attribute name="meta:table-count">
0753                 <ref name="nonNegativeInteger"/>
0754             </attribute>
0755         </optional>
0756         <optional>
0757             <attribute name="meta:draw-count">
0758                 <ref name="nonNegativeInteger"/>
0759             </attribute>
0760         </optional>
0761         <optional>
0762             <attribute name="meta:image-count">
0763                 <ref name="nonNegativeInteger"/>
0764             </attribute>
0765         </optional>
0766         <optional>
0767             <attribute name="meta:ole-object-count">
0768                 <ref name="nonNegativeInteger"/>
0769             </attribute>
0770         </optional>
0771         <optional>
0772             <attribute name="meta:object-count">
0773                 <ref name="nonNegativeInteger"/>
0774             </attribute>
0775         </optional>
0776         <optional>
0777             <attribute name="meta:paragraph-count">
0778                 <ref name="nonNegativeInteger"/>
0779             </attribute>
0780         </optional>
0781         <optional>
0782             <attribute name="meta:word-count">
0783                 <ref name="nonNegativeInteger"/>
0784             </attribute>
0785         </optional>
0786         <optional>
0787             <attribute name="meta:character-count">
0788                 <ref name="nonNegativeInteger"/>
0789             </attribute>
0790         </optional>
0791         <optional>
0792             <attribute name="frame-count">
0793                 <ref name="nonNegativeInteger"/>
0794             </attribute>
0795         </optional>
0796         <optional>
0797             <attribute name="sentence-count">
0798                 <ref name="nonNegativeInteger"/>
0799             </attribute>
0800         </optional>
0801         <optional>
0802             <attribute name="syllable-count">
0803                 <ref name="nonNegativeInteger"/>
0804             </attribute>
0805         </optional>
0806         <optional>
0807             <attribute name="non-whitespace-character-count">
0808                 <ref name="nonNegativeInteger"/>
0809             </attribute>
0810         </optional>
0811         <optional>
0812             <attribute name="meta:row-count">
0813                 <ref name="nonNegativeInteger"/>
0814             </attribute>
0815         </optional>
0816         <optional>
0817             <attribute name="meta:cell-count">
0818                 <ref name="nonNegativeInteger"/>
0819             </attribute>
0820         </optional>
0821     </element>
0822 </define>
0823 <define name="office-meta-data" combine="choice">
0824     <element name="meta:user-defined">
0825         <attribute name="meta:name">
0826             <ref name="string"/>
0827         </attribute>
0828         <choice>
0829             <group>
0830                 <attribute name="meta:value-type">
0831                     <value>float</value>
0832                 </attribute>
0833                 <ref name="double"/>
0834             </group>
0835             <group>
0836                 <attribute name="meta:value-type">
0837                     <value>date</value>
0838                 </attribute>
0839                 <ref name="dateOrDateTime"/>
0840             </group>
0841             <group>
0842                 <attribute name="meta:value-type">
0843                     <value>time</value>
0844                 </attribute>
0845                 <ref name="duration"/>
0846             </group>
0847             <group>
0848                 <attribute name="meta:value-type">
0849                     <value>boolean</value>
0850                 </attribute>
0851                 <ref name="boolean"/>
0852             </group>
0853             <group>
0854                 <attribute name="meta:value-type">
0855                     <value>string</value>
0856                 </attribute>
0857                 <ref name="string"/>
0858             </group>
0859             <text/>
0860         </choice>
0861     </element>
0862 </define>
0863 <define name="text-h">
0864     <element name="text:h">
0865         <ref name="heading-attrs"/>
0866         <ref name="paragraph-attrs"/>
0867         <optional>
0868             <ref name="text-number"/>
0869         </optional>
0870         <zeroOrMore>
0871             <ref name="paragraph-content"/>
0872         </zeroOrMore>
0873     </element>
0874 </define>
0875 <define name="heading-attrs" combine="interleave">
0876     <attribute name="text:outline-level">
0877         <ref name="positiveInteger"/>
0878     </attribute>
0879 </define>
0880 <define name="heading-attrs" combine="interleave">
0881     <optional>
0882         <attribute name="text:restart-numbering" a:defaultValue="false">
0883             <ref name="boolean"/>
0884         </attribute>
0885     </optional>
0886 </define>
0887 <define name="heading-attrs" combine="interleave">
0888     <optional>
0889         <attribute name="text:start-value">
0890             <ref name="nonNegativeInteger"/>
0891         </attribute>
0892     </optional>
0893 </define>
0894 <define name="heading-attrs" combine="interleave">
0895     <optional>
0896         <attribute name="text:is-list-header" a:defaultValue="false">
0897             <ref name="boolean"/>
0898         </attribute>
0899     </optional>
0900 </define>
0901 <define name="text-number">
0902     <element name="text:number">
0903         <ref name="string"/>
0904     </element>
0905 </define>
0906 <define name="text-p">
0907     <element name="text:p">
0908         <ref name="paragraph-attrs"/>
0909         <zeroOrMore>
0910             <ref name="paragraph-content"/>
0911         </zeroOrMore>
0912     </element>
0913 </define>
0914 <define name="paragraph-attrs">
0915     <optional>
0916         <attribute name="text:style-name">
0917             <ref name="styleNameRef"/>
0918         </attribute>
0919     </optional>
0920     <optional>
0921         <attribute name="text:class-names">
0922             <ref name="styleNameRefs"/>
0923         </attribute>
0924     </optional>
0925     <optional>
0926         <attribute name="text:cond-style-name">
0927             <ref name="styleNameRef"/>
0928         </attribute>
0929     </optional>
0930 </define>
0931 <define name="paragraph-attrs" combine="interleave">
0932     <optional>
0933         <ref name="text-id"/>
0934     </optional>
0935 </define>
0936 <define name="text-page-sequence">
0937     <element name="text:page-sequence">
0938         <oneOrMore>
0939             <ref name="text-page"/>
0940         </oneOrMore>
0941     </element>
0942 </define>
0943 <define name="text-page">
0944     <element name="text:page">
0945         <ref name="text-page-attlist"/>
0946         <empty/>
0947     </element>
0948 </define>
0949 <define name="text-page-attlist">
0950     <attribute name="text:master-page-name">
0951         <ref name="styleNameRef"/>
0952     </attribute>
0953 </define>
0954 <define name="text-list">
0955     <element name="text:list">
0956         <ref name="text-list-attr"/>
0957         <optional>
0958             <ref name="text-list-header"/>
0959         </optional>
0960         <zeroOrMore>
0961             <ref name="text-list-item"/>
0962         </zeroOrMore>
0963     </element>
0964 </define>
0965 <define name="text-list-attr" combine="interleave">
0966     <optional>
0967         <attribute name="text:style-name">
0968             <ref name="styleNameRef"/>
0969         </attribute>
0970     </optional>
0971 </define>
0972 <define name="text-list-attr" combine="interleave">
0973     <optional>
0974         <attribute name="text:continue-numbering">
0975             <ref name="boolean"/>
0976         </attribute>
0977     </optional>
0978 </define>
0979 <define name="text-list-item">
0980     <element name="text:list-item">
0981         <ref name="text-list-item-attr"/>
0982         <ref name="text-list-item-content"/>
0983     </element>
0984 </define>
0985 <define name="text-list-item-content">
0986     <optional>
0987         <ref name="text-number"/>
0988     </optional>
0989     <zeroOrMore>
0990         <choice>
0991             <ref name="text-p"/>
0992             <ref name="text-h"/>
0993             <ref name="text-list"/>
0994             <ref name="text-soft-page-break"/>
0995         </choice>
0996     </zeroOrMore>
0997 </define>
0998 <define name="text-list-item-attr" combine="interleave">
0999     <optional>
1000         <attribute name="text:start-value">
1001             <ref name="nonNegativeInteger"/>
1002         </attribute>
1003     </optional>
1004 </define>
1005 <define name="text-list-header">
1006     <element name="text:list-header">
1007         <ref name="text-list-item-content"/>
1008     </element>
1009 </define>
1010 <define name="text-numbered-paragraph">
1011     <element name="text:numbered-paragraph">
1012         <ref name="text-numbered-paragraph-attr"/>
1013         <optional>
1014             <ref name="text-number"/>
1015         </optional>
1016         <choice>
1017             <ref name="text-p"/>
1018             <ref name="text-h"/>
1019         </choice>
1020     </element>
1021 </define>
1022 <define name="text-numbered-paragraph-attr" combine="interleave">
1023     <optional>
1024         <attribute name="text:level" a:defaultValue="1">
1025             <ref name="positiveInteger"/>
1026         </attribute>
1027     </optional>
1028 </define>
1029 <define name="text-numbered-paragraph-attr" combine="interleave">
1030     <ref name="text-list-attr"/>
1031 </define>
1032 <define name="text-numbered-paragraph-attr" combine="interleave">
1033     <ref name="text-list-item-attr"/>
1034 </define>
1035 <define name="text-section">
1036     <element name="text:section">
1037         <ref name="text-section-attr"/>
1038         <choice>
1039             <ref name="text-section-source"/>
1040             <ref name="text-section-source-dde"/>
1041             <empty/>
1042         </choice>
1043         <zeroOrMore>
1044             <ref name="text-content"/>
1045         </zeroOrMore>
1046     </element>
1047 </define>
1048 <define name="text-section-attr" combine="interleave">
1049     <ref name="sectionAttr"/>
1050 </define>
1051 <define name="sectionAttr" combine="interleave">
1052     <optional>
1053         <attribute name="text:style-name">
1054             <ref name="styleNameRef"/>
1055         </attribute>
1056     </optional>
1057 </define>
1058 <define name="sectionAttr" combine="interleave">
1059     <attribute name="text:name">
1060         <ref name="string"/>
1061     </attribute>
1062 </define>
1063 <define name="sectionAttr" combine="interleave">
1064     <optional>
1065         <attribute name="text:protected">
1066             <ref name="boolean"/>
1067         </attribute>
1068     </optional>
1069 </define>
1070 <define name="sectionAttr" combine="interleave">
1071     <optional>
1072         <attribute name="text:protection-key">
1073             <ref name="string"/>
1074         </attribute>
1075     </optional>
1076 </define>
1077 <define name="text-section-attr" combine="interleave">
1078     <choice>
1079         <attribute name="text:display">
1080             <choice>
1081                 <value>true</value>
1082                 <value>none</value>
1083             </choice>
1084         </attribute>
1085         <group>
1086             <attribute name="text:display">
1087                 <value>condition</value>
1088             </attribute>
1089             <attribute name="text:condition">
1090                 <ref name="string"/>
1091             </attribute>
1092         </group>
1093         <empty/>
1094     </choice>
1095 </define>
1096 <define name="text-section-source">
1097     <element name="text:section-source">
1098         <ref name="text-section-source-attr"/>
1099     </element>
1100 </define>
1101 <define name="text-section-source-attr" combine="interleave">
1102     <optional>
1103         <attribute name="xlink:href">
1104             <ref name="anyURI"/>
1105         </attribute>
1106         <optional>
1107             <attribute name="xlink:type" a:defaultValue="simple">
1108                 <value>simple</value>
1109             </attribute>
1110         </optional>
1111         <optional>
1112             <attribute name="xlink:show" a:defaultValue="embed">
1113                 <value>embed</value>
1114             </attribute>
1115         </optional>
1116     </optional>
1117 </define>
1118 <define name="text-section-source-attr" combine="interleave">
1119     <optional>
1120         <attribute name="text:section-name">
1121             <ref name="string"/>
1122         </attribute>
1123     </optional>
1124 </define>
1125 <define name="text-section-source-attr" combine="interleave">
1126     <optional>
1127         <attribute name="text:filter-name">
1128             <ref name="string"/>
1129         </attribute>
1130     </optional>
1131 </define>
1132 <define name="text-section-source-dde">
1133     <ref name="office-dde-source"/>
1134 </define>
1135 <define name="text-tracked-changes">
1136     <optional>
1137         <element name="text:tracked-changes">
1138             <ref name="text-tracked-changes-attr"/>
1139             <zeroOrMore>
1140                 <ref name="text-changed-region"/>
1141             </zeroOrMore>
1142         </element>
1143     </optional>
1144 </define>
1145 <define name="text-tracked-changes-attr" combine="interleave">
1146     <optional>
1147         <attribute name="text:track-changes" a:defaultValue="true">
1148             <ref name="boolean"/>
1149         </attribute>
1150     </optional>
1151 </define>
1152 <define name="text-changed-region">
1153     <element name="text:changed-region">
1154         <ref name="text-changed-region-attr"/>
1155         <ref name="text-changed-region-content"/>
1156     </element>
1157 </define>
1158 <define name="text-changed-region-attr" combine="interleave">
1159     <attribute name="text:id">
1160         <ref name="ID"/>
1161     </attribute>
1162 </define>
1163 <define name="text-changed-region-content" combine="choice">
1164     <element name="text:insertion">
1165         <ref name="office-change-info"/>
1166     </element>
1167 </define>
1168 <define name="text-changed-region-content" combine="choice">
1169     <element name="text:deletion">
1170         <ref name="office-change-info"/>
1171         <zeroOrMore>
1172             <ref name="text-content"/>
1173         </zeroOrMore>
1174     </element>
1175 </define>
1176 <define name="text-changed-region-content" combine="choice">
1177     <element name="text:format-change">
1178         <ref name="office-change-info"/>
1179     </element>
1180 </define>
1181 <define name="change-marks">
1182     <choice>
1183         <element name="text:change">
1184             <ref name="change-mark-attr"/>
1185         </element>
1186         <element name="text:change-start">
1187             <ref name="change-mark-attr"/>
1188         </element>
1189         <element name="text:change-end">
1190             <ref name="change-mark-attr"/>
1191         </element>
1192     </choice>
1193 </define>
1194 <define name="change-mark-attr">
1195     <attribute name="text:change-id">
1196         <ref name="IDREF"/>
1197     </attribute>
1198 </define>
1199 <define name="text-soft-page-break">
1200     <element name="text:soft-page-break">
1201         <empty/>
1202     </element>
1203 </define>
1204 <define name="text-decls">
1205     <optional>
1206         <element name="text:variable-decls">
1207             <zeroOrMore>
1208                 <ref name="text-variable-decl"/>
1209             </zeroOrMore>
1210         </element>
1211     </optional>
1212     <optional>
1213         <element name="text:sequence-decls">
1214             <zeroOrMore>
1215                 <ref name="text-sequence-decl"/>
1216             </zeroOrMore>
1217         </element>
1218     </optional>
1219     <optional>
1220         <element name="text:user-field-decls">
1221             <zeroOrMore>
1222                 <ref name="text-user-field-decl"/>
1223             </zeroOrMore>
1224         </element>
1225     </optional>
1226     <optional>
1227         <element name="text:dde-connection-decls">
1228             <zeroOrMore>
1229                 <ref name="text-dde-connection-decl"/>
1230             </zeroOrMore>
1231         </element>
1232     </optional>
1233     <optional>
1234         <ref name="text-alphabetical-index-auto-mark-file"/>
1235     </optional>
1236 </define>
1237 <define name="paragraph-content" combine="choice">
1238     <text/>
1239 </define>
1240 <define name="paragraph-content" combine="choice">
1241     <element name="text:s">
1242         <optional>
1243             <attribute name="text:c">
1244                 <ref name="nonNegativeInteger"/>
1245             </attribute>
1246         </optional>
1247     </element>
1248 </define>
1249 <define name="paragraph-content" combine="choice">
1250     <element name="text:tab">
1251         <ref name="text-tab-attr"/>
1252     </element>
1253 </define>
1254 <define name="text-tab-attr">
1255     <optional>
1256         <attribute name="text:tab-ref">
1257             <ref name="nonNegativeInteger"/>
1258         </attribute>
1259     </optional>
1260 </define>
1261 <define name="paragraph-content" combine="choice">
1262     <element name="text:line-break">
1263         <empty/>
1264     </element>
1265 </define>
1266 <define name="paragraph-content" combine="choice">
1267     <ref name="text-soft-page-break"/>
1268 </define>
1269 <define name="paragraph-content" combine="choice">
1270     <element name="text:span">
1271         <optional>
1272             <attribute name="text:style-name">
1273                 <ref name="styleNameRef"/>
1274             </attribute>
1275         </optional>
1276         <optional>
1277             <attribute name="text:class-names">
1278                 <ref name="styleNameRefs"/>
1279             </attribute>
1280         </optional>
1281         <zeroOrMore>
1282             <ref name="paragraph-content"/>
1283         </zeroOrMore>
1284     </element>
1285 </define>
1286 <define name="paragraph-content" combine="choice">
1287     <element name="text:a">
1288         <ref name="text-a-attlist"/>
1289         <optional>
1290             <ref name="office-event-listeners"/>
1291         </optional>
1292         <zeroOrMore>
1293             <ref name="paragraph-content"/>
1294         </zeroOrMore>
1295     </element>
1296 </define>
1297 <define name="text-a-attlist" combine="interleave">
1298     <optional>
1299         <attribute name="office:name">
1300             <ref name="string"/>
1301         </attribute>
1302     </optional>
1303 </define>
1304 <define name="text-a-attlist" combine="interleave">
1305     <optional>
1306         <attribute name="office:title">
1307             <ref name="string"/>
1308         </attribute>
1309     </optional>
1310 </define>
1311 <define name="text-a-attlist" combine="interleave">
1312     <attribute name="xlink:href">
1313         <ref name="anyURI"/>
1314     </attribute>
1315     <optional>
1316         <attribute name="xlink:type" a:defaultValue="simple">
1317             <value>simple</value>
1318         </attribute>
1319     </optional>
1320     <optional>
1321         <attribute name="xlink:actuate" a:defaultValue="onRequest">
1322             <value>onRequest</value>
1323         </attribute>
1324     </optional>
1325 </define>
1326 <define name="text-a-attlist" combine="interleave">
1327     <optional>
1328         <attribute name="office:target-frame-name">
1329             <ref name="targetFrameName"/>
1330         </attribute>
1331     </optional>
1332     <optional>
1333         <attribute name="xlink:show">
1334             <choice>
1335                 <value>new</value>
1336                 <value>replace</value>
1337             </choice>
1338         </attribute>
1339     </optional>
1340 </define>
1341 <define name="text-a-attlist" combine="interleave">
1342     <optional>
1343         <attribute name="text:style-name">
1344             <ref name="styleNameRef"/>
1345         </attribute>
1346     </optional>
1347     <optional>
1348         <attribute name="text:visited-style-name">
1349             <ref name="styleNameRef"/>
1350         </attribute>
1351     </optional>
1352 </define>
1353 <define name="paragraph-content" combine="choice">
1354     <choice>
1355         <element name="text:bookmark">
1356             <attribute name="text:name">
1357                 <ref name="string"/>
1358             </attribute>
1359         </element>
1360         <element name="text:bookmark-start">
1361             <attribute name="text:name">
1362                 <ref name="string"/>
1363             </attribute>
1364         </element>
1365         <element name="text:bookmark-end">
1366             <attribute name="text:name">
1367                 <ref name="string"/>
1368             </attribute>
1369         </element>
1370     </choice>
1371 </define>
1372 <define name="paragraph-content" combine="choice">
1373     <element name="text:reference-mark">
1374         <attribute name="text:name">
1375             <ref name="string"/>
1376         </attribute>
1377     </element>
1378 </define>
1379 <define name="paragraph-content" combine="choice">
1380     <choice>
1381         <element name="text:reference-mark-start">
1382             <attribute name="text:name">
1383                 <ref name="string"/>
1384             </attribute>
1385         </element>
1386         <element name="text:reference-mark-end">
1387             <attribute name="text:name">
1388                 <ref name="string"/>
1389             </attribute>
1390         </element>
1391     </choice>
1392 </define>
1393 <define name="paragraph-content" combine="choice">
1394     <element name="text:note">
1395         <ref name="text-note-class"/>
1396         <optional>
1397             <attribute name="text:id">
1398                 <ref name="string"/>
1399             </attribute>
1400         </optional>
1401         <element name="text:note-citation">
1402             <optional>
1403                 <attribute name="text:label">
1404                     <ref name="string"/>
1405                 </attribute>
1406             </optional>
1407             <text/>
1408         </element>
1409         <element name="text:note-body">
1410             <zeroOrMore>
1411                 <ref name="text-content"/>
1412             </zeroOrMore>
1413         </element>
1414     </element>
1415 </define>
1416 <define name="text-note-class">
1417     <attribute name="text:note-class">
1418         <choice>
1419             <value>footnote</value>
1420             <value>endnote</value>
1421         </choice>
1422     </attribute>
1423 </define>
1424 <define name="paragraph-content" combine="choice">
1425     <element name="text:ruby">
1426         <optional>
1427             <attribute name="text:style-name">
1428                 <ref name="styleNameRef"/>
1429             </attribute>
1430         </optional>
1431         <element name="text:ruby-base">
1432             <ref name="paragraph-content"/>
1433         </element>
1434         <element name="text:ruby-text">
1435             <optional>
1436                 <attribute name="text:style-name">
1437                     <ref name="styleNameRef"/>
1438                 </attribute>
1439             </optional>
1440             <text/>
1441         </element>
1442     </element>
1443 </define>
1444 <define name="paragraph-content" combine="choice">
1445     <ref name="office-annotation"/>
1446 </define>
1447 <define name="paragraph-content" combine="choice">
1448     <ref name="change-marks"/>
1449 </define>
1450 <define name="paragraph-content" combine="choice">
1451     <choice>
1452         <ref name="shape"/>
1453         <ref name="draw-a"/>
1454     </choice>
1455 </define>
1456 <define name="paragraph-content" combine="choice">
1457     <element name="text:date">
1458         <ref name="text-date-attlist"/>
1459         <text/>
1460     </element>
1461 </define>
1462 <define name="text-date-attlist" combine="interleave">
1463     <interleave>
1464         <ref name="common-field-fixed-attlist"/>
1465         <ref name="common-field-data-style-name-attlist"/>
1466     </interleave>
1467 </define>
1468 <define name="text-date-attlist" combine="interleave">
1469     <optional>
1470         <attribute name="text:date-value">
1471             <ref name="dateOrDateTime"/>
1472         </attribute>
1473     </optional>
1474 </define>
1475 <define name="text-date-attlist" combine="interleave">
1476     <optional>
1477         <attribute name="text:date-adjust">
1478             <ref name="duration"/>
1479         </attribute>
1480     </optional>
1481 </define>
1482 <define name="paragraph-content" combine="choice">
1483     <element name="text:time">
1484         <ref name="text-time-attlist"/>
1485         <text/>
1486     </element>
1487 </define>
1488 <define name="text-time-attlist" combine="interleave">
1489     <interleave>
1490         <ref name="common-field-fixed-attlist"/>
1491         <ref name="common-field-data-style-name-attlist"/>
1492     </interleave>
1493 </define>
1494 <define name="text-time-attlist" combine="interleave">
1495     <optional>
1496         <attribute name="text:time-value">
1497             <ref name="timeOrDateTime"/>
1498         </attribute>
1499     </optional>
1500 </define>
1501 <define name="text-time-attlist" combine="interleave">
1502     <optional>
1503         <attribute name="text:time-adjust">
1504             <ref name="duration"/>
1505         </attribute>
1506     </optional>
1507 </define>
1508 <define name="paragraph-content" combine="choice">
1509     <element name="text:page-number">
1510         <ref name="text-page-number-attlist"/>
1511         <text/>
1512     </element>
1513 </define>
1514 <define name="text-page-number-attlist" combine="interleave">
1515     <interleave>
1516         <ref name="common-field-num-format-attlist"/>
1517         <ref name="common-field-fixed-attlist"/>
1518     </interleave>
1519 </define>
1520 <define name="text-page-number-attlist" combine="interleave">
1521     <optional>
1522         <attribute name="text:page-adjust">
1523             <ref name="integer"/>
1524         </attribute>
1525     </optional>
1526 </define>
1527 <define name="text-page-number-attlist" combine="interleave">
1528     <optional>
1529         <attribute name="text:select-page">
1530             <choice>
1531                 <value>previous</value>
1532                 <value>current</value>
1533                 <value>next</value>
1534             </choice>
1535         </attribute>
1536     </optional>
1537 </define>
1538 <define name="paragraph-content" combine="choice">
1539     <element name="text:page-continuation">
1540         <ref name="text-page-continuation-attlist"/>
1541         <text/>
1542     </element>
1543 </define>
1544 <define name="text-page-continuation-attlist" combine="interleave">
1545     <attribute name="text:select-page">
1546         <choice>
1547             <value>previous</value>
1548             <value>next</value>
1549         </choice>
1550     </attribute>
1551 </define>
1552 <define name="text-page-continuation-attlist" combine="interleave">
1553     <optional>
1554         <attribute name="text:string-value">
1555             <ref name="string"/>
1556         </attribute>
1557     </optional>
1558 </define>
1559 <define name="paragraph-content" combine="choice">
1560     <element name="text:sender-firstname">
1561         <ref name="common-field-fixed-attlist"/>
1562         <text/>
1563     </element>
1564 </define>
1565 <define name="paragraph-content" combine="choice">
1566     <element name="text:sender-lastname">
1567         <ref name="common-field-fixed-attlist"/>
1568         <text/>
1569     </element>
1570 </define>
1571 <define name="paragraph-content" combine="choice">
1572     <element name="text:sender-initials">
1573         <ref name="common-field-fixed-attlist"/>
1574         <text/>
1575     </element>
1576 </define>
1577 <define name="paragraph-content" combine="choice">
1578     <element name="text:sender-title">
1579         <ref name="common-field-fixed-attlist"/>
1580         <text/>
1581     </element>
1582 </define>
1583 <define name="paragraph-content" combine="choice">
1584     <element name="text:sender-position">
1585         <ref name="common-field-fixed-attlist"/>
1586         <text/>
1587     </element>
1588 </define>
1589 <define name="paragraph-content" combine="choice">
1590     <element name="text:sender-email">
1591         <ref name="common-field-fixed-attlist"/>
1592         <text/>
1593     </element>
1594 </define>
1595 <define name="paragraph-content" combine="choice">
1596     <element name="text:sender-phone-private">
1597         <ref name="common-field-fixed-attlist"/>
1598         <text/>
1599     </element>
1600 </define>
1601 <define name="paragraph-content" combine="choice">
1602     <element name="text:sender-fax">
1603         <ref name="common-field-fixed-attlist"/>
1604         <text/>
1605     </element>
1606 </define>
1607 <define name="paragraph-content" combine="choice">
1608     <element name="text:sender-company">
1609         <ref name="common-field-fixed-attlist"/>
1610         <text/>
1611     </element>
1612 </define>
1613 <define name="paragraph-content" combine="choice">
1614     <element name="text:sender-phone-work">
1615         <ref name="common-field-fixed-attlist"/>
1616         <text/>
1617     </element>
1618 </define>
1619 <define name="paragraph-content" combine="choice">
1620     <element name="text:sender-street">
1621         <ref name="common-field-fixed-attlist"/>
1622         <text/>
1623     </element>
1624 </define>
1625 <define name="paragraph-content" combine="choice">
1626     <element name="text:sender-city">
1627         <ref name="common-field-fixed-attlist"/>
1628         <text/>
1629     </element>
1630 </define>
1631 <define name="paragraph-content" combine="choice">
1632     <element name="text:sender-postal-code">
1633         <ref name="common-field-fixed-attlist"/>
1634         <text/>
1635     </element>
1636 </define>
1637 <define name="paragraph-content" combine="choice">
1638     <element name="text:sender-country">
1639         <ref name="common-field-fixed-attlist"/>
1640         <text/>
1641     </element>
1642 </define>
1643 <define name="paragraph-content" combine="choice">
1644     <element name="text:sender-state-or-province">
1645         <ref name="common-field-fixed-attlist"/>
1646         <text/>
1647     </element>
1648 </define>
1649 <define name="paragraph-content" combine="choice">
1650     <element name="text:author-name">
1651         <ref name="common-field-fixed-attlist"/>
1652         <text/>
1653     </element>
1654 </define>
1655 <define name="paragraph-content" combine="choice">
1656     <element name="text:author-initials">
1657         <ref name="common-field-fixed-attlist"/>
1658         <text/>
1659     </element>
1660 </define>
1661 <define name="paragraph-content" combine="choice">
1662     <element name="text:chapter">
1663         <ref name="text-chapter-attlist"/>
1664         <text/>
1665     </element>
1666 </define>
1667 <define name="text-chapter-attlist" combine="interleave">
1668     <attribute name="text:display">
1669         <choice>
1670             <value>name</value>
1671             <value>number</value>
1672             <value>number-and-name</value>
1673             <value>plain-number-and-name</value>
1674             <value>plain-number</value>
1675         </choice>
1676     </attribute>
1677 </define>
1678 <define name="text-chapter-attlist" combine="interleave">
1679     <attribute name="text:outline-level">
1680         <ref name="nonNegativeInteger"/>
1681     </attribute>
1682 </define>
1683 <define name="paragraph-content" combine="choice">
1684     <element name="text:file-name">
1685         <ref name="text-file-name-attlist"/>
1686         <text/>
1687     </element>
1688 </define>
1689 <define name="text-file-name-attlist" combine="interleave">
1690     <optional>
1691         <attribute name="text:display">
1692             <choice>
1693                 <value>full</value>
1694                 <value>path</value>
1695                 <value>name</value>
1696                 <value>name-and-extension</value>
1697             </choice>
1698         </attribute>
1699     </optional>
1700 </define>
1701 <define name="text-file-name-attlist" combine="interleave">
1702     <ref name="common-field-fixed-attlist"/>
1703 </define>
1704 <define name="paragraph-content" combine="choice">
1705     <element name="text:template-name">
1706         <ref name="text-template-name-attlist"/>
1707         <text/>
1708     </element>
1709 </define>
1710 <define name="text-template-name-attlist">
1711     <optional>
1712         <attribute name="text:display">
1713             <choice>
1714                 <value>full</value>
1715                 <value>path</value>
1716                 <value>name</value>
1717                 <value>name-and-extension</value>
1718                 <value>area</value>
1719                 <value>title</value>
1720             </choice>
1721         </attribute>
1722     </optional>
1723 </define>
1724 <define name="paragraph-content" combine="choice">
1725     <element name="text:sheet-name">
1726         <text/>
1727     </element>
1728 </define>
1729 <define name="text-variable-decl">
1730     <element name="text:variable-decl">
1731         <ref name="common-field-name-attlist"/>
1732         <ref name="common-value-type-attlist"/>
1733     </element>
1734 </define>
1735 <define name="paragraph-content" combine="choice">
1736     <element name="text:variable-set">
1737         <interleave>
1738             <ref name="common-field-name-attlist"/>
1739             <ref name="common-field-formula-attlist"/>
1740             <ref name="common-value-and-type-attlist"/>
1741             <ref name="common-field-display-value-none-attlist"/>
1742             <ref name="common-field-data-style-name-attlist"/>
1743         </interleave>
1744         <text/>
1745     </element>
1746 </define>
1747 <define name="paragraph-content" combine="choice">
1748     <element name="text:variable-get">
1749         <interleave>
1750             <ref name="common-field-name-attlist"/>
1751             <ref name="common-field-display-value-formula-attlist"/>
1752             <ref name="common-field-data-style-name-attlist"/>
1753         </interleave>
1754         <text/>
1755     </element>
1756 </define>
1757 <define name="paragraph-content" combine="choice">
1758     <element name="text:variable-input">
1759         <interleave>
1760             <ref name="common-field-name-attlist"/>
1761             <ref name="common-field-description-attlist"/>
1762             <ref name="common-value-type-attlist"/>
1763             <ref name="common-field-display-value-none-attlist"/>
1764             <ref name="common-field-data-style-name-attlist"/>
1765         </interleave>
1766         <text/>
1767     </element>
1768 </define>
1769 <define name="text-user-field-decl">
1770     <element name="text:user-field-decl">
1771         <ref name="common-field-name-attlist"/>
1772         <optional>
1773             <ref name="common-field-formula-attlist"/>
1774         </optional>
1775         <ref name="common-value-and-type-attlist"/>
1776     </element>
1777 </define>
1778 <define name="paragraph-content" combine="choice">
1779     <element name="text:user-field-get">
1780         <interleave>
1781             <ref name="common-field-name-attlist"/>
1782             <ref name="common-field-display-value-formula-none-attlist"/>
1783             <ref name="common-field-data-style-name-attlist"/>
1784         </interleave>
1785         <text/>
1786     </element>
1787 </define>
1788 <define name="paragraph-content" combine="choice">
1789     <element name="text:user-field-input">
1790         <interleave>
1791             <ref name="common-field-name-attlist"/>
1792             <ref name="common-field-description-attlist"/>
1793             <ref name="common-field-data-style-name-attlist"/>
1794         </interleave>
1795         <text/>
1796     </element>
1797 </define>
1798 <define name="text-sequence-decl">
1799     <element name="text:sequence-decl">
1800         <ref name="text-sequence-decl-attlist"/>
1801     </element>
1802 </define>
1803 <define name="text-sequence-decl-attlist" combine="interleave">
1804     <ref name="common-field-name-attlist"/>
1805 </define>
1806 <define name="text-sequence-decl-attlist" combine="interleave">
1807     <attribute name="text:display-outline-level">
1808         <ref name="nonNegativeInteger"/>
1809     </attribute>
1810 </define>
1811 <define name="text-sequence-decl-attlist" combine="interleave">
1812     <optional>
1813         <attribute name="text:separation-character">
1814             <ref name="character"/>
1815         </attribute>
1816     </optional>
1817 </define>
1818 <define name="paragraph-content" combine="choice">
1819     <element name="text:sequence">
1820         <interleave>
1821             <ref name="common-field-name-attlist"/>
1822             <ref name="common-field-formula-attlist"/>
1823             <ref name="common-field-num-format-attlist"/>
1824             <ref name="text-sequence-ref-name"/>
1825         </interleave>
1826         <text/>
1827     </element>
1828 </define>
1829 <define name="text-sequence-ref-name">
1830     <optional>
1831         <attribute name="text:ref-name">
1832             <ref name="string"/>
1833         </attribute>
1834     </optional>
1835 </define>
1836 <define name="paragraph-content" combine="choice">
1837     <element name="text:expression">
1838         <interleave>
1839             <ref name="common-field-formula-attlist"/>
1840             <optional>
1841                 <ref name="common-value-and-type-attlist"/>
1842             </optional>
1843             <ref name="common-field-display-value-formula-attlist"/>
1844             <ref name="common-field-data-style-name-attlist"/>
1845         </interleave>
1846         <text/>
1847     </element>
1848 </define>
1849 <define name="paragraph-content" combine="choice">
1850     <element name="text:text-input">
1851         <ref name="common-field-description-attlist"/>
1852         <text/>
1853     </element>
1854 </define>
1855 <define name="paragraph-content" combine="choice">
1856     <element name="text:initial-creator">
1857         <ref name="common-field-fixed-attlist"/>
1858         <text/>
1859     </element>
1860 </define>
1861 <define name="paragraph-content" combine="choice">
1862     <element name="text:creation-date">
1863         <interleave>
1864             <ref name="common-field-fixed-attlist"/>
1865             <ref name="common-field-data-style-name-attlist"/>
1866             <optional>
1867                 <attribute name="text:date-value">
1868                     <ref name="dateOrDateTime"/>
1869                 </attribute>
1870             </optional>
1871         </interleave>
1872         <text/>
1873     </element>
1874 </define>
1875 <define name="paragraph-content" combine="choice">
1876     <element name="text:creation-time">
1877         <interleave>
1878             <ref name="common-field-fixed-attlist"/>
1879             <ref name="common-field-data-style-name-attlist"/>
1880             <optional>
1881                 <attribute name="text:time-value">
1882                     <ref name="timeOrDateTime"/>
1883                 </attribute>
1884             </optional>
1885         </interleave>
1886         <text/>
1887     </element>
1888 </define>
1889 <define name="paragraph-content" combine="choice">
1890     <element name="text:description">
1891         <ref name="common-field-fixed-attlist"/>
1892         <text/>
1893     </element>
1894 </define>
1895 <define name="paragraph-content" combine="choice">
1896     <element name="text:user-defined">
1897         <interleave>
1898             <ref name="common-field-fixed-attlist"/>
1899             <attribute name="text:name">
1900                 <ref name="string"/>
1901             </attribute>
1902             <ref name="common-field-data-style-name-attlist"/>
1903             <optional>
1904                 <attribute name="office:value">
1905                     <ref name="double"/>
1906                 </attribute>
1907             </optional>
1908             <optional>
1909                 <attribute name="office:date-value">
1910                     <ref name="dateOrDateTime"/>
1911                 </attribute>
1912             </optional>
1913             <optional>
1914                 <attribute name="office:time-value">
1915                     <ref name="duration"/>
1916                 </attribute>
1917             </optional>
1918             <optional>
1919                 <attribute name="office:boolean-value">
1920                     <ref name="boolean"/>
1921                 </attribute>
1922             </optional>
1923             <optional>
1924                 <attribute name="office:string-value">
1925                     <ref name="string"/>
1926                 </attribute>
1927             </optional>
1928         </interleave>
1929         <text/>
1930     </element>
1931 </define>
1932 <define name="paragraph-content" combine="choice">
1933     <element name="text:print-time">
1934         <interleave>
1935             <ref name="common-field-fixed-attlist"/>
1936             <ref name="common-field-data-style-name-attlist"/>
1937             <optional>
1938                 <attribute name="text:time-value">
1939                     <ref name="time"/>
1940                 </attribute>
1941             </optional>
1942         </interleave>
1943         <text/>
1944     </element>
1945 </define>
1946 <define name="paragraph-content" combine="choice">
1947     <element name="text:print-date">
1948         <interleave>
1949             <ref name="common-field-fixed-attlist"/>
1950             <ref name="common-field-data-style-name-attlist"/>
1951             <optional>
1952                 <attribute name="text:date-value">
1953                     <ref name="date"/>
1954                 </attribute>
1955             </optional>
1956         </interleave>
1957         <text/>
1958     </element>
1959 </define>
1960 <define name="paragraph-content" combine="choice">
1961     <element name="text:printed-by">
1962         <ref name="common-field-fixed-attlist"/>
1963         <text/>
1964     </element>
1965 </define>
1966 <define name="paragraph-content" combine="choice">
1967     <element name="text:title">
1968         <ref name="common-field-fixed-attlist"/>
1969         <text/>
1970     </element>
1971 </define>
1972 <define name="paragraph-content" combine="choice">
1973     <element name="text:subject">
1974         <ref name="common-field-fixed-attlist"/>
1975         <text/>
1976     </element>
1977 </define>
1978 <define name="paragraph-content" combine="choice">
1979     <element name="text:keywords">
1980         <ref name="common-field-fixed-attlist"/>
1981         <text/>
1982     </element>
1983 </define>
1984 <define name="paragraph-content" combine="choice">
1985     <element name="text:editing-cycles">
1986         <ref name="common-field-fixed-attlist"/>
1987         <text/>
1988     </element>
1989 </define>
1990 <define name="paragraph-content" combine="choice">
1991     <element name="text:editing-duration">
1992         <interleave>
1993             <ref name="common-field-fixed-attlist"/>
1994             <ref name="common-field-data-style-name-attlist"/>
1995             <optional>
1996                 <attribute name="text:duration">
1997                     <ref name="duration"/>
1998                 </attribute>
1999             </optional>
2000         </interleave>
2001         <text/>
2002     </element>
2003 </define>
2004 <define name="paragraph-content" combine="choice">
2005     <element name="text:modification-time">
2006         <interleave>
2007             <ref name="common-field-fixed-attlist"/>
2008             <ref name="common-field-data-style-name-attlist"/>
2009             <optional>
2010                 <attribute name="text:time-value">
2011                     <ref name="time"/>
2012                 </attribute>
2013             </optional>
2014         </interleave>
2015         <text/>
2016     </element>
2017 </define>
2018 <define name="paragraph-content" combine="choice">
2019     <element name="text:modification-date">
2020         <interleave>
2021             <ref name="common-field-fixed-attlist"/>
2022             <ref name="common-field-data-style-name-attlist"/>
2023             <optional>
2024                 <attribute name="text:date-value">
2025                     <ref name="date"/>
2026                 </attribute>
2027             </optional>
2028         </interleave>
2029         <text/>
2030     </element>
2031 </define>
2032 <define name="paragraph-content" combine="choice">
2033     <element name="text:creator">
2034         <ref name="common-field-fixed-attlist"/>
2035         <text/>
2036     </element>
2037 </define>
2038 <define name="paragraph-content" combine="choice">
2039     <element>
2040         <choice>
2041             <name>text:page-count</name>
2042             <name>text:paragraph-count</name>
2043             <name>text:word-count</name>
2044             <name>text:character-count</name>
2045             <name>text:table-count</name>
2046             <name>text:image-count</name>
2047             <name>text:object-count</name>
2048         </choice>
2049         <ref name="common-field-num-format-attlist"/>
2050         <text/>
2051     </element>
2052 </define>
2053 <define name="common-field-database-table">
2054     <ref name="common-field-database-table-attlist"/>
2055     <ref name="common-field-database-name"/>
2056 </define>
2057 <define name="common-field-database-name" combine="choice">
2058     <optional>
2059         <attribute name="text:database-name">
2060             <ref name="string"/>
2061         </attribute>
2062     </optional>
2063 </define>
2064 <define name="common-field-database-name" combine="choice">
2065     <ref name="form-connection-resource"/>
2066 </define>
2067 <define name="common-field-database-table-attlist" combine="interleave">
2068     <attribute name="text:table-name">
2069         <ref name="string"/>
2070     </attribute>
2071 </define>
2072 <define name="common-field-database-table-attlist" combine="interleave">
2073     <optional>
2074         <attribute name="text:table-type">
2075             <choice>
2076                 <value>table</value>
2077                 <value>query</value>
2078                 <value>command</value>
2079             </choice>
2080         </attribute>
2081     </optional>
2082 </define>
2083 <define name="paragraph-content" combine="choice">
2084     <element name="text:database-display">
2085         <ref name="text-database-display-attlist"/>
2086         <text/>
2087     </element>
2088 </define>
2089 <define name="text-database-display-attlist" combine="interleave">
2090     <ref name="common-field-database-table"/>
2091 </define>
2092 <define name="text-database-display-attlist" combine="interleave">
2093     <ref name="common-field-data-style-name-attlist"/>
2094 </define>
2095 <define name="text-database-display-attlist" combine="interleave">
2096     <attribute name="text:column-name">
2097         <ref name="string"/>
2098     </attribute>
2099 </define>
2100 <define name="paragraph-content" combine="choice">
2101     <element name="text:database-next">
2102         <ref name="text-database-next-attlist"/>
2103     </element>
2104 </define>
2105 <define name="text-database-next-attlist" combine="interleave">
2106     <ref name="common-field-database-table"/>
2107 </define>
2108 <define name="text-database-next-attlist" combine="interleave">
2109     <optional>
2110         <attribute name="text:condition">
2111             <ref name="formula"/>
2112         </attribute>
2113     </optional>
2114 </define>
2115 <define name="paragraph-content" combine="choice">
2116     <element name="text:database-row-select">
2117         <ref name="text-database-row-select-attlist"/>
2118     </element>
2119 </define>
2120 <define name="text-database-row-select-attlist" combine="interleave">
2121     <ref name="common-field-database-table"/>
2122 </define>
2123 <define name="text-database-row-select-attlist" combine="interleave">
2124     <optional>
2125         <attribute name="text:condition">
2126             <ref name="formula"/>
2127         </attribute>
2128     </optional>
2129 </define>
2130 <define name="text-database-row-select-attlist" combine="interleave">
2131     <optional>
2132         <attribute name="text:row-number">
2133             <ref name="nonNegativeInteger"/>
2134         </attribute>
2135     </optional>
2136 </define>
2137 <define name="paragraph-content" combine="choice">
2138     <element name="text:database-row-number">
2139         <interleave>
2140             <ref name="common-field-database-table"/>
2141             <ref name="common-field-num-format-attlist"/>
2142             <optional>
2143                 <attribute name="text:value">
2144                     <ref name="nonNegativeInteger"/>
2145                 </attribute>
2146             </optional>
2147         </interleave>
2148         <text/>
2149     </element>
2150 </define>
2151 <define name="paragraph-content" combine="choice">
2152     <element name="text:database-name">
2153         <ref name="common-field-database-table"/>
2154         <text/>
2155     </element>
2156 </define>
2157 <define name="paragraph-content" combine="choice">
2158     <element name="text:page-variable-set">
2159         <ref name="text-set-page-variable-attlist"/>
2160         <text/>
2161     </element>
2162 </define>
2163 <define name="text-set-page-variable-attlist" combine="interleave">
2164     <optional>
2165         <attribute name="text:active">
2166             <ref name="boolean"/>
2167         </attribute>
2168     </optional>
2169 </define>
2170 <define name="text-set-page-variable-attlist" combine="interleave">
2171     <optional>
2172         <attribute name="text:page-adjust">
2173             <ref name="integer"/>
2174         </attribute>
2175     </optional>
2176 </define>
2177 <define name="paragraph-content" combine="choice">
2178     <element name="text:page-variable-get">
2179         <ref name="text-get-page-variable-attlist"/>
2180         <text/>
2181     </element>
2182 </define>
2183 <define name="text-get-page-variable-attlist" combine="interleave">
2184     <ref name="common-field-num-format-attlist"/>
2185 </define>
2186 <define name="paragraph-content" combine="choice">
2187     <element name="text:placeholder">
2188         <ref name="text-placeholder-attlist"/>
2189         <text/>
2190     </element>
2191 </define>
2192 <define name="text-placeholder-attlist" combine="interleave">
2193     <attribute name="text:placeholder-type">
2194         <choice>
2195             <value>text</value>
2196             <value>table</value>
2197             <value>text-box</value>
2198             <value>image</value>
2199             <value>object</value>
2200         </choice>
2201     </attribute>
2202 </define>
2203 <define name="text-placeholder-attlist" combine="interleave">
2204     <ref name="common-field-description-attlist"/>
2205 </define>
2206 <define name="paragraph-content" combine="choice">
2207     <element name="text:conditional-text">
2208         <ref name="text-conditional-text-attlist"/>
2209         <text/>
2210     </element>
2211 </define>
2212 <define name="text-conditional-text-attlist" combine="interleave">
2213     <attribute name="text:condition">
2214         <ref name="formula"/>
2215     </attribute>
2216 </define>
2217 <define name="text-conditional-text-attlist" combine="interleave">
2218     <attribute name="text:string-value-if-true">
2219         <ref name="string"/>
2220     </attribute>
2221 </define>
2222 <define name="text-conditional-text-attlist" combine="interleave">
2223     <attribute name="text:string-value-if-false">
2224         <ref name="string"/>
2225     </attribute>
2226 </define>
2227 <define name="text-conditional-text-attlist" combine="interleave">
2228     <optional>
2229         <attribute name="text:current-value">
2230             <ref name="boolean"/>
2231         </attribute>
2232     </optional>
2233 </define>
2234 <define name="paragraph-content" combine="choice">
2235     <element name="text:hidden-text">
2236         <ref name="text-hidden-text-attlist"/>
2237         <text/>
2238     </element>
2239 </define>
2240 <define name="text-hidden-text-attlist" combine="interleave">
2241     <attribute name="text:condition">
2242         <ref name="formula"/>
2243     </attribute>
2244 </define>
2245 <define name="text-hidden-text-attlist" combine="interleave">
2246     <attribute name="text:string-value">
2247         <ref name="string"/>
2248     </attribute>
2249 </define>
2250 <define name="text-hidden-text-attlist" combine="interleave">
2251     <optional>
2252         <attribute name="text:is-hidden">
2253             <ref name="boolean"/>
2254         </attribute>
2255     </optional>
2256 </define>
2257 <define name="paragraph-content" combine="choice">
2258     <element>
2259         <choice>
2260             <name>text:reference-ref</name>
2261             <name>text:bookmark-ref</name>
2262         </choice>
2263         <interleave>
2264             <ref name="text-common-ref-content"/>
2265             <ref name="text-ref-content"/>
2266         </interleave>
2267     </element>
2268 </define>
2269 <define name="paragraph-content" combine="choice">
2270     <element name="text:note-ref">
2271         <interleave>
2272             <ref name="text-common-ref-content"/>
2273             <ref name="text-note-ref-content"/>
2274             <ref name="text-ref-content"/>
2275         </interleave>
2276     </element>
2277 </define>
2278 <define name="paragraph-content" combine="choice">
2279     <element name="text:sequence-ref">
2280         <interleave>
2281             <ref name="text-common-ref-content"/>
2282             <ref name="text-sequence-ref-content"/>
2283         </interleave>
2284     </element>
2285 </define>
2286 <define name="text-common-ref-content" combine="interleave">
2287     <text/>
2288 </define>
2289 <define name="text-common-ref-content" combine="interleave">
2290     <optional>
2291         <attribute name="text:ref-name">
2292             <ref name="string"/>
2293         </attribute>
2294     </optional>
2295 </define>
2296 <define name="text-note-ref-content" combine="interleave">
2297     <ref name="text-note-class"/>
2298 </define>
2299 <define name="text-ref-content" combine="interleave">
2300     <optional>
2301         <attribute name="text:reference-format">
2302             <choice>
2303                 <value>page</value>
2304                 <value>chapter</value>
2305                 <value>direction</value>
2306                 <value>text</value>
2307             </choice>
2308         </attribute>
2309     </optional>
2310 </define>
2311 <define name="text-sequence-ref-content" combine="interleave">
2312     <optional>
2313         <attribute name="text:reference-format">
2314             <choice>
2315                 <value>page</value>
2316                 <value>chapter</value>
2317                 <value>direction</value>
2318                 <value>text</value>
2319                 <value>category-and-value</value>
2320                 <value>caption</value>
2321                 <value>value</value>
2322             </choice>
2323         </attribute>
2324     </optional>
2325 </define>
2326 <define name="paragraph-content" combine="choice">
2327     <element name="text:script">
2328         <interleave>
2329             <choice>
2330                 <group>
2331                     <attribute name="xlink:href">
2332                         <ref name="anyURI"/>
2333                     </attribute>
2334                     <optional>
2335                         <attribute name="xlink:type" a:defaultValue="simple">
2336                             <value>simple</value>
2337                         </attribute>
2338                     </optional>
2339                 </group>    
2340                 <text/>
2341             </choice>
2342             <optional>
2343                 <attribute name="script:language">
2344                     <ref name="string"/>
2345                 </attribute>
2346             </optional>
2347         </interleave>
2348     </element>
2349 </define>
2350 <define name="paragraph-content" combine="choice">
2351     <element name="text:execute-macro">
2352         <optional>
2353             <attribute name="text:name">
2354                 <ref name="string"/>
2355             </attribute>
2356         </optional>
2357         <optional>
2358             <ref name="office-event-listeners"/>
2359         </optional>
2360         <text/>
2361     </element>
2362 </define>
2363 <define name="paragraph-content" combine="choice">
2364     <element name="text:hidden-paragraph">
2365         <ref name="text-hidden-paragraph-attlist"/>
2366         <text/>
2367     </element>
2368 </define>
2369 <define name="text-hidden-paragraph-attlist" combine="interleave">
2370     <attribute name="text:condition">
2371         <ref name="formula"/>
2372     </attribute>
2373 </define>
2374 <define name="text-hidden-paragraph-attlist" combine="interleave">
2375     <optional>
2376         <attribute name="text:is-hidden">
2377             <ref name="boolean"/>
2378         </attribute>
2379     </optional>
2380 </define>
2381 <define name="paragraph-content" combine="choice">
2382     <element name="text:dde-connection">
2383         <attribute name="text:connection-name">
2384             <ref name="string"/>
2385         </attribute>
2386         <text/>
2387     </element>
2388 </define>
2389 <define name="paragraph-content" combine="choice">
2390     <element name="text:measure">
2391         <attribute name="text:kind">
2392             <choice>
2393                 <value>value</value>
2394                 <value>unit</value>
2395                 <value>gap</value>
2396             </choice>
2397         </attribute>
2398         <text/>
2399     </element>
2400 </define>
2401 <define name="paragraph-content" combine="choice">
2402     <element name="text:table-formula">
2403         <interleave>
2404             <ref name="common-field-formula-attlist"/>
2405             <ref name="common-field-display-value-formula-attlist"/>
2406             <ref name="common-field-data-style-name-attlist"/>
2407         </interleave>
2408         <text/>
2409     </element>
2410 </define>
2411 <define name="common-value-type-attlist">
2412     <attribute name="office:value-type">
2413         <ref name="valueType"/>
2414     </attribute>
2415 </define>
2416 <define name="common-value-and-type-attlist">
2417     <choice>
2418         <group>
2419             <attribute name="office:value-type">
2420                 <value>float</value>
2421             </attribute>
2422             <attribute name="office:value">
2423                 <ref name="double"/>
2424             </attribute>
2425         </group>
2426         <group>
2427             <attribute name="office:value-type">
2428                 <value>percentage</value>
2429             </attribute>
2430             <attribute name="office:value">
2431                 <ref name="double"/>
2432             </attribute>
2433         </group>
2434         <group>
2435             <attribute name="office:value-type">
2436                 <value>currency</value>
2437             </attribute>
2438             <attribute name="office:value">
2439                 <ref name="double"/>
2440             </attribute>
2441             <optional>
2442                 <attribute name="office:currency">
2443                     <ref name="string"/>
2444                 </attribute>
2445             </optional>
2446         </group>
2447         <group>
2448             <attribute name="office:value-type">
2449                 <value>date</value>
2450             </attribute>
2451             <attribute name="office:date-value">
2452                 <ref name="dateOrDateTime"/>
2453             </attribute>
2454         </group>
2455         <group>
2456             <attribute name="office:value-type">
2457                 <value>time</value>
2458             </attribute>
2459             <attribute name="office:time-value">
2460                 <ref name="duration"/>
2461             </attribute>
2462         </group>
2463         <group>
2464             <attribute name="office:value-type">
2465                 <value>boolean</value>
2466             </attribute>
2467             <attribute name="office:boolean-value">
2468                 <ref name="boolean"/>
2469             </attribute>
2470         </group>
2471         <group>
2472             <attribute name="office:value-type">
2473                 <value>string</value>
2474             </attribute>
2475             <optional>
2476                 <attribute name="office:string-value">
2477                     <ref name="string"/>
2478                 </attribute>
2479             </optional>
2480         </group>
2481     </choice>
2482 </define>
2483 <define name="common-field-fixed-attlist">
2484     <optional>
2485         <attribute name="text:fixed">
2486             <ref name="boolean"/>
2487         </attribute>
2488     </optional>
2489 </define>
2490 <define name="common-field-name-attlist">
2491     <attribute name="text:name">
2492         <ref name="variableName"/>
2493     </attribute>
2494 </define>
2495 <define name="common-field-description-attlist">
2496     <optional>
2497         <attribute name="text:description">
2498             <text/>
2499         </attribute>
2500     </optional>
2501 </define>
2502 <define name="common-field-display-value-none-attlist">
2503     <optional>
2504         <attribute name="text:display">
2505             <choice>
2506                 <value>value</value>
2507                 <value>none</value>
2508             </choice>
2509         </attribute>
2510     </optional>
2511 </define>
2512 <define name="common-field-display-value-formula-none-attlist">
2513     <optional>
2514         <attribute name="text:display">
2515             <choice>
2516                 <value>value</value>
2517                 <value>formula</value>
2518                 <value>none</value>
2519             </choice>
2520         </attribute>
2521     </optional>
2522 </define>
2523 <define name="common-field-display-value-formula-attlist">
2524     <optional>
2525         <attribute name="text:display">
2526             <choice>
2527                 <value>value</value>
2528                 <value>formula</value>
2529             </choice>
2530         </attribute>
2531     </optional>
2532 </define>
2533 <define name="common-field-formula-attlist">
2534     <optional>
2535         <attribute name="text:formula">
2536             <ref name="formula"/>
2537         </attribute>
2538     </optional>
2539 </define>
2540 <define name="common-field-data-style-name-attlist">
2541     <optional>
2542         <attribute name="style:data-style-name">
2543             <ref name="styleNameRef"/>
2544         </attribute>
2545     </optional>
2546 </define>
2547 <define name="common-field-num-format-attlist">
2548     <optional>
2549         <ref name="common-num-format-attlist"/>
2550     </optional>
2551 </define>
2552 <define name="paragraph-content" combine="choice">
2553     <element name="text:toc-mark-start">
2554         <ref name="text-toc-mark-start-attrs"/>
2555     </element>
2556 </define>
2557 <define name="text-toc-mark-start-attrs">
2558     <ref name="text-id"/>
2559     <ref name="text-outline-level"/>
2560 </define>
2561 <define name="text-outline-level">
2562     <optional>
2563         <attribute name="text:outline-level">
2564             <ref name="positiveInteger"/>
2565         </attribute>
2566     </optional>
2567 </define>
2568 <define name="text-id">
2569     <attribute name="text:id">
2570         <ref name="string"/>
2571     </attribute>
2572 </define>
2573 <define name="paragraph-content" combine="choice">
2574     <element name="text:toc-mark-end">
2575         <ref name="text-id"/>
2576     </element>
2577 </define>
2578 <define name="paragraph-content" combine="choice">
2579     <element name="text:toc-mark">
2580         <attribute name="text:string-value">
2581             <ref name="string"/>
2582         </attribute>
2583         <ref name="text-outline-level"/>
2584     </element>
2585 </define>
2586 <define name="paragraph-content" combine="choice">
2587     <element name="text:user-index-mark-start">
2588         <ref name="text-id"/>
2589         <ref name="text-outline-level"/>
2590         <ref name="text-index-name"/>
2591     </element>
2592 </define>
2593 <define name="paragraph-content" combine="choice">
2594     <element name="text:user-index-mark-end">
2595         <ref name="text-id"/>
2596         <ref name="text-outline-level"/>
2597     </element>
2598 </define>
2599 <define name="paragraph-content" combine="choice">
2600     <element name="text:user-index-mark">
2601         <attribute name="text:string-value">
2602             <ref name="string"/>
2603         </attribute>
2604         <ref name="text-outline-level"/>
2605         <ref name="text-index-name"/>
2606     </element>
2607 </define>
2608 <define name="text-index-name">
2609     <attribute name="text:index-name">
2610         <ref name="string"/>
2611     </attribute>
2612 </define>
2613 <define name="paragraph-content" combine="choice">
2614     <element name="text:alphabetical-index-mark-start">
2615         <ref name="text-id"/>
2616         <ref name="text-alphabetical-index-mark-attrs"/>
2617     </element>
2618 </define>
2619 <define name="paragraph-content" combine="choice">
2620     <element name="text:alphabetical-index-mark-end">
2621         <ref name="text-id"/>
2622     </element>
2623 </define>
2624 <define name="paragraph-content" combine="choice">
2625     <element name="text:alphabetical-index-mark">
2626         <attribute name="text:string-value">
2627             <ref name="string"/>
2628         </attribute>
2629         <ref name="text-alphabetical-index-mark-attrs"/>
2630     </element>
2631 </define>
2632 <define name="text-alphabetical-index-mark-attrs" combine="interleave">
2633     <optional>
2634         <attribute name="text:key1">
2635             <ref name="string"/>
2636         </attribute>
2637     </optional>
2638     <optional>
2639         <attribute name="text:key2">
2640             <ref name="string"/>
2641         </attribute>
2642     </optional>
2643 </define>
2644 <define name="text-alphabetical-index-mark-attrs" combine="interleave">
2645     <optional>
2646         <attribute name="text:string-value-phonetic">
2647             <ref name="string"/>
2648         </attribute>
2649     </optional>
2650     <optional>
2651         <attribute name="text:key1-phonetic">
2652             <ref name="string"/>
2653         </attribute>
2654     </optional>
2655     <optional>
2656         <attribute name="text:key2-phonetic">
2657             <ref name="string"/>
2658         </attribute>
2659     </optional>
2660 </define>
2661 <define name="text-alphabetical-index-mark-attrs" combine="interleave">
2662     <optional>
2663         <attribute name="text:main-entry" a:defaultValue="false">
2664             <ref name="boolean"/>
2665         </attribute>
2666     </optional>
2667 </define>
2668 <define name="paragraph-content" combine="choice">
2669     <element name="text:bibliography-mark">
2670         <attribute name="text:bibliography-type">
2671             <ref name="text-bibliography-types"/>
2672         </attribute>
2673         <zeroOrMore>
2674             <attribute>
2675                 <choice>
2676                     <name>text:identifier</name>
2677                     <name>text:address</name>
2678                     <name>text:annote</name>
2679                     <name>text:author</name>
2680                     <name>text:booktitle</name>
2681                     <name>text:chapter</name>
2682                     <name>text:edition</name>
2683                     <name>text:editor</name>
2684                     <name>text:howpublished</name>
2685                     <name>text:institution</name>
2686                     <name>text:journal</name>
2687                     <name>text:month</name>
2688                     <name>text:note</name>
2689                     <name>text:number</name>
2690                     <name>text:organizations</name>
2691                     <name>text:pages</name>
2692                     <name>text:publisher</name>
2693                     <name>text:school</name>
2694                     <name>text:series</name>
2695                     <name>text:title</name>
2696                     <name>text:report-type</name>
2697                     <name>text:volume</name>
2698                     <name>text:year</name>
2699                     <name>text:url</name>
2700                     <name>text:custom1</name>
2701                     <name>text:custom2</name>
2702                     <name>text:custom3</name>
2703                     <name>text:custom4</name>
2704                     <name>text:custom5</name>
2705                     <name>text:isbn</name>
2706                     <name>text:issn</name>
2707                 </choice>
2708                 <ref name="string"/>
2709             </attribute>
2710         </zeroOrMore>
2711         <text/>
2712     </element>
2713 </define>
2714 <define name="text-bibliography-types">
2715     <choice>
2716         <value>article</value>
2717         <value>book</value>
2718         <value>booklet</value>
2719         <value>conference</value>
2720         <value>custom1</value>
2721         <value>custom2</value>
2722         <value>custom3</value>
2723         <value>custom4</value>
2724         <value>custom5</value>
2725         <value>email</value>
2726         <value>inbook</value>
2727         <value>incollection</value>
2728         <value>inproceedings</value>
2729         <value>journal</value>
2730         <value>manual</value>
2731         <value>mastersthesis</value>
2732         <value>misc</value>
2733         <value>phdthesis</value>
2734         <value>proceedings</value>
2735         <value>techreport</value>
2736         <value>unpublished</value>
2737         <value>www</value>
2738     </choice>
2739 </define>
2740 <define name="text-index-body">
2741     <element name="text:index-body">
2742         <zeroOrMore>
2743             <ref name="index-content-main"/>
2744         </zeroOrMore>
2745     </element>
2746 </define>
2747 <define name="index-content-main">
2748     <choice>
2749         <ref name="text-content"/>
2750         <ref name="text-index-title"/>
2751     </choice>
2752 </define>
2753 <define name="text-index-title">
2754     <element name="text:index-title">
2755         <ref name="sectionAttr"/>
2756         <zeroOrMore>
2757             <ref name="index-content-main"/>
2758         </zeroOrMore>
2759     </element>
2760 </define>
2761 <define name="text-table-of-content">
2762     <element name="text:table-of-content">
2763         <ref name="sectionAttr"/>
2764         <ref name="text-table-of-content-source"/>
2765         <ref name="text-index-body"/>
2766     </element>
2767 </define>
2768 <define name="text-table-of-content-source">
2769     <element name="text:table-of-content-source">
2770         <ref name="text-table-of-content-source-attlist"/>
2771         <optional>
2772             <ref name="text-index-title-template"/>
2773         </optional>
2774         <zeroOrMore>
2775             <ref name="text-table-of-content-entry-template"/>
2776         </zeroOrMore>
2777         <zeroOrMore>
2778             <ref name="text-index-source-styles"/>
2779         </zeroOrMore>
2780     </element>
2781 </define>
2782 <define name="text-table-of-content-source-attlist" combine="interleave">
2783     <optional>
2784         <attribute name="text:outline-level">
2785             <choice>
2786                 <ref name="positiveInteger"/>
2787             </choice>
2788         </attribute>
2789     </optional>
2790 </define>
2791 <define name="text-table-of-content-source-attlist" combine="interleave">
2792     <optional>
2793         <attribute name="text:use-outline-level" a:defaultValue="true">
2794             <ref name="boolean"/>
2795         </attribute>
2796     </optional>
2797 </define>
2798 <define name="text-table-of-content-source-attlist" combine="interleave">
2799     <optional>
2800         <attribute name="text:use-index-marks">
2801             <ref name="boolean"/>
2802         </attribute>
2803     </optional>
2804 </define>
2805 <define name="text-table-of-content-source-attlist" combine="interleave">
2806     <optional>
2807         <attribute name="text:use-index-source-styles">
2808             <ref name="boolean"/>
2809         </attribute>
2810     </optional>
2811 </define>
2812 <define name="text-table-of-content-source-attlist" combine="interleave">
2813     <optional>
2814         <attribute name="text:index-scope">
2815             <choice>
2816                 <value>document</value>
2817                 <value>chapter</value>
2818             </choice>
2819         </attribute>
2820     </optional>
2821 </define>
2822 <define name="text-table-of-content-source-attlist" combine="interleave">
2823     <optional>
2824         <attribute name="text:relative-tab-stop-position">
2825             <ref name="boolean"/>
2826         </attribute>
2827     </optional>
2828 </define>
2829 <define name="text-table-of-content-entry-template">
2830     <element name="text:table-of-content-entry-template">
2831         <ref name="text-table-of-content-entry-template-attlist"/>
2832         <zeroOrMore>
2833             <ref name="text-table-of-content-children"/>
2834 
2835         </zeroOrMore>
2836     </element>
2837 </define>
2838 <define name="text-table-of-content-children">
2839     <choice>
2840         <ref name="text-index-entry-chapter"/>
2841         <ref name="text-index-entry-page-number"/>
2842         <ref name="text-index-entry-text"/>
2843         <ref name="text-index-entry-span"/>
2844         <ref name="text-index-entry-tab-stop"/>
2845         <ref name="text-index-entry-link-start"/>
2846         <ref name="text-index-entry-link-end"/>
2847     </choice>
2848 </define>
2849 <define name="text-table-of-content-entry-template-attlist"
2850         combine="interleave">
2851     <attribute name="text:outline-level">
2852         <ref name="positiveInteger"/>
2853     </attribute>
2854 </define>
2855 <define name="text-table-of-content-entry-template-attlist"
2856         combine="interleave">
2857     <attribute name="text:style-name">
2858         <ref name="styleNameRef"/>
2859     </attribute>
2860 </define>
2861 <define name="text-illustration-index">
2862     <element name="text:illustration-index">
2863         <ref name="sectionAttr"/>
2864         <ref name="text-illustration-index-source"/>
2865         <ref name="text-index-body"/>
2866     </element>
2867 </define>
2868 <define name="text-illustration-index-source">
2869     <element name="text:illustration-index-source">
2870         <ref name="text-illustration-index-source-attrs"/>
2871         <optional>
2872             <ref name="text-index-title-template"/>
2873         </optional>
2874         <optional>
2875             <ref name="text-illustration-index-entry-template"/>
2876         </optional>
2877     </element>
2878 </define>
2879 <define name="text-illustration-index-source-attrs" combine="interleave">
2880     <ref name="text-index-scope-attr"/>
2881 </define>
2882 <define name="text-index-scope-attr">
2883     <optional>
2884         <attribute name="text:index-scope" a:defaultValue="document">
2885             <choice>
2886                 <value>document</value>
2887                 <value>chapter</value>
2888             </choice>
2889         </attribute>
2890     </optional>
2891 </define>
2892 <define name="text-illustration-index-source-attrs" combine="interleave">
2893     <ref name="text-relative-tab-stop-position-attr"/>
2894 </define>
2895 <define name="text-relative-tab-stop-position-attr">
2896     <optional>
2897         <attribute name="text:relative-tab-stop-position"
2898                    a:defaultValue="true">
2899             <ref name="boolean"/>
2900         </attribute>
2901     </optional>
2902 </define>
2903 <define name="text-illustration-index-source-attrs" combine="interleave">
2904     <optional>
2905         <attribute name="text:use-caption" a:defaultValue="true">
2906             <ref name="boolean"/>
2907         </attribute>
2908     </optional>
2909 </define>
2910 <define name="text-illustration-index-source-attrs" combine="interleave">
2911     <optional>
2912         <attribute name="text:caption-sequence-name">
2913             <ref name="string"/>
2914         </attribute>
2915     </optional>
2916 </define>
2917 <define name="text-illustration-index-source-attrs" combine="interleave">
2918     <optional>
2919         <attribute name="text:caption-sequence-format">
2920             <choice>
2921                 <value>text</value>
2922                 <value>category-and-value</value>
2923                 <value>caption</value>
2924             </choice>
2925         </attribute>
2926     </optional>
2927 </define>
2928 <define name="text-illustration-index-entry-template">
2929     <element name="text:illustration-index-entry-template">
2930         <ref name="text-illustration-index-entry-content"/>
2931     </element>
2932 </define>
2933 <define name="text-illustration-index-entry-content">
2934     <ref name="text-illustration-index-entry-template-attrs"/>
2935     <zeroOrMore>
2936         <choice>
2937             <ref name="text-index-entry-page-number"/>
2938             <ref name="text-index-entry-text"/>
2939             <ref name="text-index-entry-span"/>
2940             <ref name="text-index-entry-tab-stop"/>
2941         </choice>
2942     </zeroOrMore>
2943 </define>
2944 <define name="text-illustration-index-entry-template-attrs">
2945     <attribute name="text:style-name">
2946         <ref name="styleNameRef"/>
2947     </attribute>
2948 </define>
2949 <define name="text-table-index">
2950     <element name="text:table-index">
2951         <ref name="sectionAttr"/>
2952         <ref name="text-table-index-source"/>
2953         <ref name="text-index-body"/>
2954     </element>
2955 </define>
2956 <define name="text-table-index-source">
2957     <element name="text:table-index-source">
2958         <ref name="text-illustration-index-source-attrs"/>
2959         <optional>
2960             <ref name="text-index-title-template"/>
2961         </optional>
2962         <optional>
2963             <ref name="text-table-index-entry-template"/>
2964         </optional>
2965     </element>
2966 </define>
2967 <define name="text-table-index-entry-template">
2968     <element name="text:table-index-entry-template">
2969         <ref name="text-illustration-index-entry-content"/>
2970     </element>
2971 </define>
2972 <define name="text-object-index">
2973     <element name="text:object-index">
2974         <ref name="sectionAttr"/>
2975         <ref name="text-object-index-source"/>
2976         <ref name="text-index-body"/>
2977     </element>
2978 </define>
2979 <define name="text-object-index-source">
2980     <element name="text:object-index-source">
2981         <ref name="text-object-index-source-attrs"/>
2982         <optional>
2983             <ref name="text-index-title-template"/>
2984         </optional>
2985         <optional>
2986             <ref name="text-object-index-entry-template"/>
2987         </optional>
2988     </element>
2989 </define>
2990 <define name="text-object-index-source-attrs" combine="interleave">
2991     <ref name="text-index-scope-attr"/>
2992 </define>
2993 <define name="text-object-index-source-attrs" combine="interleave">
2994     <ref name="text-relative-tab-stop-position-attr"/>
2995 </define>
2996 <define name="text-object-index-source-attrs" combine="interleave">
2997     <optional>
2998         <attribute name="text:use-spreadsheet-objects" a:defaultValue="false">
2999             <ref name="boolean"/>
3000         </attribute>
3001     </optional>
3002 </define>
3003 <define name="text-object-index-source-attrs" combine="interleave">
3004     <optional>
3005         <attribute name="text:use-math-objects" a:defaultValue="false">
3006             <ref name="boolean"/>
3007         </attribute>
3008     </optional>
3009 </define>
3010 <define name="text-object-index-source-attrs" combine="interleave">
3011     <optional>
3012         <attribute name="text:use-draw-objects" a:defaultValue="false">
3013             <ref name="boolean"/>
3014         </attribute>
3015     </optional>
3016 </define>
3017 <define name="text-object-index-source-attrs" combine="interleave">
3018     <optional>
3019         <attribute name="text:use-chart-objects" a:defaultValue="false">
3020             <ref name="boolean"/>
3021         </attribute>
3022     </optional>
3023 </define>
3024 <define name="text-object-index-source-attrs" combine="interleave">
3025     <optional>
3026         <attribute name="text:use-other-objects" a:defaultValue="false">
3027             <ref name="boolean"/>
3028         </attribute>
3029     </optional>
3030 </define>
3031 <define name="text-object-index-entry-template">
3032     <element name="text:object-index-entry-template">
3033         <ref name="text-illustration-index-entry-content"/>
3034     </element>
3035 </define>
3036 <define name="text-user-index">
3037     <element name="text:user-index">
3038         <ref name="sectionAttr"/>
3039         <ref name="text-user-index-source"/>
3040         <ref name="text-index-body"/>
3041     </element>
3042 </define>
3043 <define name="text-user-index-source">
3044     <element name="text:user-index-source">
3045         <ref name="text-user-index-source-attr"/>
3046         <optional>
3047             <ref name="text-index-title-template"/>
3048         </optional>
3049         <zeroOrMore>
3050             <ref name="text-user-index-entry-template"/>
3051         </zeroOrMore>
3052         <zeroOrMore>
3053             <ref name="text-index-source-styles"/>
3054         </zeroOrMore>
3055     </element>
3056 </define>
3057 <define name="text-user-index-source-attr" combine="interleave">
3058     <ref name="text-index-scope-attr"/>
3059     <ref name="text-relative-tab-stop-position-attr"/>
3060     <attribute name="text:index-name">
3061         <ref name="string"/>
3062     </attribute>
3063 </define>
3064 <define name="text-user-index-source-attr" combine="interleave">
3065     <optional>
3066         <attribute name="text:use-index-marks" a:defaultValue="false">
3067             <ref name="boolean"/>
3068         </attribute>
3069     </optional>
3070     <optional>
3071         <attribute name="text:use-graphics" a:defaultValue="false">
3072             <ref name="boolean"/>
3073         </attribute>
3074     </optional>
3075     <optional>
3076         <attribute name="text:use-tables" a:defaultValue="false">
3077             <ref name="boolean"/>
3078         </attribute>
3079     </optional>
3080     <optional>
3081         <attribute name="text:use-floating-frames"
3082                      a:defaultValue="false">
3083             <ref name="boolean"/>
3084         </attribute>
3085     </optional>
3086     <optional>
3087         <attribute name="text:use-objects" a:defaultValue="false">
3088             <ref name="boolean"/>
3089         </attribute>
3090     </optional>
3091 </define>
3092 <define name="text-user-index-source-attr" combine="interleave">
3093     <optional>
3094         <attribute name="text:copy-outline-levels"
3095                      a:defaultValue="false">
3096             <ref name="boolean"/>
3097         </attribute>
3098     </optional>
3099 </define>
3100 <define name="text-user-index-entry-template">
3101     <element name="text:user-index-entry-template">
3102         <ref name="text-user-index-entry-template-attrs"/>
3103         <zeroOrMore>
3104             <choice>
3105                 <ref name="text-index-entry-chapter"/>
3106                 <ref name="text-index-entry-page-number"/>
3107                 <ref name="text-index-entry-text"/>
3108                 <ref name="text-index-entry-span"/>
3109                 <ref name="text-index-entry-tab-stop"/>
3110             </choice>
3111         </zeroOrMore>
3112     </element>
3113 </define>
3114 <define name="text-user-index-entry-template-attrs" combine="interleave">
3115     <attribute name="text:outline-level">
3116         <ref name="positiveInteger"/>
3117     </attribute>
3118 </define>
3119 <define name="text-user-index-entry-template-attrs" combine="interleave">
3120     <attribute name="text:style-name">
3121         <ref name="styleNameRef"/>
3122     </attribute>
3123 </define>
3124 <define name="text-alphabetical-index">
3125     <element name="text:alphabetical-index">
3126         <ref name="sectionAttr"/>
3127         <ref name="text-alphabetical-index-source"/>
3128         <ref name="text-index-body"/>
3129     </element>
3130 </define>
3131 <define name="text-alphabetical-index-source">
3132     <element name="text:alphabetical-index-source">
3133         <ref name="text-alphabetical-index-source-attrs"/>
3134         <optional>
3135             <ref name="text-index-title-template"/>
3136         </optional>
3137         <zeroOrMore>
3138             <ref name="text-alphabetical-index-entry-template"/>
3139         </zeroOrMore>
3140     </element>
3141 </define>
3142 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3143     <ref name="text-index-scope-attr"/>
3144     <ref name="text-relative-tab-stop-position-attr"/>
3145 </define>
3146 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3147     <optional>
3148         <attribute name="text:ignore-case" a:defaultValue="false">
3149             <ref name="boolean"/>
3150         </attribute>
3151     </optional>
3152 </define>
3153 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3154     <optional>
3155         <attribute name="text:main-entry-style-name">
3156             <ref name="styleNameRef"/>
3157         </attribute>
3158     </optional>
3159 </define>
3160 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3161     <optional>
3162         <attribute name="text:alphabetical-separators" a:defaultValue="false">
3163             <ref name="boolean"/>
3164         </attribute>
3165     </optional>
3166 </define>
3167 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3168     <optional>
3169         <attribute name="text:combine-entries" a:defaultValue="true">
3170             <ref name="boolean"/>
3171         </attribute>
3172     </optional>
3173     <optional>
3174         <attribute name="text:combine-entries-with-dash"
3175                    a:defaultValue="false">
3176             <ref name="boolean"/>
3177         </attribute>
3178     </optional>
3179     <optional>
3180         <attribute name="text:combine-entries-with-pp" a:defaultValue="true">
3181             <ref name="boolean"/>
3182         </attribute>
3183     </optional>
3184 </define>
3185 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3186     <optional>
3187         <attribute name="text:use-keys-as-entries" a:defaultValue="false">
3188             <ref name="boolean"/>
3189         </attribute>
3190     </optional>
3191 </define>
3192 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3193     <optional>
3194         <attribute name="text:capitalize-entries" a:defaultValue="false">
3195             <ref name="boolean"/>
3196         </attribute>
3197     </optional>
3198 </define>
3199 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3200     <optional>
3201         <attribute name="text:comma-separated" a:defaultValue="false">
3202             <ref name="boolean"/>
3203         </attribute>
3204     </optional>
3205 </define>
3206 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3207     <optional>
3208         <attribute name="fo:language">
3209             <ref name="languageCode"/>
3210         </attribute>
3211     </optional>
3212 </define>
3213 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3214     <optional>
3215         <attribute name="fo:country">
3216             <ref name="countryCode"/>
3217         </attribute>
3218     </optional>
3219 </define>
3220 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3221     <optional>
3222         <attribute name="text:sort-algorithm">
3223             <ref name="string"/>
3224         </attribute>
3225     </optional>
3226 </define>
3227 <define name="text-alphabetical-index-auto-mark-file">
3228     <element name="text:alphabetical-index-auto-mark-file">
3229         <attribute name="xlink:href">
3230             <ref name="anyURI"/>
3231         </attribute>
3232         <optional>
3233             <attribute name="xlink:type" a:defaultValue="simple">
3234                 <value>simple</value>
3235             </attribute>
3236         </optional>
3237     </element>
3238 </define>
3239 <define name="text-alphabetical-index-entry-template">
3240     <element name="text:alphabetical-index-entry-template">
3241         <ref name="text-alphabetical-index-entry-template-attrs"/>
3242         <zeroOrMore>
3243             <choice>
3244                 <ref name="text-index-entry-chapter"/>
3245                 <ref name="text-index-entry-page-number"/>
3246                 <ref name="text-index-entry-text"/>
3247                 <ref name="text-index-entry-span"/>
3248                 <ref name="text-index-entry-tab-stop"/>
3249             </choice>
3250         </zeroOrMore>
3251     </element>
3252 </define>
3253 <define name="text-alphabetical-index-entry-template-attrs"
3254         combine="interleave">
3255     <attribute name="text:outline-level">
3256         <choice>
3257             <value>1</value>
3258             <value>2</value>
3259             <value>3</value>
3260             <value>separator</value>
3261         </choice>
3262     </attribute>
3263 </define>
3264 <define name="text-alphabetical-index-entry-template-attrs"
3265         combine="interleave">
3266     <attribute name="text:style-name">
3267         <ref name="styleNameRef"/>
3268     </attribute>
3269 </define>
3270 <define name="text-bibliography">
3271     <element name="text:bibliography">
3272         <ref name="sectionAttr"/>
3273         <ref name="text-bibliography-source"/>
3274         <ref name="text-index-body"/>
3275     </element>
3276 </define>
3277 <define name="text-bibliography-source">
3278     <element name="text:bibliography-source">
3279         <optional>
3280             <ref name="text-index-title-template"/>
3281         </optional>
3282         <zeroOrMore>
3283             <ref name="text-bibliography-entry-template"/>
3284         </zeroOrMore>
3285     </element>
3286 </define>
3287 <define name="text-bibliography-entry-template">
3288     <element name="text:bibliography-entry-template">
3289         <ref name="text-bibliography-entry-template-attrs"/>
3290         <zeroOrMore>
3291             <choice>
3292                 <ref name="text-index-entry-span"/>
3293                 <ref name="text-index-entry-tab-stop"/>
3294                 <ref name="text-index-entry-bibliography"/>
3295             </choice>
3296         </zeroOrMore>
3297     </element>
3298 </define>
3299 <define name="text-bibliography-entry-template-attrs" combine="interleave">
3300     <attribute name="text:bibliography-type">
3301         <ref name="text-bibliography-types"/>
3302     </attribute>
3303 </define>
3304 <define name="text-bibliography-entry-template-attrs" combine="interleave">
3305     <attribute name="text:style-name">
3306         <ref name="styleNameRef"/>
3307     </attribute>
3308 </define>
3309 <define name="text-index-source-styles">
3310     <element name="text:index-source-styles">
3311         <attribute name="text:outline-level">
3312             <ref name="positiveInteger"/>
3313         </attribute>
3314         <zeroOrMore>
3315             <ref name="text-index-source-style"/>
3316         </zeroOrMore>
3317     </element>
3318 </define>
3319 <define name="text-index-source-style">
3320     <element name="text:index-source-style">
3321         <attribute name="text:style-name">
3322             <ref name="styleName"/>
3323         </attribute>
3324         <empty/>
3325     </element>
3326 </define>
3327 <define name="text-index-title-template">
3328     <element name="text:index-title-template">
3329         <optional>
3330             <attribute name="text:style-name">
3331                 <ref name="styleNameRef"/>
3332             </attribute>
3333         </optional>
3334         <text/>
3335     </element>
3336 </define>
3337 <define name="text-index-entry-chapter">
3338     <element name="text:index-entry-chapter">
3339         <optional>
3340             <attribute name="text:style-name">
3341                 <ref name="styleNameRef"/>
3342             </attribute>
3343         </optional>
3344         <ref name="text-index-entry-chapter-attrs"/>
3345     </element>
3346 </define>
3347 <define name="text-index-entry-chapter-attrs">
3348     <optional>
3349         <attribute name="text:display" a:defaultValue="number">
3350             <choice>
3351                 <value>name</value>
3352                 <value>number</value>
3353                 <value>number-and-name</value>
3354             </choice>
3355         </attribute>
3356     </optional>
3357 </define>
3358 <define name="text-index-entry-text">
3359     <element name="text:index-entry-text">
3360         <optional>
3361             <attribute name="text:style-name">
3362                 <ref name="styleNameRef"/>
3363             </attribute>
3364         </optional>
3365     </element>
3366 </define>
3367 <define name="text-index-entry-page-number">
3368     <element name="text:index-entry-page-number">
3369         <optional>
3370             <attribute name="text:style-name">
3371                 <ref name="styleNameRef"/>
3372             </attribute>
3373         </optional>
3374     </element>
3375 </define>
3376 <define name="text-index-entry-span">
3377     <element name="text:index-entry-span">
3378         <optional>
3379             <attribute name="text:style-name">
3380                 <ref name="styleNameRef"/>
3381             </attribute>
3382         </optional>
3383         <text/>
3384     </element>
3385 </define>
3386 <define name="text-index-entry-bibliography">
3387     <element name="text:index-entry-bibliography">
3388         <ref name="text-index-entry-bibliography-attrs"/>
3389     </element>
3390 </define>
3391 <define name="text-index-entry-bibliography-attrs" combine="interleave">
3392     <optional>
3393         <attribute name="text:style-name">
3394             <ref name="styleNameRef"/>
3395         </attribute>
3396     </optional>
3397 </define>
3398 <define name="text-index-entry-bibliography-attrs" combine="interleave">
3399     <attribute name="text:bibliography-data-field">
3400         <choice>
3401             <value>address</value>
3402             <value>annote</value>
3403             <value>author</value>
3404             <value>bibliography-type</value>
3405             <value>booktitle</value>
3406             <value>chapter</value>
3407             <value>custom1</value>
3408             <value>custom2</value>
3409             <value>custom3</value>
3410             <value>custom4</value>
3411             <value>custom5</value>
3412             <value>edition</value>
3413             <value>editor</value>
3414             <value>howpublished</value>
3415             <value>identifier</value>
3416             <value>institution</value>
3417             <value>isbn</value>
3418             <value>issn</value>
3419             <value>journal</value>
3420             <value>month</value>
3421             <value>note</value>
3422             <value>number</value>
3423             <value>organizations</value>
3424             <value>pages</value>
3425             <value>publisher</value>
3426             <value>report-type</value>
3427             <value>school</value>
3428             <value>series</value>
3429             <value>title</value>
3430             <value>url</value>
3431             <value>volume</value>
3432             <value>year</value>
3433         </choice>
3434     </attribute>
3435 </define>
3436 <define name="text-index-entry-tab-stop">
3437     <element name="text:index-entry-tab-stop">
3438         <optional>
3439             <attribute name="text:style-name">
3440                 <ref name="styleNameRef"/>
3441             </attribute>
3442         </optional>
3443         <ref name="text-index-entry-tab-stop-attrs"/>
3444     </element>
3445 </define>
3446 <define name="text-index-entry-tab-stop-attrs" combine="interleave">
3447     <optional>
3448         <attribute name="style:leader-char">
3449             <ref name="character"/>
3450         </attribute>
3451     </optional>
3452 </define>
3453 <define name="text-index-entry-tab-stop-attrs" combine="interleave">
3454     <choice>
3455         <attribute name="style:type">
3456             <value>right</value>
3457         </attribute>
3458         <group>
3459             <attribute name="style:type">
3460                 <value>left</value>
3461             </attribute>
3462             <attribute name="style:position">
3463                 <ref name="length"/>
3464             </attribute>
3465         </group>
3466     </choice>
3467 </define>
3468 <define name="text-index-entry-link-start">
3469     <element name="text:index-entry-link-start">
3470         <optional>
3471             <attribute name="text:style-name">
3472                 <ref name="styleNameRef"/>
3473             </attribute>
3474         </optional>
3475     </element>
3476 </define>
3477 <define name="text-index-entry-link-end">
3478     <element name="text:index-entry-link-end">
3479         <optional>
3480             <attribute name="text:style-name">
3481                 <ref name="styleNameRef"/>
3482             </attribute>
3483         </optional>
3484     </element>
3485 </define>
3486 <define name="table-table">
3487     <element name="table:table">
3488         <ref name="table-table-attlist"/>
3489         <optional>
3490             <ref name="table-table-source"/>
3491         </optional>
3492         <optional>
3493             <ref name="office-dde-source"/>
3494         </optional>
3495         <optional>
3496             <ref name="table-scenario"/>
3497         </optional>
3498         <optional>
3499             <ref name="office-forms"/>
3500         </optional>
3501         <optional>
3502             <ref name="table-shapes"/>
3503         </optional>
3504         <ref name="table-columns-and-groups"/>
3505         <ref name="table-rows-and-groups"/>
3506     </element>
3507 </define>
3508 <define name="table-columns-and-groups">
3509     <oneOrMore>
3510         <choice>
3511             <ref name="table-table-column-group"/>
3512             <ref name="table-columns-no-group"/>
3513         </choice>
3514     </oneOrMore>
3515 </define>
3516 
3517 <define name="table-columns-no-group">
3518     <choice>
3519         <group>
3520             <ref name="table-columns"/>
3521             <optional>
3522                 <ref name="table-table-header-columns"/>
3523                 <optional>
3524                     <ref name="table-columns"/>
3525                 </optional>
3526             </optional>
3527         </group>
3528         <group>
3529             <ref name="table-table-header-columns"/>
3530             <optional>
3531                 <ref name="table-columns"/>
3532             </optional>
3533         </group>
3534     </choice>
3535 </define>
3536 
3537 <define name="table-columns">
3538     <choice>
3539         <ref name="table-table-columns"/>
3540         <oneOrMore>
3541                 <ref name="table-table-column"/>
3542         </oneOrMore>
3543     </choice>
3544 </define>
3545 
3546 <define name="table-rows-and-groups">
3547     <oneOrMore>
3548         <choice>
3549             <ref name="table-table-row-group"/>
3550             <ref name="table-rows-no-group"/>
3551         </choice>
3552     </oneOrMore>
3553 </define>
3554 
3555 <define name="table-rows-no-group">
3556     <choice>
3557         <group>
3558             <ref name="table-rows"/>
3559             <optional>
3560                 <ref name="table-table-header-rows"/>
3561                 <optional>
3562                     <ref name="table-rows"/>
3563                 </optional>
3564             </optional>
3565         </group>
3566         <group>
3567             <ref name="table-table-header-rows"/>
3568             <optional>
3569                 <ref name="table-rows"/>
3570             </optional>
3571         </group>
3572     </choice>
3573 </define>
3574 
3575 <define name="table-rows">
3576     <choice>
3577         <ref name="table-table-rows"/>
3578         <oneOrMore>
3579             <optional>
3580                 <ref name="text-soft-page-break"/>
3581             </optional>
3582             <ref name="table-table-row"/>
3583         </oneOrMore>
3584     </choice>
3585 </define>
3586 <define name="table-table-attlist" combine="interleave">
3587     <optional>
3588         <attribute name="table:name">
3589             <ref name="string"/>
3590         </attribute>
3591     </optional>
3592 </define>
3593 <define name="table-table-attlist" combine="interleave">
3594     <optional>
3595         <attribute name="table:style-name">
3596             <ref name="styleNameRef"/>
3597         </attribute>
3598     </optional>
3599 </define>
3600 <define name="table-table-attlist" combine="interleave">
3601     <optional>
3602         <attribute name="table:protected" a:defaultValue="false">
3603             <ref name="boolean"/>
3604         </attribute>
3605     </optional>
3606     <optional>
3607         <attribute name="table:protection-key">
3608             <text/>
3609         </attribute>
3610     </optional>
3611 </define>
3612 <define name="table-table-attlist" combine="interleave">
3613     <optional>
3614         <attribute name="table:print" a:defaultValue="true">
3615             <ref name="boolean"/>
3616         </attribute>
3617     </optional>
3618 </define>
3619 <define name="table-table-attlist" combine="interleave">
3620     <optional>
3621         <attribute name="table:print-ranges">
3622             <ref name="cellRangeAddressList"/>
3623         </attribute>
3624     </optional>
3625 </define>
3626 <define name="table-table-row">
3627     <element name="table:table-row">
3628         <ref name="table-table-row-attlist"/>
3629         <oneOrMore>
3630             <choice>
3631                 <ref name="table-table-cell"/>
3632                 <ref name="table-covered-table-cell"/>
3633             </choice>
3634         </oneOrMore>
3635     </element>
3636 </define>
3637 <define name="table-table-row-attlist" combine="interleave">
3638     <optional>
3639         <attribute name="table:number-rows-repeated" a:defaultValue="1">
3640             <ref name="positiveInteger"/>
3641         </attribute>
3642     </optional>
3643 </define>
3644 <define name="table-table-row-attlist" combine="interleave">
3645     <optional>
3646         <attribute name="table:style-name">
3647             <ref name="styleNameRef"/>
3648         </attribute>
3649     </optional>
3650 </define>
3651 <define name="table-table-row-attlist" combine="interleave">
3652     <optional>
3653         <attribute name="table:default-cell-style-name">
3654             <ref name="styleNameRef"/>
3655         </attribute>
3656     </optional>
3657 </define>
3658 <define name="table-table-row-attlist" combine="interleave">
3659     <optional>
3660         <attribute name="table:visibility" a:defaultValue="visible">
3661             <ref name="table-visibility-value"/>
3662         </attribute>
3663     </optional>
3664 </define>
3665 
3666 <define name="table-visibility-value">
3667     <choice>
3668         <value>visible</value>
3669         <value>collapse</value>
3670         <value>filter</value>
3671     </choice>
3672 </define>
3673 <define name="table-table-cell">
3674     <element name="table:table-cell">
3675         <ref name="table-table-cell-attlist"/>
3676         <ref name="table-table-cell-attlist-extra"/>
3677         <ref name="table-table-cell-content"/>
3678     </element>
3679 </define>
3680 
3681 <define name="table-covered-table-cell">
3682     <element name="table:covered-table-cell">
3683         <ref name="table-table-cell-attlist"/>
3684         <ref name="table-table-cell-content"/>
3685     </element>
3686 </define>
3687 
3688 <define name="table-table-cell-content">
3689     <optional>
3690         <ref name="table-cell-range-source"/>
3691     </optional>
3692     <optional>
3693         <ref name="office-annotation"/>
3694     </optional>
3695     <optional>
3696         <ref name="table-detective"/>
3697     </optional>
3698     <zeroOrMore>
3699         <ref name="text-content"/>
3700     </zeroOrMore>
3701 </define>
3702 <define name="table-table-cell-attlist" combine="interleave">
3703     <optional>
3704         <attribute name="table:number-columns-repeated" a:defaultValue="1">
3705             <ref name="positiveInteger"/>
3706         </attribute>
3707     </optional>
3708 </define>
3709 <define name="table-table-cell-attlist-extra" combine="interleave">
3710     <optional>
3711         <attribute name="table:number-columns-spanned" a:defaultValue="1">
3712             <ref name="positiveInteger"/>
3713         </attribute>
3714     </optional>
3715     <optional>
3716         <attribute name="table:number-rows-spanned" a:defaultValue="1">
3717             <ref name="positiveInteger"/>
3718         </attribute>
3719     </optional>
3720 </define>
3721 <define name="table-table-cell-attlist" combine="interleave">
3722     <optional>
3723         <attribute name="table:style-name">
3724             <ref name="styleNameRef"/>
3725         </attribute>
3726     </optional>
3727 </define>
3728 <define name="table-table-cell-attlist" combine="interleave">
3729     <optional>
3730         <attribute name="table:content-validation-name">
3731             <ref name="string"/>
3732         </attribute>
3733     </optional>
3734 </define>
3735 <define name="table-table-cell-attlist" combine="interleave">
3736     <optional>
3737         <attribute name="table:formula">
3738             <ref name="string"/>
3739         </attribute>
3740     </optional>
3741 </define>
3742 <define name="table-table-cell-attlist-extra" combine="interleave">
3743     <optional>
3744         <attribute name="table:number-matrix-columns-spanned">
3745             <ref name="positiveInteger"/>
3746         </attribute>
3747     </optional>
3748     <optional>
3749         <attribute name="table:number-matrix-rows-spanned">
3750             <ref name="positiveInteger"/>
3751         </attribute>
3752     </optional>
3753 </define>
3754 <define name="table-table-cell-attlist" combine="interleave">
3755     <optional>
3756         <ref name="common-value-and-type-attlist"/>
3757     </optional>
3758 </define>
3759 <define name="table-table-cell-attlist" combine="interleave">
3760     <optional>
3761         <attribute name="table:protect" a:defaultValue="false">
3762             <ref name="boolean"/>
3763         </attribute>
3764     </optional>
3765 </define>
3766 <define name="table-table-column">
3767     <element name="table:table-column">
3768         <ref name="table-table-column-attlist"/>
3769         <empty/>
3770     </element>
3771 </define>
3772 <define name="table-table-column-attlist" combine="interleave">
3773     <optional>
3774         <attribute name="table:number-columns-repeated" a:defaultValue="1">
3775             <ref name="positiveInteger"/>
3776         </attribute>
3777     </optional>
3778 </define>
3779 <define name="table-table-column-attlist" combine="interleave">
3780     <optional>
3781         <attribute name="table:style-name">
3782             <ref name="styleNameRef"/>
3783         </attribute>
3784     </optional>
3785 </define>
3786 <define name="table-table-column-attlist" combine="interleave">
3787     <optional>
3788         <attribute name="table:visibility" a:defaultValue="visible">
3789             <ref name="table-visibility-value"/>
3790         </attribute>
3791     </optional>
3792 </define>
3793 <define name="table-table-column-attlist" combine="interleave">
3794     <optional>
3795         <attribute name="table:default-cell-style-name">
3796             <ref name="styleNameRef"/>
3797         </attribute>
3798     </optional>
3799 </define>
3800 <define name="table-table-header-columns">
3801     <element name="table:table-header-columns">
3802         <oneOrMore>
3803             <ref name="table-table-column"/>
3804         </oneOrMore>
3805     </element>
3806 </define>
3807 
3808 <define name="table-table-columns">
3809     <element name="table:table-columns">
3810         <oneOrMore>
3811             <ref name="table-table-column"/>
3812         </oneOrMore>
3813     </element>
3814 </define>
3815 <define name="table-table-column-group">
3816     <element name="table:table-column-group">
3817         <ref name="table-table-column-group-attlist"/>
3818         <ref name="table-columns-and-groups"/>
3819     </element>
3820 </define>
3821 <define name="table-table-column-group-attlist" combine="interleave">
3822     <optional>
3823         <attribute name="table:display" a:defaultValue="true">
3824             <ref name="boolean"/>
3825         </attribute>
3826     </optional>
3827 </define>
3828 <define name="table-table-header-rows">
3829     <element name="table:table-header-rows">
3830         <oneOrMore>
3831             <optional>
3832                 <ref name="text-soft-page-break"/>
3833             </optional>
3834             <ref name="table-table-row"/>
3835         </oneOrMore>
3836     </element>
3837 </define>
3838 
3839 <define name="table-table-rows">
3840     <element name="table:table-rows">
3841         <oneOrMore>
3842             <optional>
3843                 <ref name="text-soft-page-break"/>
3844             </optional>
3845             <ref name="table-table-row"/>
3846         </oneOrMore>
3847     </element>
3848 </define>
3849 <define name="table-table-row-group">
3850     <element name="table:table-row-group">
3851         <ref name="table-table-row-group-attlist"/>
3852         <ref name="table-rows-and-groups"/>
3853     </element>
3854 </define>
3855 <define name="table-table-row-group-attlist" combine="interleave">
3856     <optional>
3857         <attribute name="table:display" a:defaultValue="true">
3858             <ref name="boolean"/>
3859         </attribute>
3860     </optional>
3861 </define>
3862 <define name="table-table-attlist" combine="interleave">
3863     <optional>
3864         <attribute name="table:is-sub-table" a:defaultValue="false">
3865             <ref name="boolean"/>
3866         </attribute>
3867     </optional>
3868 </define>
3869 <define name="cellAddress">
3870     <data type="string">
3871         <param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+</param>
3872 
3873     </data>
3874 </define>
3875 <define name="cellRangeAddress">
3876     <data type="string">
3877         <param name="pattern">($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+(:($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+)?</param>
3878 
3879     </data>
3880 </define>
3881 <define name="cellRangeAddressList">
3882     <!-- Value is a space separated list of "cellRangeAddress" patterns -->
3883     <data type="string"/> 
3884 </define>
3885 <define name="table-table-source">
3886     <element name="table:table-source">
3887         <ref name="table-table-source-attlist"/>
3888         <ref name="table-linked-source-attlist"/>
3889         <empty/>
3890     </element>
3891 </define>
3892 <define name="table-table-source-attlist" combine="interleave">
3893     <optional>
3894         <attribute name="table:mode" a:defaultValue="copy-all">
3895             <choice>
3896                 <value>copy-all</value>
3897                 <value>copy-results-only</value>
3898             </choice>
3899         </attribute>
3900     </optional>
3901 </define>
3902 <define name="table-table-source-attlist" combine="interleave">
3903     <optional>
3904         <attribute name="table:table-name">
3905             <ref name="string"/>
3906         </attribute>
3907     </optional>
3908 </define>
3909 <define name="table-linked-source-attlist" combine="interleave">
3910     <optional>
3911         <attribute name="xlink:type" a:defaultValue="simple">
3912             <value>simple</value>
3913         </attribute>
3914     </optional>
3915     <optional>
3916         <attribute name="xlink:actuate" a:defaultValue="onRequest">
3917             <value>onRequest</value>
3918         </attribute>
3919     </optional>
3920     <attribute name="xlink:href">
3921         <ref name="anyURI"/>
3922     </attribute>
3923 </define>
3924 <define name="table-linked-source-attlist" combine="interleave">
3925     <optional>
3926         <attribute name="table:filter-name">
3927             <ref name="string"/>
3928         </attribute>
3929     </optional>
3930 </define>
3931 <define name="table-linked-source-attlist" combine="interleave">
3932     <optional>
3933         <attribute name="table:filter-options">
3934             <ref name="string"/>
3935         </attribute>
3936     </optional>
3937 </define>
3938 <define name="table-linked-source-attlist" combine="interleave">
3939     <optional>
3940         <attribute name="table:refresh-delay">
3941             <ref name="duration"/>
3942         </attribute>
3943     </optional>
3944 </define>
3945 <define name="table-scenario">
3946     <element name="table:scenario">
3947         <ref name="table-scenario-attlist"/>
3948         <empty/>
3949     </element>
3950 </define>
3951 <define name="table-scenario-attlist" combine="interleave">
3952     <attribute name="table:scenario-ranges">
3953         <ref name="cellRangeAddressList"/>
3954     </attribute>
3955 </define>
3956 <define name="table-scenario-attlist" combine="interleave">
3957     <attribute name="table:is-active">
3958         <ref name="boolean"/>
3959     </attribute>
3960 </define>
3961 <define name="table-scenario-attlist" combine="interleave">
3962     <optional>
3963         <attribute name="table:display-border" a:defaultValue="true">
3964             <ref name="boolean"/>
3965         </attribute>
3966     </optional>
3967 </define>
3968 <define name="table-scenario-attlist" combine="interleave">
3969     <optional>
3970         <attribute name="table:border-color">
3971             <ref name="color"/>
3972         </attribute>
3973     </optional>
3974 </define>
3975 <define name="table-scenario-attlist" combine="interleave">
3976     <optional>
3977         <attribute name="table:copy-back" a:defaultValue="true">
3978             <ref name="boolean"/>
3979         </attribute>
3980     </optional>
3981 </define>
3982 <define name="table-scenario-attlist" combine="interleave">
3983     <optional>
3984         <attribute name="table:copy-styles" a:defaultValue="true">
3985             <ref name="boolean"/>
3986         </attribute>
3987     </optional>
3988 </define>
3989 <define name="table-scenario-attlist" combine="interleave">
3990     <optional>
3991         <attribute name="table:copy-formulas" a:defaultValue="true">
3992             <ref name="boolean"/>
3993         </attribute>
3994     </optional>
3995 </define>
3996 <define name="table-scenario-attlist" combine="interleave">
3997     <optional>
3998         <attribute name="table:comment">
3999             <ref name="string"/>
4000         </attribute>
4001     </optional>
4002 </define>
4003 <define name="table-scenario-attlist" combine="interleave">
4004     <optional>
4005         <attribute name="table:protected">
4006             <ref name="boolean"/>
4007         </attribute>
4008     </optional>
4009 </define>
4010 <define name="table-shapes">
4011     <element name="table:shapes">
4012         <oneOrMore>
4013             <ref name="shape"/>
4014         </oneOrMore>
4015     </element>
4016 </define>
4017 <define name="table-cell-range-source">
4018     <element name="table:cell-range-source">
4019         <ref name="table-table-cell-range-source-attlist"/>
4020         <ref name="table-linked-source-attlist"/>
4021         <empty/>
4022     </element>
4023 </define>
4024 <define name="table-table-cell-range-source-attlist" combine="interleave">
4025     <attribute name="table:name">
4026         <ref name="string"/>
4027     </attribute>
4028 </define>
4029 <define name="table-table-cell-range-source-attlist" combine="interleave">
4030     <attribute name="table:last-column-spanned">
4031         <ref name="positiveInteger"/>
4032     </attribute>
4033     <attribute name="table:last-row-spanned">
4034         <ref name="positiveInteger"/>
4035     </attribute>
4036 </define>
4037 <define name="table-detective">
4038     <element name="table:detective">
4039         <zeroOrMore>
4040             <ref name="table-highlighted-range"/>
4041         </zeroOrMore>
4042         <zeroOrMore>
4043             <ref name="table-operation"/>
4044         </zeroOrMore>
4045     </element>
4046 </define>
4047 <define name="table-operation">
4048     <element name="table:operation">
4049         <ref name="table-operation-attlist"/>
4050         <empty/>
4051     </element>
4052 </define>
4053 <define name="table-operation-attlist" combine="interleave">
4054     <attribute name="table:name">
4055         <choice>
4056             <value>trace-dependents</value>
4057             <value>remove-dependents</value>
4058             <value>trace-precedents</value>
4059             <value>remove-precedents</value>
4060             <value>trace-errors</value>
4061         </choice>
4062     </attribute>
4063 </define>
4064 <define name="table-operation-attlist" combine="interleave">
4065     <attribute name="table:index">
4066         <ref name="nonNegativeInteger"/>
4067     </attribute>
4068 </define>
4069 <define name="table-highlighted-range">
4070     <element name="table:highlighted-range">
4071         <choice>
4072             <group>
4073                 <ref name="table-highlighted-range-attlist"/>
4074             </group>
4075             <group>
4076                 <ref name="table-highlighted-range-attlist-invalid"/>
4077             </group>
4078         </choice>
4079         <empty/>
4080     </element>
4081 </define>
4082 <define name="table-highlighted-range-attlist" combine="interleave">
4083     <optional>
4084         <attribute name="table:cell-range-address">
4085             <ref name="cellRangeAddress"/>
4086         </attribute>
4087     </optional>
4088 </define>
4089 <define name="table-highlighted-range-attlist" combine="interleave">
4090     <attribute name="table:direction">
4091         <choice>
4092             <value>from-another-table</value>
4093             <value>to-another-table</value>
4094             <value>from-same-table</value>
4095         </choice>
4096     </attribute>
4097 </define>
4098 <define name="table-highlighted-range-attlist" combine="interleave">
4099     <optional>
4100         <attribute name="table:contains-error" a:defaultValue="false">
4101             <ref name="boolean"/>
4102         </attribute>
4103     </optional>
4104 </define>
4105 <define name="table-highlighted-range-attlist-invalid" combine="interleave">
4106     <attribute name="table:marked-invalid">
4107         <ref name="boolean"/>
4108     </attribute>
4109 </define>
4110 <define name="office-spreadsheet-attlist" combine="interleave">
4111     <optional>
4112         <attribute name="table:structure-protected" a:defaultValue="false">
4113             <ref name="boolean"/>
4114         </attribute>
4115     </optional>
4116     <optional>
4117         <attribute name="table:protection-key">
4118             <ref name="string"/>
4119         </attribute>
4120     </optional>
4121 </define>
4122 <define name="table-calculation-settings">
4123     <element name="table:calculation-settings">
4124         <ref name="table-calculation-setting-attlist"/>
4125         <optional>
4126             <ref name="table-null-date"/>
4127         </optional>
4128         <optional>
4129             <ref name="table-iteration"/>
4130         </optional>
4131     </element>
4132 </define>
4133 <define name="table-calculation-setting-attlist" combine="interleave">
4134     <optional>
4135         <attribute name="table:case-sensitive" a:defaultValue="true">
4136             <ref name="boolean"/>
4137         </attribute>
4138     </optional>
4139 </define>
4140 <define name="table-calculation-setting-attlist" combine="interleave">
4141     <optional>
4142         <attribute name="table:precision-as-shown" a:defaultValue="false">
4143             <ref name="boolean"/>
4144         </attribute>
4145     </optional>
4146 </define>
4147 <define name="table-calculation-setting-attlist" combine="interleave">
4148     <optional>
4149         <attribute name="table:search-criteria-must-apply-to-whole-cell"
4150                      a:defaultValue="true">
4151             <ref name="boolean"/>
4152         </attribute>
4153     </optional>
4154 </define>
4155 <define name="table-calculation-setting-attlist" combine="interleave">
4156     <optional>
4157         <attribute name="table:automatic-find-labels" a:defaultValue="true">
4158             <ref name="boolean"/>
4159         </attribute>
4160     </optional>
4161 </define>
4162 <define name="table-calculation-setting-attlist" combine="interleave">
4163     <optional>
4164         <attribute name="table:use-regular-expressions"
4165                      a:defaultValue="true">
4166             <ref name="boolean"/>
4167         </attribute>
4168     </optional>
4169 </define>
4170 <define name="table-calculation-setting-attlist" combine="interleave">
4171     <optional>
4172         <attribute name="table:null-year" a:defaultValue="1930">
4173             <ref name="positiveInteger"/>
4174         </attribute>
4175     </optional>
4176 </define>
4177 <define name="table-null-date">
4178     <element name="table:null-date">
4179         <optional>
4180             <attribute name="table:value-type" a:defaultValue="date">
4181                 <ref name="valueType"/>
4182             </attribute>
4183         </optional>
4184         <optional>
4185             <attribute name="table:date-value"
4186                          a:defaultValue="1899-12-30">
4187                 <ref name="date"/>
4188             </attribute>
4189         </optional>
4190         <empty/>
4191     </element>
4192 </define>
4193 <define name="table-iteration">
4194     <element name="table:iteration">
4195         <optional>
4196             <attribute name="table:status" a:defaultValue="disable">
4197                 <choice>
4198                     <value>enable</value>
4199                     <value>disable</value>
4200                 </choice>
4201             </attribute>
4202         </optional>
4203         <optional>
4204             <attribute name="table:steps" a:defaultValue="100">
4205                 <ref name="positiveInteger"/>
4206             </attribute>
4207         </optional>
4208         <optional>
4209             <attribute name="table:maximum-difference"
4210                          a:defaultValue="0.001">
4211                 <ref name="double"/>
4212             </attribute>
4213         </optional>
4214         <empty/>
4215     </element>
4216 </define>
4217 <define name="table-content-validations">
4218     <element name="table:content-validations">
4219         <oneOrMore>
4220             <ref name="table-content-validation"/>
4221         </oneOrMore>
4222     </element>
4223 </define>
4224 
4225 <define name="table-content-validation">
4226     <element name="table:content-validation">
4227         <ref name="table-validation-attlist"/>
4228         <optional>
4229             <ref name="table-help-message"/>
4230         </optional>
4231         <optional>
4232             <choice>
4233                 <ref name="table-error-message"/>
4234                 <group>
4235                     <ref name="table-error-macro"/>
4236                     <optional>
4237                         <ref name="office-event-listeners"/>
4238                     </optional>
4239                 </group>
4240             </choice>
4241         </optional>
4242     </element>
4243 </define>
4244 <define name="table-validation-attlist" combine="interleave">
4245     <attribute name="table:name">
4246         <ref name="string"/>
4247     </attribute>
4248 </define>
4249 <define name="table-validation-attlist" combine="interleave">
4250     <optional>
4251         <attribute name="table:condition">
4252             <ref name="string"/>
4253         </attribute>
4254     </optional>
4255 </define>
4256 <define name="table-validation-attlist" combine="interleave">
4257     <optional>
4258         <attribute name="table:base-cell-address">
4259             <ref name="cellAddress"/>
4260         </attribute>
4261     </optional>
4262 </define>
4263 <define name="table-validation-attlist" combine="interleave">
4264     <optional>
4265         <attribute name="table:allow-empty-cell" a:defaultValue="true">
4266             <ref name="boolean"/>
4267         </attribute>
4268     </optional>
4269 </define>
4270 <define name="table-validation-attlist" combine="interleave">
4271     <optional>
4272         <attribute name="table:display-list" a:defaultValue="unsorted">
4273             <choice>
4274                 <value>none</value>
4275                 <value>unsorted</value>
4276                 <value>sort-ascending</value>
4277             </choice>
4278         </attribute>
4279     </optional>
4280 </define>
4281 <define name="table-help-message">
4282     <element name="table:help-message">
4283         <optional>
4284             <attribute name="table:title">
4285                 <ref name="string"/>
4286             </attribute>
4287         </optional>
4288         <optional>
4289             <attribute name="table:display" a:defaultValue="false">
4290                 <ref name="boolean"/>
4291             </attribute>
4292         </optional>
4293         <zeroOrMore>
4294             <ref name="text-p"/>
4295         </zeroOrMore>
4296     </element>
4297 </define>
4298 <define name="table-error-message">
4299     <element name="table:error-message">
4300         <optional>
4301             <attribute name="table:title">
4302                 <ref name="string"/>
4303             </attribute>
4304         </optional>
4305         <optional>
4306             <attribute name="table:display" a:defaultValue="false">
4307                 <ref name="boolean"/>
4308             </attribute>
4309         </optional>
4310         <optional>
4311             <attribute name="table:message-type" a:defaultValue="stop">
4312                 <choice>
4313                     <value>stop</value>
4314                     <value>warning</value>
4315                     <value>information</value>
4316                 </choice>
4317             </attribute>
4318         </optional>
4319         <zeroOrMore>
4320             <ref name="text-p"/>
4321         </zeroOrMore>
4322     </element>
4323 </define>
4324 <define name="table-error-macro">
4325     <element name="table:error-macro">
4326         <optional>
4327             <attribute name="table:execute" a:defaultValue="true">
4328                 <ref name="boolean"/>
4329             </attribute>
4330         </optional>
4331     </element>
4332 </define>
4333 <define name="table-label-ranges">
4334     <element name="table:label-ranges">
4335         <zeroOrMore>
4336             <ref name="table-label-range"/>
4337         </zeroOrMore>
4338     </element>
4339 </define>
4340 
4341 <define name="table-label-range">
4342     <element name="table:label-range">
4343         <ref name="table-label-range-attlist"/>
4344         <empty/>
4345     </element>
4346 </define>
4347 <define name="table-label-range-attlist" combine="interleave">
4348     <attribute name="table:label-cell-range-address">
4349         <ref name="cellRangeAddress"/>
4350     </attribute>
4351 </define>
4352 <define name="table-label-range-attlist" combine="interleave">
4353     <attribute name="table:data-cell-range-address">
4354         <ref name="cellRangeAddress"/>
4355     </attribute>
4356 </define>
4357 <define name="table-label-range-attlist" combine="interleave">
4358     <attribute name="table:orientation">
4359         <choice>
4360             <value>column</value>
4361             <value>row</value>
4362         </choice>
4363     </attribute>
4364 </define>
4365 <define name="table-named-expressions">
4366     <element name="table:named-expressions">
4367         <zeroOrMore>
4368             <choice>
4369                 <ref name="table-named-range"/>
4370                 <ref name="table-named-expression"/>
4371             </choice>
4372         </zeroOrMore>
4373     </element>
4374 </define>
4375 
4376 <define name="table-named-range">
4377     <element name="table:named-range">
4378         <ref name="table-named-range-attlist"/>
4379         <empty/>
4380     </element>
4381 </define>
4382 
4383 <define name="table-named-range-attlist" combine="interleave">
4384     <attribute name="table:name">
4385         <ref name="string"/>
4386     </attribute>
4387     <attribute name="table:cell-range-address">
4388         <ref name="cellRangeAddress"/>
4389     </attribute>
4390     <optional>
4391         <attribute name="table:base-cell-address">
4392             <ref name="cellAddress"/>
4393         </attribute>
4394     </optional>
4395     <optional>
4396         <attribute name="table:range-usable-as" a:defaultValue="none">
4397             <choice>
4398                 <value>none</value>
4399                 <list>
4400                     <oneOrMore>
4401                         <choice>
4402                             <value>print-range</value>
4403                             <value>filter</value>
4404                             <value>repeat-row</value>
4405                             <value>repeat-column</value>
4406                         </choice>
4407                     </oneOrMore>
4408                 </list>
4409             </choice>
4410         </attribute>
4411     </optional>
4412 </define>
4413 <define name="table-named-expression">
4414     <element name="table:named-expression">
4415         <ref name="table-named-expression-attlist"/>
4416         <empty/>
4417     </element>
4418 </define>
4419 
4420 <define name="table-named-expression-attlist" combine="interleave">
4421     <attribute name="table:name">
4422         <ref name="string"/>
4423     </attribute>
4424     <attribute name="table:expression">
4425         <ref name="string"/>
4426     </attribute>
4427     <optional>
4428         <attribute name="table:base-cell-address">
4429             <ref name="cellAddress"/>
4430         </attribute>
4431     </optional>
4432 </define>
4433 <define name="table-database-ranges">
4434     <element name="table:database-ranges">
4435         <zeroOrMore>
4436             <ref name="table-database-range"/>
4437         </zeroOrMore>
4438     </element>
4439 </define>
4440 <define name="table-database-range">
4441     <element name="table:database-range">
4442         <ref name="table-database-range-attlist"/>
4443         <optional>
4444             <choice>
4445                 <ref name="table-database-source-sql"/>
4446                 <ref name="table-database-source-table"/>
4447                 <ref name="table-database-source-query"/>
4448             </choice>
4449         </optional>
4450         <optional>
4451             <ref name="table-filter"/>
4452         </optional>
4453         <optional>
4454             <ref name="table-sort"/>
4455         </optional>
4456         <optional>
4457             <ref name="table-subtotal-rules"/>
4458         </optional>
4459     </element>
4460 </define>
4461 <define name="table-database-range-attlist" combine="interleave">
4462     <optional>
4463         <attribute name="table:name">
4464             <ref name="string"/>
4465         </attribute>
4466     </optional>
4467 </define>
4468 <define name="table-database-range-attlist" combine="interleave">
4469     <optional>
4470         <attribute name="table:is-selection" a:defaultValue="false">
4471             <ref name="boolean"/>
4472         </attribute>
4473     </optional>
4474 </define>
4475 <define name="table-database-range-attlist" combine="interleave">
4476     <optional>
4477         <attribute name="table:on-update-keep-styles" a:defaultValue="false">
4478             <ref name="boolean"/>
4479         </attribute>
4480     </optional>
4481 </define>
4482 <define name="table-database-range-attlist" combine="interleave">
4483     <optional>
4484         <attribute name="table:on-update-keep-size" a:defaultValue="true">
4485             <ref name="boolean"/>
4486         </attribute>
4487     </optional>
4488 </define>
4489 <define name="table-database-range-attlist" combine="interleave">
4490     <optional>
4491         <attribute name="table:has-persistent-data" a:defaultValue="true">
4492             <ref name="boolean"/>
4493         </attribute>
4494     </optional>
4495 </define>
4496 <define name="table-database-range-attlist" combine="interleave">
4497     <optional>
4498         <attribute name="table:orientation" a:defaultValue="row">
4499             <choice>
4500                 <value>column</value>
4501                 <value>row</value>
4502             </choice>
4503         </attribute>
4504     </optional>
4505 </define>
4506 <define name="table-database-range-attlist" combine="interleave">
4507     <optional>
4508         <attribute name="table:contains-header" a:defaultValue="true">
4509             <ref name="boolean"/>
4510         </attribute>
4511     </optional>
4512 </define>
4513 <define name="table-database-range-attlist" combine="interleave">
4514     <optional>
4515         <attribute name="table:display-filter-buttons"
4516                    a:defaultValue="false">
4517             <ref name="boolean"/>
4518         </attribute>
4519     </optional>
4520 </define>
4521 <define name="table-database-range-attlist" combine="interleave">
4522     <attribute name="table:target-range-address">
4523         <ref name="cellRangeAddress"/>
4524     </attribute>
4525 </define>
4526 <define name="table-database-range-attlist" combine="interleave">
4527     <optional>
4528         <attribute name="table:refresh-delay">
4529             <ref name="boolean"/>
4530         </attribute>
4531     </optional>
4532 </define>
4533 <define name="table-database-source-sql">
4534     <element name="table:database-source-sql">
4535         <ref name="table-database-source-sql-attlist"/>
4536         <empty/>
4537     </element>
4538 </define>
4539 <define name="table-database-source-sql-attlist" combine="interleave">
4540     <attribute name="table:database-name">
4541         <ref name="string"/>
4542     </attribute>
4543 </define>
4544 <define name="table-database-source-sql-attlist" combine="interleave">
4545     <attribute name="table:sql-statement">
4546         <ref name="string"/>
4547     </attribute>
4548 </define>
4549 <define name="table-database-source-sql-attlist" combine="interleave">
4550     <optional>
4551         <attribute name="table:parse-sql-statement" a:defaultValue="false">
4552             <ref name="boolean"/>
4553         </attribute>
4554     </optional>
4555 </define>
4556 <define name="table-database-source-query">
4557     <element name="table:database-source-table">
4558         <ref name="table-database-source-table-attlist"/>
4559         <empty/>
4560     </element>
4561 </define>
4562 <define name="table-database-source-table-attlist" combine="interleave">
4563     <attribute name="table:database-name">
4564         <ref name="string"/>
4565     </attribute>
4566 </define>
4567 <define name="table-database-source-table-attlist" combine="interleave">
4568     <attribute name="table:database-table-name">
4569         <ref name="string"/>
4570     </attribute>
4571 </define>
4572 <define name="table-database-source-table">
4573     <element name="table:database-source-query">
4574         <ref name="table-database-source-query-attlist"/>
4575         <empty/>
4576     </element>
4577 </define>
4578 <define name="table-database-source-query-attlist" combine="interleave">
4579     <attribute name="table:database-name">
4580         <ref name="string"/>
4581     </attribute>
4582 </define>
4583 <define name="table-database-source-query-attlist" combine="interleave">
4584     <attribute name="table:query-name">
4585         <ref name="string"/>
4586     </attribute>
4587 </define>
4588 <define name="table-sort">
4589     <element name="table:sort">
4590         <ref name="table-sort-attlist"/>
4591         <oneOrMore>
4592             <ref name="table-sort-by"/>
4593         </oneOrMore>
4594     </element>
4595 </define>
4596 <define name="table-sort-attlist" combine="interleave">
4597     <optional>
4598         <attribute name="table:bind-styles-to-content" a:defaultValue="true">
4599             <ref name="boolean"/>
4600         </attribute>
4601     </optional>
4602 </define>
4603 <define name="table-sort-attlist" combine="interleave">
4604     <optional>
4605         <attribute name="table:target-range-address">
4606             <ref name="cellRangeAddress"/>
4607         </attribute>
4608     </optional>
4609 </define>
4610 <define name="table-sort-attlist" combine="interleave">
4611     <optional>
4612         <attribute name="table:case-sensitive" a:defaultValue="false">
4613             <ref name="boolean"/>
4614         </attribute>
4615     </optional>
4616 </define>
4617 <define name="table-sort-attlist" combine="interleave">
4618     <optional>
4619         <attribute name="table:language">
4620             <ref name="languageCode"/>
4621         </attribute>
4622     </optional>
4623 </define>
4624 <define name="table-sort-attlist" combine="interleave">
4625     <optional>
4626         <attribute name="table:country">
4627             <ref name="countryCode"/>
4628         </attribute>
4629     </optional>
4630 </define>
4631 <define name="table-sort-attlist" combine="interleave">
4632     <optional>
4633         <attribute name="table:algorithm">
4634             <ref name="string"/>
4635         </attribute>
4636     </optional>
4637 </define>
4638 <define name="table-sort-by">
4639     <element name="table:sort-by">
4640         <ref name="table-sort-by-attlist"/>
4641         <empty/>
4642     </element>
4643 </define>
4644 <define name="table-sort-by-attlist" combine="interleave">
4645     <attribute name="table:field-number">
4646         <ref name="nonNegativeInteger"/>
4647     </attribute>
4648 </define>
4649 <define name="table-sort-by-attlist" combine="interleave">
4650     <optional>
4651         <attribute name="table:data-type" a:defaultValue="automatic">
4652             <choice>
4653                 <value>text</value>
4654                 <value>number</value>
4655                 <value>automatic</value>
4656                 <ref name="string"/>
4657             </choice>
4658         </attribute>
4659     </optional>
4660 </define>
4661 <define name="table-sort-by-attlist" combine="interleave">
4662     <optional>
4663         <attribute name="table:order" a:defaultValue="ascending">
4664             <choice>
4665                 <value>ascending</value>
4666                 <value>descending</value>
4667             </choice>
4668         </attribute>
4669     </optional>
4670 </define>
4671 <define name="table-subtotal-rules">
4672     <element name="table:subtotal-rules">
4673         <ref name="table-subtotal-rules-attlist"/>
4674         <optional>
4675             <ref name="table-sort-groups"/>
4676         </optional>
4677         <zeroOrMore>
4678             <ref name="table-subtotal-rule"/>
4679         </zeroOrMore>
4680     </element>
4681 </define>
4682 <define name="table-subtotal-rules-attlist" combine="interleave">
4683     <optional>
4684         <attribute name="table:bind-styles-to-content" a:defaultValue="true">
4685             <ref name="boolean"/>
4686         </attribute>
4687     </optional>
4688 </define>
4689 <define name="table-subtotal-rules-attlist" combine="interleave">
4690     <optional>
4691         <attribute name="table:case-sensitive" a:defaultValue="false">
4692             <ref name="boolean"/>
4693         </attribute>
4694     </optional>
4695 </define>
4696 <define name="table-subtotal-rules-attlist" combine="interleave">
4697     <optional>
4698         <attribute name="table:page-breaks-on-group-change"
4699                    a:defaultValue="false">
4700             <ref name="boolean"/>
4701         </attribute>
4702     </optional>
4703 </define>
4704 <define name="table-sort-groups">
4705     <element name="table:sort-groups">
4706         <ref name="table-sort-groups-attlist"/>
4707         <empty/>
4708     </element>
4709 </define>
4710 <define name="table-sort-groups-attlist" combine="interleave">
4711     <optional>
4712         <attribute name="table:data-type" a:defaultValue="automatic">
4713             <choice>
4714                 <value>text</value>
4715                 <value>number</value>
4716                 <value>automatic</value>
4717                 <ref name="string"/>
4718             </choice>
4719         </attribute>
4720     </optional>
4721 </define>
4722 <define name="table-sort-groups-attlist" combine="interleave">
4723     <optional>
4724         <attribute name="table:order" a:defaultValue="ascending">
4725             <choice>
4726                 <value>ascending</value>
4727                 <value>descending</value>
4728             </choice>
4729         </attribute>
4730     </optional>
4731 </define>
4732 <define name="table-subtotal-rule">
4733     <element name="table:subtotal-rule">
4734         <ref name="table-subtotal-rule-attlist"/>
4735         <zeroOrMore>
4736             <ref name="table-subtotal-field"/>
4737         </zeroOrMore>
4738     </element>
4739 </define>
4740 <define name="table-subtotal-rule-attlist" combine="interleave">
4741     <attribute name="table:group-by-field-number">
4742         <ref name="nonNegativeInteger"/>
4743     </attribute>
4744 </define>
4745 <define name="table-subtotal-field">
4746     <element name="table:subtotal-field">
4747         <ref name="table-subtotal-field-attlist"/>
4748         <empty/>
4749     </element>
4750 </define>
4751 <define name="table-subtotal-field-attlist" combine="interleave">
4752     <attribute name="table:field-number">
4753         <ref name="nonNegativeInteger"/>
4754     </attribute>
4755 </define>
4756 <define name="table-subtotal-field-attlist" combine="interleave">
4757     <attribute name="table:function">
4758         <choice>
4759             <value>auto</value>
4760             <value>average</value>
4761             <value>count</value>
4762             <value>countnums</value>
4763             <value>max</value>
4764             <value>min</value>
4765             <value>product</value>
4766             <value>stdev</value>
4767             <value>stdevp</value>
4768             <value>sum</value>
4769             <value>var</value>
4770             <value>varp</value>
4771             <ref name="string"/>
4772         </choice>
4773     </attribute>
4774 </define>
4775 <define name="table-filter">
4776     <element name="table:filter">
4777         <ref name="table-filter-attlist"/>
4778         <choice>
4779             <ref name="table-filter-condition"/>
4780             <ref name="table-filter-and"/>
4781             <ref name="table-filter-or"/>
4782         </choice>
4783     </element>
4784 </define>
4785 <define name="table-filter-attlist" combine="interleave">
4786     <optional>
4787         <attribute name="table:target-range-address">
4788             <ref name="cellRangeAddress"/>
4789         </attribute>
4790     </optional>
4791 </define>
4792 <define name="table-filter-attlist" combine="interleave">
4793     <optional>
4794         <attribute name="table:condition-source" a:defaultValue="self">
4795             <choice>
4796                 <value>self</value>
4797                 <value>cell-range</value>
4798             </choice>
4799         </attribute>
4800     </optional>
4801 </define>
4802 <define name="table-filter-attlist" combine="interleave">
4803     <optional>
4804         <attribute name="table:condition-source-range-address">
4805             <ref name="cellRangeAddress"/>
4806         </attribute>
4807     </optional>
4808 </define>
4809 <define name="table-filter-attlist" combine="interleave">
4810     <optional>
4811         <attribute name="table:display-multiples" a:defaultValue="true">
4812             <ref name="boolean"/>
4813         </attribute>
4814     </optional>
4815 </define>
4816 <define name="table-filter-and">
4817     <element name="table:filter-and">
4818         <oneOrMore>
4819             <choice>
4820                 <ref name="table-filter-or"/>
4821                 <ref name="table-filter-condition"/>
4822             </choice>
4823         </oneOrMore>
4824     </element>
4825 </define>
4826 <define name="table-filter-or">
4827     <element name="table:filter-or">
4828         <oneOrMore>
4829             <choice>
4830                 <ref name="table-filter-and"/>
4831                 <ref name="table-filter-condition"/>
4832             </choice>
4833         </oneOrMore>
4834     </element>
4835 </define>
4836 <define name="table-filter-condition">
4837     <element name="table:filter-condition">
4838         <ref name="table-filter-condition-attlist"/>
4839         <empty/>
4840     </element>
4841 </define>
4842 <define name="table-filter-condition-attlist" combine="interleave">
4843     <attribute name="table:field-number">    
4844         <ref name="nonNegativeInteger"/>
4845     </attribute>
4846 </define>
4847 <define name="table-filter-condition-attlist" combine="interleave">
4848     <attribute name="table:value">    
4849         <ref name="string"/>
4850     </attribute>
4851 </define>
4852 <define name="table-filter-condition-attlist" combine="interleave">
4853     <attribute name="table:operator">    
4854         <ref name="string"/>
4855     </attribute>
4856 </define>
4857 <define name="table-filter-condition-attlist" combine="interleave">
4858     <optional>
4859         <attribute name="table:case-sensitive" a:defaultValue="false">    
4860             <ref name="string"/>
4861         </attribute>
4862     </optional>
4863 </define>
4864 <define name="table-filter-condition-attlist" combine="interleave">
4865     <optional>
4866         <attribute name="table:data-type" a:defaultValue="text">
4867             <choice>
4868                 <value>text</value>
4869                 <value>number</value>
4870             </choice>
4871         </attribute>
4872     </optional>
4873 </define>
4874 <define name="table-data-pilot-tables">
4875     <element name="table:data-pilot-tables">
4876         <zeroOrMore>
4877             <ref name="table-data-pilot-table"/>
4878         </zeroOrMore>
4879     </element>
4880 </define>
4881 <define name="table-data-pilot-table">
4882     <element name="table:data-pilot-table">
4883         <ref name="table-data-pilot-table-attlist"/>
4884         <optional>
4885             <choice>
4886                 <ref name="table-database-source-sql"/>
4887                 <ref name="table-database-source-table"/>
4888                 <ref name="table-database-source-query"/>
4889                 <ref name="table-source-service"/>
4890                 <ref name="table-source-cell-range"/>
4891             </choice>
4892         </optional>
4893         <oneOrMore>
4894             <ref name="table-data-pilot-field"/>
4895         </oneOrMore>
4896     </element>
4897 </define>
4898 <define name="table-data-pilot-table-attlist" combine="interleave">
4899     <attribute name="table:name">
4900         <ref name="string"/>
4901     </attribute>
4902 </define>
4903 <define name="table-data-pilot-table-attlist" combine="interleave">
4904     <optional>
4905         <attribute name="table:application-data">
4906             <ref name="string"/>
4907         </attribute>
4908     </optional>
4909 </define>
4910 <define name="table-data-pilot-table-attlist" combine="interleave">
4911     <optional>
4912         <attribute name="table:grand-total" a:defaultValue="both">
4913             <choice>
4914                 <value>none</value>
4915                 <value>row</value>
4916                 <value>column</value>
4917                 <value>both</value>
4918             </choice>
4919         </attribute>
4920     </optional>
4921 </define>
4922 <define name="table-data-pilot-table-attlist" combine="interleave">
4923     <optional>
4924         <attribute name="table:ignore-empty-rows" a:defaultValue="false">    
4925             <ref name="boolean"/>
4926         </attribute>
4927     </optional>
4928 </define>
4929 <define name="table-data-pilot-table-attlist" combine="interleave">
4930     <optional>
4931         <attribute name="table:identify-categories" a:defaultValue="false">    
4932             <ref name="boolean"/>
4933         </attribute>
4934     </optional>
4935 </define>
4936 <define name="table-data-pilot-table-attlist" combine="interleave">
4937     <attribute name="table:target-range-address">    
4938         <ref name="cellRangeAddress"/>
4939     </attribute>
4940 </define>
4941 <define name="table-data-pilot-table-attlist" combine="interleave">
4942     <optional>
4943         <attribute name="table:buttons">    
4944             <ref name="cellRangeAddressList"/>
4945         </attribute>
4946     </optional>
4947 </define>
4948 <define name="table-data-pilot-table-attlist" combine="interleave">
4949     <optional>
4950         <attribute name="table:show-filter-button" a:defaultValue="true">    
4951             <ref name="boolean"/>
4952         </attribute>
4953     </optional>
4954 </define>
4955 <define name="table-data-pilot-table-attlist" combine="interleave">
4956     <optional>
4957         <attribute name="table:drill-down-on-double-click"
4958                    a:defaultValue="true">    
4959             <ref name="boolean"/>
4960         </attribute>
4961     </optional>
4962 </define>
4963 <define name="table-source-cell-range">
4964     <element name="table:source-cell-range">
4965         <ref name="table-source-cell-range-attlist"/>
4966         <optional>
4967             <ref name="table-filter"/>
4968         </optional>
4969     </element>
4970 </define>
4971 <define name="table-source-cell-range-attlist" combine="interleave">
4972     <attribute name="table:cell-range-address">    
4973         <ref name="cellRangeAddress"/>
4974     </attribute>
4975 </define>
4976 <define name="table-source-service">
4977     <element name="table:source-service">
4978         <ref name="table-source-service-attlist"/>
4979         <empty/>
4980     </element>
4981 </define>
4982 <define name="table-source-service-attlist" combine="interleave">
4983     <attribute name="table:name">    
4984         <ref name="string"/>
4985     </attribute>
4986 </define>
4987 <define name="table-source-service-attlist" combine="interleave">
4988     <attribute name="table:source-name">
4989         <ref name="string"/>
4990     </attribute>
4991 </define>
4992 <define name="table-source-service-attlist" combine="interleave">
4993     <attribute name="table:object-name">
4994         <ref name="string"/>
4995     </attribute>
4996 </define>
4997 <define name="table-source-service-attlist" combine="interleave">
4998     <optional>
4999         <attribute name="table:user-name">
5000             <ref name="string"/>
5001         </attribute>
5002     </optional>
5003 </define>
5004 <define name="table-source-service-attlist" combine="interleave">
5005     <optional>
5006         <attribute name="table:password">
5007             <ref name="string"/>
5008         </attribute>
5009     </optional>
5010 </define>
5011 <define name="table-data-pilot-field">
5012     <element name="table:data-pilot-field">
5013         <ref name="table-data-pilot-field-attlist"/>
5014         <optional>
5015             <ref name="table-data-pilot-level"/>
5016         </optional>
5017         <optional>
5018             <ref name="table-data-pilot-field-reference"/>
5019         </optional>
5020         <optional>
5021             <ref name="table-data-pilot-groups"/>
5022         </optional>
5023     </element>
5024 </define>
5025 <define name="table-data-pilot-field-attlist" combine="interleave">
5026     <attribute name="table:source-field-name">    
5027         <ref name="string"/>
5028     </attribute>
5029 </define>
5030 <define name="table-data-pilot-field-attlist" combine="interleave">
5031     <choice>
5032         <attribute name="table:orientation">    
5033             <choice>
5034                 <value>row</value>
5035                 <value>column</value>
5036                 <value>data</value>
5037                 <value>hidden</value>
5038             </choice>
5039         </attribute>
5040         <group>
5041             <attribute name="table:orientation">
5042                 <value>page</value>
5043             </attribute>
5044             <attribute name="table:selected-page">
5045                 <ref name="string"/>
5046             </attribute>
5047         </group>
5048     </choice>
5049 </define>
5050 <define name="table-data-pilot-field-attlist" combine="interleave">
5051     <optional>
5052         <attribute name="table:is-data-layout-field" a:defaultValue="false">    
5053             <ref name="string"/>
5054         </attribute>
5055     </optional>
5056 </define>
5057 <define name="table-data-pilot-field-attlist" combine="interleave">
5058     <optional>
5059         <attribute name="table:function">
5060             <choice>
5061                 <value>auto</value>
5062                 <value>average</value>
5063                 <value>count</value>
5064                 <value>countnums</value>
5065                 <value>max</value>
5066                 <value>min</value>
5067                 <value>product</value>
5068                 <value>stdev</value>
5069                 <value>stdevp</value>
5070                 <value>sum</value>
5071                 <value>var</value>
5072                 <value>varp</value>
5073                 <ref name="string"/>
5074             </choice>
5075         </attribute>
5076     </optional>
5077 </define>
5078 <define name="table-data-pilot-field-attlist" combine="interleave">
5079     <optional>
5080         <attribute name="table:used-hierarchy" a:defaultValue="-1">    
5081             <ref name="integer"/>
5082         </attribute>
5083     </optional>
5084 </define>
5085 <define name="table-data-pilot-level">
5086     <element name="table:data-pilot-level">
5087         <ref name="table-data-pilot-level-attlist"/>
5088         <optional>
5089             <ref name="table-data-pilot-subtotals"/>
5090         </optional>
5091         <optional>
5092             <ref name="table-data-pilot-members"/>
5093         </optional>
5094         <optional>
5095             <ref name="table-data-pilot-display-info"/>
5096         </optional>
5097         <optional>
5098             <ref name="table-data-pilot-sort-info"/>
5099         </optional>
5100         <optional>
5101             <ref name="table-data-pilot-layout-info"/>
5102         </optional>
5103     </element>
5104 </define>
5105 <define name="table-data-pilot-level-attlist" combine="interleave">
5106     <optional>
5107         <attribute name="table:show-empty">    
5108             <ref name="boolean"/>
5109         </attribute>
5110     </optional>
5111 </define>
5112 <define name="table-data-pilot-subtotals">
5113     <element name="table:data-pilot-subtotals">
5114         <zeroOrMore>
5115             <ref name="table-data-pilot-subtotal"/>
5116         </zeroOrMore>
5117     </element>
5118 </define>
5119 <define name="table-data-pilot-subtotal">
5120     <element name="table:data-pilot-subtotal">
5121         <ref name="table-data-pilot-subtotal-attlist"/>
5122         <empty/>
5123     </element>
5124 </define>
5125 <define name="table-data-pilot-subtotal-attlist" combine="interleave">
5126     <attribute name="table:function">
5127         <choice>
5128             <value>auto</value>
5129             <value>average</value>
5130             <value>count</value>
5131             <value>countnums</value>
5132             <value>max</value>
5133             <value>min</value>
5134             <value>product</value>
5135             <value>stdev</value>
5136             <value>stdevp</value>
5137             <value>sum</value>
5138             <value>var</value>
5139             <value>varp</value>
5140             <ref name="string"/>
5141         </choice>
5142     </attribute>
5143 </define>
5144 <define name="table-data-pilot-members">
5145     <element name="table:data-pilot-members">
5146         <zeroOrMore>
5147             <ref name="table-data-pilot-member"/>
5148         </zeroOrMore>
5149     </element>
5150 </define>
5151 <define name="table-data-pilot-member">
5152     <element name="table:data-pilot-member">
5153         <ref name="table-data-pilot-member-attlist"/>
5154         <empty/>
5155     </element>
5156 </define>
5157 <define name="table-data-pilot-member-attlist" combine="interleave">
5158     <attribute name="table:name">
5159         <ref name="string"/>
5160     </attribute>
5161 </define>
5162 <define name="table-data-pilot-member-attlist" combine="interleave">
5163     <optional>
5164         <attribute name="table:display">
5165             <ref name="boolean"/>
5166         </attribute>
5167     </optional>
5168 </define>
5169 <define name="table-data-pilot-member-attlist" combine="interleave">
5170     <optional>
5171         <attribute name="table:show-details">
5172             <ref name="boolean"/>
5173         </attribute>
5174     </optional>
5175 </define>
5176 <define name="table-data-pilot-display-info">
5177     <element name="table:data-pilot-display-info">
5178         <ref name="table-data-pilot-display-info-attlist"/>
5179         <empty/>
5180     </element>
5181 </define>
5182 <define name="table-data-pilot-display-info-attlist" combine="interleave">
5183     <attribute name="table:enabled">
5184         <ref name="boolean"/>
5185     </attribute>
5186 </define>
5187 <define name="table-data-pilot-display-info-attlist" combine="interleave">
5188     <attribute name="table:data-field">
5189         <ref name="string"/>
5190     </attribute>
5191 </define>
5192 <define name="table-data-pilot-display-info-attlist" combine="interleave">
5193     <attribute name="table:member-count">
5194         <ref name="nonNegativeInteger"/>
5195     </attribute>
5196 </define>
5197 <define name="table-data-pilot-display-info-attlist" combine="interleave">
5198     <attribute name="table:display-member-mode">
5199         <choice>
5200             <value>from-top</value>
5201             <value>from-bottom</value>
5202         </choice>
5203     </attribute>
5204 </define>
5205 <define name="table-data-pilot-sort-info">
5206     <element name="table:data-pilot-sort-info">
5207         <ref name="table-data-pilot-sort-info-attlist"/>
5208         <empty/>
5209     </element>
5210 </define>
5211 <define name="table-data-pilot-sort-info-attlist" combine="interleave">
5212     <choice>
5213         <group>
5214             <attribute name="table:sort-mode">
5215                 <value>data</value>
5216             </attribute>
5217             <attribute name="table:data-field">
5218                 <ref name="string"/>
5219             </attribute>
5220         </group>
5221         <attribute name="table:sort-mode">
5222             <choice>
5223                 <value>none</value>
5224                 <value>manual</value>
5225                 <value>name</value>
5226             </choice>
5227         </attribute>
5228     </choice>
5229 </define>
5230 <define name="table-data-pilot-sort-info-attlist" combine="interleave">
5231     <attribute name="table:order">
5232         <choice>
5233             <value>ascending</value>
5234             <value>descending</value>
5235         </choice>
5236     </attribute>
5237 </define>
5238 <define name="table-data-pilot-layout-info">
5239     <element name="table:data-pilot-layout-info">
5240         <ref name="table-data-pilot-layout-info-attlist"/>
5241         <empty/>
5242     </element>
5243 </define>
5244 <define name="table-data-pilot-layout-info-attlist" combine="interleave">
5245     <attribute name="table:layout-mode">
5246         <choice>
5247             <value>tabular-layout</value>
5248             <value>outline-subtotals-top</value>
5249             <value>outline-subtotals-bottom</value>
5250         </choice>
5251     </attribute>
5252 </define>
5253 <define name="table-data-pilot-layout-info-attlist" combine="interleave">
5254     <attribute name="table:add-empty-lines">
5255         <ref name="boolean"/>
5256     </attribute>
5257 </define>
5258 <define name="table-data-pilot-field-reference">
5259     <element name="table:data-pilot-field-reference">
5260         <ref name="table-data-pilot-field-reference-attlist"/>
5261     </element>
5262 </define>
5263 <define name="table-data-pilot-field-reference-attlist" combine="interleave">
5264     <attribute name="table:field-name">
5265         <ref name="string"/>
5266     </attribute>
5267 </define>
5268 <define name="table-data-pilot-field-reference-attlist" combine="interleave">
5269     <choice>
5270         <group>
5271             <attribute name="table:member-type">
5272                 <value>named</value>
5273             </attribute>
5274             <attribute name="table:member-name">
5275                 <ref name="string"/>
5276             </attribute>
5277         </group>
5278         <attribute name="table:member-type">
5279             <choice>
5280                 <value>previous</value>
5281                 <value>next</value>
5282             </choice>
5283         </attribute>
5284     </choice>
5285 </define>
5286 <define name="table-data-pilot-field-reference-attlist" combine="interleave">
5287     <attribute name="table:type">
5288         <choice>
5289             <value>none</value>
5290             <value>member-difference</value>
5291             <value>member-percentage</value>
5292             <value>member-percentage-difference</value>
5293             <value>running-total</value>
5294             <value>row-percentage</value>
5295             <value>column-percentage</value>
5296             <value>total-percentage</value>
5297             <value>index</value>
5298         </choice>
5299     </attribute>
5300 </define>
5301 <define name="table-data-pilot-groups">
5302     <element name="table:data-pilot-groups">
5303         <ref name="table-data-pilot-groups-attlist"/>
5304         <oneOrMore>
5305             <ref name="table-data-pilot-group"/>
5306         </oneOrMore>
5307     </element>
5308 </define>
5309 <define name="table-data-pilot-groups-attlist" combine="interleave">
5310     <attribute name="table:source-field-name">
5311         <ref name="string"/>
5312     </attribute>
5313 </define>
5314 <define name="table-data-pilot-groups-attlist" combine="interleave">
5315     <choice>
5316         <attribute name="table:date-start">
5317             <choice>
5318                 <ref name="dateOrDateTime"/>
5319                 <value>auto</value>
5320             </choice>
5321         </attribute>
5322         <attribute name="table:start">
5323             <choice>
5324                 <ref name="double"/>
5325                 <value>auto</value>
5326             </choice>
5327         </attribute>
5328     </choice>
5329 </define>
5330 <define name="table-data-pilot-groups-attlist" combine="interleave">
5331     <choice>
5332         <attribute name="table:date-end">
5333             <choice>
5334                 <ref name="dateOrDateTime"/>
5335                 <value>auto</value>
5336             </choice>
5337         </attribute>
5338         <attribute name="table:end">
5339             <choice>
5340                 <ref name="double"/>
5341                 <value>auto</value>
5342             </choice>
5343         </attribute>
5344     </choice>
5345 </define>
5346 <define name="table-data-pilot-groups-attlist" combine="interleave">
5347     <attribute name="table:step">
5348         <ref name="double"/>
5349     </attribute>
5350 </define>
5351 <define name="table-data-pilot-groups-attlist" combine="interleave">
5352     <attribute name="table:grouped-by">
5353         <choice>
5354             <value>seconds</value>
5355             <value>minutes</value>
5356             <value>hours</value>
5357             <value>days</value>
5358             <value>months</value>
5359             <value>quarters</value>
5360             <value>years</value>
5361         </choice>
5362     </attribute>
5363 </define>
5364 <define name="table-data-pilot-group">
5365     <element name="table:data-pilot-group">
5366         <ref name="table-data-pilot-group-attlist"/>
5367         <oneOrMore>
5368             <ref name="table-data-pilot-group-member"/>
5369         </oneOrMore>
5370     </element>
5371 </define>
5372 <define name="table-data-pilot-group-attlist" combine="interleave">
5373     <attribute name="table:name">
5374         <ref name="string"/>
5375     </attribute>
5376 </define>
5377 <define name="table-data-pilot-group-member">
5378     <element name="table:data-pilot-group-member">
5379         <ref name="table-data-pilot-group-member-attlist"/>
5380     </element>
5381 </define>
5382 <define name="table-data-pilot-group-member-attlist" combine="interleave">
5383     <attribute name="table:name">
5384         <ref name="string"/>
5385     </attribute>
5386 </define>
5387 <define name="table-consolidation">
5388     <element name="table:consolidation">
5389         <ref name="table-consolidation-attlist"/>
5390         <empty/>
5391     </element>
5392 </define>
5393 <define name="table-consolidation-attlist" combine="interleave">
5394     <attribute name="table:function">    
5395         <choice>
5396             <value>auto</value>
5397             <value>average</value>
5398             <value>count</value>
5399             <value>countnums</value>
5400             <value>max</value>
5401             <value>min</value>
5402             <value>product</value>
5403             <value>stdev</value>
5404             <value>stdevp</value>
5405             <value>sum</value>
5406             <value>var</value>
5407             <value>varp</value>
5408             <ref name="string"/>
5409         </choice>
5410     </attribute>
5411 </define>
5412 <define name="table-consolidation-attlist" combine="interleave">
5413     <attribute name="table:source-cell-range-addresses">    
5414         <ref name="cellRangeAddressList"/>
5415     </attribute>
5416 </define>
5417 <define name="table-consolidation-attlist" combine="interleave">
5418     <attribute name="table:target-cell-address">    
5419         <ref name="cellAddress"/>
5420     </attribute>
5421 </define>
5422 <define name="table-consolidation-attlist" combine="interleave">
5423     <optional>
5424         <attribute name="table:use-labels" a:defaultValue="none">
5425             <choice>
5426                 <value>none</value>
5427                 <value>row</value>
5428                 <value>column</value>
5429                 <value>both</value>
5430             </choice>
5431         </attribute>
5432     </optional>
5433 </define>
5434 <define name="table-consolidation-attlist" combine="interleave">
5435     <optional>
5436         <attribute name="table:link-to-source-data" a:defaultValue="false">
5437             <ref name="boolean"/>
5438         </attribute>
5439     </optional>
5440 </define>
5441 <define name="table-dde-links">
5442     <element name="table:dde-links">
5443         <oneOrMore>
5444             <ref name="table-dde-link"/>
5445         </oneOrMore>
5446     </element>
5447 </define>
5448 <define name="table-tracked-changes">
5449     <element name="table:tracked-changes">
5450         <ref name="table-tracked-changes-attlist"/>
5451         <zeroOrMore>
5452             <choice>
5453                 <ref name="table-cell-content-change"/>
5454                 <ref name="table-insertion"/>
5455                 <ref name="table-deletion"/>
5456                 <ref name="table-movement"/>
5457             </choice>
5458         </zeroOrMore>
5459     </element>
5460 </define>
5461 <define name="table-tracked-changes-attlist" combine="interleave">
5462     <optional>
5463         <attribute name="table:track-changes" a:defaultValue="false">
5464             <ref name="boolean"/>
5465         </attribute>
5466     </optional>
5467 </define>
5468 <define name="table-insertion">
5469     <element name="table:insertion">
5470         <ref name="table-insertion-attlist"/>
5471         <ref name="common-table-change-attlist"/>
5472         <ref name="office-change-info"/>
5473         <optional>
5474             <ref name="table-dependencies"/>
5475         </optional>
5476         <optional>
5477             <ref name="table-deletions"/>
5478         </optional>
5479     </element>
5480 </define>
5481 <define name="table-insertion-attlist" combine="interleave">
5482     <attribute name="table:type">
5483         <choice>
5484             <value>row</value>
5485             <value>column</value>
5486             <value>table</value>
5487         </choice>
5488     </attribute>
5489 </define>
5490 <define name="table-insertion-attlist" combine="interleave">
5491     <attribute name="table:position">
5492         <ref name="integer"/>
5493     </attribute>
5494 </define>
5495 <define name="table-insertion-attlist" combine="interleave">
5496     <optional>
5497         <attribute name="table:count" a:defaultValue="1">
5498             <ref name="positiveInteger"/>
5499         </attribute>
5500     </optional>
5501 </define>
5502 <define name="table-insertion-attlist" combine="interleave">
5503     <optional>
5504         <attribute name="table:table">
5505             <ref name="integer"/>
5506         </attribute>
5507     </optional>
5508 </define>
5509 <define name="table-dependencies">
5510     <element name="table:dependencies">
5511         <oneOrMore>
5512             <ref name="table-dependency"/>
5513         </oneOrMore>
5514     </element>
5515 </define>
5516 <define name="table-dependency">
5517     <element name="table:dependency">
5518         <attribute name="table:id">
5519             <ref name="string"/>
5520         </attribute>
5521         <empty/>
5522     </element>
5523 </define>
5524 <define name="table-deletions">
5525     <element name="table:deletions">
5526         <oneOrMore>
5527             <choice>
5528                 <ref name="table-cell-content-deletion"/>
5529                 <ref name="table-change-deletion"/>
5530             </choice>
5531         </oneOrMore>
5532     </element>
5533 </define>
5534 <define name="table-cell-content-deletion">
5535     <element name="table:cell-content-deletion">
5536         <optional>
5537             <attribute name="table:id">
5538                 <ref name="string"/>
5539             </attribute>
5540         </optional>
5541         <optional>
5542             <ref name="table-cell-address"/>
5543         </optional>
5544         <optional>
5545             <ref name="table-change-track-table-cell"/>
5546         </optional>
5547     </element>
5548 </define>
5549 <define name="table-change-deletion">
5550     <element name="table:change-deletion">
5551         <optional>
5552             <attribute name="table:id">
5553                 <ref name="string"/>
5554             </attribute>
5555         </optional>
5556         <empty/>
5557     </element>
5558 </define>
5559 <define name="table-deletion">
5560     <element name="table:deletion">
5561         <ref name="table-deletion-attlist"/>
5562         <ref name="common-table-change-attlist"/>
5563         <ref name="office-change-info"/>
5564         <optional>
5565             <ref name="table-dependencies"/>
5566         </optional>
5567         <optional>
5568             <ref name="table-deletions"/>
5569         </optional>
5570         <optional>
5571             <ref name="table-cut-offs"/>
5572         </optional>
5573     </element>
5574 </define>
5575 <define name="table-deletion-attlist" combine="interleave">
5576     <attribute name="table:type">
5577         <choice>
5578             <value>row</value>
5579             <value>column</value>
5580             <value>table</value>
5581         </choice>
5582     </attribute>
5583 </define>
5584 <define name="table-deletion-attlist" combine="interleave">
5585     <attribute name="table:position">
5586         <ref name="integer"/>
5587     </attribute>
5588 </define>
5589 <define name="table-deletion-attlist" combine="interleave">
5590     <optional>
5591         <attribute name="table:table">
5592             <ref name="integer"/>
5593         </attribute>
5594     </optional>
5595 </define>
5596 <define name="table-deletion-attlist" combine="interleave">
5597     <optional>
5598         <attribute name="table:multi-deletion-spanned">
5599             <ref name="integer"/>
5600         </attribute>
5601     </optional>
5602 </define>
5603 <define name="table-cut-offs">
5604     <element name="table:cut-offs">
5605         <choice>
5606             <oneOrMore>
5607                 <ref name="table-movement-cut-off"/>
5608             </oneOrMore>
5609             <group>
5610                 <ref name="table-insertion-cut-off"/>
5611                 <zeroOrMore>
5612                     <ref name="table-movement-cut-off"/>
5613                 </zeroOrMore>
5614             </group>
5615         </choice>
5616     </element>
5617 </define>
5618 <define name="table-insertion-cut-off">
5619     <element name="table:insertion-cut-off">
5620         <ref name="table-insertion-cut-off-attlist"/>
5621         <empty/>
5622     </element>
5623 </define>
5624 <define name="table-insertion-cut-off-attlist" combine="interleave">
5625     <attribute name="table:id">
5626         <ref name="string"/>
5627     </attribute>
5628 </define>
5629 <define name="table-insertion-cut-off-attlist" combine="interleave">
5630     <attribute name="table:position">
5631         <ref name="integer"/>
5632     </attribute>
5633 </define>
5634 <define name="table-movement-cut-off">
5635     <element name="table:movement-cut-off">
5636         <ref name="table-movement-cut-off-attlist"/>
5637         <empty/>
5638     </element>
5639 </define>
5640 <define name="table-movement-cut-off-attlist" combine="interleave">
5641     <choice>
5642         <attribute name="table:position">
5643             <ref name="integer"/>
5644         </attribute>
5645         <group>
5646             <attribute name="table:start-position">
5647                 <ref name="integer"/>
5648             </attribute>
5649             <attribute name="table:end-position">
5650                 <ref name="integer"/>
5651             </attribute>
5652         </group>
5653     </choice>
5654 </define>
5655 <define name="table-movement">
5656     <element name="table:movement">
5657         <ref name="common-table-change-attlist"/>
5658         <ref name="table-source-range-address"/>
5659         <ref name="table-target-range-address"/>
5660         <ref name="office-change-info"/>
5661         <optional>
5662             <ref name="table-dependencies"/>
5663         </optional>
5664         <optional>
5665             <ref name="table-deletions"/>
5666         </optional>
5667     </element>
5668 </define>
5669 <define name="table-source-range-address">
5670     <element name="table:source-range-address">
5671         <ref name="common-table-range-attlist"/>
5672         <empty/>
5673     </element>
5674 </define>
5675 
5676 <define name="table-target-range-address">
5677     <element name="table:target-range-address">
5678         <ref name="common-table-range-attlist"/>
5679         <empty/>
5680     </element>
5681 </define>
5682 
5683 
5684 <define name="common-table-range-attlist" combine="interleave">
5685     <choice>
5686         <group>
5687             <ref name="common-table-cell-address-attlist"/>
5688         </group>
5689         <group>
5690             <ref name="common-table-cell-range-address-attlist"/>
5691         </group>
5692     </choice>
5693 </define>
5694 <define name="common-table-cell-address-attlist" combine="interleave">
5695     <attribute name="table:column">
5696         <ref name="integer"/>
5697     </attribute>
5698     <attribute name="table:row">
5699         <ref name="integer"/>
5700     </attribute>
5701     <attribute name="table:table">
5702         <ref name="integer"/>
5703     </attribute>
5704 </define>
5705 <define name="common-table-cell-range-address-attlist" combine="interleave">
5706     <attribute name="table:start-column">
5707         <ref name="integer"/>
5708     </attribute>
5709     <attribute name="table:start-row">
5710         <ref name="integer"/>
5711     </attribute>
5712     <attribute name="table:start-table">
5713         <ref name="integer"/>
5714     </attribute>
5715     <attribute name="table:end-column">
5716         <ref name="integer"/>
5717     </attribute>
5718     <attribute name="table:end-row">
5719         <ref name="integer"/>
5720     </attribute>
5721     <attribute name="table:end-table">
5722         <ref name="integer"/>
5723     </attribute>
5724 </define>
5725 <define name="table-change-track-table-cell" combine="interleave">
5726     <element name="table:change-track-table-cell">
5727         <ref name="table-change-track-table-cell-attlist"/>
5728         <zeroOrMore>
5729             <ref name="text-p"/>
5730         </zeroOrMore>
5731     </element>
5732 </define>
5733 <define name="table-change-track-table-cell-attlist" combine="interleave">
5734     <optional>
5735         <attribute name="table:cell-address">
5736             <ref name="cellAddress"/>
5737         </attribute>
5738     </optional>
5739 </define>
5740 <define name="table-change-track-table-cell-attlist" combine="interleave">
5741     <optional>
5742         <attribute name="table:matrix-covered" a:defaultValue="false">
5743             <ref name="boolean"/>
5744         </attribute>
5745     </optional>
5746 </define>
5747 <define name="table-change-track-table-cell-attlist" combine="interleave">
5748     <optional>
5749         <attribute name="table:formula">
5750             <ref name="string"/>
5751         </attribute>
5752     </optional>
5753     <optional>
5754         <attribute name="table:number-matrix-columns-spanned">
5755             <ref name="positiveInteger"/>
5756         </attribute>
5757     </optional>
5758     <optional>
5759         <attribute name="table:number-matrix-rows-spanned">
5760             <ref name="positiveInteger"/>
5761         </attribute>
5762     </optional>
5763     <optional>
5764         <ref name="common-value-and-type-attlist"/>
5765     </optional>
5766 </define>
5767 <define name="table-cell-content-change">
5768     <element name="table:cell-content-change">
5769         <ref name="common-table-change-attlist"/>
5770         <ref name="table-cell-address"/>
5771         <ref name="office-change-info"/>
5772         <optional>
5773             <ref name="table-dependencies"/>
5774         </optional>
5775         <optional>
5776             <ref name="table-deletions"/>
5777         </optional>
5778         <ref name="table-previous"/>
5779     </element>
5780 </define>
5781 <define name="table-cell-address">
5782     <element name="table:cell-address">
5783         <ref name="common-table-cell-address-attlist"/>
5784         <empty/>
5785     </element>
5786 </define>
5787 <define name="table-previous">
5788     <element name="table:previous">
5789         <optional>
5790             <attribute name="table:id">
5791                 <ref name="string"/>
5792             </attribute>
5793         </optional>
5794         <ref name="table-change-track-table-cell"/>
5795     </element>
5796 </define>
5797 <define name="common-table-change-attlist" combine="interleave">
5798     <attribute name="table:id">
5799         <ref name="string"/>
5800     </attribute>
5801 </define>
5802 <define name="common-table-change-attlist" combine="interleave">
5803     <optional>
5804         <attribute name="table:acceptance-state" a:defaultValue="pending">
5805             <choice>
5806                 <value>accepted</value>
5807                 <value>rejected</value>
5808                 <value>pending</value>
5809             </choice>
5810         </attribute>
5811     </optional>
5812 </define>
5813 <define name="common-table-change-attlist" combine="interleave">
5814     <optional>
5815         <attribute name="table:rejecting-change-id">
5816             <ref name="string"/> 
5817         </attribute>
5818     </optional>
5819 </define>
5820 <define name="style-handout-master">
5821     <element name="style:handout-master">
5822         <ref name="common-presentation-header-footer-attlist"/>
5823         <ref name="style-handout-master-attlist"/>
5824         <zeroOrMore>
5825             <ref name="shape"/>
5826         </zeroOrMore>
5827     </element>
5828 </define>
5829 <define name="style-handout-master-attlist" combine="interleave">
5830     <optional>
5831         <attribute name="presentation:presentation-page-layout-name">
5832             <ref name="styleNameRef"/>
5833         </attribute>
5834     </optional>
5835 </define>
5836 <define name="style-handout-master-attlist" combine="interleave">
5837     <attribute name="style:page-layout-name">
5838         <ref name="styleNameRef"/>
5839     </attribute>
5840 </define>
5841 <define name="style-handout-master-attlist" combine="interleave">
5842     <optional>
5843         <attribute name="draw:style-name">
5844             <ref name="styleNameRef"/>
5845         </attribute>
5846     </optional>
5847 </define>
5848 <define name="draw-layer-set">
5849     <element name="draw:layer-set">
5850         <zeroOrMore>
5851             <ref name="draw-layer"/>
5852         </zeroOrMore>
5853     </element>
5854 </define>
5855 <define name="draw-layer">
5856     <element name="draw:layer">
5857         <ref name="draw-layer-attlist"/>
5858         <optional>
5859             <ref name="svg-title"/>
5860         </optional>
5861         <optional>
5862             <ref name="svg-desc"/>
5863         </optional>
5864     </element>
5865 </define>
5866 <define name="draw-layer-attlist" combine="interleave">
5867     <attribute name="draw:name">
5868         <ref name="string"/>
5869     </attribute>
5870 </define>
5871 <define name="draw-layer-attlist" combine="interleave">
5872     <optional>
5873         <attribute name="draw:protected" a:defaultValue="false">
5874             <ref name="boolean"/>
5875         </attribute>
5876     </optional>
5877 </define>
5878 <define name="draw-layer-attlist" combine="interleave">
5879     <optional>
5880         <attribute name="draw:display" a:defaultValue="always">
5881             <choice>
5882                 <value>always</value>
5883                 <value>screen</value>
5884                 <value>printer</value>
5885                 <value>none</value>
5886             </choice>
5887         </attribute>
5888     </optional>
5889 </define>
5890 <define name="draw-page">
5891     <element name="draw:page">
5892         <ref name="common-presentation-header-footer-attlist"/>
5893         <ref name="draw-page-attlist"/>
5894         <optional>
5895             <ref name="office-forms"/>
5896         </optional>
5897         <zeroOrMore>
5898             <ref name="shape"/>
5899         </zeroOrMore>
5900         <optional>
5901             <choice>
5902                 <ref name="presentation-animations"/>
5903                 <ref name="animation-element"/>
5904             </choice>
5905         </optional>
5906         <optional>
5907             <ref name="presentation-notes"/>
5908         </optional>
5909     </element>
5910 </define>
5911 <define name="draw-page-attlist" combine="interleave">
5912     <optional>
5913         <attribute name="draw:name">
5914             <ref name="string"/>
5915         </attribute>
5916     </optional>
5917 </define>
5918 <define name="draw-page-attlist" combine="interleave">
5919     <optional>
5920         <attribute name="draw:style-name">
5921             <ref name="styleNameRef"/>
5922         </attribute>
5923     </optional>
5924 </define>
5925 <define name="draw-page-attlist" combine="interleave">
5926     <attribute name="draw:master-page-name">
5927         <ref name="styleNameRef"/>
5928     </attribute>
5929 </define>
5930 <define name="draw-page-attlist" combine="interleave">
5931     <optional>
5932         <attribute name="presentation:presentation-page-layout-name">
5933             <ref name="styleNameRef"/>
5934         </attribute>
5935     </optional>
5936 </define>
5937 <define name="common-presentation-header-footer-attlist" combine="interleave">
5938     <optional>
5939         <attribute name="presentation:use-header-name">
5940             <ref name="string"/>
5941         </attribute>
5942     </optional>
5943 </define>
5944 <define name="common-presentation-header-footer-attlist" combine="interleave">
5945     <optional>
5946         <attribute name="presentation:use-footer-name">
5947             <ref name="string"/>
5948         </attribute>
5949     </optional>
5950 </define>
5951 <define name="common-presentation-header-footer-attlist" combine="interleave">
5952     <optional>
5953         <attribute name="presentation:use-date-time-name">
5954             <ref name="string"/>
5955         </attribute>
5956     </optional>
5957 </define>
5958 <define name="draw-page-attlist" combine="interleave">
5959     <optional>
5960         <attribute name="draw:id">
5961             <ref name="ID"/>
5962         </attribute>
5963     </optional>
5964 </define>
5965 <define name="draw-page-attlist" combine="interleave">
5966     <optional>
5967         <attribute name="draw:nav-order">
5968             <ref name="IDREFS"/>
5969         </attribute>
5970     </optional>
5971 </define>
5972 <define name="shape">
5973     <choice>
5974         <ref name="draw-rect"/>
5975         <ref name="draw-line"/>
5976         <ref name="draw-polyline"/>
5977         <ref name="draw-polygon"/>
5978         <ref name="draw-regular-polygon"/>
5979         <ref name="draw-path"/>
5980         <ref name="draw-circle"/>
5981         <ref name="draw-ellipse"/>
5982         <ref name="draw-g"/>
5983         <ref name="draw-page-thumbnail"/>
5984         <ref name="draw-frame"/>
5985         <ref name="draw-measure"/>
5986         <ref name="draw-caption"/>
5987         <ref name="draw-connector"/>
5988         <ref name="draw-control"/>
5989         <ref name="dr3d-scene"/>
5990         <ref name="draw-custom-shape"/>
5991     </choice>
5992 </define>
5993 <define name="draw-rect">
5994     <element name="draw:rect">
5995         <ref name="draw-rect-attlist"/>
5996         <ref name="common-draw-position-attlist"/>
5997         <ref name="common-draw-size-attlist"/>
5998         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
5999         <ref name="common-draw-caption-id-attlist"/>
6000         <optional>
6001             <ref name="svg-title"/>
6002         </optional>
6003         <optional>
6004             <ref name="svg-desc"/>
6005         </optional>
6006         <optional>
6007             <ref name="office-event-listeners"/>
6008         </optional>
6009         <zeroOrMore>
6010             <ref name="draw-glue-point"/>
6011         </zeroOrMore>
6012         <ref name="draw-text"/>
6013     </element>
6014 </define>
6015 <define name="draw-rect-attlist" combine="interleave">
6016     <optional>
6017         <attribute name="draw:corner-radius">
6018             <ref name="nonNegativeLength"/>
6019         </attribute>
6020     </optional>
6021 </define>
6022 <define name="draw-line">
6023     <element name="draw:line">
6024         <ref name="draw-line-attlist"/>
6025         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6026         <ref name="common-draw-caption-id-attlist"/>
6027         <optional>
6028             <ref name="svg-title"/>
6029         </optional>
6030         <optional>
6031             <ref name="svg-desc"/>
6032         </optional>
6033         <optional>
6034             <ref name="office-event-listeners"/>
6035         </optional>
6036         <zeroOrMore>
6037             <ref name="draw-glue-point"/>
6038         </zeroOrMore>
6039         <ref name="draw-text"/>
6040     </element>
6041 </define>
6042 <define name="draw-line-attlist" combine="interleave">
6043     <attribute name="svg:x1">
6044         <ref name="coordinate"/>
6045     </attribute>
6046     <attribute name="svg:y1">
6047         <ref name="coordinate"/>
6048     </attribute>
6049 </define>
6050 <define name="draw-line-attlist" combine="interleave">
6051     <attribute name="svg:x2">
6052         <ref name="coordinate"/>
6053     </attribute>
6054     <attribute name="svg:y2">
6055         <ref name="coordinate"/>
6056     </attribute>
6057 </define>
6058 <define name="draw-polyline">
6059     <element name="draw:polyline">
6060         <ref name="common-draw-points-attlist"/>
6061         <ref name="common-draw-position-attlist"/>
6062         <ref name="common-draw-size-attlist"/>
6063         <ref name="common-draw-viewbox-attlist"/>
6064         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6065         <ref name="common-draw-caption-id-attlist"/>
6066         <optional>
6067             <ref name="svg-title"/>
6068         </optional>
6069         <optional>
6070             <ref name="svg-desc"/>
6071         </optional>
6072         <optional>
6073             <ref name="office-event-listeners"/>
6074         </optional>
6075         <zeroOrMore>
6076             <ref name="draw-glue-point"/>
6077         </zeroOrMore>
6078         <ref name="draw-text"/>
6079     </element>
6080 </define>
6081 <define name="common-draw-points-attlist">
6082     <attribute name="draw:points">
6083         <ref name="points"/>
6084     </attribute>
6085 </define>
6086 <define name="draw-polygon">
6087     <element name="draw:polygon">
6088         <ref name="common-draw-points-attlist"/>
6089         <ref name="common-draw-position-attlist"/>
6090         <ref name="common-draw-size-attlist"/>
6091         <ref name="common-draw-viewbox-attlist"/>
6092         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6093         <ref name="common-draw-caption-id-attlist"/>
6094         <optional>
6095             <ref name="svg-title"/>
6096         </optional>
6097         <optional>
6098             <ref name="svg-desc"/>
6099         </optional>
6100         <optional>
6101             <ref name="office-event-listeners"/>
6102         </optional>
6103         <zeroOrMore>
6104             <ref name="draw-glue-point"/>
6105         </zeroOrMore>
6106         <ref name="draw-text"/>
6107     </element>
6108 </define>
6109 <define name="draw-regular-polygon">
6110     <element name="draw:regular-polygon">
6111         <ref name="draw-regular-polygon-attlist"/>
6112         <ref name="common-draw-position-attlist"/>
6113         <ref name="common-draw-size-attlist"/>
6114         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6115         <ref name="common-draw-caption-id-attlist"/>
6116         <optional>
6117             <ref name="svg-title"/>
6118         </optional>
6119         <optional>
6120             <ref name="svg-desc"/>
6121         </optional>
6122         <optional>
6123             <ref name="office-event-listeners"/>
6124         </optional>
6125         <zeroOrMore>
6126             <ref name="draw-glue-point"/>
6127         </zeroOrMore>
6128         <ref name="draw-text"/>
6129     </element>
6130 </define>
6131 <define name="draw-regular-polygon-attlist" combine="interleave">
6132     <choice>
6133         <attribute name="draw:concave">
6134             <value>false</value>
6135         </attribute>
6136         <group>
6137             <attribute name="draw:concave">
6138                 <value>true</value>
6139             </attribute>
6140             <ref name="draw-regular-polygon-sharpness-attlist"/>
6141         </group>
6142     </choice>
6143 </define>
6144 <define name="draw-regular-polygon-attlist" combine="interleave">
6145     <attribute name="draw:corners">
6146         <ref name="positiveInteger"/>
6147     </attribute>
6148 </define>
6149 <define name="draw-regular-polygon-sharpness-attlist">
6150     <attribute name="draw:sharpness">
6151         <ref name="percent"/>
6152     </attribute>
6153 </define>
6154 <define name="draw-path">
6155     <element name="draw:path">
6156         <ref name="common-draw-path-data-attlist"/>
6157         <ref name="common-draw-position-attlist"/>
6158         <ref name="common-draw-size-attlist"/>
6159         <ref name="common-draw-viewbox-attlist"/>
6160         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6161         <ref name="common-draw-caption-id-attlist"/>
6162         <optional>
6163             <ref name="svg-title"/>
6164         </optional>
6165         <optional>
6166             <ref name="svg-desc"/>
6167         </optional>
6168         <optional>
6169             <ref name="office-event-listeners"/>
6170         </optional>
6171         <zeroOrMore>
6172             <ref name="draw-glue-point"/>
6173         </zeroOrMore>
6174         <ref name="draw-text"/>
6175     </element>
6176 </define>
6177 <define name="common-draw-path-data-attlist">
6178     <attribute name="svg:d">
6179         <ref name="pathData"/>
6180     </attribute>
6181 </define>
6182 <define name="draw-circle">
6183     <element name="draw:circle">
6184         <ref name="draw-circle-attlist"/>
6185         <ref name="common-draw-circle-ellipse-attlist"/>
6186         <ref name="common-draw-position-attlist"/>
6187         <ref name="common-draw-size-attlist"/>
6188         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6189         <ref name="common-draw-caption-id-attlist"/>
6190         <optional>
6191             <ref name="svg-title"/>
6192         </optional>
6193         <optional>
6194             <ref name="svg-desc"/>
6195         </optional>
6196         <optional>
6197             <ref name="office-event-listeners"/>
6198         </optional>
6199         <zeroOrMore>
6200             <ref name="draw-glue-point"/>
6201         </zeroOrMore>
6202         <ref name="draw-text"/>
6203     </element>
6204 </define>
6205 <define name="common-draw-circle-ellipse-attlist" combine="interleave">
6206     <optional>
6207         <attribute name="svg:cx">
6208             <ref name="coordinate"/>
6209         </attribute>
6210         <attribute name="svg:cy">
6211             <ref name="coordinate"/>
6212         </attribute>
6213     </optional>
6214 </define>
6215 <define name="draw-circle-attlist" combine="interleave">
6216     <optional>
6217         <attribute name="svg:r">
6218             <ref name="length"/>
6219         </attribute>
6220     </optional>
6221 </define>
6222 <define name="common-draw-circle-ellipse-attlist" combine="interleave">
6223     <optional>
6224         <attribute name="draw:kind" a:defaultValue="full">
6225             <choice>
6226                 <value>full</value>
6227                 <value>section</value>
6228                 <value>cut</value>
6229                 <value>arc</value>
6230             </choice>
6231         </attribute>
6232     </optional>
6233 </define>
6234 <define name="common-draw-circle-ellipse-attlist" combine="interleave">
6235     <optional>
6236         <attribute name="draw:start-angle">
6237             <ref name="double"/>
6238         </attribute>
6239     </optional>
6240 </define>
6241 <define name="common-draw-circle-ellipse-attlist" combine="interleave">
6242     <optional>
6243         <attribute name="draw:end-angle">
6244             <ref name="double"/>
6245         </attribute>
6246     </optional>
6247 </define>
6248 <define name="draw-ellipse">
6249     <element name="draw:ellipse">
6250         <ref name="common-draw-circle-ellipse-attlist"/>
6251         <ref name="draw-ellipse-attlist"/>
6252         <ref name="common-draw-position-attlist"/>
6253         <ref name="common-draw-size-attlist"/>
6254         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6255         <ref name="common-draw-caption-id-attlist"/>
6256         <optional>
6257             <ref name="svg-title"/>
6258         </optional>
6259         <optional>
6260             <ref name="svg-desc"/>
6261         </optional>
6262         <optional>
6263             <ref name="office-event-listeners"/>
6264         </optional>
6265         <zeroOrMore>
6266             <ref name="draw-glue-point"/>
6267         </zeroOrMore>
6268         <ref name="draw-text"/>
6269     </element>
6270 </define>
6271 <define name="draw-ellipse-attlist" combine="interleave">
6272     <optional>
6273         <attribute name="svg:rx">
6274             <ref name="length"/>
6275         </attribute>
6276         <attribute name="svg:ry">
6277             <ref name="length"/>
6278         </attribute>
6279     </optional>
6280 </define>
6281 <define name="draw-connector">
6282     <element name="draw:connector">
6283         <ref name="draw-connector-attlist"/>
6284         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6285         <ref name="common-draw-caption-id-attlist"/>
6286         <optional>
6287             <ref name="svg-title"/>
6288         </optional>
6289         <optional>
6290             <ref name="svg-desc"/>
6291         </optional>
6292         <optional>
6293             <ref name="office-event-listeners"/>
6294         </optional>
6295         <zeroOrMore>
6296             <ref name="draw-glue-point"/>
6297         </zeroOrMore>
6298         <ref name="draw-text"/>
6299     </element>
6300 </define>
6301 <define name="draw-connector-attlist" combine="interleave">
6302     <optional>
6303         <attribute name="draw:type" a:defaultValue="standard">
6304             <choice>
6305                 <value>standard</value>
6306                 <value>lines</value>
6307                 <value>line</value>
6308                 <value>curve</value>
6309             </choice>
6310         </attribute>
6311     </optional>
6312 </define>
6313 <define name="draw-connector-attlist" combine="interleave">
6314     <optional>
6315         <attribute name="svg:x1">
6316             <ref name="coordinate"/>
6317         </attribute>
6318         <attribute name="svg:y1">
6319             <ref name="coordinate"/>
6320         </attribute>
6321     </optional>
6322 </define>
6323 <define name="draw-connector-attlist" combine="interleave">
6324     <optional>
6325         <attribute name="draw:start-shape">
6326             <ref name="IDREF"/>
6327         </attribute>
6328     </optional>
6329 </define>
6330 <define name="draw-connector-attlist" combine="interleave">
6331     <optional>
6332         <attribute name="draw:start-glue-point">
6333             <ref name="nonNegativeInteger"/>
6334         </attribute>
6335     </optional>
6336 </define>
6337 <define name="draw-connector-attlist" combine="interleave">
6338     <optional>
6339         <attribute name="svg:x2">
6340             <ref name="coordinate"/>
6341         </attribute>
6342         <attribute name="svg:y2">
6343             <ref name="coordinate"/>
6344         </attribute>
6345     </optional>
6346 </define>
6347 <define name="draw-connector-attlist" combine="interleave">
6348     <optional>
6349         <attribute name="draw:end-shape">
6350             <ref name="IDREF"/>
6351         </attribute>
6352     </optional>
6353 </define>
6354 <define name="draw-connector-attlist" combine="interleave">
6355     <optional>
6356         <attribute name="draw:end-glue-point">
6357             <ref name="nonNegativeInteger"/>
6358         </attribute>
6359     </optional>
6360 </define>
6361 <define name="draw-connector-attlist" combine="interleave">
6362     <optional>
6363         <attribute name="draw:line-skew">
6364             <list>
6365                 <ref name="length"/>
6366                 <optional>
6367                     <ref name="length"/>
6368                     <optional>
6369                         <ref name="length"/>
6370                     </optional>
6371                 </optional>
6372             </list>
6373         </attribute>
6374     </optional>
6375 </define>
6376 <define name="draw-caption">
6377     <element name="draw:caption">
6378         <ref name="draw-caption-attlist"/>
6379         <ref name="common-draw-position-attlist"/>
6380         <ref name="common-draw-size-attlist"/>
6381         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6382         <ref name="common-draw-caption-id-attlist"/>
6383         <optional>
6384             <ref name="svg-title"/>
6385         </optional>
6386         <optional>
6387             <ref name="svg-desc"/>
6388         </optional>
6389         <optional>
6390             <ref name="office-event-listeners"/>
6391         </optional>
6392         <zeroOrMore>
6393             <ref name="draw-glue-point"/>
6394         </zeroOrMore>
6395         <ref name="draw-text"/>
6396     </element>
6397 </define>
6398 <define name="draw-caption-attlist" combine="interleave">
6399     <optional>
6400         <attribute name="draw:caption-point-x">
6401             <ref name="coordinate"/>
6402         </attribute>
6403         <attribute name="draw:caption-point-y">
6404             <ref name="coordinate"/>
6405         </attribute>
6406     </optional>
6407 </define>
6408 <define name="draw-caption-attlist" combine="interleave">
6409     <optional>
6410         <attribute name="draw:corner-radius">
6411             <ref name="nonNegativeLength"/>
6412         </attribute>
6413     </optional>
6414 </define>
6415 <define name="draw-measure">
6416     <element name="draw:measure">
6417         <ref name="draw-measure-attlist"/>
6418         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6419         <ref name="common-draw-caption-id-attlist"/>
6420         <optional>
6421             <ref name="svg-title"/>
6422         </optional>
6423         <optional>
6424             <ref name="svg-desc"/>
6425         </optional>
6426         <optional>
6427             <ref name="office-event-listeners"/>
6428         </optional>
6429         <zeroOrMore>
6430             <ref name="draw-glue-point"/>
6431         </zeroOrMore>
6432         <ref name="draw-text"/>
6433     </element>
6434 </define>
6435 <define name="draw-measure-attlist" combine="interleave">
6436     <attribute name="svg:x1">
6437         <ref name="coordinate"/>
6438     </attribute>
6439     <attribute name="svg:y1">
6440         <ref name="coordinate"/>
6441     </attribute>
6442 </define>
6443 <define name="draw-measure-attlist" combine="interleave">
6444     <attribute name="svg:x2">
6445         <ref name="coordinate"/>
6446     </attribute>
6447     <attribute name="svg:y2">
6448         <ref name="coordinate"/>
6449     </attribute>
6450 </define>
6451 <define name="draw-control">
6452     <element name="draw:control">
6453         <ref name="draw-control-attlist"/>
6454         <ref name="common-draw-position-attlist"/>
6455         <ref name="common-draw-size-attlist"/>
6456         <ref name="common-draw-shape-with-text-and-styles-attlist"/>    
6457         <ref name="common-draw-caption-id-attlist"/>
6458         <optional>
6459             <ref name="svg-title"/>
6460         </optional>
6461         <optional>
6462             <ref name="svg-desc"/>
6463         </optional>
6464         <zeroOrMore>
6465             <ref name="draw-glue-point"/>
6466         </zeroOrMore>
6467     </element>
6468 </define>
6469 <define name="draw-control-attlist" combine="interleave">
6470     <attribute name="draw:control">
6471         <ref name="IDREF"/>
6472     </attribute>
6473 </define>
6474 <define name="draw-page-thumbnail">
6475     <element name="draw:page-thumbnail">
6476         <ref name="draw-page-thumbnail-attlist"/>
6477         <ref name="common-draw-position-attlist"/>
6478         <ref name="common-draw-size-attlist"/>
6479         <ref name="presentation-shape-attlist"/>
6480         <ref name="common-draw-shape-with-styles-attlist"/>
6481         <ref name="common-draw-caption-id-attlist"/>
6482         <optional>
6483             <ref name="svg-title"/>
6484         </optional>
6485         <optional>
6486             <ref name="svg-desc"/>
6487         </optional>
6488     </element>
6489 </define>
6490 <define name="draw-page-thumbnail-attlist">
6491     <optional>
6492         <attribute name="draw:page-number">
6493             <ref name="positiveInteger"/>
6494         </attribute>
6495     </optional>
6496 </define>
6497 <define name="draw-g">
6498     <element name="draw:g">
6499         <ref name="draw-g-attlist"/>
6500         <ref name="common-draw-z-index-attlist"/>
6501         <ref name="common-draw-name-attlist"/>
6502         <ref name="common-draw-id-attlist"/>
6503         <ref name="common-draw-style-name-attlist"/>
6504         <ref name="common-text-spreadsheet-shape-attlist"/>
6505         <ref name="common-draw-caption-id-attlist"/>
6506         <optional>
6507             <ref name="svg-title"/>
6508         </optional>
6509         <optional>
6510             <ref name="svg-desc"/>
6511         </optional>
6512         <optional>
6513             <ref name="office-event-listeners"/>
6514         </optional>
6515         <zeroOrMore>
6516             <ref name="draw-glue-point"/>
6517         </zeroOrMore>
6518         <zeroOrMore>
6519             <ref name="shape"/>
6520         </zeroOrMore>
6521     </element>
6522 </define>
6523 <define name="draw-g-attlist" combine="interleave">
6524     <optional>
6525         <attribute name="svg:y">
6526             <ref name="coordinate"/>
6527         </attribute>
6528     </optional>
6529 </define>
6530 <define name="common-draw-name-attlist" combine="interleave">
6531     <optional>
6532         <attribute name="draw:name">
6533             <ref name="string"/>
6534         </attribute>
6535     </optional>
6536 </define>
6537 <define name="common-draw-caption-id-attlist" combine="interleave">
6538     <optional>
6539         <attribute name="draw:caption-id">
6540             <ref name="IDREF"/>
6541         </attribute>
6542     </optional>
6543 </define>
6544 <define name="common-draw-position-attlist">
6545     <optional>
6546         <attribute name="svg:x">
6547             <ref name="coordinate"/>
6548         </attribute>
6549     </optional>
6550     <optional>
6551         <attribute name="svg:y">
6552             <ref name="coordinate"/>
6553         </attribute>
6554     </optional>
6555 </define>
6556 <define name="common-draw-size-attlist">
6557     <optional>
6558         <attribute name="svg:width">
6559             <ref name="length"/>
6560         </attribute>
6561     </optional>
6562     <optional>
6563         <attribute name="svg:height">
6564             <ref name="length"/>
6565         </attribute>
6566     </optional>
6567 </define>
6568 <define name="common-draw-transform-attlist">
6569     <optional>
6570         <attribute name="draw:transform">
6571             <ref name="string"/>
6572         </attribute>
6573     </optional>
6574 </define>
6575 <define name="common-draw-viewbox-attlist">
6576     <attribute name="svg:viewBox">
6577         <list>
6578             <ref name="integer"/>
6579             <ref name="integer"/>
6580             <ref name="integer"/>
6581             <ref name="integer"/>
6582         </list>
6583     </attribute>
6584 </define>
6585 <define name="common-draw-style-name-attlist">
6586     <choice>
6587         <group>
6588             <optional>
6589                 <attribute name="draw:style-name">
6590                     <ref name="styleNameRef"/>
6591                 </attribute>
6592             </optional>
6593             <optional>
6594                 <attribute name="draw:class-names">
6595                     <ref name="styleNameRefs"/>
6596                 </attribute>
6597             </optional>
6598         </group>
6599         <group>
6600             <optional>
6601                 <attribute name="presentation:style-name">
6602                     <ref name="styleNameRef"/>
6603                 </attribute>
6604             </optional>
6605             <optional>
6606                 <attribute name="presentation:class-names">
6607                     <ref name="styleNameRefs"/>
6608                 </attribute>
6609             </optional>
6610         </group>
6611     </choice>
6612 </define>
6613 <define name="common-draw-text-style-name-attlist">
6614     <optional>
6615         <attribute name="draw:text-style-name">
6616             <ref name="styleNameRef"/>
6617         </attribute>
6618     </optional>
6619 </define>
6620 <define name="common-draw-layer-name-attlist">
6621     <optional>
6622         <attribute name="draw:layer">
6623             <data type="string"/>
6624         </attribute>
6625     </optional>
6626 </define>
6627 <define name="common-draw-id-attlist">
6628     <optional>
6629         <attribute name="draw:id">
6630             <ref name="ID"/>
6631         </attribute>
6632     </optional>
6633 </define>
6634 <define name="common-draw-z-index-attlist">
6635     <optional>
6636         <attribute name="draw:z-index">
6637             <ref name="nonNegativeInteger"/>
6638         </attribute>
6639     </optional>
6640 </define>
6641 <define name="common-text-spreadsheet-shape-attlist" combine="interleave">
6642     <optional>
6643         <attribute name="table:end-cell-address">
6644             <ref name="cellAddress"/>
6645         </attribute>
6646     </optional>
6647     <optional>
6648         <attribute name="table:end-x">
6649             <ref name="coordinate"/>
6650         </attribute>
6651     </optional>
6652     <optional>
6653         <attribute name="table:end-y">
6654             <ref name="coordinate"/>
6655         </attribute>
6656     </optional>
6657 </define>
6658 <define name="common-text-spreadsheet-shape-attlist" combine="interleave">
6659     <optional>
6660         <attribute name="table:table-background">
6661             <ref name="boolean"/>
6662         </attribute>
6663     </optional>
6664 </define>
6665 <define name="common-text-spreadsheet-shape-attlist" combine="interleave">
6666     <ref name="common-text-anchor-attlist"/>
6667 </define>
6668 
6669 <define name="common-text-anchor-attlist" combine="interleave">
6670     <optional>
6671         <attribute name="text:anchor-type">
6672             <choice>
6673                 <value>page</value>
6674                 <value>frame</value>
6675                 <value>paragraph</value>
6676                 <value>char</value>
6677                 <value>as-char</value>
6678             </choice>
6679         </attribute>
6680     </optional>
6681 </define>
6682 <define name="common-text-anchor-attlist" combine="interleave">
6683     <optional>
6684         <attribute name="text:anchor-page-number">
6685             <ref name="positiveInteger"/>
6686         </attribute>
6687     </optional>
6688 </define>
6689 <define name="draw-text">
6690     <zeroOrMore>
6691         <choice>
6692             <ref name="text-p"/>
6693             <ref name="text-list"/>
6694         </choice>
6695     </zeroOrMore>
6696 </define>
6697 <define name="common-draw-shape-with-styles-attlist">
6698     <ref name="common-draw-z-index-attlist"/>
6699     <ref name="common-draw-id-attlist"/>
6700     <ref name="common-draw-layer-name-attlist"/>
6701     <ref name="common-draw-style-name-attlist"/>
6702     <ref name="common-draw-transform-attlist"/>
6703     <ref name="common-draw-name-attlist"/>
6704     <ref name="common-text-spreadsheet-shape-attlist"/>
6705 </define>
6706 <define name="common-draw-shape-with-text-and-styles-attlist">
6707     <ref name="common-draw-shape-with-styles-attlist"/>
6708     <ref name="common-draw-text-style-name-attlist"/>
6709 </define>
6710 <define name="draw-glue-point">
6711     <element name="draw:glue-point">
6712         <ref name="draw-glue-point-attlist"/>
6713         <empty/>
6714     </element>
6715 </define>
6716 <define name="draw-glue-point-attlist" combine="interleave">
6717     <attribute name="draw:id">
6718         <ref name="nonNegativeInteger"/>
6719     </attribute>
6720 </define>
6721 <define name="draw-glue-point-attlist" combine="interleave">
6722     <attribute name="svg:x">
6723         <choice>
6724             <ref name="distance"/> 
6725             <ref name="percent"/>
6726         </choice>
6727     </attribute>
6728     <attribute name="svg:y">
6729         <choice>
6730             <ref name="distance"/> 
6731             <ref name="percent"/>
6732         </choice>
6733     </attribute>
6734 </define>
6735 <define name="draw-glue-point-attlist" combine="interleave">
6736     <optional>
6737         <attribute name="draw:align">
6738             <choice>
6739                 <value>top-left</value>
6740                 <value>top</value>
6741                 <value>top-right</value>
6742                 <value>left</value>
6743                 <value>center</value>
6744                 <value>right</value>
6745                 <value>bottom-left</value>
6746                 <value>bottom-right</value>
6747             </choice>
6748         </attribute>
6749     </optional>
6750 </define>
6751 <define name="draw-glue-points-attlist" combine="interleave">
6752     <attribute name="draw:escape-direction">
6753         <choice>
6754             <value>auto</value>
6755             <value>left</value>
6756             <value>right</value>
6757             <value>up</value>
6758             <value>down</value>
6759             <value>horizontal</value>
6760             <value>vertical</value>
6761         </choice>
6762     </attribute>
6763 </define>
6764 <define name="svg-title">
6765     <element name="svg:title">
6766         <text/>
6767     </element>
6768 </define>
6769 <define name="svg-desc">
6770     <element name="svg:desc">
6771         <text/>
6772     </element>
6773 </define>
6774 <define name="draw-frame">
6775     <element name="draw:frame">
6776         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6777         <ref name="common-draw-position-attlist"/>
6778         <ref name="common-draw-rel-size-attlist"/>
6779         <ref name="common-draw-caption-id-attlist"/>
6780         <ref name="presentation-shape-attlist"/>
6781         <ref name="draw-frame-attlist"/>
6782         <zeroOrMore>
6783             <choice>
6784                 <ref name="draw-text-box"/>
6785                 <ref name="draw-image"/>
6786                 <ref name="draw-object"/>
6787                 <ref name="draw-object-ole"/>
6788                 <ref name="draw-applet"/>
6789                 <ref name="draw-floating-frame"/>
6790                 <ref name="draw-plugin"/>
6791             </choice>
6792         </zeroOrMore>
6793         <optional>
6794             <ref name="office-event-listeners"/>
6795         </optional>
6796         <zeroOrMore>
6797             <ref name="draw-glue-point"/>
6798         </zeroOrMore>
6799         <optional>
6800             <ref name="draw-image-map"/>
6801         </optional>
6802         <optional>
6803             <ref name="svg-title"/>
6804         </optional>
6805         <optional>
6806             <ref name="svg-desc"/>
6807         </optional>
6808         <optional>
6809             <choice>
6810                 <ref name="draw-contour-polygon"/>
6811                 <ref name="draw-contour-path"/>
6812             </choice>
6813         </optional>
6814     </element>
6815 </define>
6816 <define name="common-draw-rel-size-attlist">
6817     <ref name="common-draw-size-attlist"/>
6818     <optional>
6819         <attribute name="style:rel-width">
6820             <choice>
6821                 <ref name="percent"/>
6822                 <value>scale</value>
6823                 <value>scale-min</value>
6824             </choice>
6825         </attribute>
6826     </optional>
6827     <optional>
6828         <attribute name="style:rel-height">
6829             <choice>
6830                 <ref name="percent"/>
6831                 <value>scale</value>
6832                 <value>scale-min</value>
6833             </choice>
6834         </attribute>
6835     </optional>
6836 </define>
6837 <define name="draw-frame-attlist" combine="interleave">
6838     <optional>
6839         <attribute name="draw:copy-of">
6840             <ref name="string"/>
6841         </attribute>
6842     </optional>
6843 </define>
6844 <define name="draw-text-box">
6845     <element name="draw:text-box">
6846         <ref name="draw-text-box-attlist"/>
6847         <zeroOrMore>
6848             <ref name="text-content"/>
6849         </zeroOrMore>
6850     </element>
6851 </define>
6852 <define name="draw-text-box-attlist" combine="interleave">
6853     <optional>
6854         <attribute name="draw:chain-next-name">
6855             <ref name="string"/>
6856         </attribute>
6857     </optional>
6858 </define>
6859 <define name="draw-text-box-attlist" combine="interleave">
6860     <optional>
6861         <attribute name="draw:corner-radius">
6862             <ref name="nonNegativeLength"/>
6863         </attribute>
6864     </optional>
6865 </define>
6866 <define name="draw-text-box-attlist" combine="interleave">
6867     <optional>
6868         <attribute name="fo:min-height">
6869             <choice>
6870                 <ref name="length"/>
6871                 <ref name="percent"/>
6872             </choice>
6873         </attribute>
6874     </optional>
6875     <optional>
6876         <attribute name="fo:min-width">
6877             <choice>
6878                 <ref name="length"/>
6879                 <ref name="percent"/>
6880             </choice>
6881         </attribute>
6882     </optional>
6883 </define>
6884 <define name="draw-text-box-attlist" combine="interleave">
6885     <optional>
6886         <attribute name="fo:max-height">
6887             <choice>
6888                 <ref name="length"/>
6889                 <ref name="percent"/>
6890             </choice>
6891         </attribute>
6892     </optional>
6893     <optional>
6894         <attribute name="fo:max-width">
6895             <choice>
6896                 <ref name="length"/>
6897                 <ref name="percent"/>
6898             </choice>
6899         </attribute>
6900     </optional>
6901 </define>
6902 <define name="draw-text-box-attlist" combine="interleave">
6903     <optional>
6904         <ref name="text-id"/>
6905     </optional>
6906 </define>
6907 <define name="draw-image">
6908     <element name="draw:image">
6909         <ref name="draw-image-attlist"/>
6910         <choice>
6911             <ref name="common-draw-data-attlist"/>
6912             <ref name="office-binary-data"/>
6913         </choice>
6914         <ref name="draw-text"/>
6915     </element>
6916 </define>
6917 <define name="common-draw-data-attlist" combine="interleave">
6918     <group>
6919         <attribute name="xlink:href">
6920             <ref name="anyURI"/>
6921         </attribute>
6922         <optional>
6923             <attribute name="xlink:type" a:defaultValue="simple">
6924                 <choice>
6925                     <value>simple</value>
6926                 </choice>
6927             </attribute>
6928         </optional>
6929         <optional>
6930             <attribute name="xlink:show" a:defaultValue="embed">
6931                 <choice>
6932                     <value>embed</value>
6933                 </choice>
6934             </attribute>
6935         </optional>
6936         <optional>
6937             <attribute name="xlink:actuate" a:defaultValue="onLoad">
6938                 <choice>
6939                     <value>onLoad</value>
6940                 </choice>
6941             </attribute>
6942         </optional>
6943     </group>
6944 </define>
6945 
6946 <define name="office-binary-data">
6947     <element name="office:binary-data">
6948         <ref name="base64Binary"/>
6949     </element>
6950 </define>
6951 <define name="draw-image-attlist" combine="interleave">
6952     <optional>
6953         <attribute name="draw:filter-name">
6954             <ref name="string"/>
6955         </attribute>
6956     </optional>
6957 </define>
6958 <define name="draw-object">
6959     <element name="draw:object">
6960         <ref name="draw-object-attlist"/>
6961         <choice>
6962             <ref name="common-draw-data-attlist"/>
6963             <ref name="office-document"/>
6964             <ref name="math-math"/>
6965         </choice>
6966     </element>
6967 </define>
6968 
6969 <define name="draw-object-ole">
6970     <element name="draw:object-ole">
6971         <ref name="draw-object-ole-attlist"/>
6972         <choice>
6973             <ref name="common-draw-data-attlist"/>
6974             <ref name="office-binary-data"/>
6975         </choice>
6976     </element>
6977 </define>
6978 <define name="draw-object-attlist" combine="interleave">
6979     <optional>
6980         <attribute name="draw:notify-on-update-of-ranges">
6981             <ref name="string"/>
6982         </attribute>
6983     </optional>
6984 </define>
6985 <define name="draw-object-ole-attlist" combine="interleave">
6986     <optional>
6987         <attribute name="draw:class-id"/>
6988     </optional>
6989 </define>
6990 <define name="draw-applet">
6991     <element name="draw:applet">
6992         <ref name="draw-applet-attlist"/>
6993         <optional>
6994             <ref name="common-draw-data-attlist"/>
6995         </optional>
6996         <zeroOrMore>
6997             <ref name="draw-param"/>
6998         </zeroOrMore>
6999     </element>
7000 </define>
7001 <define name="draw-applet-attlist" combine="interleave">
7002     <optional>
7003         <attribute name="draw:code"/>
7004     </optional>
7005 </define>
7006 <define name="draw-applet-attlist" combine="interleave">
7007     <optional>
7008         <attribute name="draw:object"/>
7009     </optional>
7010 </define>
7011 <define name="draw-applet-attlist" combine="interleave">
7012     <optional>
7013         <attribute name="draw:archive"/>
7014     </optional>
7015 </define>
7016 <define name="draw-applet-attlist" combine="interleave">
7017     <optional>
7018         <attribute name="draw:may-script" a:defaultValue="false">
7019             <ref name="boolean"/>
7020         </attribute>
7021     </optional>
7022 </define>
7023 <define name="draw-plugin">
7024     <element name="draw:plugin">
7025         <ref name="draw-plugin-attlist"/>
7026         <ref name="common-draw-data-attlist"/>
7027         <zeroOrMore>
7028             <ref name="draw-param"/>
7029         </zeroOrMore>
7030     </element>
7031 </define>
7032 <define name="draw-plugin-attlist" combine="interleave">
7033     <optional>
7034         <attribute name="draw:mime-type"/>
7035     </optional>
7036 </define>
7037 <define name="draw-param">
7038     <element name="draw:param">
7039         <ref name="draw-param-attlist"/>
7040         <empty/>
7041     </element>
7042 </define>
7043 <define name="draw-param-attlist" combine="interleave">
7044     <optional>
7045         <attribute name="draw:name"/>
7046     </optional>
7047 </define>
7048 <define name="draw-param-attlist" combine="interleave">
7049     <optional>
7050         <attribute name="draw:value"/>
7051     </optional>
7052 </define>
7053 <define name="draw-floating-frame">
7054     <element name="draw:floating-frame">
7055         <ref name="draw-floating-frame-attlist"/>
7056         <ref name="common-draw-data-attlist"/>
7057     </element>
7058 </define>
7059 <define name="draw-floating-frame-attlist" combine="interleave">
7060     <optional>
7061         <attribute name="draw:frame-name">
7062             <ref name="string"/>
7063         </attribute>
7064     </optional>
7065 </define>
7066 <define name="draw-contour-polygon">
7067     <element name="draw:contour-polygon">
7068         <ref name="common-contour-attlist"/>
7069         <ref name="common-draw-size-attlist"/>
7070         <ref name="common-draw-viewbox-attlist"/>
7071         <ref name="common-draw-points-attlist"/>
7072         <empty/>
7073     </element>
7074 </define>
7075 
7076 <define name="draw-contour-path">
7077     <element name="draw:contour-path">
7078         <ref name="common-contour-attlist"/>
7079         <ref name="common-draw-size-attlist"/>
7080         <ref name="common-draw-viewbox-attlist"/>
7081         <ref name="common-draw-path-data-attlist"/>
7082         <empty/>
7083     </element>
7084 </define>
7085 <define name="common-contour-attlist" combine="interleave">
7086     <attribute name="draw:recreate-on-edit">
7087         <ref name="boolean"/>
7088     </attribute>
7089 </define>
7090 <define name="draw-a">
7091     <element name="draw:a">
7092         <ref name="draw-a-attlist"/>
7093         <ref name="draw-frame"/>
7094     </element>
7095 </define>
7096 <define name="draw-a-attlist" combine="interleave">
7097     <attribute name="xlink:href">
7098         <ref name="anyURI"/>
7099     </attribute>
7100     <optional>
7101         <attribute name="xlink:type" a:defaultValue="simple">
7102             <value>simple</value>
7103         </attribute>
7104     </optional>
7105     <optional>
7106         <attribute name="xlink:actuate" a:defaultValue="onRequest">
7107             <choice>
7108                 <value>onRequest</value>
7109             </choice>
7110         </attribute>
7111     </optional>
7112 </define>
7113 <define name="draw-a-attlist" combine="interleave">
7114     <optional>
7115         <attribute name="office:target-frame-name">
7116             <ref name="targetFrameName"/>
7117         </attribute>
7118     </optional>
7119     <optional>
7120         <attribute name="xlink:show">
7121             <choice>
7122                 <value>new</value>
7123                 <value>replace</value>
7124             </choice>
7125         </attribute>
7126     </optional>
7127 </define>
7128 <define name="draw-a-attlist" combine="interleave">
7129     <optional>
7130         <attribute name="office:name">
7131             <ref name="string"/>
7132         </attribute>
7133     </optional>
7134 </define>
7135 <define name="draw-a-attlist" combine="interleave">
7136     <optional>
7137         <attribute name="office:title">
7138             <ref name="string"/>
7139         </attribute>
7140     </optional>
7141 </define>
7142 <define name="draw-a-attlist" combine="interleave">
7143     <optional>
7144         <attribute name="office:server-map" a:defaultValue="false">
7145             <ref name="boolean"/>
7146         </attribute>
7147     </optional>
7148 </define>
7149 <define name="draw-image-map">
7150     <element name="draw:image-map">
7151         <zeroOrMore>
7152             <choice>
7153                 <ref name="draw-area-rectangle"/>
7154                 <ref name="draw-area-circle"/>
7155                 <ref name="draw-area-polygon"/>
7156             </choice>
7157         </zeroOrMore>
7158     </element>
7159 </define>
7160 <define name="draw-area-rectangle">
7161     <element name="draw:area-rectangle">
7162         <ref name="common-draw-area-attlist"/>
7163         <attribute name="svg:x">
7164             <ref name="coordinate"/>
7165         </attribute>
7166         <attribute name="svg:y">
7167             <ref name="coordinate"/>
7168         </attribute>
7169         <attribute name="svg:width">
7170             <ref name="length"/>
7171         </attribute>
7172         <attribute name="svg:height">
7173             <ref name="length"/>
7174         </attribute>
7175         <optional>
7176             <ref name="svg-title"/>
7177         </optional>
7178         <optional>
7179             <ref name="svg-desc"/>
7180         </optional>
7181         <optional>
7182             <ref name="office-event-listeners"/>
7183         </optional>
7184     </element>
7185 </define>
7186 <define name="draw-area-circle">
7187     <element name="draw:area-circle">
7188         <ref name="common-draw-area-attlist"/>
7189         <attribute name="svg:cx">
7190             <ref name="coordinate"/>
7191         </attribute>
7192         <attribute name="svg:cy">
7193             <ref name="coordinate"/>
7194         </attribute>
7195         <attribute name="svg:r">
7196             <ref name="length"/>
7197         </attribute>
7198         <optional>
7199             <ref name="svg-title"/>
7200         </optional>
7201         <optional>
7202             <ref name="svg-desc"/>
7203         </optional>
7204         <optional>
7205             <ref name="office-event-listeners"/>
7206         </optional>
7207     </element>
7208 </define>
7209 <define name="draw-area-polygon">
7210     <element name="draw:area-polygon">
7211         <ref name="common-draw-area-attlist"/>
7212         <attribute name="svg:x">
7213             <ref name="coordinate"/>
7214         </attribute>
7215         <attribute name="svg:y">
7216             <ref name="coordinate"/>
7217         </attribute>
7218         <attribute name="svg:width">
7219             <ref name="length"/>
7220         </attribute>
7221         <attribute name="svg:height">
7222             <ref name="length"/>
7223         </attribute>
7224         <ref name="common-draw-viewbox-attlist"/>
7225         <ref name="common-draw-points-attlist"/>
7226         <optional>
7227             <ref name="svg-title"/>
7228         </optional>
7229         <optional>
7230             <ref name="svg-desc"/>
7231         </optional>
7232         <optional>
7233             <ref name="office-event-listeners"/>
7234         </optional>
7235     </element>
7236 </define>
7237 <define name="common-draw-area-attlist" combine="interleave">
7238     <optional>
7239         <attribute name="xlink:href">
7240             <ref name="anyURI"/>
7241         </attribute>
7242     </optional>
7243     <optional>
7244         <attribute name="xlink:type" a:defaultValue="simple">
7245             <choice>
7246                 <value>simple</value>
7247             </choice>
7248         </attribute>
7249     </optional>
7250     <optional>
7251         <attribute name="office:target-frame-name">
7252             <ref name="targetFrameName"/>
7253         </attribute>
7254     </optional>
7255     <optional>
7256         <attribute name="xlink:show">
7257             <choice>
7258                 <value>new</value>
7259                 <value>replace</value>
7260             </choice>
7261             </attribute>
7262     </optional>
7263 </define>
7264 <define name="common-draw-area-attlist" combine="interleave">
7265     <optional>
7266         <attribute name="office:name">
7267             <ref name="string"/>
7268         </attribute>
7269     </optional>
7270 </define>
7271 <define name="common-draw-area-attlist" combine="interleave">
7272     <optional>
7273         <attribute name="draw:nohref">
7274             <choice>
7275                 <value>nohref</value>
7276             </choice>
7277         </attribute>
7278     </optional>
7279 </define>
7280 <define name="dr3d-scene">
7281     <element name="dr3d:scene">
7282         <ref name="dr3d-scene-attlist"/>
7283         <ref name="common-draw-position-attlist"/>
7284         <ref name="common-draw-size-attlist"/>
7285         <ref name="common-draw-style-name-attlist"/>
7286         <ref name="common-draw-z-index-attlist"/>
7287         <ref name="common-draw-id-attlist"/>
7288         <ref name="common-draw-layer-name-attlist"/>
7289         <ref name="common-text-spreadsheet-shape-attlist"/>
7290         <ref name="common-dr3d-transform-attlist"/>
7291         <ref name="common-draw-caption-id-attlist"/>
7292         <optional>
7293             <ref name="svg-title"/>
7294         </optional>
7295         <optional>
7296             <ref name="svg-desc"/>
7297         </optional>
7298         <zeroOrMore>
7299             <ref name="dr3d-light"/>
7300         </zeroOrMore>
7301         <zeroOrMore>
7302             <ref name="shapes3d"/>
7303         </zeroOrMore>
7304     </element>
7305 </define>
7306 
7307 <define name="shapes3d">
7308     <choice>
7309         <ref name="dr3d-scene"/>
7310         <ref name="dr3d-extrude"/>
7311         <ref name="dr3d-sphere"/>
7312         <ref name="dr3d-rotate"/>
7313         <ref name="dr3d-cube"/>
7314     </choice>
7315 </define>
7316 <define name="dr3d-scene-attlist" combine="interleave">
7317     <optional>
7318         <attribute name="dr3d:vrp">
7319             <ref name="vector3D"/>
7320         </attribute>
7321     </optional>
7322     <optional>
7323         <attribute name="dr3d:vpn">
7324             <ref name="vector3D"/>
7325         </attribute>
7326     </optional>
7327     <optional>
7328         <attribute name="dr3d:vup">
7329             <ref name="vector3D"/>
7330         </attribute>
7331     </optional>
7332 </define>
7333 <define name="dr3d-scene-attlist" combine="interleave">
7334     <optional>
7335         <attribute name="dr3d:projection">
7336             <choice>
7337                 <value>parallel</value>
7338                 <value>perspective</value>
7339             </choice>
7340         </attribute>
7341     </optional>
7342 </define>
7343 <define name="dr3d-scene-attlist" combine="interleave">
7344     <optional>
7345         <attribute name="dr3d:distance">
7346             <ref name="length"/>
7347         </attribute>
7348     </optional>
7349 </define>
7350 <define name="dr3d-scene-attlist" combine="interleave">
7351     <optional>
7352         <attribute name="dr3d:focal-length">
7353             <ref name="length"/>
7354         </attribute>
7355     </optional>
7356 </define>
7357 <define name="dr3d-scene-attlist" combine="interleave">
7358     <optional>
7359         <attribute name="dr3d:shadow-slant">
7360             <ref name="nonNegativeInteger"/>
7361         </attribute>
7362     </optional>
7363 </define>
7364 <define name="dr3d-scene-attlist" combine="interleave">
7365     <optional>
7366         <attribute name="dr3d:shade-mode">
7367             <choice>
7368                 <value>flat</value>
7369                 <value>phong</value>
7370                 <value>gouraud</value>
7371                 <value>draft</value>
7372             </choice>
7373         </attribute>
7374     </optional>
7375 </define>
7376 <define name="dr3d-scene-attlist" combine="interleave">
7377     <optional>
7378         <attribute name="dr3d:ambient-color">
7379             <ref name="color"/>
7380         </attribute>
7381     </optional>
7382 </define>
7383 <define name="dr3d-scene-attlist" combine="interleave">
7384     <optional>
7385         <attribute name="dr3d:lighting-mode">
7386             <ref name="boolean"/>
7387         </attribute>
7388     </optional>
7389 </define>
7390 <define name="common-dr3d-transform-attlist">
7391     <optional>
7392         <attribute name="dr3d:transform"/>
7393     </optional>
7394 </define>
7395 <define name="dr3d-light">
7396     <element name="dr3d:light">
7397         <ref name="dr3d-light-attlist"/>
7398         <empty/>
7399     </element>
7400 </define>
7401 <define name="dr3d-light-attlist" combine="interleave">
7402     <optional>
7403         <attribute name="dr3d:diffuse-color">
7404             <ref name="color"/>
7405         </attribute>
7406     </optional>
7407 </define>
7408 <define name="dr3d-light-attlist" combine="interleave">
7409     <attribute name="dr3d:direction">
7410         <ref name="vector3D"/>
7411     </attribute>
7412 </define>
7413 <define name="dr3d-light-attlist" combine="interleave">
7414     <optional>
7415         <attribute name="dr3d:enabled">
7416             <ref name="boolean"/>
7417         </attribute>
7418     </optional>
7419 </define>
7420 <define name="dr3d-light-attlist" combine="interleave">
7421     <optional>
7422         <attribute name="dr3d:specular">
7423             <ref name="boolean"/>
7424         </attribute>
7425     </optional>
7426 </define>
7427 <define name="dr3d-cube">
7428     <element name="dr3d:cube">
7429         <ref name="dr3d-cube-attlist"/>
7430         <ref name="common-draw-z-index-attlist"/>
7431         <ref name="common-draw-id-attlist"/>
7432         <ref name="common-draw-layer-name-attlist"/>
7433         <ref name="common-draw-style-name-attlist"/>
7434         <ref name="common-dr3d-transform-attlist"/>
7435         <empty/>
7436     </element>
7437 </define>
7438 <define name="dr3d-cube-attlist" combine="interleave">
7439     <optional>
7440         <attribute name="dr3d:min-edge">
7441             <ref name="vector3D"/>
7442         </attribute>
7443     </optional>
7444     <optional>
7445         <attribute name="dr3d:max-edge">
7446             <ref name="vector3D"/>
7447         </attribute>
7448     </optional>
7449 </define>
7450 <define name="dr3d-sphere">
7451     <element name="dr3d:sphere">
7452         <ref name="dr3d-sphere-attlist"/>
7453         <ref name="common-draw-z-index-attlist"/>
7454         <ref name="common-draw-id-attlist"/>
7455         <ref name="common-draw-layer-name-attlist"/>
7456         <ref name="common-draw-style-name-attlist"/>
7457         <ref name="common-dr3d-transform-attlist"/>
7458         <empty/>
7459     </element>
7460 </define>
7461 <define name="dr3d-sphere-attlist" combine="interleave">
7462     <optional>
7463         <attribute name="dr3d:center">
7464             <ref name="vector3D"/>
7465         </attribute>
7466     </optional>
7467 </define>
7468 <define name="dr3d-sphere-attlist" combine="interleave">
7469     <optional>
7470         <attribute name="dr3d:size">
7471             <ref name="vector3D"/>
7472         </attribute>
7473     </optional>
7474 </define>
7475 <define name="dr3d-extrude">
7476     <element name="dr3d:extrude">
7477         <ref name="common-draw-path-data-attlist"/>
7478         <ref name="common-draw-viewbox-attlist"/>
7479         <ref name="common-draw-id-attlist"/>
7480         <ref name="common-draw-z-index-attlist"/>
7481         <ref name="common-draw-layer-name-attlist"/>
7482         <ref name="common-draw-style-name-attlist"/>
7483         <ref name="common-dr3d-transform-attlist"/>
7484         <empty/>
7485     </element>
7486 </define>
7487 <define name="dr3d-rotate">
7488     <element name="dr3d:rotate">
7489         <ref name="common-draw-viewbox-attlist"/>
7490         <ref name="common-draw-path-data-attlist"/>
7491         <ref name="common-draw-z-index-attlist"/>
7492         <ref name="common-draw-id-attlist"/>
7493         <ref name="common-draw-layer-name-attlist"/>
7494         <ref name="common-draw-style-name-attlist"/>
7495         <ref name="common-dr3d-transform-attlist"/>
7496         <empty/>
7497     </element>
7498 </define>
7499 <define name="draw-custom-shape">
7500     <element name="draw:custom-shape">
7501         <ref name="draw-custom-shape-attlist"/>
7502         <ref name="common-draw-position-attlist"/>
7503         <ref name="common-draw-size-attlist"/>
7504         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
7505         <ref name="common-draw-caption-id-attlist"/>
7506         <optional>
7507             <ref name="svg-title"/>
7508         </optional>
7509         <optional>
7510             <ref name="svg-desc"/>
7511         </optional>
7512         <optional>
7513             <ref name="office-event-listeners"/>
7514         </optional>
7515         <zeroOrMore>
7516             <ref name="draw-glue-point"/>
7517         </zeroOrMore>
7518         <ref name="draw-text"/>
7519         <optional>
7520             <ref name="draw-enhanced-geometry"/>
7521         </optional>
7522     </element>
7523 </define>
7524 <define name="draw-custom-shape-attlist" combine="interleave">
7525     <optional>
7526         <attribute name="draw:engine">
7527             <ref name="namespacedToken"/>
7528         </attribute>
7529     </optional>
7530 </define>
7531 <define name="draw-custom-shape-attlist" combine="interleave">
7532     <optional>
7533         <attribute name="draw:data">
7534             <ref name="string"/>
7535         </attribute>
7536     </optional>
7537 </define>
7538 <define name="draw-enhanced-geometry">
7539     <element name="draw:enhanced-geometry">
7540         <ref name="draw-enhanced-geometry-attlist"/>
7541         <zeroOrMore>
7542             <ref name="draw-equation"/>
7543         </zeroOrMore>
7544         <zeroOrMore>
7545             <ref name="draw-handle"/>
7546         </zeroOrMore>
7547     </element>
7548 </define>
7549 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7550     <optional>
7551         <attribute name="draw:type" a:defaultValue="non-primitive">
7552             <ref name="custom-shape-type"/>
7553         </attribute>
7554     </optional>
7555 </define>
7556 
7557 <define name="custom-shape-type">
7558     <choice>
7559         <value>non-primitive</value>
7560         <ref name="string"/>
7561     </choice>
7562 </define>
7563 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7564     <optional>
7565         <attribute name="svg:viewBox">
7566             <list>
7567                 <ref name="integer"/>
7568                 <ref name="integer"/>
7569                 <ref name="integer"/>
7570                 <ref name="integer"/>
7571             </list>
7572         </attribute>
7573     </optional>
7574 </define>
7575 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7576     <optional>
7577         <attribute name="draw:mirror-vertical" a:defaultValue="false">
7578             <ref name="boolean"/>
7579         </attribute>
7580     </optional>
7581     <optional>
7582         <attribute name="draw:mirror-horizontal" a:defaultValue="false">
7583             <ref name="boolean"/>
7584         </attribute>
7585     </optional>
7586 </define>
7587 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7588     <optional>
7589         <attribute name="draw:text-rotate-angle" a:defaultValue="0">
7590             <ref name="double"/>
7591         </attribute>
7592     </optional>
7593 </define>
7594 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7595     <optional>
7596         <attribute name="draw:extrusion-allowed" a:defaultValue="false">
7597             <ref name="boolean"/>
7598         </attribute>
7599     </optional>
7600 </define>
7601 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7602     <optional>
7603         <attribute name="draw:text-path-allowed" a:defaultValue="false">
7604             <ref name="boolean"/>
7605         </attribute>
7606     </optional>
7607 </define>
7608 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7609     <optional>
7610         <attribute name="draw:concentric-gradient-fill-allowed"
7611                     a:defaultValue="false">
7612             <ref name="boolean"/>
7613         </attribute>
7614     </optional>
7615 </define>
7616 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7617     <optional>
7618         <attribute name="draw:extrusion" a:defaultValue="false">
7619             <ref name="boolean"/>
7620         </attribute>
7621     </optional>
7622 </define>
7623 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7624     <optional>
7625         <attribute name="draw:extrusion-brightness" a:defaultValue="33%">
7626             <ref name="percent"/>
7627         </attribute>
7628     </optional>
7629 </define>
7630 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7631     <optional>
7632         <attribute name="draw:extrusion-depth" a:defaultValue="36pt 0">
7633             <list>
7634                 <ref name="length"/>
7635                 <ref name="double"/>
7636             </list>
7637         </attribute>
7638     </optional>
7639 </define>
7640 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7641     <optional>
7642         <attribute name="draw:extrusion-diffusion" a:defaultValue="0%">
7643             <ref name="percent"/>
7644         </attribute>
7645     </optional>
7646 </define>
7647 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7648     <optional>
7649         <attribute name="draw:extrusion-number-of-line-segments"
7650                    a:defaultValue="30">
7651             <ref name="integer"/>
7652         </attribute>
7653     </optional>
7654 </define>
7655 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7656     <optional>
7657         <attribute name="draw:extrusion-light-face" a:defaultValue="true">
7658             <ref name="boolean"/>
7659         </attribute>
7660     </optional>
7661 </define>
7662 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7663     <optional>
7664         <attribute name="draw:extrusion-first-light-harsh"
7665                    a:defaultValue="true">
7666             <ref name="boolean"/>
7667         </attribute>
7668     </optional>
7669 </define>
7670 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7671     <optional>
7672         <attribute name="draw:extrusion-second-light-harsh"
7673                    a:defaultValue="true">
7674             <ref name="boolean"/>
7675         </attribute>
7676     </optional>
7677 </define>
7678 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7679     <optional>
7680         <attribute name="draw:extrusion-first-light-level"
7681                    a:defaultValue="66%">
7682             <ref name="percent"/>
7683         </attribute>
7684     </optional>
7685 </define>
7686 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7687     <optional>
7688         <attribute name="draw:extrusion-second-light-level"
7689                    a:defaultValue="66%">
7690             <ref name="percent"/>
7691         </attribute>
7692     </optional>
7693 </define>
7694 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7695     <optional>
7696         <attribute name="draw:extrusion-first-light-direction"
7697                    a:defaultValue="(5 0 1)">
7698             <ref name="vector3D"/>
7699         </attribute>
7700     </optional>
7701 </define>
7702 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7703     <optional>
7704         <attribute name="draw:extrusion-second-light-direction"
7705                    a:defaultValue="(-5 0 1)">
7706             <ref name="vector3D"/>
7707         </attribute>
7708     </optional>
7709 </define>
7710 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7711     <optional>
7712         <attribute name="draw:extrusion-metal" a:defaultValue="false">
7713             <ref name="boolean"/>
7714         </attribute>
7715     </optional>
7716 </define>
7717 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7718     <optional>
7719         <attribute name="dr3d:shade-mode" a:defaultValue="flat">
7720             <choice>
7721                 <value>flat</value>
7722                 <value>phong</value>
7723                 <value>gouraud</value>
7724                 <value>draft</value>
7725             </choice>
7726         </attribute>
7727     </optional>
7728 </define>
7729 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7730     <optional>
7731         <attribute name="draw:extrusion-rotation-angle" a:defaultValue="0 0">
7732             <list>
7733                 <ref name="double"/>
7734                 <ref name="double"/>
7735             </list>
7736         </attribute>
7737     </optional>
7738 </define>
7739 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7740     <optional>
7741         <attribute name="draw:extrusion-rotation-center">
7742             <ref name="vector3D"/>
7743         </attribute>
7744     </optional>
7745 </define>
7746 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7747     <optional>
7748         <attribute name="draw:extrusion-shininess" a:defaultValue="50%">
7749             <ref name="percent"/>
7750         </attribute>
7751     </optional>
7752 </define>
7753 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7754     <optional>
7755         <attribute name="draw:extrusion-skew" a:defaultValue="50 45">
7756             <list>
7757                 <ref name="double"/>
7758                 <ref name="double"/>
7759             </list>
7760         </attribute>
7761     </optional>
7762 </define>
7763 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7764     <optional>
7765         <attribute name="draw:extrusion-specularity" a:defaultValue="0%">
7766             <ref name="percent"/>
7767         </attribute>
7768     </optional>
7769 </define>
7770 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7771     <optional>
7772         <attribute name="dr3d:projection" a:defaultValue="parallel">
7773             <choice>
7774                 <value>parallel</value>
7775                 <value>perspective</value>
7776             </choice>
7777         </attribute>
7778     </optional>
7779 </define>
7780 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7781     <optional>
7782         <attribute name="draw:extrusion-viewpoint" 
7783                    a:defaultValue="3.5cm -3.5cm 25cm">
7784             <ref name="point3D"/>
7785         </attribute>
7786     </optional>
7787 </define>
7788 
7789 <define name="point3D">
7790     <data type="string"/>
7791 </define>
7792 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7793     <optional>
7794         <attribute name="draw:extrusion-origin" a:defaultValue="0.5 -0.5">
7795             <list>
7796                 <ref name="double"/>
7797                 <ref name="double"/>
7798             </list>
7799         </attribute>
7800     </optional>
7801 </define>
7802 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7803     <optional>
7804         <attribute name="draw:extrusion-color" a:defaultValue="false">
7805             <ref name="boolean"/>
7806         </attribute>
7807     </optional>
7808 </define>
7809 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7810     <optional>
7811         <attribute name="draw:enhanced-path">
7812             <ref name="string"/>
7813         </attribute>
7814     </optional>
7815 </define>
7816 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7817     <optional>
7818         <attribute name="draw:path-stretchpoint-x" a:defaultValue="0">
7819             <ref name="double"/>
7820         </attribute>
7821     </optional>
7822     <optional>
7823         <attribute name="draw:path-stretchpoint-y" a:defaultValue="0">
7824             <ref name="double"/>
7825         </attribute>
7826     </optional>
7827 </define>
7828 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7829     <optional>
7830         <attribute name="draw:text-areas">
7831             <ref name="string"/>
7832         </attribute>
7833     </optional>
7834 </define>
7835 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7836     <optional>
7837         <attribute name="draw:glue-points">
7838             <ref name="string"/>
7839         </attribute>
7840     </optional>
7841 </define>
7842 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7843     <optional>
7844         <attribute name="draw:glue-point-type" a:defaultValue="none">
7845             <choice>
7846                 <value>none</value>
7847                 <value>segments</value>
7848                 <value>rectangle</value>
7849             </choice>
7850         </attribute>
7851     </optional>
7852 </define>
7853 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7854     <optional>
7855         <attribute name="draw:glue-point-leaving-directions"/>
7856     </optional>
7857 </define>
7858 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7859     <optional>
7860         <attribute name="draw:text-path" a:defaultValue="false">
7861             <ref name="boolean"/>
7862         </attribute>
7863     </optional>
7864 </define>
7865 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7866     <optional>
7867         <attribute name="draw:text-path-mode" a:defaultValue="normal">
7868             <choice>
7869                 <value>normal</value>
7870                 <value>path</value>
7871                 <value>shape</value>
7872             </choice>
7873         </attribute>
7874     </optional>
7875 </define>
7876 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7877     <optional>
7878         <attribute name="draw:text-path-scale" a:defaultValue="path">
7879             <choice>
7880                 <value>path</value>
7881                 <value>shape</value>
7882             </choice>
7883         </attribute>
7884     </optional>
7885 </define>
7886 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7887     <optional>
7888         <attribute name="draw:text-path-same-letter-heights"
7889                    a:defaultValue="false">
7890             <ref name="boolean"/>
7891         </attribute>
7892     </optional>
7893 </define>
7894 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7895     <optional>
7896         <attribute name="draw:modifiers">
7897             <ref name="string"/>
7898         </attribute>
7899     </optional>
7900 </define>
7901 <define name="draw-equation">
7902     <element name="draw:equation">
7903         <ref name="draw-equation-attlist"/>
7904         <empty/>
7905     </element>
7906 </define>
7907 <define name="draw-equation-attlist" combine="interleave">
7908     <optional>
7909         <attribute name="draw:name">
7910             <ref name="string"/>
7911         </attribute>
7912     </optional>
7913 </define>
7914 <define name="draw-equation-attlist" combine="interleave">
7915     <optional>
7916         <attribute name="draw:formula">
7917             <ref name="string"/>
7918         </attribute>
7919     </optional>
7920 </define>
7921 <define name="draw-handle">
7922     <element name="draw:handle">
7923         <ref name="draw-handle-attlist"/>
7924         <empty/>
7925     </element>
7926 </define>
7927 <define name="draw-handle-attlist" combine="interleave">
7928     <optional>
7929         <attribute name="draw:handle-mirror-vertical" a:defaultValue="false">
7930             <ref name="boolean"/>
7931         </attribute>
7932     </optional>
7933 </define>
7934 <define name="draw-handle-attlist" combine="interleave">
7935     <optional>
7936         <attribute name="draw:handle-mirror-horizontal" a:defaultValue="false">
7937             <ref name="boolean"/>
7938         </attribute>
7939     </optional>
7940 </define>
7941 <define name="draw-handle-attlist" combine="interleave">
7942     <optional>
7943         <attribute name="draw:handle-switched" a:defaultValue="false">
7944             <ref name="boolean"/>
7945         </attribute>
7946     </optional>
7947 </define>
7948 <define name="draw-handle-attlist" combine="interleave">
7949     <attribute name="draw:handle-position">
7950         <ref name="string"/>
7951     </attribute>
7952 </define>
7953 <define name="draw-handle-attlist" combine="interleave">
7954     <optional>
7955         <attribute name="draw:handle-range-x-minimum">
7956             <ref name="string"/>
7957         </attribute>
7958     </optional>
7959 </define>
7960 <define name="draw-handle-attlist" combine="interleave">
7961     <optional>
7962         <attribute name="draw:handle-range-x-maximum">
7963             <ref name="string"/>
7964         </attribute>
7965     </optional>
7966 </define>
7967 <define name="draw-handle-attlist" combine="interleave">
7968     <optional>
7969         <attribute name="draw:handle-range-y-minimum">
7970             <ref name="string"/>
7971         </attribute>
7972     </optional>
7973 </define>
7974 <define name="draw-handle-attlist" combine="interleave">
7975     <optional>
7976         <attribute name="draw:handle-range-y-maximum">
7977             <ref name="string"/>
7978         </attribute>
7979     </optional>
7980 </define>
7981 <define name="draw-handle-attlist" combine="interleave">
7982     <optional>
7983         <attribute name="draw:handle-polar">
7984             <ref name="string"/>
7985         </attribute>
7986     </optional>
7987 </define>
7988 <define name="draw-handle-attlist" combine="interleave">
7989     <optional>
7990         <attribute name="draw:handle-radius-range-minimum">
7991             <ref name="string"/>
7992         </attribute>
7993     </optional>
7994 </define>
7995 <define name="draw-handle-attlist" combine="interleave">
7996     <optional>
7997         <attribute name="draw:handle-radius-range-maximum">
7998             <ref name="string"/>
7999         </attribute>
8000     </optional>
8001 </define>
8002 <define name="presentation-shape-attlist" combine="interleave">
8003     <optional>
8004         <attribute name="presentation:class">
8005             <ref name="presentation-classes"/>
8006         </attribute>
8007     </optional>
8008 </define>
8009 <define name="presentation-classes">
8010     <choice>
8011         <value>title</value>
8012         <value>outline</value>
8013         <value>subtitle</value>
8014         <value>text</value>
8015         <value>graphic</value>
8016         <value>object</value>
8017         <value>chart</value>
8018         <value>table</value>
8019         <value>orgchart</value>
8020         <value>page</value>
8021         <value>notes</value>
8022         <value>handout</value>
8023         <value>header</value>
8024         <value>footer</value>
8025         <value>date-time</value>
8026         <value>page-number</value>
8027     </choice>
8028 </define>
8029 <define name="presentation-shape-attlist" combine="interleave">
8030     <optional>
8031         <attribute name="presentation:placeholder">
8032             <ref name="boolean"/>
8033         </attribute>
8034     </optional>
8035 </define>
8036 <define name="presentation-shape-attlist" combine="interleave">
8037     <optional>
8038         <attribute name="presentation:user-transformed">
8039             <ref name="boolean"/>
8040         </attribute>
8041     </optional>
8042 </define>
8043 <define name="presentation-animations">
8044     <element name="presentation:animations">
8045         <zeroOrMore>
8046             <choice>
8047                 <ref name="presentation-animation-elements"/>
8048                 <ref name="presentation-animation-group"/>
8049             </choice>
8050         </zeroOrMore>
8051     </element>
8052 </define>
8053 <define name="presentation-animation-elements">
8054     <choice>
8055         <ref name="presentation-show-shape"/>
8056         <ref name="presentation-show-text"/>
8057         <ref name="presentation-hide-shape"/>
8058         <ref name="presentation-hide-text"/>
8059         <ref name="presentation-dim"/>
8060         <ref name="presentation-play"/>
8061     </choice>
8062 </define>
8063 <define name="presentation-sound">
8064     <element name="presentation:sound">
8065         <ref name="presentation-sound-attlist"/>
8066         <attribute name="xlink:href">
8067             <ref name="anyURI"/>
8068         </attribute>
8069         <optional>
8070             <attribute name="xlink:type" a:defaultValue="simple">
8071                 <choice>
8072                     <value>simple</value>
8073                 </choice>
8074             </attribute>
8075         </optional>
8076         <optional>
8077             <attribute name="xlink:actuate" a:defaultValue="onRequest">
8078                 <choice>
8079                     <value>onRequest</value>
8080                 </choice>
8081             </attribute>
8082         </optional>
8083         <optional>
8084             <attribute name="xlink:show">
8085                 <choice>
8086                     <value>new</value>
8087                     <value>replace</value>
8088                 </choice>
8089             </attribute>
8090         </optional>
8091         <empty/>
8092     </element>
8093 </define>
8094 <define name="presentation-sound-attlist" combine="interleave">
8095     <optional>
8096         <attribute name="presentation:play-full">
8097             <ref name="boolean"/>
8098         </attribute>
8099     </optional>
8100 </define>
8101 <define name="presentation-show-shape">
8102     <element name="presentation:show-shape">
8103         <ref name="common-presentation-effect-attlist"/>
8104         <optional>
8105             <ref name="presentation-sound"/>
8106         </optional>
8107     </element>
8108 </define>
8109 <define name="common-presentation-effect-attlist" combine="interleave">
8110     <attribute name="draw:shape-id">
8111         <ref name="IDREF"/>
8112     </attribute>
8113 </define>
8114 <define name="common-presentation-effect-attlist" combine="interleave">
8115     <optional>
8116         <attribute name="presentation:effect" a:defaultValue="none">
8117             <ref name="presentationEffects"/>
8118         </attribute>
8119     </optional>
8120 </define>
8121 <define name="presentationEffects">
8122     <choice>
8123         <value>none</value>
8124         <value>fade</value>
8125         <value>move</value>
8126         <value>stripes</value>
8127         <value>open</value>
8128         <value>close</value>
8129         <value>dissolve</value>
8130         <value>wavyline</value>
8131         <value>random</value>
8132         <value>lines</value>
8133         <value>laser</value>
8134         <value>appear</value>
8135         <value>hide</value>
8136         <value>move-short</value>
8137         <value>checkerboard</value>
8138         <value>rotate</value>
8139         <value>stretch</value>
8140     </choice>
8141 </define>
8142 <define name="common-presentation-effect-attlist" combine="interleave">
8143     <optional>
8144         <attribute name="presentation:direction" a:defaultValue="none">
8145             <ref name="presentationEffectDirections"/>
8146         </attribute>
8147     </optional>
8148 </define>
8149 <define name="presentationEffectDirections">
8150     <choice>
8151         <value>none</value>
8152         <value>from-left</value>
8153         <value>from-top</value>
8154         <value>from-right</value>
8155         <value>from-bottom</value>
8156         <value>from-center</value>
8157         <value>from-upper-left</value>
8158         <value>from-upper-right</value>
8159         <value>from-lower-left</value>
8160         <value>from-lower-right</value>
8161         <value>to-left</value>
8162         <value>to-top</value>
8163         <value>to-right</value>
8164         <value>to-bottom</value>
8165         <value>to-upper-left</value>
8166         <value>to-upper-right</value>
8167         <value>to-lower-right</value>
8168         <value>to-lower-left</value>
8169         <value>path</value>
8170         <value>spiral-inward-left</value>
8171         <value>spiral-inward-right</value>
8172         <value>spiral-outward-left</value>
8173         <value>spiral-outward-right</value>
8174         <value>vertical</value>
8175         <value>horizontal</value>
8176         <value>to-center</value>
8177         <value>clockwise</value>
8178         <value>counter-clockwise</value>
8179     </choice>
8180 </define>
8181 <define name="common-presentation-effect-attlist" combine="interleave">
8182     <optional>
8183         <attribute name="presentation:speed" a:defaultValue="medium">
8184             <ref name="presentationSpeeds"/>
8185         </attribute>
8186     </optional>
8187 </define>
8188 <define name="presentationSpeeds">
8189     <choice>
8190         <value>slow</value>
8191         <value>medium</value>
8192         <value>fast</value>
8193     </choice>
8194 </define>
8195 <define name="common-presentation-effect-attlist" combine="interleave">
8196     <optional>
8197         <attribute name="presentation:delay">
8198             <ref name="duration"/>
8199         </attribute>
8200     </optional>
8201 </define>
8202 <define name="common-presentation-effect-attlist" combine="interleave">
8203     <optional>
8204         <attribute name="presentation:start-scale" a:defaultValue="100%">
8205             <ref name="percent"/>
8206         </attribute>
8207     </optional>
8208 </define>
8209 <define name="common-presentation-effect-attlist" combine="interleave">
8210     <optional>
8211         <attribute name="presentation:path-id"/>
8212     </optional>
8213 </define>
8214 <define name="presentation-show-text">
8215     <element name="presentation:show-text">
8216         <ref name="common-presentation-effect-attlist"/>
8217         <optional>
8218             <ref name="presentation-sound"/>
8219         </optional>
8220     </element>
8221 </define>
8222 <define name="presentation-hide-shape">
8223     <element name="presentation:hide-shape">
8224         <ref name="common-presentation-effect-attlist"/>
8225         <optional>
8226             <ref name="presentation-sound"/>
8227         </optional>
8228     </element>
8229 </define>
8230 <define name="presentation-hide-text">
8231     <element name="presentation:hide-text">
8232         <ref name="common-presentation-effect-attlist"/>
8233         <optional>
8234             <ref name="presentation-sound"/>
8235         </optional>
8236     </element>
8237 </define>
8238 <define name="presentation-dim">
8239     <element name="presentation:dim">
8240         <ref name="presentation-dim-attlist"/>
8241         <optional>
8242             <ref name="presentation-sound"/>
8243         </optional>
8244     </element>
8245 </define>
8246 <define name="presentation-dim-attlist" combine="interleave">
8247     <attribute name="draw:shape-id">
8248         <ref name="IDREF"/>
8249     </attribute>
8250 </define>
8251 <define name="presentation-dim-attlist" combine="interleave">
8252     <attribute name="draw:color">
8253         <ref name="color"/>
8254     </attribute>
8255 </define>
8256 <define name="presentation-play">
8257     <element name="presentation:play">
8258         <ref name="presentation-play-attlist"/>
8259         <empty/>
8260     </element>
8261 </define>
8262 <define name="presentation-play-attlist" combine="interleave">
8263     <attribute name="draw:shape-id">
8264         <ref name="IDREF"/>
8265     </attribute>
8266     <optional>
8267         <attribute name="presentation:speed" a:defaultValue="medium">
8268             <ref name="presentationSpeeds"/>
8269         </attribute>
8270     </optional>
8271 </define>
8272 <define name="presentation-animation-group">
8273     <element name="presentation:animation-group">
8274         <zeroOrMore>
8275             <ref name="presentation-animation-elements"/>
8276         </zeroOrMore>
8277     </element>
8278 </define>
8279 <define name="common-anim-attlist" combine="interleave">
8280     <optional>
8281         <attribute name="presentation:node-type" a:defaultValue="default">
8282             <choice>
8283                 <value>default</value>
8284                 <value>on-click</value>
8285                 <value>with-previous</value>
8286                 <value>after-previous</value>
8287                 <value>timing-root</value>
8288                 <value>main-sequence</value>
8289                 <value>interactive-sequence</value>
8290             </choice>
8291         </attribute>
8292     </optional>
8293 </define>
8294 <define name="common-anim-attlist" combine="interleave">
8295     <optional>
8296         <attribute name="presentation:preset-id">
8297             <ref name="string"/>
8298         </attribute>
8299     </optional>
8300 </define>
8301 <define name="common-anim-attlist" combine="interleave">
8302     <optional>
8303         <attribute name="presentation:preset-sub-type">
8304             <ref name="string"/>
8305         </attribute>
8306     </optional>
8307 </define>
8308 <define name="common-anim-attlist" combine="interleave">
8309     <optional>
8310         <attribute name="presentation:preset-class" a:defaultValue="custom">
8311             <choice>
8312                 <value>custom</value>
8313                 <value>entrance</value>
8314                 <value>exit</value>
8315                 <value>emphasis</value>
8316                 <value>motion-path</value>
8317                 <value>ole-action</value>
8318                 <value>media-call</value>
8319             </choice>
8320         </attribute>
8321     </optional>
8322 </define>
8323 <define name="common-anim-attlist" combine="interleave">
8324     <optional>
8325         <attribute name="presentation:master-element">
8326             <ref name="IDREF"/>
8327         </attribute>
8328     </optional>
8329 </define>
8330 <define name="common-anim-attlist" combine="interleave">
8331     <optional>
8332         <attribute name="presentation:group-id">
8333             <ref name="string"/>
8334         </attribute>
8335     </optional>
8336 </define>
8337 <define name="presentation-event-listener">
8338     <element name="presentation:event-listener">
8339         <ref name="presentation-event-listener-attlist"/>
8340         <optional>
8341             <ref name="presentation-sound"/>
8342         </optional>
8343     </element>
8344 </define>
8345 <define name="presentation-event-listener-attlist" combine="interleave">
8346     <attribute name="script:event-name">
8347         <ref name="string"/>
8348     </attribute>
8349 </define>
8350 <define name="presentation-event-listener-attlist" combine="interleave">
8351     <attribute name="presentation:action">
8352         <choice>
8353             <value>none</value>
8354             <value>previous-page</value>
8355             <value>next-page</value>
8356             <value>first-page</value>
8357             <value>last-page</value>
8358             <value>hide</value>
8359             <value>stop</value>
8360             <value>execute</value>
8361             <value>show</value>
8362             <value>verb</value>
8363             <value>fade-out</value>
8364             <value>sound</value>
8365         </choice>
8366     </attribute>
8367 </define>
8368 <define name="presentation-event-listener-attlist" combine="interleave">
8369     <optional>
8370         <attribute name="presentation:effect" a:defaultValue="none">
8371             <ref name="presentationEffects"/>
8372         </attribute>
8373     </optional>
8374 </define>
8375 <define name="presentation-event-listener-attlist" combine="interleave">
8376     <optional>
8377         <attribute name="presentation:direction" a:defaultValue="none">
8378             <ref name="presentationEffectDirections"/>
8379         </attribute>
8380     </optional>
8381 </define>
8382 <define name="presentation-event-listener-attlist" combine="interleave">
8383     <optional>
8384         <attribute name="presentation:speed" a:defaultValue="medium">
8385             <ref name="presentationSpeeds"/>
8386         </attribute>
8387     </optional>
8388 </define>
8389 <define name="presentation-event-listener-attlist" combine="interleave">
8390     <optional>
8391         <attribute name="presentation:start-scale" a:defaultValue="100%">
8392             <ref name="percent"/>
8393         </attribute>
8394     </optional>
8395 </define>
8396 <define name="presentation-event-listener-attlist" combine="interleave">
8397     <optional>
8398         <attribute name="xlink:href">
8399             <ref name="anyURI"/>
8400         </attribute>
8401     </optional>
8402     <optional>
8403         <attribute name="xlink:type" a:defaultValue="simple">
8404             <choice>
8405                 <value>simple</value>
8406             </choice>
8407         </attribute>
8408     </optional>
8409     <optional>
8410         <attribute name="xlink:show" a:defaultValue="embed">
8411             <choice>
8412                 <value>embed</value>
8413             </choice>
8414         </attribute>
8415     </optional>
8416     <optional>
8417         <attribute name="xlink:actuate" a:defaultValue="onRequest">
8418             <choice>
8419                 <value>onRequest</value>
8420             </choice>
8421         </attribute>
8422     </optional>
8423 </define>
8424 <define name="presentation-event-listener-attlist" combine="interleave">
8425     <optional>
8426         <attribute name="presentation:verb">
8427             <ref name="nonNegativeInteger"/>
8428         </attribute>
8429     </optional>
8430 </define>
8431 <define name="paragraph-content" combine="choice">
8432     <element name="presentation:header">
8433         <empty/>
8434     </element>
8435 </define>
8436 <define name="paragraph-content" combine="choice">
8437     <element name="presentation:footer">
8438         <empty/>
8439     </element>
8440 </define>
8441 <define name="paragraph-content" combine="choice">
8442     <element name="presentation:date-time">
8443         <empty/>
8444     </element>
8445 </define>
8446 <define name="presentation-decls">
8447     <zeroOrMore>
8448         <ref name="presentation-decl"/>
8449     </zeroOrMore>
8450 </define>
8451 <define name="presentation-decl" combine="choice">
8452     <element name="presentation:header-decl">
8453         <ref name="presentation-header-decl-attlist"/>
8454         <text/>
8455     </element>
8456 </define>
8457 <define name="presentation-header-decl-attlist" combine="interleave">
8458     <attribute name="presentation:name">
8459         <ref name="string"/>
8460     </attribute>
8461 </define>
8462 <define name="presentation-decl" combine="choice">
8463     <element name="presentation:footer-decl">
8464         <ref name="presentation-footer-decl-attlist"/>
8465         <text/>
8466     </element>
8467 </define>
8468 <define name="presentation-footer-decl-attlist" combine="interleave">
8469     <attribute name="presentation:name">
8470         <ref name="string"/>
8471     </attribute>
8472 </define>
8473 <define name="presentation-decl" combine="choice">
8474     <element name="presentation:date-time-decl">
8475         <ref name="presentation-date-time-decl-attlist"/>
8476         <text/>
8477     </element>
8478 </define>
8479 <define name="presentation-date-time-decl-attlist" combine="interleave">
8480     <attribute name="presentation:name">
8481         <ref name="string"/>
8482     </attribute>
8483 </define>
8484 <define name="presentation-date-time-decl-attlist" combine="interleave">
8485     <attribute name="presentation:source">
8486         <choice>
8487             <value>fixed</value>
8488             <value>current-date</value>
8489         </choice>
8490     </attribute>
8491 </define>
8492 <define name="presentation-date-time-decl-attlist" combine="interleave">
8493     <optional>
8494         <attribute name="style:data-style-name">
8495             <ref name="styleNameRef"/>
8496         </attribute>
8497     </optional>
8498 </define>
8499 <define name="presentation-settings">
8500     <optional>
8501         <element name="presentation:settings">
8502             <ref name="presentation-settings-attlist"/>
8503             <zeroOrMore>
8504                 <ref name="presentation-show"/>
8505             </zeroOrMore>
8506         </element>
8507     </optional>
8508 </define>
8509 <define name="presentation-settings-attlist" combine="interleave">
8510     <optional>
8511         <attribute name="presentation:start-page">
8512             <ref name="string"/>
8513         </attribute>
8514     </optional>
8515 </define>
8516 <define name="presentation-settings-attlist" combine="interleave">
8517     <optional>
8518         <attribute name="presentation:show">
8519             <ref name="string"/>
8520         </attribute>
8521     </optional>
8522 </define>
8523 <define name="presentation-settings-attlist" combine="interleave">
8524     <optional>
8525         <attribute name="presentation:full-screen" a:defaultValue="true">
8526             <ref name="boolean"/>
8527         </attribute>
8528     </optional>
8529 </define>
8530 <define name="presentation-settings-attlist" combine="interleave">
8531     <optional>
8532         <attribute name="presentation:endless" a:defaultValue="false">
8533             <ref name="boolean"/>
8534         </attribute>
8535     </optional>
8536 </define>
8537 <define name="presentation-settings-attlist" combine="interleave">
8538     <optional>
8539         <attribute name="presentation:pause">
8540             <ref name="duration"/>
8541         </attribute>
8542     </optional>
8543 </define>
8544 <define name="presentation-settings-attlist" combine="interleave">
8545     <optional>
8546         <attribute name="presentation:show-logo" a:defaultValue="false">
8547             <ref name="boolean"/>
8548         </attribute>
8549     </optional>
8550 </define>
8551 <define name="presentation-settings-attlist" combine="interleave">
8552     <optional>
8553         <attribute name="presentation:force-manual" a:defaultValue="false">
8554             <ref name="boolean"/>
8555         </attribute>
8556     </optional>
8557 </define>
8558 <define name="presentation-settings-attlist" combine="interleave">
8559     <optional>
8560         <attribute name="presentation:mouse-visible" a:defaultValue="true">
8561             <ref name="boolean"/>
8562         </attribute>
8563     </optional>
8564 </define>
8565 <define name="presentation-settings-attlist" combine="interleave">
8566     <optional>
8567         <attribute name="presentation:mouse-as-pen" a:defaultValue="false">
8568             <ref name="boolean"/>
8569         </attribute>
8570     </optional>
8571 </define>
8572 <define name="presentation-settings-attlist" combine="interleave">
8573     <optional>
8574         <attribute name="presentation:start-with-navigator"
8575                    a:defaultValue="false">
8576             <ref name="boolean"/>
8577         </attribute>
8578     </optional>
8579 </define>
8580 <define name="presentation-settings-attlist" combine="interleave">
8581     <optional>
8582         <attribute name="presentation:animations" a:defaultValue="enabled">
8583             <choice>
8584                 <value>enabled</value>
8585                 <value>disabled</value>
8586             </choice>
8587         </attribute>
8588     </optional>
8589 </define>
8590 <define name="presentation-settings-attlist" combine="interleave">
8591     <optional>
8592         <attribute name="presentation:transition-on-click"
8593                    a:defaultValue="enabled">
8594             <choice>
8595                 <value>enabled</value>
8596                 <value>disabled</value>
8597             </choice>
8598         </attribute>
8599     </optional>
8600 </define>
8601 <define name="presentation-settings-attlist" combine="interleave">
8602     <optional>
8603         <attribute name="presentation:stay-on-top" a:defaultValue="false">
8604             <ref name="boolean"/>
8605         </attribute>
8606     </optional>
8607 </define>
8608 <define name="presentation-settings-attlist" combine="interleave">
8609     <optional>
8610         <attribute name="presentation:show-end-of-presentation-slide"
8611                    a:defaultValue="true">
8612             <ref name="boolean"/>
8613         </attribute>
8614     </optional>
8615 </define>
8616 <define name="presentation-show">
8617     <element name="presentation:show">
8618         <ref name="presentation-show-attlist"/>
8619         <empty/>
8620     </element>
8621 </define>
8622 <define name="presentation-show-attlist" combine="interleave">
8623     <attribute name="presentation:name">
8624         <ref name="string"/>
8625     </attribute>
8626 </define>
8627 <define name="presentation-show-attlist" combine="interleave">
8628     <attribute name="presentation:pages"/>
8629 </define>
8630 <define name="chart-chart">
8631     <element name="chart:chart">
8632         <ref name="chart-chart-attlist"/>
8633         <optional>
8634             <ref name="chart-title"/>
8635         </optional>
8636         <optional>
8637             <ref name="chart-subtitle"/>
8638         </optional>
8639         <optional>
8640             <ref name="chart-footer"/>
8641         </optional>
8642         <optional>
8643             <ref name="chart-legend"/>
8644         </optional>
8645         <ref name="chart-plot-area"/>
8646         <optional>
8647             <ref name="table-table"/>
8648         </optional>
8649     </element>
8650 </define>
8651 <define name="chart-chart-attlist" combine="interleave">
8652     <attribute name="chart:class">
8653         <ref name="namespacedToken"/>
8654     </attribute>
8655 </define>
8656 <define name="chart-chart-attlist" combine="interleave">
8657     <ref name="common-draw-size-attlist"/>
8658 </define>
8659 <define name="chart-chart-attlist" combine="interleave">
8660     <optional>
8661         <attribute name="chart:column-mapping">
8662             <ref name="string"/>
8663         </attribute>
8664     </optional>
8665 </define>
8666 <define name="chart-chart-attlist" combine="interleave">
8667     <optional>
8668         <attribute name="chart:row-mapping">
8669             <ref name="string"/>
8670         </attribute>
8671     </optional>
8672 </define>
8673 <define name="chart-chart-attlist" combine="interleave">
8674     <optional>
8675         <attribute name="chart:style-name">
8676             <ref name="styleNameRef"/>
8677         </attribute>
8678     </optional>
8679 </define>
8680 <define name="chart-title">
8681     <element name="chart:title">
8682         <ref name="chart-title-attlist"/>
8683         <optional>
8684             <ref name="text-p"/>
8685         </optional>
8686     </element>
8687 </define>
8688 <define name="chart-title-attlist" combine="interleave">
8689     <optional>
8690         <attribute name="table:cell-range">
8691             <ref name="cellAddress"/>
8692         </attribute>
8693     </optional>
8694 </define>
8695 <define name="chart-title-attlist" combine="interleave">
8696     <ref name="common-draw-position-attlist"/>
8697 </define>
8698 <define name="chart-title-attlist" combine="interleave">
8699     <optional>
8700         <attribute name="chart:style-name">
8701             <ref name="styleNameRef"/>
8702         </attribute>
8703     </optional>
8704 </define>
8705 <define name="chart-subtitle">
8706     <element name="chart:subtitle">
8707         <ref name="chart-title-attlist"/>
8708         <optional>
8709             <ref name="text-p"/>
8710         </optional>
8711     </element>
8712 </define>
8713 <define name="chart-footer">
8714     <element name="chart:footer">
8715         <ref name="chart-title-attlist"/>
8716         <optional>
8717             <ref name="text-p"/>
8718         </optional>
8719     </element>
8720 </define>
8721 <define name="chart-legend">
8722     <element name="chart:legend">
8723         <ref name="chart-legend-attlist"/>
8724         <empty/>
8725     </element>
8726 </define>
8727 <define name="chart-legend-attlist" combine="interleave">
8728     <choice>
8729         <group>
8730             <attribute name="chart:legend-position">
8731                 <choice>
8732                     <value>start</value>
8733                     <value>end</value>
8734                     <value>top</value>
8735                     <value>bottom</value>
8736                 </choice>
8737             </attribute>
8738             <optional>
8739                 <attribute name="chart:legend-align">
8740                     <choice>
8741                         <value>start</value>
8742                         <value>center</value>
8743                         <value>end</value>
8744                     </choice>
8745                 </attribute>
8746             </optional>
8747         </group>
8748         <attribute name="chart:legend-position">
8749             <choice>
8750                 <value>top-start</value>
8751                 <value>bottom-start</value>
8752                 <value>top-end</value>
8753                 <value>bottom-end</value>
8754             </choice>
8755         </attribute>
8756         <empty/>
8757     </choice>
8758 </define>
8759 <define name="chart-legend-attlist" combine="interleave">
8760     <ref name="common-draw-position-attlist"/>
8761 </define>
8762 <define name="chart-legend-attlist" combine="interleave">
8763     <choice>
8764         <attribute name="style:legend-expansion">
8765             <choice>
8766                 <value>wide</value>
8767                 <value>high</value>
8768                 <value>balanced</value>
8769             </choice>
8770         </attribute>
8771         <group>
8772             <attribute name="style:legend-expansion">
8773                 <value>custom</value>
8774             </attribute>
8775             <attribute name="style:legend-expansion-aspect-ratio">
8776                 <ref name="double"/>
8777             </attribute>
8778         </group>
8779         <empty/>
8780     </choice>
8781 </define>
8782 <define name="chart-legend-attlist" combine="interleave">
8783     <optional>
8784         <attribute name="chart:style-name">
8785             <ref name="styleNameRef"/>
8786         </attribute>
8787     </optional>
8788 </define>
8789 <define name="chart-plot-area">
8790     <element name="chart:plot-area">
8791         <ref name="chart-plot-area-attlist"/>
8792         <zeroOrMore>
8793             <ref name="dr3d-light"/>
8794         </zeroOrMore>
8795         <zeroOrMore>
8796             <ref name="chart-axis"/>
8797         </zeroOrMore>
8798         <zeroOrMore>
8799             <ref name="chart-series"/>
8800         </zeroOrMore>
8801         <optional>
8802             <ref name="chart-stock-gain-marker"/>
8803         </optional>
8804         <optional>
8805             <ref name="chart-stock-loss-marker"/>
8806         </optional>
8807         <optional>
8808             <ref name="chart-stock-range-line"/>
8809         </optional>
8810         <optional>
8811             <ref name="chart-wall"/>
8812         </optional>
8813         <optional>
8814             <ref name="chart-floor"/>
8815         </optional>
8816     </element>
8817 </define>
8818 <define name="chart-plot-area-attlist" combine="interleave">
8819     <ref name="common-draw-position-attlist"/>
8820     <ref name="common-draw-size-attlist"/>
8821 </define>
8822 <define name="chart-plot-area-attlist" combine="interleave">
8823     <optional>
8824         <attribute name="chart:style-name">
8825             <ref name="styleNameRef"/>
8826         </attribute>
8827     </optional>
8828 </define>
8829 <define name="chart-plot-area-attlist" combine="interleave">
8830     <optional>
8831         <attribute name="table:cell-range-address">
8832             <ref name="cellRangeAddress"/>
8833         </attribute>
8834     </optional>
8835 </define>
8836 <define name="chart-plot-area-attlist" combine="interleave">
8837     <optional>
8838         <attribute name="chart:data-source-has-labels" a:defaultValue="none">
8839             <choice>
8840                 <value>none</value>
8841                 <value>row</value>
8842                 <value>column</value>
8843                 <value>both</value>
8844             </choice>
8845         </attribute>
8846     </optional>
8847 </define>
8848 <define name="chart-plot-area-attlist" combine="interleave">
8849     <ref name="dr3d-scene-attlist"/>
8850     <ref name="common-dr3d-transform-attlist"/>
8851 </define>
8852 <define name="chart-wall">
8853     <element name="chart:wall">
8854         <ref name="chart-wall-attlist"/>
8855         <empty/>
8856     </element>
8857 </define>
8858 <define name="chart-wall-attlist" combine="interleave">
8859     <optional>
8860         <attribute name="svg:width">
8861             <ref name="length"/>
8862         </attribute>
8863     </optional>
8864 </define>
8865 <define name="chart-wall-attlist" combine="interleave">
8866     <optional>
8867         <attribute name="chart:style-name">
8868             <ref name="styleNameRef"/>
8869         </attribute>
8870     </optional>
8871 </define>
8872 <define name="chart-floor">
8873     <element name="chart:floor">
8874         <ref name="chart-floor-attlist"/>
8875         <empty/>
8876     </element>
8877 </define>
8878 <define name="chart-floor-attlist" combine="interleave">
8879     <optional>
8880         <attribute name="svg:width">
8881             <ref name="length"/>
8882         </attribute>
8883     </optional>
8884 </define>
8885 <define name="chart-floor-attlist" combine="interleave">
8886     <optional>
8887         <attribute name="chart:style-name">
8888             <ref name="styleNameRef"/>
8889         </attribute>
8890     </optional>
8891 </define>
8892 <define name="chart-axis">
8893     <element name="chart:axis">
8894         <ref name="chart-axis-attlist"/>
8895         <optional>
8896             <ref name="chart-title"/>
8897         </optional>
8898         <optional>
8899             <ref name="chart-categories"/>
8900         </optional>
8901         <zeroOrMore>
8902             <ref name="chart-grid"/>
8903         </zeroOrMore>
8904     </element>
8905 </define>
8906 <define name="chart-axis-attlist" combine="interleave">
8907     <attribute name="chart:dimension">
8908         <choice>
8909             <value>x</value>
8910             <value>y</value>
8911             <value>z</value>
8912         </choice>
8913     </attribute>
8914 </define>
8915 <define name="chart-axis-attlist" combine="interleave">
8916     <optional>
8917         <attribute name="chart:name">
8918             <ref name="string"/>
8919         </attribute>
8920     </optional>
8921 </define>
8922 <define name="chart-axis-attlist" combine="interleave">
8923     <optional>
8924         <attribute name="chart:style-name">
8925             <ref name="styleNameRef"/>
8926         </attribute>
8927     </optional>
8928 </define>
8929 <define name="chart-grid">
8930     <element name="chart:grid">
8931         <ref name="chart-grid-attlist"/>
8932     </element>
8933 </define>
8934 <define name="chart-grid-attlist" combine="interleave">
8935     <optional>
8936         <attribute name="chart:class" a:defaultValue="major">
8937             <choice>
8938                 <value>major</value>
8939                 <value>minor</value>
8940             </choice>
8941         </attribute>
8942     </optional>
8943 </define>
8944 <define name="chart-grid-attlist" combine="interleave">
8945     <optional>
8946         <attribute name="chart:style-name">
8947             <ref name="styleNameRef"/>
8948         </attribute>
8949     </optional>
8950 </define>
8951 <define name="chart-series">
8952     <element name="chart:series">
8953         <ref name="chart-series-attlist"/>
8954         <zeroOrMore>
8955             <ref name="chart-domain"/>
8956         </zeroOrMore>
8957         <optional>
8958             <ref name="chart-mean-value"/>
8959         </optional>
8960         <optional>
8961             <ref name="chart-regression-curve"/>
8962         </optional>
8963         <optional>
8964             <ref name="chart-error-indicator"/>
8965         </optional>
8966         <zeroOrMore>
8967             <ref name="chart-data-point"/>
8968         </zeroOrMore>
8969     </element>
8970 </define>
8971 <define name="chart-series-attlist" combine="interleave">
8972     <optional>
8973         <attribute name="chart:values-cell-range-address">
8974             <ref name="cellRangeAddress"/>
8975         </attribute>
8976     </optional>
8977 </define>
8978 <define name="chart-series-attlist" combine="interleave">
8979     <optional>
8980         <attribute name="chart:label-cell-address">
8981             <ref name="cellAddress"/>
8982         </attribute>
8983     </optional>
8984 </define>
8985 <define name="chart-series-attlist" combine="interleave">
8986     <optional>
8987         <attribute name="chart:class">
8988             <ref name="namespacedToken"/>
8989         </attribute>
8990     </optional>
8991 </define>
8992 <define name="chart-series-attlist" combine="interleave">
8993     <optional>
8994         <attribute name="chart:attached-axis">
8995             <ref name="string"/>
8996         </attribute>
8997     </optional>
8998 </define>
8999 <define name="chart-series-attlist" combine="interleave">
9000     <optional>
9001         <attribute name="chart:style-name">
9002             <ref name="styleNameRef"/>
9003         </attribute>
9004     </optional>
9005 </define>
9006 <define name="chart-domain">
9007     <element name="chart:domain">
9008     <optional>
9009         <attribute name="table:cell-range-address">
9010             <ref name="cellRangeAddress"/>
9011         </attribute>
9012     </optional>
9013     </element>
9014 </define>
9015 <define name="chart-categories">
9016     <element name="chart:categories">
9017     <optional>
9018         <attribute name="table:cell-range-address">
9019             <ref name="cellRangeAddress"/>
9020         </attribute>
9021     </optional>
9022     </element>
9023 </define>
9024 <define name="chart-data-point">
9025     <element name="chart:data-point">
9026         <ref name="chart-data-point-attlist"/>
9027         <empty/>
9028     </element>
9029 </define>
9030 <define name="chart-data-point-attlist" combine="interleave">
9031     <optional>
9032         <attribute name="chart:repeated">
9033             <ref name="nonNegativeInteger"/>
9034         </attribute>
9035     </optional>
9036 </define>
9037 <define name="chart-data-point-attlist" combine="interleave">
9038     <optional>
9039         <attribute name="chart:style-name">
9040             <ref name="styleNameRef"/>
9041         </attribute>
9042     </optional>
9043 </define>
9044 
9045 <define name="chart-mean-value">
9046     <element name="chart:mean-value">
9047         <ref name="chart-mean-value-attlist"/>
9048         <empty/>
9049     </element>
9050 </define>
9051 <define name="chart-mean-value-attlist" combine="interleave">
9052     <optional>
9053         <attribute name="chart:style-name">
9054             <ref name="styleNameRef"/>
9055         </attribute>
9056     </optional>
9057 </define>
9058 <define name="chart-error-indicator">
9059     <element name="chart:error-indicator">
9060         <ref name="chart-error-indicator-attlist"/>
9061         <empty/>
9062     </element>
9063 </define>
9064 <define name="chart-error-indicator-attlist" combine="interleave">
9065     <optional>
9066         <attribute name="chart:style-name">
9067             <ref name="styleNameRef"/>
9068         </attribute>
9069     </optional>
9070 </define>
9071 <define name="chart-regression-curve">
9072     <element name="chart:regression-curve">
9073         <ref name="chart-regression-curve-attlist"/>
9074         <empty/>
9075     </element>
9076 </define>
9077 <define name="chart-regression-curve-attlist" combine="interleave">
9078     <optional>
9079         <attribute name="chart:style-name">
9080             <ref name="styleNameRef"/>
9081         </attribute>
9082     </optional>
9083 </define>
9084 <define name="chart-stock-gain-marker">
9085     <element name="chart:stock-gain-marker">
9086         <ref name="common-stock-marker-attlist"/>
9087     </element>
9088 </define>
9089 <define name="chart-stock-loss-marker">
9090     <element name="chart:stock-loss-marker">
9091         <ref name="common-stock-marker-attlist"/>
9092     </element>
9093 </define>
9094 <define name="chart-stock-range-line">
9095     <element name="chart:stock-range-line">
9096         <ref name="common-stock-marker-attlist"/>
9097     </element>
9098 </define>
9099 <define name="common-stock-marker-attlist">
9100     <optional>
9101         <attribute name="chart:style-name">
9102             <ref name="styleNameRef"/>
9103         </attribute>
9104     </optional>
9105 </define>
9106 <define name="office-forms">
9107     <optional>
9108         <element name="office:forms">
9109             <ref name="office-forms-attlist"/>
9110             <zeroOrMore>
9111                 <choice>
9112                     <ref name="form-form"/>
9113                     <ref name="xforms-model"/>
9114                 </choice>
9115             </zeroOrMore>
9116         </element>
9117     </optional>
9118 </define>
9119 <define name="office-forms-attlist" combine="interleave">
9120     <optional>
9121         <attribute name="form:automatic-focus" a:defaultValue="false">
9122             <ref name="boolean"/>
9123         </attribute>
9124     </optional>
9125 </define>
9126 <define name="office-forms-attlist" combine="interleave">
9127     <optional>
9128         <attribute name="form:apply-design-mode" a:defaultValue="true">
9129             <ref name="boolean"/>
9130         </attribute>
9131     </optional>
9132 </define>
9133 <define name="form-form">
9134     <element name="form:form">
9135         <ref name="common-form-control-attlist"/>
9136         <ref name="form-form-attlist"/>
9137         <optional>
9138             <ref name="form-properties"/>
9139         </optional>
9140         <optional>
9141             <ref name="office-event-listeners"/>
9142         </optional>
9143         <zeroOrMore>
9144             <choice>
9145                 <ref name="controls"/>
9146                 <ref name="form-form"/>
9147             </choice>
9148         </zeroOrMore>
9149         <optional>
9150             <ref name="form-connection-resource"/>
9151         </optional>
9152     </element>
9153 </define>
9154 <define name="form-form-attlist" combine="interleave">
9155     <optional>
9156         <attribute name="xlink:href">
9157             <ref name="anyURI"/>
9158         </attribute>
9159         <optional>
9160             <attribute name="xlink:type" a:defaultValue="simple">
9161                 <value>simple</value>
9162             </attribute>
9163         </optional>
9164         <optional>
9165             <attribute name="xlink:actuate" a:defaultValue="onRequest">
9166                 <value>onRequest</value>
9167             </attribute>
9168         </optional>
9169     </optional>
9170 </define>
9171 <define name="form-form-attlist" combine="interleave">
9172     <optional>
9173         <attribute name="office:target-frame" a:defaultValue="_blank">
9174             <ref name="targetFrameName"/>
9175         </attribute>
9176     </optional>
9177 </define>
9178 <define name="form-form-attlist" combine="interleave">
9179     <optional>
9180         <attribute name="form:method" a:defaultValue="get">
9181             <choice>
9182                 <value>get</value>
9183                 <value>post</value>
9184                 <ref name="string"/>
9185             </choice>
9186         </attribute>
9187     </optional>
9188 </define>
9189 <define name="form-form-attlist" combine="interleave">
9190     <optional>
9191         <attribute name="form:enctype" 
9192                     a:defaultValue="application/x-www-form-urlencoded">
9193             <ref name="string"/>
9194         </attribute>
9195     </optional>
9196 </define>
9197 <define name="form-form-attlist" combine="interleave">
9198     <optional>
9199         <attribute name="form:allow-deletes" a:defaultValue="true">
9200             <ref name="boolean"/>
9201         </attribute>
9202     </optional>
9203 </define>
9204 <define name="form-form-attlist" combine="interleave">
9205     <optional>
9206         <attribute name="form:allow-inserts" a:defaultValue="true">
9207             <ref name="boolean"/>
9208         </attribute>
9209     </optional>
9210 </define>
9211 <define name="form-form-attlist" combine="interleave">
9212     <optional>
9213         <attribute name="form:allow-updates" a:defaultValue="true">
9214             <ref name="boolean"/>
9215         </attribute>
9216     </optional>
9217 </define>
9218 <define name="form-form-attlist" combine="interleave">
9219     <optional>
9220         <attribute name="form:apply-filter" a:defaultValue="false">
9221             <ref name="boolean"/>
9222         </attribute>
9223     </optional>
9224 </define>
9225 <define name="form-form-attlist" combine="interleave">
9226     <optional>
9227         <attribute name="form:command-type" a:defaultValue="command">
9228             <choice>
9229                 <value>table</value>
9230                 <value>query</value>
9231                 <value>command</value>
9232             </choice>
9233         </attribute>
9234     </optional>
9235 </define>
9236 <define name="form-form-attlist" combine="interleave">
9237     <optional>
9238         <attribute name="form:command"/>
9239     </optional>
9240 </define>
9241 <define name="form-form-attlist" combine="interleave">
9242     <optional>
9243         <attribute name="form:datasource">
9244             <choice>
9245                 <ref name="anyURI"/>
9246                 <ref name="string"/>
9247             </choice>
9248         </attribute>
9249     </optional>
9250 </define>
9251 <define name="form-form-attlist" combine="interleave">
9252     <optional>
9253         <attribute name="form:master-fields">
9254             <ref name="string"/>
9255         </attribute>
9256     </optional>
9257 </define>
9258 <define name="form-form-attlist" combine="interleave">
9259     <optional>
9260         <attribute name="form:detail-fields">
9261             <ref name="string"/>
9262         </attribute>
9263     </optional>
9264 </define>
9265 <define name="form-form-attlist" combine="interleave">
9266     <optional>
9267         <attribute name="form:escape-processing" a:defaultValue="true">
9268             <ref name="boolean"/>
9269         </attribute>
9270     </optional>
9271 </define>
9272 <define name="form-form-attlist" combine="interleave">
9273     <optional>
9274         <attribute name="form:filter">
9275             <ref name="string"/>
9276         </attribute>
9277     </optional>
9278 </define>
9279 <define name="form-form-attlist" combine="interleave">
9280     <optional>
9281         <attribute name="form:ignore-result" a:defaultValue="false">
9282             <ref name="boolean"/>
9283         </attribute>
9284     </optional>
9285 </define>
9286 <define name="form-form-attlist" combine="interleave">
9287     <optional>
9288         <attribute name="form:navigation-mode">
9289             <ref name="navigation"/>
9290         </attribute>
9291     </optional>
9292 </define>
9293 
9294 <define name="navigation">
9295     <choice>
9296         <value>none</value>
9297         <value>current</value>
9298         <value>parent</value>
9299     </choice>
9300 </define>
9301 <define name="form-form-attlist" combine="interleave">
9302     <optional>
9303         <attribute name="form:order">
9304             <ref name="string"/>
9305         </attribute>
9306     </optional>
9307 </define>
9308 <define name="form-form-attlist" combine="interleave">
9309     <optional>
9310         <attribute name="form:tab-cycle">
9311             <ref name="tab-cycles"/>
9312         </attribute>
9313     </optional>
9314 </define>
9315 <define name="tab-cycles">
9316     <choice>
9317         <value>records</value>
9318         <value>current</value>
9319         <value>page</value>
9320     </choice>
9321 </define>
9322 <define name="form-connection-resource">
9323     <element name="form:connection-resource">
9324         <attribute name="xlink:href">
9325             <ref name="anyURI"/>
9326         </attribute>
9327         <empty/>
9328     </element>
9329 </define>
9330 <define name="xforms-model">
9331     <element name="xforms:model">
9332         <ref name="anyAttListOrElements"/>
9333     </element>
9334 </define>
9335 <define name="column-controls" combine="choice">
9336     <element name="form:text">
9337         <ref name="form-text-attlist"/>
9338         <ref name="common-form-control-content"/>
9339     </element>
9340 </define>
9341 <define name="controls" combine="choice">
9342     <ref name="column-controls"/>
9343 </define>
9344 <define name="form-text-attlist">
9345     <ref name="form-control-attlist"/>
9346     <ref name="common-current-value-attlist"/>
9347     <ref name="common-disabled-attlist"/>
9348     <ref name="common-maxlength-attlist"/>
9349     <ref name="common-printable-attlist"/>
9350     <ref name="common-readonly-attlist"/>
9351     <ref name="common-tab-attlist"/>
9352     <ref name="common-title-attlist"/>
9353     <ref name="common-value-attlist"/>
9354     <ref name="common-convert-empty-attlist"/>
9355     <ref name="common-data-field-attlist"/>
9356 </define>
9357 <define name="form-control-attlist">
9358     <ref name="common-form-control-attlist"/>
9359     <ref name="common-control-id-attlist"/>
9360     <ref name="xforms-bind-attlist"/>
9361 </define>
9362 <define name="common-form-control-content">
9363     <optional>
9364         <ref name="form-properties"/>
9365     </optional>
9366     <optional>
9367         <ref name="office-event-listeners"/>
9368     </optional>
9369 </define>
9370 <define name="column-controls" combine="choice">
9371     <element name="form:textarea">
9372         <ref name="form-textarea-attlist"/>
9373         <ref name="common-form-control-content"/>
9374         <zeroOrMore>
9375             <ref name="text-p"/>
9376         </zeroOrMore>
9377     </element>
9378 </define>
9379 <define name="form-textarea-attlist">
9380     <ref name="form-control-attlist"/>
9381     <ref name="common-current-value-attlist"/>
9382     <ref name="common-disabled-attlist"/>
9383     <ref name="common-maxlength-attlist"/>
9384     <ref name="common-printable-attlist"/>
9385     <ref name="common-readonly-attlist"/>
9386     <ref name="common-tab-attlist"/>
9387     <ref name="common-title-attlist"/>
9388     <ref name="common-value-attlist"/>
9389     <ref name="common-convert-empty-attlist"/>
9390     <ref name="common-data-field-attlist"/>
9391 </define>
9392 <define name="controls" combine="choice">
9393     <element name="form:password">
9394         <ref name="form-password-attlist"/>
9395         <ref name="common-form-control-content"/>
9396     </element>
9397 </define>
9398 <define name="form-password-attlist" combine="interleave">
9399     <ref name="form-control-attlist"/>
9400     <ref name="common-disabled-attlist"/>
9401     <ref name="common-maxlength-attlist"/>
9402     <ref name="common-printable-attlist"/>
9403     <ref name="common-tab-attlist"/>
9404     <ref name="common-title-attlist"/>
9405     <ref name="common-value-attlist"/>
9406     <ref name="common-convert-empty-attlist"/>
9407 </define>
9408 <define name="form-password-attlist" combine="interleave">
9409     <optional>
9410         <attribute name="form:echo-char" a:defaultValue="*">
9411             <ref name="character"/>
9412         </attribute>
9413     </optional>
9414 </define>
9415 <define name="controls" combine="choice">
9416     <element name="form:file">
9417         <ref name="form-file-attlist"/>
9418         <ref name="common-form-control-content"/>
9419     </element>
9420 </define>
9421 <define name="form-file-attlist" combine="interleave">
9422     <ref name="form-control-attlist"/>
9423     <ref name="common-current-value-attlist"/>
9424     <ref name="common-disabled-attlist"/>
9425     <ref name="common-maxlength-attlist"/>
9426     <ref name="common-printable-attlist"/>
9427     <ref name="common-readonly-attlist"/>
9428     <ref name="common-tab-attlist"/>
9429     <ref name="common-title-attlist"/>
9430     <ref name="common-value-attlist"/>
9431 </define>
9432 <define name="column-controls" combine="choice">
9433     <element name="form:formatted-text">
9434         <ref name="form-formatted-text-attlist"/>
9435         <ref name="common-form-control-content"/>
9436     </element>
9437 </define>
9438 <define name="form-formatted-text-attlist" combine="interleave">
9439     <ref name="form-control-attlist"/>
9440     <ref name="common-current-value-attlist"/>
9441     <ref name="common-disabled-attlist"/>
9442     <ref name="common-maxlength-attlist"/>
9443     <ref name="common-printable-attlist"/>
9444     <ref name="common-readonly-attlist"/>
9445     <ref name="common-tab-attlist"/>
9446     <ref name="common-title-attlist"/>
9447     <ref name="common-value-attlist"/>
9448     <ref name="common-convert-empty-attlist"/>
9449     <ref name="common-data-field-attlist"/>
9450 </define>
9451 <define name="form-formatted-text-attlist" combine="interleave">
9452     <optional>
9453         <attribute name="form:max-value">
9454             <ref name="string"/>
9455         </attribute>
9456     </optional>
9457 </define>
9458 <define name="form-formatted-text-attlist" combine="interleave">
9459     <optional>
9460         <attribute name="form:min-value">
9461             <ref name="string"/>
9462         </attribute>
9463     </optional>
9464 </define>
9465 <define name="form-formatted-text-attlist" combine="interleave">
9466     <optional>
9467         <attribute name="form:validation" a:defaultValue="false">
9468             <ref name="boolean"/>
9469         </attribute>
9470     </optional>
9471 </define>
9472 <define name="column-controls" combine="choice">
9473     <element name="form:number">
9474         <ref name="form-number-attlist"/>
9475         <ref name="common-numeric-control-attlist"/>
9476         <ref name="common-form-control-content"/>
9477     </element>
9478 </define>
9479 <define name="common-numeric-control-attlist">
9480     <ref name="form-control-attlist"/>
9481     <ref name="common-disabled-attlist"/>
9482     <ref name="common-maxlength-attlist"/>
9483     <ref name="common-printable-attlist"/>
9484     <ref name="common-readonly-attlist"/>
9485     <ref name="common-tab-attlist"/>
9486     <ref name="common-title-attlist"/>
9487     <ref name="common-convert-empty-attlist"/>
9488     <ref name="common-data-field-attlist"/>
9489 </define>
9490 <define name="form-number-attlist" combine="interleave">
9491     <optional>
9492         <attribute name="form:value">
9493             <ref name="double"/>
9494         </attribute>
9495     </optional>
9496 </define>
9497 <define name="form-number-attlist" combine="interleave">
9498     <optional>
9499         <attribute name="form:current-value">
9500             <ref name="double"/>
9501         </attribute>
9502     </optional>
9503 </define>
9504 <define name="form-number-attlist" combine="interleave">
9505     <optional>
9506         <attribute name="form:min-value">
9507             <ref name="double"/>
9508         </attribute>
9509     </optional>
9510 </define>
9511 <define name="form-number-attlist" combine="interleave">
9512     <optional>
9513         <attribute name="form:max-value">
9514             <ref name="double"/>
9515         </attribute>
9516     </optional>
9517 </define>
9518 <define name="column-controls" combine="choice">
9519     <element name="form:date">
9520         <ref name="form-date-attlist"/>
9521         <ref name="common-numeric-control-attlist"/>
9522         <ref name="common-form-control-content"/>
9523     </element>
9524 </define>
9525 <define name="controls" combine="choice">
9526     <element name="form:time">
9527         <ref name="form-time-attlist"/>
9528         <ref name="common-numeric-control-attlist"/>
9529         <ref name="common-form-control-content"/>
9530     </element>
9531 </define>
9532 <define name="form-date-attlist" combine="interleave">
9533     <optional>
9534         <attribute name="form:value">
9535             <ref name="date"/>
9536         </attribute>
9537     </optional>
9538 </define>
9539 <define name="form-time-attlist" combine="interleave">
9540     <optional>
9541         <attribute name="form:value">
9542             <ref name="time"/>
9543         </attribute>
9544     </optional>
9545 </define>
9546 <define name="form-date-attlist" combine="interleave">
9547     <optional>
9548         <attribute name="form:current-value">
9549             <ref name="date"/>
9550         </attribute>
9551     </optional>
9552 </define>
9553 <define name="form-time-attlist" combine="interleave">
9554     <optional>
9555         <attribute name="form:current-value">
9556             <ref name="time"/>
9557         </attribute>
9558     </optional>
9559 </define>
9560 <define name="form-date-attlist" combine="interleave">
9561     <optional>
9562         <attribute name="form:min-value">
9563             <ref name="date"/>
9564         </attribute>
9565     </optional>
9566 </define>
9567 <define name="form-time-attlist" combine="interleave">
9568     <optional>
9569         <attribute name="form:min-value">
9570             <ref name="time"/>
9571         </attribute>
9572     </optional>
9573 </define>
9574 <define name="form-date-attlist" combine="interleave">
9575     <optional>
9576         <attribute name="form:max-value">
9577             <ref name="date"/>
9578         </attribute>
9579     </optional>
9580 </define>
9581 <define name="form-time-attlist" combine="interleave">
9582     <optional>
9583         <attribute name="form:max-value">
9584             <ref name="time"/>
9585         </attribute>
9586     </optional>
9587 </define>
9588 <define name="controls" combine="choice">
9589     <element name="form:fixed-text">
9590         <ref name="form-fixed-text-attlist"/>
9591         <ref name="common-form-control-content"/>
9592     </element>
9593 </define>
9594 <define name="form-fixed-text-attlist" combine="interleave">
9595     <ref name="form-control-attlist"/>
9596     <ref name="for"/>
9597     <ref name="common-disabled-attlist"/>
9598     <ref name="label"/>
9599     <ref name="common-printable-attlist"/>
9600     <ref name="common-title-attlist"/>
9601 </define>
9602 <define name="form-fixed-text-attlist" combine="interleave">
9603     <optional>
9604         <attribute name="form:multi-line" a:defaultValue="false">
9605             <ref name="boolean"/>
9606         </attribute>
9607     </optional>
9608 </define>
9609 <define name="column-controls" combine="choice">
9610     <element name="form:combobox">
9611         <ref name="form-combobox-attlist"/>
9612         <ref name="common-form-control-content"/>
9613         <zeroOrMore>
9614             <ref name="form-item"/>
9615         </zeroOrMore>
9616     </element>
9617 </define>
9618 <define name="form-combobox-attlist" combine="interleave">
9619     <ref name="form-control-attlist"/>
9620     <ref name="common-current-value-attlist"/>
9621     <ref name="common-disabled-attlist"/>
9622     <ref name="dropdown"/>
9623     <ref name="common-maxlength-attlist"/>
9624     <ref name="common-printable-attlist"/>
9625     <ref name="common-readonly-attlist"/>
9626     <ref name="size"/>
9627     <ref name="common-tab-attlist"/>
9628     <ref name="common-title-attlist"/>
9629     <ref name="common-value-attlist"/>
9630     <ref name="common-convert-empty-attlist"/>
9631     <ref name="common-data-field-attlist"/>
9632     <ref name="list-source"/>
9633     <ref name="list-source-type"/>
9634 </define>
9635 <define name="form-combobox-attlist" combine="interleave">
9636     <optional>
9637         <attribute name="form:auto-complete">
9638             <ref name="boolean"/>
9639         </attribute>
9640     </optional>
9641 </define>
9642 <define name="form-item">
9643     <element name="form:item">
9644         <ref name="form-item-attlist"/>
9645         <text/>
9646     </element>
9647 </define>
9648 <define name="form-item-attlist" combine="interleave">
9649     <ref name="label"/>
9650 </define>
9651 <define name="column-controls" combine="choice">
9652     <element name="form:listbox">
9653         <ref name="form-listbox-attlist"/>
9654         <ref name="common-form-control-content"/>
9655         <zeroOrMore>
9656             <ref name="form-option"/>
9657         </zeroOrMore>
9658     </element>
9659 </define>
9660 <define name="form-listbox-attlist" combine="interleave">
9661     <ref name="form-control-attlist"/>
9662     <ref name="common-disabled-attlist"/>
9663     <ref name="dropdown"/>
9664     <ref name="common-printable-attlist"/>
9665     <ref name="size"/>
9666     <ref name="common-tab-attlist"/>
9667     <ref name="common-title-attlist"/>
9668     <ref name="bound-column"/>
9669     <ref name="common-data-field-attlist"/>
9670     <ref name="list-source"/>
9671     <ref name="list-source-type"/>
9672 </define>
9673 <define name="form-listbox-attlist" combine="interleave">
9674     <optional>
9675         <attribute name="form:multiple" a:defaultValue="false">
9676             <ref name="boolean"/>
9677         </attribute>
9678     </optional>
9679 </define>
9680 <define name="form-listbox-attlist" combine="interleave">
9681     <optional>
9682         <attribute name="form:xforms-list-source">
9683             <ref name="string"/>
9684         </attribute>
9685     </optional>
9686 </define>
9687 <define name="form-option">
9688     <element name="form:option">
9689         <ref name="form-option-attlist"/>
9690         <text/>
9691     </element>
9692 </define>
9693 <define name="form-option-attlist" combine="interleave">
9694     <ref name="current-selected"/>
9695     <ref name="selected"/>
9696     <ref name="label"/>
9697     <ref name="common-value-attlist"/>
9698 </define>
9699 <define name="controls" combine="choice">
9700     <element name="form:button">
9701         <ref name="form-button-attlist"/>
9702         <ref name="common-form-control-content"/>
9703     </element>
9704 </define>
9705 <define name="form-button-attlist" combine="interleave">
9706     <ref name="form-control-attlist"/>
9707     <ref name="button-type"/>
9708     <ref name="common-disabled-attlist"/>
9709     <ref name="label"/>
9710     <ref name="image-data"/>
9711     <ref name="common-printable-attlist"/>
9712     <ref name="common-tab-attlist"/>
9713     <ref name="target-frame"/>
9714     <ref name="target-location"/>
9715     <ref name="common-title-attlist"/>
9716     <ref name="common-value-attlist"/>
9717     <ref name="common-form-relative-image-position-attlist"/>
9718 </define>
9719 <define name="form-button-attlist" combine="interleave">
9720     <optional>
9721         <attribute name="form:default-button" a:defaultValue="false">
9722             <ref name="boolean"/>
9723         </attribute>
9724     </optional>
9725 </define>
9726 <define name="form-button-attlist" combine="interleave">
9727     <optional>
9728         <attribute name="form:toggle" a:default-value="false">
9729             <ref name="boolean"/>
9730         </attribute>
9731     </optional>
9732 </define>
9733 <define name="form-button-attlist" combine="interleave">
9734     <optional>
9735         <attribute name="form:focus-on-click">
9736             <ref name="boolean"/>
9737         </attribute>
9738     </optional>
9739 </define>
9740 <define name="form-button-attlist" combine="interleave">
9741     <optional>
9742         <attribute name="form:xforms-submission">
9743             <ref name="string"/>
9744         </attribute>
9745     </optional>
9746 </define>
9747 <define name="controls" combine="choice">
9748     <element name="form:image">
9749         <ref name="form-image-attlist"/>
9750         <ref name="common-form-control-content"/>
9751     </element>
9752 </define>
9753 <define name="form-image-attlist" combine="interleave">
9754     <ref name="form-control-attlist"/>
9755     <ref name="button-type"/>
9756     <ref name="common-disabled-attlist"/>
9757     <ref name="image-data"/>
9758     <ref name="common-printable-attlist"/>
9759     <ref name="common-tab-attlist"/>
9760     <ref name="target-frame"/>
9761     <ref name="target-location"/>
9762     <ref name="common-title-attlist"/>
9763     <ref name="common-value-attlist"/>
9764 </define>
9765 <define name="column-controls" combine="choice">
9766     <element name="form:checkbox">
9767         <ref name="form-checkbox-attlist"/>
9768         <ref name="common-form-control-content"/>
9769     </element>
9770 </define>
9771 <define name="form-checkbox-attlist" combine="interleave">
9772     <ref name="form-control-attlist"/>
9773     <ref name="common-disabled-attlist"/>
9774     <ref name="label"/>
9775     <ref name="common-printable-attlist"/>
9776     <ref name="common-tab-attlist"/>
9777     <ref name="common-title-attlist"/>
9778     <ref name="common-value-attlist"/>
9779     <ref name="common-data-field-attlist"/>
9780     <ref name="common-form-visual-effect-attlist"/>
9781     <ref name="common-form-relative-image-position-attlist"/>
9782 </define>
9783 <define name="states">
9784     <choice>
9785         <value>unchecked</value>
9786         <value>checked</value>
9787         <value>unknown</value>
9788     </choice>
9789 </define>
9790 <define name="form-checkbox-attlist" combine="interleave">
9791     <optional>
9792         <attribute name="form:current-state">
9793             <ref name="states"/>
9794         </attribute>
9795     </optional>
9796 </define>
9797 <define name="form-checkbox-attlist" combine="interleave">
9798     <optional>
9799         <attribute name="form:is-tristate" a:defaultValue="false">
9800             <ref name="boolean"/>
9801         </attribute>
9802     </optional>
9803 </define>
9804 <define name="form-checkbox-attlist" combine="interleave">
9805     <optional>
9806         <attribute name="form:state" a:defaultValue="unchecked">
9807             <ref name="states"/>
9808         </attribute>
9809     </optional>
9810 </define>
9811 <define name="controls" combine="choice">
9812     <element name="form:radio">
9813         <ref name="form-radio-attlist"/>
9814         <ref name="common-form-control-content"/>
9815     </element>
9816 </define>
9817 <define name="form-radio-attlist" combine="interleave">
9818     <ref name="form-control-attlist"/>
9819     <ref name="current-selected"/>
9820     <ref name="common-disabled-attlist"/>
9821     <ref name="label"/>
9822     <ref name="common-printable-attlist"/>
9823     <ref name="selected"/>
9824     <ref name="common-tab-attlist"/>
9825     <ref name="common-title-attlist"/>
9826     <ref name="common-value-attlist"/>
9827     <ref name="common-data-field-attlist"/>
9828     <ref name="common-form-visual-effect-attlist"/>
9829     <ref name="common-form-relative-image-position-attlist"/>
9830 </define>
9831 <define name="controls" combine="choice">
9832     <element name="form:frame">
9833         <ref name="form-frame-attlist"/>
9834         <ref name="common-form-control-content"/>
9835     </element>
9836 </define>
9837 <define name="form-frame-attlist" combine="interleave">
9838     <ref name="form-control-attlist"/>
9839     <ref name="common-disabled-attlist"/>
9840     <ref name="for"/>
9841     <ref name="label"/>
9842     <ref name="common-printable-attlist"/>
9843     <ref name="common-title-attlist"/>
9844 </define>
9845 <define name="controls" combine="choice">
9846     <element name="form:image-frame">
9847         <ref name="form-image-frame-attlist"/>
9848         <ref name="common-form-control-content"/>
9849     </element>
9850 </define>
9851 <define name="form-image-frame-attlist" combine="interleave">
9852     <ref name="form-control-attlist"/>
9853     <ref name="common-disabled-attlist"/>
9854     <ref name="image-data"/>
9855     <ref name="common-printable-attlist"/>
9856     <ref name="common-readonly-attlist"/>
9857     <ref name="common-title-attlist"/>
9858     <ref name="common-data-field-attlist"/>
9859 </define>
9860 <define name="controls" combine="choice">
9861     <element name="form:hidden">
9862         <ref name="form-hidden-attlist"/>
9863         <ref name="common-form-control-content"/>
9864     </element>
9865 </define>
9866 <define name="form-hidden-attlist" combine="interleave">
9867     <ref name="form-control-attlist"/>
9868     <ref name="common-value-attlist"/>
9869 </define>
9870 <define name="controls" combine="choice">
9871     <element name="form:grid">
9872         <ref name="form-grid-attlist"/>
9873         <ref name="common-form-control-content"/>
9874         <zeroOrMore>
9875             <ref name="form-column"/>
9876         </zeroOrMore>
9877     </element>
9878 </define>
9879 <define name="form-grid-attlist" combine="interleave">
9880     <ref name="form-control-attlist"/>
9881     <ref name="common-disabled-attlist"/>
9882     <ref name="common-printable-attlist"/>
9883     <ref name="common-tab-attlist"/>
9884     <ref name="common-title-attlist"/>
9885 </define>
9886 <define name="form-column">
9887     <element name="form:column">
9888         <ref name="form-column-attlist"/>
9889         <oneOrMore>
9890             <ref name="column-controls"/>
9891         </oneOrMore>
9892     </element>
9893 </define>
9894 <define name="form-column-attlist" combine="interleave">
9895     <ref name="common-form-control-attlist"/>
9896     <ref name="label"/>
9897     <ref name="text-style-name"/>
9898 </define>
9899 <define name="text-style-name">
9900     <optional>
9901         <attribute name="form:text-style-name">
9902             <ref name="styleNameRef"/>
9903         </attribute>
9904     </optional>
9905 </define>
9906 <define name="controls" combine="choice">
9907     <element name="form:value-range">
9908         <ref name="form-value-range-attlist"/>
9909         <ref name="common-form-control-content"/>
9910     </element>
9911 </define>
9912 <define name="form-value-range-attlist" combine="interleave">
9913     <ref name="form-control-attlist"/>
9914     <ref name="common-disabled-attlist"/>
9915     <ref name="common-printable-attlist"/>
9916     <ref name="common-tab-attlist"/>
9917     <ref name="common-title-attlist"/>
9918     <ref name="common-value-attlist"/>
9919 </define>
9920 <define name="form-value-range-attlist" combine="interleave">
9921     <optional>
9922         <attribute name="form:max-value">
9923             <ref name="string"/>
9924         </attribute>
9925     </optional>
9926 </define>
9927 <define name="form-value-range-attlist" combine="interleave">
9928     <optional>
9929         <attribute name="form:min-value">
9930             <ref name="string"/>
9931         </attribute>
9932     </optional>
9933 </define>
9934 <define name="form-value-range-attlist" combine="interleave">
9935     <optional>
9936         <attribute name="form:step-size" a:defaultName="1">
9937             <ref name="positiveInteger"/>
9938         </attribute>
9939     </optional>
9940 </define>
9941 <define name="form-value-range-attlist" combine="interleave">
9942     <optional>
9943         <attribute name="form:page-step-size">
9944             <ref name="positiveInteger"/>
9945         </attribute>
9946     </optional>
9947 </define>
9948 <define name="form-value-range-attlist" combine="interleave">
9949     <optional>
9950         <attribute name="form:delay-for-repeat">
9951             <ref name="duration"/>
9952         </attribute>
9953     </optional>
9954 </define>
9955 <define name="form-value-range-attlist" combine="interleave">
9956     <optional>
9957         <attribute name="form:orientation">
9958             <choice>
9959                 <value>horizontal</value>
9960                 <value>vertical</value>
9961             </choice>
9962         </attribute>
9963     </optional>
9964 </define>
9965 <define name="controls" combine="choice">
9966     <element name="form:generic-control">
9967         <ref name="form-generic-control-attlist"/>
9968         <ref name="common-form-control-content"/>
9969     </element>
9970 </define>
9971 <define name="form-generic-control-attlist" combine="interleave">
9972     <ref name="form-control-attlist"/>
9973 </define>
9974 <define name="common-form-control-attlist" combine="interleave">
9975     <optional>
9976         <attribute name="form:name">
9977             <ref name="string"/>
9978         </attribute>
9979     </optional>
9980 </define>
9981 <define name="common-form-control-attlist" combine="interleave">
9982     <optional>
9983         <attribute name="form:control-implementation">
9984             <ref name="namespacedToken"/>
9985         </attribute>
9986     </optional>
9987 </define>
9988 <define name="xforms-bind-attlist">
9989     <optional>
9990         <attribute name="xforms:bind">
9991             <ref name="string"/>
9992         </attribute>
9993     </optional>
9994 </define>
9995 <define name="types">
9996     <choice>
9997         <value>submit</value>
9998         <value>reset</value>
9999         <value>push</value>
10000         <value>url</value>
10001     </choice>
10002 </define>
10003 <define name="button-type">
10004     <optional>
10005         <attribute name="form:button-type" a:defaultValue="push">
10006             <ref name="types"/>
10007         </attribute>
10008     </optional>
10009 </define>
10010 <define name="common-control-id-attlist">
10011     <attribute name="form:id">
10012         <ref name="ID"/>
10013     </attribute>
10014 </define>
10015 <define name="current-selected">
10016     <optional>
10017         <attribute name="form:current-selected" a:defaultValue="false">
10018             <ref name="boolean"/>
10019         </attribute>
10020     </optional>
10021 </define>
10022 <define name="common-value-attlist">
10023     <optional>
10024         <attribute name="form:value">
10025             <ref name="string"/>
10026         </attribute>
10027     </optional>
10028 </define>
10029 <define name="common-current-value-attlist">
10030     <optional>
10031         <attribute name="form:current-value">
10032             <ref name="string"/>
10033         </attribute>
10034     </optional>
10035 </define>
10036 <define name="common-disabled-attlist">
10037     <optional>
10038         <attribute name="form:disabled" a:defaultValue="false">
10039             <ref name="boolean"/>
10040         </attribute>
10041     </optional>
10042 </define>
10043 <define name="dropdown">
10044     <optional>
10045         <attribute name="form:dropdown" a:defaultValue="false">
10046             <ref name="boolean"/>
10047         </attribute>
10048     </optional>
10049 </define>
10050 <define name="for">
10051     <optional>
10052         <attribute name="form:for">
10053             <ref name="string"/>
10054         </attribute>
10055     </optional>
10056 </define>
10057 <define name="image-data">
10058     <optional>
10059         <attribute name="form:image-data">
10060             <ref name="anyURI"/>
10061         </attribute>
10062     </optional>
10063 </define>
10064 <define name="label">
10065     <optional>
10066         <attribute name="form:label">
10067             <ref name="string"/>
10068         </attribute>
10069     </optional>
10070 </define>
10071 <define name="common-maxlength-attlist">
10072     <optional>
10073         <attribute name="form:max-length">
10074             <ref name="nonNegativeInteger"/>
10075         </attribute>
10076     </optional>
10077 </define>
10078 <define name="common-printable-attlist">
10079     <optional>
10080         <attribute name="form:printable" a:defaultValue="true">
10081             <ref name="boolean"/>
10082         </attribute>
10083     </optional>
10084 </define>
10085 <define name="common-readonly-attlist">
10086     <optional>
10087         <attribute name="form:readonly" a:defaultValue="false">
10088             <ref name="boolean"/>
10089         </attribute>
10090     </optional>
10091 </define>
10092 <define name="selected">
10093     <optional>
10094         <attribute name="form:selected" a:defaultValue="false">
10095             <ref name="boolean"/>
10096         </attribute>
10097     </optional>
10098 </define>
10099 <define name="size">
10100     <optional>
10101         <attribute name="form:size">
10102             <ref name="nonNegativeInteger"/>
10103         </attribute>
10104     </optional>
10105 </define>
10106 <define name="common-tab-attlist" combine="interleave">
10107     <optional>
10108         <attribute name="form:tab-index" a:defaultValue="0">
10109             <ref name="nonNegativeInteger"/>
10110         </attribute>
10111     </optional>
10112 </define>
10113 <define name="common-tab-attlist" combine="interleave">
10114     <optional>
10115         <attribute name="form:tab-stop" a:defaultValue="true">
10116             <ref name="boolean"/>
10117         </attribute>
10118     </optional>
10119 </define>
10120 <define name="target-frame">
10121     <optional>
10122         <attribute name="office:target-frame" a:defaultValue="_blank">
10123             <ref name="targetFrameName"/>
10124         </attribute>
10125     </optional>
10126 </define>
10127 <define name="target-location">
10128     <optional>
10129         <attribute name="xlink:href">
10130             <ref name="anyURI"/>
10131         </attribute>
10132     </optional>
10133 </define>
10134 <define name="common-title-attlist">
10135     <optional>
10136         <attribute name="form:title"/>
10137     </optional>
10138 </define>
10139 <define name="common-form-visual-effect-attlist" combine="interleave">
10140     <optional>
10141         <attribute name="form:visual-effect">
10142             <choice>
10143                 <value>flat</value>
10144                 <value>3d</value>
10145             </choice>
10146         </attribute>
10147     </optional>
10148 </define>
10149 <define name="common-form-relative-image-position-attlist"
10150         combine="interleave">
10151     <choice>
10152         <optional>
10153             <attribute name="form:image-position" a:defaultValue="center">
10154                 <value>center</value>
10155             </attribute>
10156         </optional>
10157         <group>
10158             <attribute name="form:image-position">
10159                 <choice>
10160                     <value>start</value>
10161                     <value>end</value>
10162                     <value>top</value>
10163                     <value>bottom</value>
10164                 </choice>
10165             </attribute>
10166             <optional>
10167                 <attribute name="form:image-align" a:defaultValue="center">
10168                     <choice>
10169                         <value>start</value>
10170                         <value>center</value>
10171                         <value>end</value>
10172                     </choice>
10173                 </attribute>
10174             </optional>
10175         </group>
10176     </choice>
10177 </define>
10178 <define name="bound-column">
10179     <optional>
10180         <attribute name="form:bound-column">
10181             <ref name="string"/>
10182         </attribute>
10183     </optional>
10184 </define>
10185 <define name="common-convert-empty-attlist">
10186     <optional>
10187         <attribute name="form:convert-empty-to-null" a:defaultValue="false">
10188             <ref name="boolean"/>
10189         </attribute>
10190     </optional>
10191 </define>
10192 <define name="common-data-field-attlist">
10193     <optional>
10194         <attribute name="form:data-field">
10195             <ref name="string"/>
10196         </attribute>
10197     </optional>
10198 </define>
10199 <define name="list-source">
10200     <optional>
10201         <attribute name="form:list-source">
10202             <ref name="string"/>
10203         </attribute>
10204     </optional>
10205 </define>
10206 <define name="list-source-type">
10207     <optional>
10208         <attribute name="form:list-source-type">
10209             <choice>
10210                 <value>table</value>
10211                 <value>query</value>
10212                 <value>sql</value>
10213                 <value>sql-pass-through</value>
10214                 <value>value-list</value>
10215                 <value>table-fields</value>
10216             </choice>
10217         </attribute>
10218     </optional>
10219 </define>
10220 <define name="form-properties">
10221     <element name="form:properties">
10222         <oneOrMore>
10223             <ref name="form-property"/>
10224         </oneOrMore>
10225     </element>
10226 </define>
10227 <define name="form-property" combine="choice">
10228     <element name="form:property">
10229         <ref name="form-property-name"/>
10230         <ref name="form-property-value-and-type-attlist"/>
10231     </element>
10232 </define>
10233 <define name="form-property-name" combine="interleave">
10234     <attribute name="form:property-name">
10235         <ref name="string"/>
10236     </attribute>
10237 </define>
10238 <define name="form-property-value-and-type-attlist" combine="interleave">
10239     <choice>
10240         <ref name="common-value-and-type-attlist"/>
10241         <attribute name="office:value-type">
10242             <value>void</value>
10243         </attribute>
10244     </choice>
10245 </define>
10246 <define name="form-property" combine="choice">
10247     <element name="form:list-property">
10248         <ref name="form-property-name"/>
10249         <ref name="form-property-type-and-value-list"/>
10250     </element>
10251 </define>
10252 <define name="form-property-type-and-value-list">
10253     <choice>
10254         <group>
10255             <attribute name="office:value-type">
10256                 <value>float</value>
10257             </attribute>
10258             <zeroOrMore>
10259                 <element name="form:list-value">
10260                     <attribute name="office:value">
10261                         <ref name="double"/>
10262                     </attribute>
10263                 </element>
10264             </zeroOrMore>
10265         </group>
10266         <group>
10267             <attribute name="office:value-type">
10268                 <value>percentage</value>
10269             </attribute>
10270             <zeroOrMore>
10271                 <element name="form:list-value">
10272                     <attribute name="office:value">
10273                         <ref name="double"/>
10274                     </attribute>
10275                 </element>
10276             </zeroOrMore>
10277         </group>
10278         <group>
10279             <attribute name="office:value-type">
10280                 <value>currency</value>
10281             </attribute>
10282             <zeroOrMore>
10283                 <element name="form:list-value">
10284                     <attribute name="office:value">
10285                         <ref name="double"/>
10286                     </attribute>
10287                     <optional>
10288                         <attribute name="office:currency">
10289                             <ref name="string"/>
10290                         </attribute>
10291                     </optional>
10292                 </element>
10293             </zeroOrMore>
10294         </group>
10295         <group>
10296             <attribute name="office:value-type">
10297                 <value>date</value>
10298             </attribute>
10299             <zeroOrMore>
10300                 <element name="form:list-value">
10301                     <attribute name="office:date-value">
10302                         <ref name="dateOrDateTime"/>
10303                     </attribute>
10304                 </element>
10305             </zeroOrMore>
10306         </group>
10307         <group>
10308             <attribute name="office:value-type">
10309                 <value>time</value>
10310             </attribute>
10311             <zeroOrMore>
10312                 <element name="form:list-value">
10313                     <attribute name="office:time-value">
10314                         <ref name="duration"/>
10315                     </attribute>
10316                 </element>
10317             </zeroOrMore>
10318         </group>
10319         <group>
10320             <attribute name="office:value-type">
10321                 <value>boolean</value>
10322             </attribute>
10323             <zeroOrMore>
10324                 <element name="form:list-value">
10325                     <attribute name="office:boolean-value">
10326                         <ref name="boolean"/>
10327                     </attribute>
10328                 </element>
10329             </zeroOrMore>
10330         </group>
10331         <group>
10332             <attribute name="office:value-type">
10333                 <value>string</value>
10334             </attribute>
10335             <zeroOrMore>
10336                 <element name="form:list-value">
10337                     <attribute name="office:string-value">
10338                         <ref name="string"/>
10339                     </attribute>
10340                 </element>
10341             </zeroOrMore>
10342         </group>
10343         <attribute name="office:value-type">
10344             <value>void</value>
10345         </attribute>
10346     </choice>
10347 </define>
10348 <define name="office-annotation">
10349     <element name="office:annotation">
10350         <ref name="office-annotation-attlist"/>
10351         <ref name="draw-caption-attlist"/>
10352         <ref name="common-draw-position-attlist"/>
10353         <ref name="common-draw-size-attlist"/>
10354         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
10355         <optional>
10356             <ref name="dc-creator"/>
10357         </optional>
10358         <optional>
10359             <ref name="dc-date"/>
10360         </optional>
10361         <optional>
10362             <ref name="meta-date-string"/>
10363         </optional>
10364         <zeroOrMore>
10365             <choice>
10366                 <ref name="text-p"/>
10367                 <ref name="text-list"/>
10368             </choice>
10369         </zeroOrMore>
10370     </element>
10371 </define>
10372 <define name="office-annotation-attlist" combine="interleave">
10373     <optional>
10374         <attribute name="office:display">
10375             <ref name="boolean"/>
10376         </attribute>
10377     </optional>
10378 </define>
10379 <define name="meta-date-string">
10380     <element name="meta:date-string">
10381         <ref name="string"/>
10382     </element>
10383 </define>
10384 <define name="common-num-format-prefix-suffix-attlist" combine="interleave">
10385     <optional>
10386         <attribute name="style:num-prefix">
10387             <ref name="string"/>
10388         </attribute>
10389     </optional>
10390     <optional>
10391         <attribute name="style:num-suffix">
10392             <ref name="string"/>
10393         </attribute>
10394     </optional>
10395 </define>
10396 <define name="common-num-format-attlist" combine="interleave">
10397     <choice>
10398         <attribute name="style:num-format">
10399             <choice>
10400                 <value>1</value>
10401                 <value>i</value>
10402                 <value>I</value>
10403                 <ref name="string"/>
10404                 <empty/>
10405             </choice>
10406         </attribute>
10407         <group>
10408             <attribute name="style:num-format">
10409                 <choice>
10410                     <value>a</value>
10411                     <value>A</value>
10412                 </choice>
10413             </attribute>
10414             <ref name="style-num-letter-sync-attlist"/>
10415         </group>
10416         <empty/>
10417     </choice>
10418 </define>
10419 <define name="style-num-letter-sync-attlist" combine="interleave">
10420     <optional>
10421         <attribute name="style:num-letter-sync">
10422             <ref name="boolean"/>
10423         </attribute>
10424     </optional>
10425 </define>
10426 <define name="office-change-info">
10427     <element name="office:change-info">
10428         <ref name="dc-creator"/>
10429         <ref name="dc-date"/>
10430         <zeroOrMore>
10431             <ref name="text-p"/>
10432         </zeroOrMore>
10433     </element>
10434 </define>
10435 <define name="office-event-listeners">
10436     <element name="office:event-listeners">
10437         <zeroOrMore>
10438             <choice>
10439                 <ref name="script-event-listener"/>
10440                 <ref name="presentation-event-listener"/>
10441             </choice>
10442         </zeroOrMore>
10443     </element>
10444 </define>
10445 <define name="script-event-listener" combine="interleave">
10446     <element name="script:event-listener">
10447         <ref name="script-event-listener-attlist"/>
10448         <empty/>
10449     </element>
10450 </define>
10451 <define name="script-event-listener-attlist" combine="interleave">
10452     <attribute name="script:event-name">
10453         <ref name="string"/>
10454     </attribute>
10455 </define>
10456 <define name="script-event-listener-attlist" combine="interleave">
10457     <attribute name="script:language">
10458         <ref name="string"/>
10459     </attribute>
10460 </define>
10461 <define name="script-event-listener-attlist" combine="interleave">
10462     <choice>
10463         <attribute name="script:macro-name">
10464             <ref name="string"/>
10465         </attribute>
10466         <group>
10467             <attribute name="xlink:href">
10468                 <ref name="anyURI"/>
10469             </attribute>
10470             <optional>
10471                 <attribute name="xlink:type" a:defaultValue="simple">
10472                     <value>simple</value>
10473                 </attribute>
10474             </optional>
10475             <optional>
10476                 <attribute name="xlink:actuate" a:defaultValue="onRequest">
10477                     <value>onRequest</value>
10478                 </attribute>
10479             </optional>
10480         </group>
10481     </choice>
10482 </define>
10483 <define name="math-math">
10484     <element name="math:math">
10485         <ref name="mathMarkup"/>
10486     </element>
10487 </define>
10488 
10489 <!-- To avoid inclusion of the complete MathML schema, anything -->
10490 <!-- is allowed within a math:math top-level element            -->
10491 <define name="mathMarkup">
10492     <zeroOrMore>
10493         <choice>
10494             <attribute>
10495                 <anyName/>
10496             </attribute>
10497             <text/>
10498             <element>
10499                 <anyName/>
10500                 <ref name="mathMarkup"/>
10501             </element>
10502         </choice>
10503     </zeroOrMore>
10504 </define>
10505 <define name="text-dde-connection-decl">
10506     <element name="text:dde-connection-decl">
10507         <ref name="text-dde-connection-decl-attlist"/>
10508         <ref name="common-dde-connection-decl-attlist"/>
10509     </element>
10510 </define>
10511 <define name="text-dde-connection-decl-attlist" combine="interleave">
10512     <attribute name="office:name">
10513         <ref name="string"/>
10514     </attribute>
10515 </define>
10516 <define name="common-dde-connection-decl-attlist" combine="interleave">
10517     <attribute name="office:dde-application">
10518         <ref name="string"/>
10519     </attribute>
10520 </define>
10521 <define name="common-dde-connection-decl-attlist" combine="interleave">
10522     <attribute name="office:dde-topic">
10523         <ref name="string"/>
10524     </attribute>
10525 </define>
10526 <define name="common-dde-connection-decl-attlist" combine="interleave">
10527     <attribute name="office:dde-item">
10528         <ref name="string"/>
10529     </attribute>
10530 </define>
10531 <define name="common-dde-connection-decl-attlist" combine="interleave">
10532     <optional>
10533         <attribute name="office:automatic-update" a:defaultValue="true">
10534             <ref name="boolean"/>
10535         </attribute>
10536     </optional>
10537 </define>
10538 <define name="table-dde-link">
10539     <element name="table:dde-link">
10540         <ref name="office-dde-source"/>
10541         <ref name="table-table"/>
10542     </element>
10543 </define>
10544 <define name="office-dde-source">
10545     <element name="office:dde-source">
10546         <ref name="office-dde-source-attlist"/>
10547         <ref name="common-dde-connection-decl-attlist"/>
10548     </element>
10549 </define>
10550 <define name="office-dde-source-attlist" combine="interleave">
10551     <optional>
10552         <attribute name="office:name">
10553             <ref name="string"/>
10554         </attribute>
10555     </optional>
10556 </define>
10557 <define name="office-dde-source-attlist" combine="interleave">
10558     <optional>
10559         <attribute name="office:conversion-mode" 
10560                     a:defaultValue="into-default-style-data-style">
10561             <choice>
10562                 <value>into-default-style-data-style</value>
10563                 <value>into-english-number</value>
10564                 <value>keep-text</value>
10565             </choice>
10566         </attribute>
10567     </optional>
10568 </define>
10569 <define name="animation-element" combine="choice">
10570     <element name="anim:animate">
10571         <ref name="common-anim-target-attlist"/>
10572         <ref name="common-anim-named-target-attlist"/>
10573         <ref name="common-anim-values-attlist"/>
10574         <ref name="common-anim-spline-mode-attlist"/>
10575         <ref name="common-spline-anim-value-attlist"/>
10576         <ref name="common-timing-attlist"/>
10577         <ref name="common-anim-add-accum-attlist"/>
10578     </element>
10579 </define>
10580 <define name="animation-element" combine="choice">
10581     <element name="anim:set">
10582         <ref name="common-anim-target-attlist"/>
10583         <ref name="common-anim-named-target-attlist"/>
10584         <ref name="common-anim-set-values-attlist"/>
10585         <ref name="common-timing-attlist"/>
10586         <ref name="common-anim-add-accum-attlist"/>
10587     </element>
10588 </define>
10589 <define name="animation-element" combine="choice">
10590     <element name="anim:animateMotion">
10591         <ref name="anim-animate-motion-attlist"/>
10592         <ref name="common-anim-target-attlist"/>
10593         <ref name="common-anim-named-target-attlist"/>
10594         <ref name="common-anim-add-accum-attlist"/>
10595         <ref name="common-anim-values-attlist"/>
10596         <ref name="common-timing-attlist"/>
10597         <ref name="common-spline-anim-value-attlist"/>
10598     </element>
10599 </define>
10600 <define name="anim-animate-motion-attlist" combine="interleave">
10601     <optional>
10602         <attribute name="svg:path">
10603             <ref name="pathData"/>
10604         </attribute>
10605     </optional>
10606 </define>
10607 <define name="anim-animate-motion-attlist" combine="interleave">
10608     <optional>
10609         <attribute name="svg:origin">
10610             <ref name="string"/>
10611         </attribute>
10612     </optional>
10613 </define>
10614 <define name="anim-animate-motion-attlist" combine="interleave">
10615     <optional>
10616         <attribute name="smil:calcMode" a:defaultValue="paced">   
10617             <choice>
10618                 <value>discrete</value>
10619                 <value>linear</value>
10620                 <value>paced</value>
10621                 <value>spline</value>
10622             </choice>
10623         </attribute>
10624     </optional>
10625 </define>
10626 <define name="animation-element" combine="choice">
10627     <element name="anim:animateColor">
10628         <ref name="common-anim-target-attlist"/>
10629         <ref name="common-anim-named-target-attlist"/>
10630         <ref name="common-anim-add-accum-attlist"/>
10631         <ref name="common-anim-values-attlist"/>
10632         <ref name="common-anim-spline-mode-attlist"/>
10633         <ref name="common-spline-anim-value-attlist"/>
10634         <ref name="anim-animate-color-attlist"/>
10635         <ref name="common-timing-attlist"/>
10636     </element>
10637 </define>
10638 <define name="anim-animate-color-attlist" combine="interleave">
10639     <optional>
10640         <attribute name="anim:color-interpolation" a:defaultValue="rgb">
10641             <choice>
10642                 <value>rgb</value>
10643                 <value>hsl</value>
10644             </choice>
10645         </attribute>
10646     </optional>
10647 </define>
10648 <define name="anim-animate-color-attlist" combine="interleave">
10649     <optional>
10650         <attribute name="anim:color-interpolation-direction"     
10651                                    a:defaultValue="clockwise">
10652             <choice>
10653                 <value>clockwise</value>
10654                 <value>counter-clockwise</value>
10655             </choice>
10656         </attribute>
10657     </optional>
10658 </define>
10659 <define name="animation-element" combine="choice">
10660     <element name="anim:animateTransform">
10661         <ref name="common-anim-target-attlist"/>
10662         <ref name="common-anim-named-target-attlist"/>
10663         <ref name="common-anim-add-accum-attlist"/>
10664         <ref name="common-anim-values-attlist"/>
10665         <ref name="anim-animate-transform-attlist"/>
10666         <ref name="common-timing-attlist"/>
10667     </element>
10668 </define>
10669 <define name="anim-animate-transform-attlist" combine="interleave">
10670     <attribute name="svg:type">
10671         <choice>
10672             <value>translate</value>
10673             <value>scale</value>
10674             <value>rotate</value>
10675             <value>skewX</value>
10676             <value>skewY</value> 
10677         </choice>
10678     </attribute>
10679 </define>
10680 <define name="animation-element" combine="choice">
10681     <element name="anim:transitionFilter">
10682         <ref name="common-anim-target-attlist"/>
10683         <ref name="common-anim-add-accum-attlist"/>
10684         <ref name="common-anim-values-attlist"/>
10685         <ref name="common-anim-spline-mode-attlist "/>
10686         <ref name="anim-transition-filter-attlist"/>
10687         <ref name="common-timing-attlist"/>
10688     </element>
10689 </define>
10690 <define name="anim-transition-filter-attlist" combine="interleave">
10691     <attribute name="smil:type">
10692         <ref name="string"/>
10693     </attribute>
10694 </define>
10695 <define name="anim-transition-filter-attlist" combine="interleave">
10696     <optional>
10697         <attribute name="smil:subtype">
10698             <ref name="string"/>
10699         </attribute>
10700     </optional>
10701 </define>
10702 <define name="anim-transition-filter-attlist" combine="interleave">
10703     <optional>
10704         <attribute name="smil:direction" a:defaultValue="forward">
10705             <choice>
10706                 <value>forward</value>
10707                 <value>reverse</value>
10708             </choice>
10709         </attribute>
10710     </optional>
10711 </define>
10712 <define name="anim-transition-filter-attlist" combine="interleave">
10713     <optional>
10714         <attribute name="smil:fadeColor">
10715             <choice>
10716                 <value>forward</value>
10717                 <value>reverse</value>
10718             </choice>
10719         </attribute>
10720     </optional>
10721 </define>
10722 <define name="anim-transition-filter-attlist" combine="interleave">
10723     <optional>
10724         <attribute name="smil:mode" a:defaultValue="in">
10725             <choice>
10726                 <value>in</value>
10727                 <value>out</value>
10728             </choice>
10729         </attribute>
10730     </optional>
10731 </define>
10732 <define name="common-anim-attlist" combine="interleave">
10733     <optional>
10734         <attribute name="anim:id">
10735             <ref name="ID"/>
10736         </attribute>
10737     </optional>
10738 </define>
10739 <define name="common-anim-target-attlist" combine="interleave">
10740     <optional>
10741         <attribute name="smil:targetElement">
10742             <ref name="IDREF"/>
10743         </attribute>
10744     </optional>
10745 </define>
10746 <define name="common-anim-named-target-attlist" combine="interleave">
10747     <attribute name="smil:attributeName">
10748         <ref name="string"/>
10749     </attribute>
10750 </define>
10751 <define name="common-anim-target-attlist" combine="interleave">
10752     <optional>
10753         <attribute name="anim:sub-item">
10754             <ref name="string"/>
10755         </attribute>
10756     </optional>
10757 </define>
10758 <define name="common-anim-values-attlist" combine="interleave">
10759     <optional>
10760         <attribute name="smil:values">
10761             <ref name="string"/>
10762         </attribute>
10763     </optional>
10764 </define>
10765 <define name="common-anim-spline-mode-attlist" combine="interleave">
10766     <optional>
10767         <attribute name="smil:calcMode" a:defaultValue="discrete">   
10768             <choice>
10769                 <value>discrete</value>
10770                 <value>linear</value>
10771                 <value>paced</value>
10772                 <value>spline</value>
10773             </choice>
10774         </attribute>
10775     </optional>
10776 </define>
10777 <define name="common-spline-anim-value-attlist" combine="interleave">
10778     <optional>
10779         <attribute name="smil:keyTimes">
10780             <ref name="string"/>
10781         </attribute>
10782     </optional>
10783 </define>
10784 <define name="common-spline-anim-value-attlist" combine="interleave">
10785     <optional>
10786         <attribute name="smil:keySplines">
10787             <ref name="string"/>
10788         </attribute>
10789     </optional>
10790 </define>
10791 <define name="common-anim-add-accum-attlist" combine="interleave">
10792     <optional>
10793         <attribute name="smil:accumulate">
10794             <choice>
10795                 <value>none</value>
10796                 <value>sum</value>
10797             </choice>
10798         </attribute>
10799     </optional>
10800 </define>
10801 <define name="common-anim-add-accum-attlist" combine="interleave">
10802     <optional>
10803         <attribute name="smil:additive">
10804             <choice>
10805                 <value>replace</value>
10806                 <value>sum</value>
10807             </choice>
10808         </attribute>
10809     </optional>
10810 </define>
10811 <define name="common-anim-values-attlist" combine="interleave">
10812     <optional>
10813         <attribute name="anim:formula">
10814             <ref name="string"/>
10815         </attribute>
10816     </optional>
10817 </define>
10818 <define name="common-anim-set-values-attlist" combine="interleave">
10819     <optional>
10820         <attribute name="smil:to">
10821             <ref name="string"/>
10822         </attribute>
10823     </optional>
10824 </define>
10825 
10826 <define name="common-anim-values-attlist" combine="interleave">
10827     <ref name="common-anim-set-values-attlist"/>
10828     <optional>
10829         <attribute name="smil:from">
10830             <ref name="string"/>
10831         </attribute>
10832     </optional>
10833     <optional>
10834         <attribute name="smil:by">
10835             <ref name="string"/>
10836         </attribute>
10837     </optional>
10838 </define>
10839 <define name="common-begin-end-timing-attlist" combine="interleave">
10840     <optional>
10841         <attribute name="smil:begin">
10842             <ref name="string"/>
10843         </attribute>
10844     </optional>
10845 </define>
10846 <define name="common-begin-end-timing-attlist" combine="interleave">
10847     <optional>
10848         <attribute name="smil:end">
10849             <ref name="string"/>
10850         </attribute>
10851     </optional>
10852 </define>
10853 <define name="common-dur-timing-attlist" combine="interleave">
10854     <optional>
10855         <attribute name="smil:dur">
10856             <ref name="string"/>
10857         </attribute>
10858     </optional>
10859 </define>
10860 <define name="common-endsync-timing-attlist" combine="interleave">
10861     <optional>
10862         <attribute name="smil:endsync">
10863             <choice>
10864                 <value>first</value>
10865                 <value>last</value>
10866                 <value>all</value>
10867                 <value>media</value>
10868             </choice>
10869         </attribute>
10870     </optional>
10871 </define>
10872 <define name="common-repeat-timing-attlist" combine="interleave">
10873     <optional>
10874         <attribute name="smil:repeatDur">
10875             <ref name="string"/>
10876         </attribute>
10877     </optional>
10878     <optional>
10879         <attribute name="smil:repeatCount">
10880             <choice>
10881                 <ref name="nonNegativeInteger"/>
10882                 <value>indefinite</value>
10883             </choice>
10884         </attribute>
10885     </optional>
10886 </define>
10887 <define name="common-fill-timing-attlist" combine="interleave">
10888     <optional>
10889         <attribute name="smil:fill">
10890             <choice>
10891                 <value>remove</value>
10892                 <value>freeze</value>
10893                 <value>hold</value>
10894                 <value>auto</value>
10895                 <value>default</value>
10896                 <value>transition</value>
10897             </choice>
10898         </attribute>
10899     </optional>
10900 </define>
10901 <define name="common-fill-default-attlist" combine="interleave">
10902     <optional>
10903         <attribute name="smil:fillDefault">
10904             <choice>
10905                 <value>remove</value>
10906                 <value>freeze</value>
10907                 <value>hold</value>
10908                 <value>transition</value>
10909                 <value>auto</value>
10910                 <value>inherit</value>
10911             </choice>
10912         </attribute>
10913     </optional>
10914 </define>
10915 <define name="common-restart-timing-attlist" combine="interleave">
10916     <optional>
10917         <attribute name="smil:restart" a:defaultValue="default">
10918             <choice>
10919                 <value>never</value>
10920                 <value>always</value>
10921                 <value>whenNotActive</value>
10922                 <value>default</value>
10923             </choice>
10924         </attribute>
10925     </optional>
10926 </define>
10927 <define name="common-restart-default-attlist" combine="interleave">
10928     <optional>
10929         <attribute name="smil:restartDefault" a:defaultValue="inherit">
10930             <choice>
10931                 <value>never</value>
10932                 <value>always</value>
10933                 <value>whenNotActive</value>
10934                 <value>inherit</value>
10935             </choice>
10936         </attribute>
10937     </optional>
10938 </define>
10939 <define name="common-time-manip-attlist" combine="interleave">
10940     <optional>    
10941         <attribute name="smil:accelerate" a:defaultValue="0.0">
10942             <ref name="double"/>
10943         </attribute>
10944     </optional>
10945 </define>
10946 <define name="common-time-manip-attlist" combine="interleave">
10947     <optional>
10948         <attribute name="smil:decelerate" a:defaultValue="0.0">
10949             <ref name="double"/>
10950         </attribute>
10951     </optional>
10952 </define>
10953 <define name="common-time-manip-attlist" combine="interleave">
10954     <optional>
10955         <attribute name="smil:autoReverse" a:defaultValue="false">
10956             <ref name="boolean"/>
10957         </attribute>
10958     </optional>
10959 </define>
10960 <define name="animation-element" combine="choice">
10961     <element name="anim:par">
10962         <ref name="common-anim-attlist"/>
10963         <ref name="common-timing-attlist"/>
10964         <ref name="common-endsync-timing-attlist"/>
10965         <zeroOrMore>
10966             <ref name="animation-element"/>
10967         </zeroOrMore>
10968     </element>
10969 </define>
10970 
10971 <define name="common-basic-timing-attlist" combine="interleave">
10972    <ref name="common-begin-end-timing-attlist"/>
10973    <ref name="common-dur-timing-attlist"/>
10974    <ref name="common-repeat-timing-attlist"/>
10975 </define>
10976 
10977 <define name="common-timing-attlist" combine="interleave">
10978    <ref name="common-basic-timing-attlist"/>
10979    <ref name="common-restart-timing-attlist"/>
10980    <ref name="common-restart-default-attlist"/>
10981    <ref name="common-fill-timing-attlist"/>
10982    <ref name="common-fill-default-attlist"/>
10983    <ref name="common-time-manip-attlist"/>
10984 </define>
10985 <define name="animation-element" combine="choice">
10986     <element name="anim:seq">
10987         <ref name="common-anim-attlist"/>
10988         <ref name="common-endsync-timing-attlist"/>
10989         <ref name="common-timing-attlist"/>
10990         <zeroOrMore>
10991             <ref name="animation-element"/>
10992         </zeroOrMore>
10993     </element>
10994 </define>
10995 <define name="animation-element" combine="choice">
10996     <element name="anim:iterate">
10997         <ref name="common-anim-attlist"/>
10998         <ref name="anim-iterate-attlist"/>
10999         <ref name="common-timing-attlist"/>
11000         <ref name="common-endsync-timing-attlist"/>
11001         <zeroOrMore>
11002             <ref name="animation-element"/>
11003         </zeroOrMore>
11004     </element>
11005 </define>
11006 <define name="anim-iterate-attlist" combine="interleave">
11007     <ref name="common-anim-target-attlist"/>
11008 </define>
11009 <define name="anim-iterate-attlist" combine="interleave">
11010     <optional>
11011         <attribute name="anim:iterate-type">
11012             <ref name="string"/>
11013         </attribute>
11014     </optional>
11015 </define>
11016 <define name="anim-iterate-attlist" combine="interleave">
11017     <optional>
11018         <attribute name="anim:iterate-interval">
11019             <ref name="duration"/>
11020         </attribute>
11021     </optional>
11022 </define>
11023 <define name="animation-element" combine="choice">
11024     <element name="anim:audio">
11025         <ref name="common-anim-attlist"/>
11026         <ref name="anim-audio-attlist"/>
11027         <ref name="common-basic-timing-attlist"/>
11028     </element>
11029 </define>
11030 <define name="anim-audio-attlist" combine="interleave">
11031     <optional>
11032         <attribute name="xlink:href">
11033             <ref name="anyURI"/>
11034         </attribute>
11035     </optional>
11036 </define>
11037 <define name="anim-audio-attlist" combine="interleave">
11038     <optional>
11039         <attribute name="anim:audio-level">
11040             <ref name="double"/>
11041         </attribute>
11042     </optional>
11043 </define>
11044 <define name="animation-element" combine="choice">
11045     <element name="anim:command">
11046         <ref name="common-anim-attlist"/>
11047         <ref name="anim-command-attlist"/>
11048         <ref name="common-begin-end-timing-attlist"/>
11049         <ref name="common-anim-target-attlist"/>
11050         <zeroOrMore>
11051             <element name="anim:param">
11052                 <attribute name="anim:name"/>
11053                 <attribute name="anim:value"/>
11054             </element>
11055         </zeroOrMore>
11056     </element>
11057 </define>
11058 <define name="anim-command-attlist" combine="interleave">
11059     <attribute name="anim:command">
11060         <ref name="string"/>
11061     </attribute>
11062 </define>
11063 <define name="style-style">
11064     <element name="style:style">
11065         <ref name="style-style-attlist"/>
11066         <ref name="style-style-content"/>
11067         <zeroOrMore>
11068             <ref name="style-map"/>
11069         </zeroOrMore>
11070     </element>
11071 </define>
11072 <define name="style-style-attlist" combine="interleave">
11073     <attribute name="style:name">
11074         <ref name="styleName"/>
11075     </attribute>
11076 </define>
11077 <define name="style-style-attlist" combine="interleave">
11078     <optional>
11079         <attribute name="style:display-name">
11080             <ref name="string"/>
11081         </attribute>
11082     </optional>
11083 </define>
11084 <define name="style-style-attlist" combine="interleave">
11085     <optional>
11086         <attribute name="style:parent-style-name">
11087             <ref name="styleNameRef"/>
11088         </attribute>
11089     </optional>
11090 </define>
11091 <define name="style-style-attlist" combine="interleave">
11092     <optional>
11093         <attribute name="style:next-style-name">
11094             <ref name="styleNameRef"/>
11095         </attribute>
11096     </optional>
11097 </define>
11098 <define name="style-style-attlist" combine="interleave">
11099     <optional>
11100         <attribute name="style:list-style-name">
11101             <choice>
11102                 <ref name="styleName"/>
11103                 <empty/>
11104             </choice>
11105         </attribute>
11106     </optional>
11107 </define>
11108 <define name="style-style-attlist" combine="interleave">
11109     <optional>
11110         <attribute name="style:master-page-name">
11111             <ref name="styleNameRef"/>
11112         </attribute>
11113     </optional>
11114 </define>
11115 <define name="style-style-attlist" combine="interleave">
11116     <optional>
11117         <attribute name="style:auto-update" a:defaultValue="false">
11118             <ref name="boolean"/>
11119         </attribute>
11120     </optional>
11121 </define>
11122 <define name="style-style-attlist" combine="interleave">
11123     <optional>
11124         <attribute name="style:data-style-name">
11125             <ref name="styleNameRef"/>
11126         </attribute>
11127     </optional>
11128 </define>
11129 <define name="style-style-attlist" combine="interleave">
11130     <optional>
11131         <attribute name="style:class">
11132             <ref name="string"/>
11133         </attribute>
11134     </optional>
11135 </define>
11136 <define name="style-style-attlist" combine="interleave">
11137     <optional>
11138         <attribute name="style:default-outline-level">
11139             <ref name="positiveInteger"/>
11140         </attribute>
11141     </optional>
11142 </define>
11143 <define name="style-map">
11144     <element name="style:map">
11145         <ref name="style-map-attlist"/>
11146         <empty/>
11147     </element>
11148 </define>
11149 <define name="style-map-attlist" combine="interleave">
11150     <attribute name="style:condition">
11151         <ref name="string"/>
11152     </attribute>
11153 </define>
11154 <define name="style-map-attlist" combine="interleave">
11155     <attribute name="style:apply-style-name">
11156         <ref name="styleNameRef"/>
11157     </attribute>
11158 </define>
11159 <define name="style-map-attlist" combine="interleave">
11160     <optional>
11161         <attribute name="style:base-cell-address">
11162             <ref name="cellAddress"/>
11163         </attribute>
11164     </optional>
11165 </define>
11166 <define name="style-default-style">
11167     <element name="style:default-style">
11168         <ref name="style-style-content"/>
11169     </element>
11170 </define>
11171 <define name="style-page-layout">
11172     <element name="style:page-layout">
11173         <ref name="style-page-layout-attlist"/>
11174         <optional>
11175             <ref name="style-page-layout-properties"/>
11176         </optional>
11177         <optional>
11178             <ref name="style-header-style"/>
11179         </optional>
11180         <optional>
11181             <ref name="style-footer-style"/>
11182         </optional>
11183     </element>
11184 </define>
11185 <define name="style-page-layout-attlist" combine="interleave">
11186     <attribute name="style:name">
11187         <ref name="styleName"/>
11188     </attribute>
11189 </define>
11190 <define name="style-page-layout-attlist" combine="interleave">
11191     <optional>
11192         <attribute name="style:page-usage" a:defaultValue="all">
11193             <choice>
11194                 <value>all</value>
11195                 <value>left</value>
11196                 <value>right</value>
11197                 <value>mirrored</value>
11198             </choice>
11199         </attribute>
11200     </optional>
11201 </define>
11202 <define name="style-header-style">
11203     <element name="style:header-style">
11204         <optional>
11205             <ref name="style-header-footer-properties"/>
11206         </optional>
11207     </element>
11208 </define>
11209 <define name="style-footer-style">
11210     <element name="style:footer-style">
11211         <optional>
11212             <ref name="style-header-footer-properties"/>
11213         </optional>
11214     </element>
11215 </define>
11216 <define name="style-master-page">
11217     <element name="style:master-page">
11218         <ref name="style-master-page-attlist"/>
11219         <optional>
11220             <ref name="style-header"/>
11221             <optional>
11222                 <ref name="style-header-left"/>
11223             </optional>
11224         </optional>
11225         <optional>
11226             <ref name="style-footer"/>
11227             <optional>
11228                 <ref name="style-footer-left"/>
11229             </optional>
11230         </optional>
11231         <optional>
11232             <ref name="office-forms"/>
11233         </optional>
11234         <zeroOrMore>
11235             <ref name="style-style"/>
11236         </zeroOrMore>
11237         <zeroOrMore>
11238             <ref name="shape"/>
11239         </zeroOrMore>
11240         <optional>
11241             <ref name="presentation-notes"/>
11242         </optional>
11243     </element>
11244 </define>
11245 <define name="style-master-page-attlist" combine="interleave">
11246     <attribute name="style:name">
11247         <ref name="styleName"/>
11248     </attribute>
11249 </define>
11250 <define name="style-master-page-attlist" combine="interleave">
11251     <optional>
11252         <attribute name="style:display-name">
11253             <ref name="string"/>
11254         </attribute>
11255     </optional>
11256 </define>
11257 <define name="style-master-page-attlist" combine="interleave">
11258     <attribute name="style:page-layout-name">
11259         <ref name="styleNameRef"/>
11260     </attribute>
11261 </define>
11262 <define name="style-master-page-attlist" combine="interleave">
11263     <optional>
11264         <attribute name="draw:style-name">
11265             <ref name="styleNameRef"/>
11266         </attribute>
11267     </optional>
11268 </define>
11269 <define name="style-master-page-attlist" combine="interleave">
11270     <optional>
11271         <attribute name="style:next-style-name">
11272             <ref name="styleNameRef"/>
11273         </attribute>
11274     </optional>
11275 </define>
11276 <define name="style-header">
11277     <element name="style:header">
11278         <ref name="common-style-header-footer-attlist"/>
11279         <ref name="header-footer-content"/>
11280     </element>
11281 </define>
11282 <define name="style-footer">
11283     <element name="style:footer">
11284         <ref name="common-style-header-footer-attlist"/>
11285         <ref name="header-footer-content"/>
11286     </element>
11287 </define>
11288 <define name="style-header-left">
11289     <element name="style:header-left">
11290         <ref name="common-style-header-footer-attlist"/>
11291         <ref name="header-footer-content"/>
11292     </element>
11293 </define>
11294 <define name="style-footer-left">
11295     <element name="style:footer-left">
11296         <ref name="common-style-header-footer-attlist"/>
11297         <ref name="header-footer-content"/>
11298     </element>
11299 </define>
11300 <define name="header-footer-content">
11301     <choice>
11302         <group>
11303             <ref name="text-tracked-changes"/>
11304             <ref name="text-decls"/>
11305             <zeroOrMore>
11306                 <choice>
11307                     <ref name="text-h"/>
11308                     <ref name="text-p"/>
11309                     <ref name="text-list"/>
11310                     <ref name="table-table"/>
11311                     <ref name="text-section"/>
11312                     <ref name="text-table-of-content"/>
11313                     <ref name="text-illustration-index"/>
11314                     <ref name="text-table-index"/>
11315                     <ref name="text-object-index"/>
11316                     <ref name="text-user-index"/>
11317                     <ref name="text-alphabetical-index"/>
11318                     <ref name="text-bibliography"/>
11319                     <ref name="text-index-title"/>
11320                     <ref name="change-marks"/>
11321                 </choice>
11322             </zeroOrMore>
11323         </group>
11324         <group>
11325             <optional>
11326                 <ref name="style-region-left"/>
11327             </optional>
11328             <optional>
11329                 <ref name="style-region-center"/>
11330             </optional>
11331             <optional>
11332                 <ref name="style-region-right"/>
11333             </optional>
11334         </group>
11335     </choice>
11336 </define>
11337 <define name="common-style-header-footer-attlist" combine="interleave">
11338     <optional>
11339         <attribute name="style:display" a:defaultValue="true">
11340             <ref name="boolean"/>
11341         </attribute>
11342     </optional>
11343 </define>
11344 <define name="style-region-left">
11345     <element name="style:region-left">
11346         <ref name="region-content"/>
11347     </element>
11348 </define>
11349 <define name="style-region-center">
11350     <element name="style:region-center">
11351         <ref name="region-content"/>
11352     </element>
11353 </define>
11354 <define name="style-region-right">
11355     <element name="style:region-right">
11356         <ref name="region-content"/>
11357     </element>
11358 </define>
11359 
11360 <define name="region-content">
11361     <zeroOrMore>
11362         <ref name="text-p"/>
11363     </zeroOrMore>
11364 </define>
11365 <define name="presentation-notes">
11366     <element name="presentation:notes">
11367         <ref name="common-presentation-header-footer-attlist"/>
11368         <ref name="presentation-notes-attlist"/>
11369         <ref name="office-forms"/>
11370         <zeroOrMore>
11371             <ref name="shape"/>
11372         </zeroOrMore>
11373     </element>
11374 </define>
11375 <define name="presentation-notes-attlist" combine="interleave">
11376     <optional>
11377         <attribute name="style:page-layout-name">
11378             <ref name="styleNameRef"/>
11379         </attribute>
11380     </optional>
11381 </define>
11382 <define name="presentation-notes-attlist" combine="interleave">
11383     <optional>
11384         <attribute name="draw:style-name">
11385             <ref name="styleNameRef"/>
11386         </attribute>
11387     </optional>
11388 </define>
11389 <define name="table-table-template">
11390     <element name="table:table-template">
11391         <ref name="table-table-template-attlist"/>
11392         <optional>
11393             <ref name="table-first-row"/>
11394         </optional>
11395         <optional>
11396             <ref name="table-last-row"/>
11397         </optional>
11398         <optional>
11399             <ref name="table-first-column"/>
11400         </optional>
11401         <optional>
11402             <ref name="table-last-column"/>
11403         </optional>
11404         <choice>
11405             <ref name="table-body"/>
11406             <group>
11407                 <ref name="table-even-rows"/>
11408                 <ref name="table-odd-rows"/>
11409             </group>
11410             <group>
11411                 <ref name="table-even-columns"/>
11412                 <ref name="table-odd-columns"/>
11413             </group>
11414         </choice>
11415     </element>
11416 </define>
11417 <define name="table-table-template-attlist" combine="interleave">
11418     <attribute name="text:name">
11419         <ref name="string"/>
11420     </attribute>
11421 </define>
11422 <define name="table-table-template-attlist" combine="interleave">
11423     <attribute name="text:first-row-start-column">
11424         <ref name="rowOrCol"/>
11425     </attribute>
11426 </define>
11427 
11428 <define name="table-table-template-attlist" combine="interleave">
11429     <attribute name="text:first-row-end-column">
11430         <ref name="rowOrCol"/>
11431     </attribute>
11432 </define>
11433 
11434 <define name="table-table-template-attlist" combine="interleave">
11435     <attribute name="text:last-row-start-column">
11436         <ref name="rowOrCol"/>
11437     </attribute>
11438 </define>
11439 
11440 <define name="table-table-template-attlist" combine="interleave">
11441     <attribute name="text:last-row-end-column">
11442         <ref name="rowOrCol"/>
11443     </attribute>
11444 </define>
11445 
11446 <define name="rowOrCol">
11447     <choice>
11448         <value>row</value>
11449         <value>column</value>
11450     </choice>
11451 </define>
11452 <define name="table-first-row">
11453     <element name="table:first-row">
11454         <ref name="common-table-template-attlist"/>
11455         <empty/>
11456     </element>
11457 </define>
11458 
11459 <define name="table-last-row">
11460     <element name="table:last-row">
11461         <ref name="common-table-template-attlist"/>
11462         <empty/>
11463     </element>
11464 </define>
11465 
11466 <define name="table-first-column">
11467     <element name="table:first-column">
11468         <ref name="common-table-template-attlist"/>
11469         <empty/>
11470     </element>
11471 </define>
11472 
11473 <define name="table-last-column">
11474     <element name="table:last-column">
11475         <ref name="common-table-template-attlist"/>
11476         <empty/>
11477     </element>
11478 </define>
11479 
11480 <define name="table-body">
11481     <element name="table:body">
11482         <ref name="common-table-template-attlist"/>
11483         <empty/>
11484     </element>
11485 </define>
11486 
11487 <define name="table-even-rows">
11488     <element name="table:even-rows">
11489         <ref name="common-table-template-attlist"/>
11490         <empty/>
11491     </element>
11492 </define>
11493 
11494 <define name="table-odd-rows">
11495     <element name="table:odd-rows">
11496         <ref name="common-table-template-attlist"/>
11497         <empty/>
11498     </element>
11499 </define>
11500 
11501 <define name="table-even-columns">
11502     <element name="table:even-columns">
11503         <ref name="common-table-template-attlist"/>
11504         <empty/>
11505     </element>
11506 </define>
11507 
11508 <define name="table-odd-columns">
11509     <element name="table:odd-columns">
11510         <ref name="common-table-template-attlist"/>
11511         <empty/>
11512     </element>
11513 </define>
11514 
11515 <define name="common-table-template-attlist" combine="interleave">
11516     <attribute name="text:style-name">
11517         <ref name="styleNameRef"/>
11518     </attribute>
11519     <attribute name="text:paragraph-style-name">
11520         <optional>
11521             <ref name="styleNameRef"/>
11522         </optional>
11523     </attribute>
11524 </define>
11525 <define name="style-font-face">
11526     <element name="style:font-face">
11527         <ref name="style-font-face-attlist"/>
11528         <optional>
11529             <ref name="svg-font-face-src"/>
11530         </optional>
11531         <optional>
11532             <ref name="svg-definition-src"/>
11533         </optional>
11534     </element>
11535 </define>
11536 <define name="style-font-face-attlist" combine="interleave">
11537     <optional>
11538         <attribute name="svg:font-family">
11539             <ref name="string"/>
11540         </attribute>
11541     </optional>
11542     <optional>
11543         <attribute name="svg:font-style">
11544             <ref name="fontStyle"/>
11545         </attribute>
11546     </optional>
11547     <optional>
11548         <attribute name="svg:font-variant">
11549             <ref name="fontVariant"/>
11550         </attribute>
11551     </optional>
11552     <optional>
11553         <attribute name="svg:font-weight">
11554             <ref name="fontWeight"/>
11555         </attribute>
11556     </optional>
11557     <optional>
11558         <attribute name="svg:font-stretch">
11559             <choice>
11560                 <value>normal</value>
11561                 <value>ultra-condensed</value>
11562                 <value>extra-condensed</value>
11563                 <value>condensed</value>
11564                 <value>semi-condensed</value>
11565                 <value>semi-expanded</value>
11566                 <value>expanded</value>
11567                 <value>extra-expanded</value>
11568                 <value>ultra-expanded</value>
11569             </choice>
11570         </attribute>
11571     </optional>
11572     <optional>
11573         <attribute name="svg:font-size">
11574             <ref name="positiveLength"/>
11575         </attribute>
11576     </optional>
11577     <optional>
11578         <attribute name="svg:unicode-range"/>
11579     </optional>
11580     <optional>
11581         <attribute name="svg:units-per-em">
11582             <ref name="integer"/>
11583         </attribute>
11584     </optional>
11585     <optional>
11586         <attribute name="svg:panose-1"/>
11587     </optional>
11588     <optional>
11589         <attribute name="svg:stemv">
11590             <ref name="integer"/>
11591         </attribute>
11592     </optional>
11593     <optional>
11594         <attribute name="svg:stemh">
11595             <ref name="integer"/>
11596         </attribute>
11597     </optional>
11598     <optional>
11599         <attribute name="svg:slope">
11600             <ref name="integer"/>
11601         </attribute>
11602         </optional>
11603     <optional>
11604         <attribute name="svg:cap-height">
11605             <ref name="integer"/>
11606         </attribute>
11607     </optional>
11608     <optional>
11609         <attribute name="svg:x-height">
11610             <ref name="integer"/>
11611         </attribute>
11612     </optional>
11613     <optional>
11614         <attribute name="svg:accent-height">
11615             <ref name="integer"/>
11616         </attribute>
11617     </optional>
11618     <optional>
11619         <attribute name="svg:ascent">
11620             <ref name="integer"/>
11621         </attribute>
11622     </optional>
11623     <optional>
11624         <attribute name="svg:descent">
11625             <ref name="integer"/>
11626         </attribute>
11627     </optional>
11628     <optional>
11629         <attribute name="svg:widths"/>
11630     </optional>
11631     <optional>
11632         <attribute name="svg:bbox"/>
11633     </optional>
11634     <optional>
11635         <attribute name="svg:ideographic">
11636             <ref name="integer"/>
11637         </attribute>
11638     </optional>
11639     <optional>
11640         <attribute name="svg:alphabetic">
11641             <ref name="integer"/>
11642         </attribute>
11643     </optional>
11644     <optional>
11645         <attribute name="svg:mathematical">
11646             <ref name="integer"/>
11647         </attribute>
11648     </optional>
11649     <optional>
11650         <attribute name="svg:hanging">
11651             <ref name="integer"/>
11652         </attribute>
11653     </optional>
11654     <optional>
11655         <attribute name="svg:v-ideographic">
11656             <ref name="integer"/>
11657         </attribute>
11658     </optional>
11659     <optional>
11660         <attribute name="svg:v-alphabetic">
11661             <ref name="integer"/>
11662         </attribute>
11663     </optional>
11664     <optional>
11665         <attribute name="svg:v-mathematical">
11666             <ref name="integer"/>
11667         </attribute>
11668     </optional>
11669     <optional>
11670         <attribute name="svg:v-hanging">
11671             <ref name="integer"/>
11672         </attribute>
11673     </optional>
11674     <optional>
11675         <attribute name="svg:underline-position">
11676             <ref name="integer"/>
11677         </attribute>
11678     </optional>
11679     <optional>
11680         <attribute name="svg:underline-thickness">
11681             <ref name="integer"/>
11682         </attribute>
11683     </optional>
11684     <optional>
11685         <attribute name="svg:strikethrough-position">
11686             <ref name="integer"/>
11687         </attribute>
11688     </optional>
11689     <optional>
11690         <attribute name="svg:strikethrough-thickness">
11691             <ref name="integer"/>
11692         </attribute>
11693     </optional>
11694     <optional>
11695         <attribute name="svg:overline-position">
11696             <ref name="integer"/>
11697         </attribute>
11698         </optional>
11699     <optional>
11700         <attribute name="svg:overline-thickness">
11701             <ref name="integer"/>
11702         </attribute>
11703     </optional>
11704 </define>
11705 
11706 <define name="svg-font-face-src">
11707     <element name="svg:font-face-src">
11708         <oneOrMore>
11709             <choice>
11710                 <ref name="svg-font-face-uri"/>
11711                 <ref name="svg-font-face-name"/>
11712             </choice>
11713         </oneOrMore>
11714     </element>
11715 </define>
11716 
11717 <define name="svg-font-face-uri">
11718     <element name="svg:font-face-uri">
11719         <ref name="common-svg-font-face-xlink-attlist"/>
11720         <zeroOrMore>
11721             <ref name="svg-font-face-format"/>
11722         </zeroOrMore>
11723     </element>
11724 </define>
11725 
11726 <define name="svg-font-face-format">
11727     <element name="svg:font-face-format">
11728         <optional>
11729             <attribute name="svg:string"/>
11730         </optional>
11731         <empty/>
11732     </element>
11733 </define>
11734 <define name="svg-font-face-name">
11735     <element name="svg:font-face-name">
11736         <optional>
11737             <attribute name="svg:name"/>
11738         </optional>
11739         <empty/>
11740     </element>
11741 </define>
11742 
11743 <define name="svg-definition-src">
11744     <element name="svg:definition-src">
11745         <ref name="common-svg-font-face-xlink-attlist"/>
11746     <empty/>
11747     </element>
11748 </define>
11749 
11750 <define name="common-svg-font-face-xlink-attlist" combine="interleave">
11751     <attribute name="xlink:href">
11752         <ref name="anyURI"/>
11753     </attribute>
11754     <optional>
11755         <attribute name="xlink:type" a:defaultValue="simple">
11756             <value>simple</value>
11757         </attribute>
11758     </optional>
11759     <optional>
11760         <attribute name="xlink:actuate" a:defaultValue="onRequest">
11761             <value>onRequest</value>
11762         </attribute>
11763     </optional>
11764 </define>
11765 <define name="style-font-face-attlist" combine="interleave">
11766     <attribute name="style:name">
11767         <ref name="string"/>
11768     </attribute>
11769 </define>
11770 <define name="style-font-face-attlist" combine="interleave">
11771     <optional>
11772         <attribute name="style:font-adornments">
11773             <ref name="string"/>
11774         </attribute>
11775     </optional>
11776 </define>
11777 <define name="style-font-face-attlist" combine="interleave">
11778     <optional>
11779         <attribute name="style:font-family-generic">
11780             <ref name="fontFamilyGeneric"/>
11781         </attribute>
11782     </optional>
11783 </define>
11784 <define name="style-font-face-attlist" combine="interleave">
11785     <optional>
11786         <attribute name="style:font-pitch">
11787             <ref name="fontPitch"/>
11788         </attribute>
11789     </optional>
11790 </define>
11791 
11792 <define name="style-font-face-attlist" combine="interleave">
11793     <optional>
11794         <attribute name="style:font-charset">
11795             <ref name="textEncoding"/>
11796         </attribute>
11797     </optional>
11798 </define>
11799 <define name="number-number-style">
11800     <element name="number:number-style">
11801         <ref name="common-data-style-attlist"/>
11802         <optional>
11803             <ref name="style-text-properties"/>
11804         </optional>
11805         <optional>
11806             <ref name="number-text"/>
11807         </optional>
11808         <optional>
11809             <ref name="any-number"/>
11810             <optional>
11811                 <ref name="number-text"/>
11812             </optional>
11813         </optional>
11814         <zeroOrMore>
11815             <ref name="style-map"/>
11816         </zeroOrMore>
11817     </element>
11818 </define>
11819 
11820 <define name="any-number">
11821     <choice>
11822         <ref name="number-number"/>
11823         <ref name="number-scientific-number"/>
11824         <ref name="number-fraction"/>
11825     </choice>
11826 </define>
11827 <define name="number-number">
11828     <element name="number:number">
11829         <ref name="number-number-attlist"/>
11830         <ref name="common-decimal-places-attlist"/>
11831         <ref name="common-number-attlist"/>
11832         <zeroOrMore>
11833             <ref name="number-embedded-text"/>
11834         </zeroOrMore>
11835     </element>
11836 </define>
11837 <define name="number-number-attlist" combine="interleave">
11838     <optional>
11839         <attribute name="number:decimal-replacement"/>
11840     </optional>
11841 </define>
11842 <define name="number-number-attlist" combine="interleave">
11843     <optional>
11844         <attribute name="number:display-factor" a:defaultValue="1">
11845             <ref name="double"/>
11846         </attribute>
11847     </optional>
11848 </define>
11849 <define name="number-embedded-text">
11850     <element name="number:embedded-text">
11851         <ref name="number-embedded-text-attlist"/>
11852         <text/>
11853     </element>
11854 </define>
11855 <define name="number-embedded-text-attlist" combine="interleave">
11856     <attribute name="number:position">
11857         <ref name="integer"/>
11858     </attribute>
11859 </define>
11860 <define name="number-scientific-number">
11861     <element name="number:scientific-number">
11862         <ref name="number-scientific-number-attlist"/>
11863         <ref name="common-decimal-places-attlist"/>
11864         <ref name="common-number-attlist"/>
11865         <empty/>
11866     </element>
11867 </define>
11868 <define name="number-scientific-number-attlist" combine="interleave">
11869     <optional>
11870         <attribute name="number:min-exponent-digits">
11871             <ref name="integer"/>
11872         </attribute>
11873     </optional>
11874 </define>
11875 <define name="number-fraction">
11876     <element name="number:fraction">
11877         <ref name="number-fraction-attlist"/>
11878         <ref name="common-number-attlist"/>
11879         <empty/>
11880     </element>
11881 </define>
11882 <define name="number-fraction-attlist" combine="interleave">
11883     <optional>
11884         <attribute name="number:min-numerator-digits">
11885             <ref name="integer"/>
11886         </attribute>
11887     </optional>
11888 </define>
11889 <define name="number-fraction-attlist" combine="interleave">
11890     <optional>
11891         <attribute name="number:min-denominator-digits">
11892             <ref name="integer"/>
11893         </attribute>
11894     </optional>
11895 </define>
11896 <define name="number-fraction-attlist" combine="interleave">
11897     <optional>
11898         <attribute name="number:denominator-value">
11899             <ref name="integer"/>
11900         </attribute>
11901     </optional>
11902 </define>
11903 <define name="number-currency-style">
11904     <element name="number:currency-style">
11905         <ref name="common-data-style-attlist"/>
11906         <ref name="common-auto-reorder-attlist"/>
11907         <optional>
11908             <ref name="style-text-properties"/>
11909         </optional>
11910         <optional>
11911             <ref name="number-text"/>
11912         </optional>
11913         <optional>
11914             <choice>
11915                 <group>
11916                     <ref name="number-and-text"/>
11917                     <optional>
11918                         <ref name="currency-symbol-and-text"/>
11919                     </optional>
11920                 </group>
11921                 <group>
11922                     <ref name="currency-symbol-and-text"/>
11923                     <optional>
11924                         <ref name="number-and-text"/>
11925                     </optional>
11926                 </group>
11927             </choice>
11928         </optional>
11929         <zeroOrMore>
11930             <ref name="style-map"/>
11931         </zeroOrMore>
11932     </element>
11933 </define>
11934 
11935 <define name="currency-symbol-and-text">
11936     <ref name="number-currency-symbol"/>
11937     <optional>
11938         <ref name="number-text"/>
11939     </optional>
11940 </define>
11941 <define name="number-and-text">
11942     <ref name="number-number"/>
11943     <optional>
11944         <ref name="number-text"/>
11945     </optional>
11946 </define>
11947 <define name="number-currency-symbol">
11948     <element name="number:currency-symbol">
11949         <ref name="number-currency-symbol-attlist"/>
11950         <text/>
11951     </element>
11952 </define>
11953 <define name="number-currency-symbol-attlist" combine="interleave">
11954     <optional>
11955         <attribute name="number:language">
11956             <ref name="languageCode"/>
11957         </attribute>
11958     </optional>
11959     <optional>
11960         <attribute name="number:country">
11961             <ref name="countryCode"/>
11962         </attribute>
11963     </optional>
11964 </define>
11965 <define name="number-percentage-style">
11966     <element name="number:percentage-style">
11967         <ref name="common-data-style-attlist"/>
11968         <optional>
11969             <ref name="style-text-properties"/>
11970         </optional>
11971         <optional>
11972             <ref name="number-text"/>
11973         </optional>
11974         <optional>
11975             <ref name="number-and-text"/>
11976         </optional>
11977         <zeroOrMore>
11978             <ref name="style-map"/>
11979         </zeroOrMore>
11980     </element>
11981 </define>
11982 <define name="number-date-style">
11983     <element name="number:date-style">
11984         <ref name="common-data-style-attlist"/>
11985         <ref name="common-auto-reorder-attlist"/>
11986         <ref name="common-format-source-attlist"/>
11987         <optional>
11988             <ref name="style-text-properties"/>
11989         </optional>
11990         <!-- This DTD does not reflect the fact that some elements must not -->
11991         <!-- occur more than once. -->
11992         <optional>
11993             <ref name="number-text"/>
11994         </optional>
11995         <oneOrMore>
11996             <ref name="any-date"/>
11997             <optional>
11998                 <ref name="number-text"/>
11999             </optional>
12000         </oneOrMore>
12001         <zeroOrMore>
12002             <ref name="style-map"/>
12003         </zeroOrMore>
12004     </element>
12005 </define>
12006 
12007 <define name="any-date">
12008     <choice>
12009         <ref name="number-day"/>
12010         <ref name="number-month"/>
12011         <ref name="number-year"/>
12012         <ref name="number-era"/>
12013         <ref name="number-day-of-week"/>
12014         <ref name="number-week-of-year"/>
12015         <ref name="number-quarter"/>
12016         <ref name="number-hours"/>
12017         <ref name="number-am-pm"/>
12018         <ref name="number-minutes"/>
12019         <ref name="number-seconds"/>
12020     </choice>
12021 </define>
12022 <define name="number-day">
12023     <element name="number:day">
12024         <ref name="number-day-attlist"/>
12025         <ref name="common-calendar-attlist"/>
12026         <empty/>
12027     </element>
12028 </define>
12029 <define name="number-day-attlist" combine="interleave">
12030     <optional>
12031         <attribute name="number:style" a:defaultValue="short">
12032             <choice>
12033                 <value>short</value>
12034                 <value>long</value>
12035             </choice>
12036         </attribute>
12037     </optional>
12038 </define>
12039 <define name="number-month">
12040     <element name="number:month">
12041         <ref name="number-month-attlist"/>
12042         <ref name="common-calendar-attlist"/>
12043         <empty/>
12044     </element>
12045 </define>
12046 <define name="number-month-attlist" combine="interleave">
12047     <optional>
12048         <attribute name="number:textual" a:defaultValue="false">
12049             <ref name="boolean"/>
12050         </attribute>
12051     </optional>
12052 </define>
12053 <define name="number-month-attlist" combine="interleave">
12054     <optional>
12055         <attribute name="number:possessive-form" a:defaultValue="false">
12056             <ref name="boolean"/>
12057         </attribute>
12058     </optional>
12059 </define>
12060 <define name="number-month-attlist" combine="interleave">
12061     <optional>
12062         <attribute name="number:style" a:defaultValue="short">
12063             <choice>
12064                 <value>short</value>
12065                 <value>long</value>
12066             </choice>
12067         </attribute>
12068     </optional>
12069 </define>
12070 <define name="number-year">
12071     <element name="number:year">
12072         <ref name="number-year-attlist"/>
12073         <ref name="common-calendar-attlist"/>
12074         <empty/>
12075     </element>
12076 </define>
12077 <define name="number-year-attlist" combine="interleave">
12078     <optional>
12079         <attribute name="number:style" a:defaultValue="short">
12080             <choice>
12081                 <value>short</value>
12082                 <value>long</value>
12083             </choice>
12084         </attribute>
12085     </optional>
12086 </define>
12087 <define name="number-era">
12088     <element name="number:era">
12089         <ref name="number-era-attlist"/>
12090         <ref name="common-calendar-attlist"/>
12091         <empty/>
12092     </element>
12093 </define>
12094 <define name="number-era-attlist" combine="interleave">
12095     <optional>
12096         <attribute name="number:style" a:defaultValue="short">
12097             <choice>
12098                 <value>short</value>
12099                 <value>long</value>
12100             </choice>
12101         </attribute>
12102     </optional>
12103 </define>
12104 <define name="number-day-of-week">
12105     <element name="number:day-of-week">
12106         <ref name="number-day-of-week-attlist"/>
12107         <ref name="common-calendar-attlist"/>
12108         <empty/>
12109     </element>
12110 </define>
12111 <define name="number-day-of-week-attlist" combine="interleave">
12112     <optional>
12113         <attribute name="number:style" a:defaultValue="short">
12114             <choice>
12115                 <value>short</value>
12116                 <value>long</value>
12117             </choice>
12118         </attribute>
12119     </optional>
12120 </define>
12121 <define name="number-week-of-year">
12122     <element name="number:week-of-year">
12123         <ref name="common-calendar-attlist"/>
12124         <empty/>
12125     </element>
12126 </define>
12127 <define name="number-quarter">
12128     <element name="number:quarter">
12129         <ref name="number-quarter-attlist"/>
12130         <ref name="common-calendar-attlist"/>
12131         <empty/>
12132     </element>
12133 </define>
12134 <define name="number-quarter-attlist" combine="interleave">
12135     <optional>
12136         <attribute name="number:style" a:defaultValue="short">
12137             <choice>
12138                 <value>short</value>
12139                 <value>long</value>
12140             </choice>
12141         </attribute>
12142     </optional>
12143 </define>
12144 <define name="number-time-style">
12145     <element name="number:time-style">
12146         <ref name="number-time-style-attlist"/>
12147         <ref name="common-data-style-attlist"/>
12148         <ref name="common-format-source-attlist"/>
12149         <optional>
12150             <ref name="style-text-properties"/>
12151         </optional>
12152         <!-- This DTD does not reflect the fact that some elements must not -->
12153         <!-- occur more than once. -->
12154         <optional>
12155             <ref name="number-text"/>
12156         </optional>
12157         <oneOrMore>
12158             <ref name="any-time"/>
12159             <optional>
12160                 <ref name="number-text"/>
12161             </optional>
12162         </oneOrMore>
12163         <zeroOrMore>
12164             <ref name="style-map"/>
12165         </zeroOrMore>
12166     </element>
12167 </define>
12168 
12169 <define name="any-time">
12170     <choice>
12171         <ref name="number-hours"/>
12172         <ref name="number-am-pm"/>
12173         <ref name="number-minutes"/>
12174         <ref name="number-seconds"/>
12175     </choice>
12176 </define>
12177 <define name="number-time-style-attlist" combine="interleave">
12178     <optional>
12179         <attribute name="number:truncate-on-overflow" a:defaultValue="true">
12180             <ref name="boolean"/>
12181         </attribute>
12182     </optional>
12183 </define>
12184 <define name="number-hours">
12185     <element name="number:hours">
12186         <ref name="number-hours-attlist"/>
12187         <empty/>
12188     </element>
12189 </define>
12190 <define name="number-hours-attlist" combine="interleave">
12191     <optional>
12192         <attribute name="number:style" a:defaultValue="short">
12193             <choice>
12194                 <value>short</value>
12195                 <value>long</value>
12196             </choice>
12197         </attribute>
12198     </optional>
12199 </define>
12200 <define name="number-minutes">
12201     <element name="number:minutes">
12202         <ref name="number-minutes-attlist"/>
12203         <empty/>
12204     </element>
12205 </define>
12206 <define name="number-minutes-attlist" combine="interleave">
12207     <optional>
12208         <attribute name="number:style" a:defaultValue="short">
12209             <choice>
12210                 <value>short</value>
12211                 <value>long</value>
12212             </choice>
12213         </attribute>
12214     </optional>
12215 </define>
12216 <define name="number-seconds">
12217     <element name="number:seconds">
12218         <ref name="number-seconds-attlist"/>
12219         <empty/>
12220     </element>
12221 </define>
12222 <define name="number-seconds-attlist" combine="interleave">
12223     <optional>
12224         <attribute name="number:style" a:defaultValue="short">
12225             <choice>
12226                 <value>short</value>
12227                 <value>long</value>
12228             </choice>
12229         </attribute>
12230     </optional>
12231 </define>
12232 <define name="number-seconds-attlist" combine="interleave">
12233     <optional>
12234         <attribute name="number:decimal-places" a:defaultValue="0">
12235             <ref name="integer"/>
12236         </attribute>
12237     </optional>
12238 </define>
12239 <define name="number-am-pm">
12240     <element name="number:am-pm">
12241         <empty/>
12242     </element>
12243 </define>
12244 <define name="number-boolean-style">
12245     <element name="number:boolean-style">
12246         <ref name="common-data-style-attlist"/>
12247         <optional>
12248             <ref name="style-text-properties"/>
12249         </optional>
12250         <optional>
12251             <ref name="number-text"/>
12252         </optional>
12253         <optional>
12254             <ref name="number-boolean"/>
12255             <optional>
12256                 <ref name="number-text"/>
12257             </optional>
12258         </optional>
12259         <zeroOrMore>
12260             <ref name="style-map"/>
12261         </zeroOrMore>
12262     </element>
12263 </define>
12264 <define name="number-boolean">
12265     <element name="number:boolean">
12266         <empty/>
12267     </element>
12268 </define>
12269 <define name="number-text-style">
12270     <element name="number:text-style">
12271         <ref name="common-data-style-attlist"/>
12272         <optional>
12273             <ref name="style-text-properties"/>
12274         </optional>
12275         <optional>
12276             <ref name="number-text"/>
12277         </optional>
12278         <zeroOrMore>
12279             <ref name="number-text-content"/>
12280             <optional>
12281                 <ref name="number-text"/>
12282             </optional>
12283         </zeroOrMore>
12284         <zeroOrMore>
12285             <ref name="style-map"/>
12286         </zeroOrMore>
12287     </element>
12288 </define>
12289 <define name="number-text">
12290     <element name="number:text">
12291         <text/>
12292     </element>
12293 </define>
12294 <define name="number-text-content">
12295     <element name="number:text-content">
12296         <empty/>
12297     </element>
12298 </define>
12299 <define name="common-data-style-attlist" combine="interleave">
12300     <attribute name="style:name">
12301         <ref name="styleName"/>
12302     </attribute>
12303 </define>
12304 <define name="style-data-style-attlist" combine="interleave">
12305     <optional>
12306         <attribute name="style:display-name">
12307             <ref name="string"/>
12308         </attribute>
12309     </optional>
12310 </define>
12311 <define name="common-data-style-attlist" combine="interleave">
12312     <optional>
12313         <attribute name="number:language">
12314             <ref name="languageCode"/>
12315         </attribute>
12316     </optional>
12317 </define>
12318 <define name="common-data-style-attlist" combine="interleave">
12319     <optional>
12320         <attribute name="number:country">
12321             <ref name="countryCode"/>
12322         </attribute>
12323     </optional>
12324 </define>
12325 <define name="common-data-style-attlist" combine="interleave">
12326     <optional>
12327         <attribute name="number:title"/>
12328     </optional>
12329 </define>
12330 <define name="common-data-style-attlist" combine="interleave">
12331     <optional>
12332         <attribute name="style:volatile">
12333             <ref name="boolean"/>
12334         </attribute>
12335     </optional>
12336 </define>
12337 <define name="common-auto-reorder-attlist" combine="interleave">
12338     <optional>
12339         <attribute name="number:automatic-order" a:defaultValue="false">
12340             <ref name="boolean"/>
12341         </attribute>
12342     </optional>
12343 </define>
12344 <define name="common-format-source-attlist">
12345     <optional>
12346         <attribute name="number:format-source" a:defaultValue="fixed">
12347             <choice>
12348                 <value>fixed</value>
12349                 <value>language</value>
12350             </choice>
12351         </attribute>
12352     </optional>
12353 </define>
12354 <define name="common-data-style-attlist" combine="interleave">
12355     <optional>
12356         <attribute name="number:transliteration-format" a:defaultValue="1">
12357             <ref name="string"/>
12358         </attribute>
12359     </optional>
12360 </define>
12361 <define name="common-data-style-attlist" combine="interleave">
12362     <optional>
12363         <attribute name="number:transliteration-language">
12364             <ref name="countryCode"/>
12365         </attribute>
12366     </optional>
12367 </define>
12368 <define name="common-data-style-attlist" combine="interleave">
12369     <optional>
12370         <attribute name="number:transliteration-country">
12371             <ref name="countryCode"/>
12372         </attribute>
12373     </optional>
12374 </define>
12375 <define name="common-data-style-attlist" combine="interleave">
12376     <optional>
12377         <attribute name="number:transliteration-style" a:defaultValue="short">
12378             <choice>
12379                 <value>short</value>
12380                 <value>medium</value>
12381                 <value>long</value>
12382             </choice>
12383         </attribute>
12384     </optional>
12385 </define>
12386 <define name="common-decimal-places-attlist">
12387     <optional>
12388         <attribute name="number:decimal-places">
12389             <ref name="integer"/>
12390         </attribute>
12391     </optional>
12392 </define>
12393 <define name="common-number-attlist" combine="interleave">
12394     <optional>
12395         <attribute name="number:min-integer-digits">
12396             <ref name="integer"/>
12397         </attribute>
12398     </optional>
12399 </define>
12400 <define name="common-number-attlist" combine="interleave">
12401     <optional>
12402         <attribute name="number:grouping" a:defaultValue="false">
12403             <ref name="boolean"/>
12404         </attribute>
12405     </optional>
12406 </define>
12407 <define name="common-calendar-attlist" combine="interleave">
12408     <optional>
12409         <attribute name="number:calendar">
12410             <choice>
12411                 <value>gregorian</value>
12412                 <value>gengou</value>
12413                 <value>ROC</value>
12414                 <value>hanja_yoil</value>
12415                 <value>hanja</value>
12416                 <value>hijri</value>
12417                 <value>jewish</value>
12418                 <value>buddhist</value>
12419                 <ref name="string"/>
12420             </choice>
12421         </attribute>
12422     </optional>
12423 </define>
12424 <define name="style-style-content" combine="choice">
12425     <group>
12426         <attribute name="style:family">
12427             <value>text</value>
12428         </attribute>
12429         <optional>
12430             <ref name="style-text-properties"/>
12431         </optional>
12432     </group>
12433 </define>
12434 <define name="style-style-content" combine="choice">
12435     <group>
12436         <attribute name="style:family">
12437             <value>paragraph</value>
12438         </attribute>
12439         <optional>
12440             <ref name="style-paragraph-properties"/>
12441         </optional>
12442         <optional>
12443             <ref name="style-text-properties"/>
12444         </optional>
12445     </group>
12446 </define>
12447 <define name="style-style-content" combine="choice">
12448     <group>
12449         <attribute name="style:family">
12450             <value>section</value>
12451         </attribute>
12452         <optional>
12453             <ref name="style-section-properties"/>
12454         </optional>
12455     </group>
12456 </define>
12457 <define name="style-style-content" combine="choice">
12458     <group>
12459         <attribute name="style:family">
12460             <value>ruby</value>
12461         </attribute>
12462         <optional>
12463             <ref name="style-ruby-properties"/>
12464         </optional>
12465     </group>
12466 </define>
12467 <define name="text-linenumbering-configuration">
12468     <element name="text:linenumbering-configuration">
12469         <ref name="text-linenumbering-configuration-attlist"/>
12470         <optional>
12471             <ref name="text-linenumbering-separator"/>
12472         </optional>
12473     </element>
12474 </define>
12475 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12476     <optional>
12477         <attribute name="text:number-lines" a:defaultValue="true">
12478             <ref name="boolean"/>
12479         </attribute>
12480     </optional>
12481 </define>
12482 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12483     <optional>
12484         <ref name="common-num-format-attlist"/>
12485     </optional>
12486 </define>
12487 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12488     <optional>
12489         <attribute name="text:style-name">
12490             <ref name="styleNameRef"/>
12491         </attribute>
12492     </optional>
12493 </define>
12494 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12495     <optional>
12496         <attribute name="text:increment">
12497             <ref name="nonNegativeInteger"/>
12498         </attribute>
12499     </optional>
12500 </define>
12501 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12502     <optional>
12503         <attribute name="text:number-position" a:defaultValue="left">
12504             <choice>
12505                 <value>left</value>
12506                 <value>right</value>
12507                 <value>inner</value>
12508                 <value>outer</value>
12509             </choice>
12510         </attribute>
12511     </optional>
12512 </define>
12513 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12514     <optional>
12515         <attribute name="text:offset">
12516             <ref name="nonNegativeLength"/>
12517         </attribute>
12518     </optional>
12519 </define>
12520 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12521     <optional>
12522         <attribute name="text:count-empty-lines" a:defaultValue="true">
12523             <ref name="boolean"/>
12524         </attribute>
12525     </optional>
12526 </define>
12527 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12528     <optional>
12529         <attribute name="text:count-in-text-boxes" a:defaultValue="false">
12530             <ref name="boolean"/>
12531         </attribute>
12532     </optional>
12533 </define>
12534 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12535     <optional>
12536         <attribute name="text:restart-on-page" a:defaultValue="false">
12537             <ref name="boolean"/>
12538         </attribute>
12539     </optional>
12540 </define>
12541 <define name="text-linenumbering-separator">
12542     <element name="text:linenumbering-separator">
12543         <optional>
12544             <attribute name="text:increment">
12545                 <ref name="nonNegativeInteger"/>
12546             </attribute>
12547         </optional>
12548         <text/>
12549     </element>
12550 </define>
12551 <define name="text-notes-configuration">
12552     <element name="text:notes-configuration">
12553         <ref name="text-notes-configuration-content"/>
12554     </element>
12555 </define>
12556 <define name="text-notes-configuration-content" combine="interleave">
12557     <ref name="text-note-class"/>
12558 </define>
12559 <define name="text-notes-configuration-content" combine="interleave">
12560     <optional>
12561         <attribute name="text:citation-style-name">
12562             <ref name="styleNameRef"/>
12563         </attribute>
12564     </optional>
12565 </define>
12566 <define name="text-notes-configuration-content" combine="interleave">
12567     <optional>
12568         <attribute name="text:citation-body-style-name">
12569             <ref name="styleNameRef"/>
12570         </attribute>
12571     </optional>
12572 </define>
12573 <define name="text-notes-configuration-content" combine="interleave">
12574     <optional>
12575         <attribute name="text:default-style-name">
12576             <ref name="styleNameRef"/>
12577         </attribute>
12578     </optional>
12579 </define>
12580 <define name="text-notes-configuration-content" combine="interleave">
12581     <optional>
12582         <attribute name="text:master-page-name">
12583             <ref name="styleNameRef"/>
12584         </attribute>
12585     </optional>
12586 </define>
12587 <define name="text-notes-configuration-content" combine="interleave">
12588     <optional>
12589         <attribute name="text:start-value">
12590             <ref name="nonNegativeInteger"/>
12591         </attribute>
12592     </optional>
12593 </define>
12594 <define name="text-notes-configuration-content" combine="interleave">
12595     <ref name="common-num-format-prefix-suffix-attlist"/>
12596     <optional>
12597         <ref name="common-num-format-attlist"/>
12598     </optional>
12599 </define>
12600 <define name="text-notes-configuration-content" combine="interleave">
12601     <optional>
12602         <attribute name="text:start-numbering-at">
12603             <choice>
12604                 <value>document</value>
12605                 <value>chapter</value>
12606                 <value>page</value>
12607             </choice>
12608         </attribute>
12609     </optional>
12610 </define>
12611 <define name="text-notes-configuration-content" combine="interleave">
12612     <optional>
12613         <attribute name="text:footnotes-position">
12614             <choice>
12615                 <value>text</value>
12616                 <value>page</value>
12617                 <value>section</value>
12618                 <value>document</value>
12619             </choice>
12620         </attribute>
12621     </optional>
12622 </define>
12623 <define name="text-notes-configuration-content" combine="interleave">
12624     <optional>
12625         <element name="text:note-continuation-notice-forward">
12626             <text/>
12627         </element>
12628     </optional>
12629 </define>
12630 <define name="text-notes-configuration-content" combine="interleave">
12631     <optional>
12632         <element name="text:note-continuation-notice-backward">
12633             <text/>
12634         </element>
12635     </optional>
12636 </define>
12637 <define name="text-bibliography-configuration">
12638     <element name="text:bibliography-configuration">
12639         <ref name="text-bibliography-configuration-attlist"/>
12640         <zeroOrMore>
12641             <ref name="text-sort-key"/>
12642         </zeroOrMore>
12643     </element>
12644 </define>
12645 <define name="text-bibliography-configuration-attlist" combine="interleave">
12646     <optional>
12647         <attribute name="text:prefix">
12648             <ref name="string"/>
12649         </attribute>
12650     </optional>
12651     <optional>
12652         <attribute name="text:suffix">
12653             <ref name="string"/>
12654         </attribute>
12655     </optional>
12656 </define>
12657 <define name="text-bibliography-configuration-attlist" combine="interleave">
12658     <optional>
12659         <attribute name="text:numbered-entries" a:defaultValue="false">
12660             <ref name="boolean"/>
12661         </attribute>
12662     </optional>
12663 </define>
12664 <define name="text-bibliography-configuration-attlist" combine="interleave">
12665     <optional>
12666         <attribute name="text:sort-by-position" a:defaultValue="true">
12667             <ref name="boolean"/>
12668         </attribute>
12669     </optional>
12670     <optional>
12671         <attribute name="fo:language">
12672             <ref name="languageCode"/>
12673         </attribute>
12674     </optional>
12675     <optional>
12676         <attribute name="fo:country">
12677             <ref name="countryCode"/>
12678         </attribute>
12679     </optional>
12680     <optional>
12681         <attribute name="text:sort-algorithm">
12682             <ref name="string"/>
12683         </attribute>
12684     </optional>
12685 </define>
12686 <define name="text-sort-key">
12687     <element name="text:sort-key">
12688         <ref name="text-sort-key-attlist"/>
12689         <empty/>
12690     </element>
12691 </define>
12692 
12693 <define name="text-sort-key-attlist" combine="interleave">
12694     <attribute name="text:key">
12695         <choice>
12696             <value>address</value>
12697             <value>annote</value>
12698             <value>author</value>
12699             <value>bibliography-type</value>
12700             <value>booktitle</value>
12701             <value>chapter</value>
12702             <value>custom1</value>
12703             <value>custom2</value>
12704             <value>custom3</value>
12705             <value>custom4</value>
12706             <value>custom5</value>
12707             <value>edition</value>
12708             <value>editor</value>
12709             <value>howpublished</value>
12710             <value>identifier</value>
12711             <value>institution</value>
12712             <value>isbn</value>
12713             <value>issn</value>
12714             <value>journal</value>
12715             <value>month</value>
12716             <value>note</value>
12717             <value>number</value>
12718             <value>organizations</value>
12719             <value>pages</value>
12720             <value>publisher</value>
12721             <value>report-type</value>
12722             <value>school</value>
12723             <value>series</value>
12724             <value>title</value>
12725             <value>url</value>
12726             <value>volume</value>
12727             <value>year</value>
12728         </choice>
12729     </attribute>
12730     <optional>
12731         <attribute name="text:sort-ascending" a:defaultValue="true">
12732             <ref name="boolean"/>
12733         </attribute>
12734     </optional>
12735 </define>
12736 <define name="text-list-style">
12737     <element name="text:list-style">
12738         <ref name="text-list-style-attr"/>
12739         <zeroOrMore>
12740             <ref name="text-list-style-content"/>
12741         </zeroOrMore>
12742     </element>
12743 </define>
12744 <define name="text-list-style-attr" combine="interleave">
12745     <attribute name="style:name">
12746         <ref name="styleName"/>
12747     </attribute>
12748 </define>
12749 <define name="text-list-style-attr" combine="interleave">
12750     <optional>
12751         <attribute name="style:display-name">
12752             <ref name="string"/>
12753         </attribute>
12754     </optional>
12755 </define>
12756 <define name="text-list-style-attr" combine="interleave">
12757     <optional>
12758         <attribute name="text:consecutive-numbering" a:defaultValue="false">
12759             <ref name="boolean"/>
12760         </attribute>
12761     </optional>
12762 </define>
12763 <define name="text-list-level-style-attr">
12764     <attribute name="text:level">
12765         <ref name="positiveInteger"/>
12766     </attribute>
12767 </define>
12768 <define name="text-list-style-content" combine="choice">
12769     <element name="text:list-level-style-number">
12770         <ref name="text-list-level-style-attr"/>
12771         <ref name="text-list-level-style-number-attr"/>
12772         <optional>
12773             <ref name="style-list-level-properties"/>
12774         </optional>
12775         <optional>
12776             <ref name="style-text-properties"/>
12777         </optional>
12778     </element>
12779 </define>
12780 <define name="text-list-level-style-number-attr" combine="interleave">
12781     <optional>
12782         <attribute name="text:style-name">
12783             <ref name="styleNameRef"/>
12784         </attribute>
12785     </optional>
12786 </define>
12787 <define name="text-list-level-style-number-attr" combine="interleave">
12788     <ref name="common-num-format-attlist"/>
12789     <ref name="common-num-format-prefix-suffix-attlist"/>
12790 </define>
12791 <define name="text-list-level-style-number-attr" combine="interleave">
12792     <optional>
12793         <attribute name="text:display-levels" a:defaultValue="1">
12794             <ref name="positiveInteger"/>
12795         </attribute>
12796     </optional>
12797 </define>
12798 <define name="text-list-level-style-number-attr" combine="interleave">
12799     <optional>
12800         <attribute name="text:start-value" a:defaultValue="1">
12801             <ref name="positiveInteger"/>
12802         </attribute>
12803     </optional>
12804 </define>
12805 <define name="text-list-style-content" combine="choice">
12806     <element name="text:list-level-style-bullet">
12807         <ref name="text-list-level-style-attr"/>
12808         <ref name="text-list-level-style-bullet-attr"/>
12809         <optional>
12810             <ref name="style-list-level-properties"/>
12811         </optional>
12812         <optional>
12813             <ref name="style-text-properties"/>
12814         </optional>
12815     </element>
12816 </define>
12817 <define name="text-list-level-style-bullet-attr" combine="interleave">
12818     <optional>
12819         <attribute name="text:style-name">
12820             <ref name="styleNameRef"/>
12821         </attribute>
12822     </optional>
12823 </define>
12824 <define name="text-list-level-style-bullet-attr" combine="interleave">
12825     <attribute name="text:bullet-char">
12826         <ref name="character"/>
12827     </attribute>
12828 </define>
12829 <define name="text-list-level-style-bullet-attr" combine="interleave">
12830     <ref name="common-num-format-prefix-suffix-attlist"/>
12831 </define>
12832 <define name="text-list-level-style-bullet-attr" combine="interleave">
12833     <optional>
12834         <attribute name="text:bullet-relative-size">
12835             <ref name="percent"/>
12836         </attribute>
12837     </optional>
12838 </define>
12839 <define name="text-list-style-content" combine="choice">
12840     <element name="text:list-level-style-image">
12841         <ref name="text-list-level-style-attr"/>
12842         <ref name="text-list-level-style-image-attr"/>
12843         <optional>
12844             <ref name="style-list-level-properties"/>
12845         </optional>
12846     </element>
12847 </define>
12848 <define name="text-list-level-style-image-attr" combine="interleave">
12849     <choice>
12850         <ref name="common-draw-data-attlist"/>
12851         <ref name="office-binary-data"/>
12852     </choice>
12853 </define>
12854 <define name="text-outline-style">
12855     <element name="text:outline-style">
12856         <oneOrMore>
12857             <ref name="text-outline-level-style"/>
12858         </oneOrMore>
12859     </element>
12860 </define>
12861 <define name="text-outline-level-style">
12862     <element name="text:outline-level-style">
12863         <ref name="text-outline-level-style-attlist"/>
12864         <optional>
12865             <ref name="style-list-level-properties"/>
12866         </optional>
12867         <optional>
12868             <ref name="style-text-properties"/>
12869         </optional>
12870     </element>
12871 </define>
12872 <define name="text-outline-level-style-attlist" combine="interleave">
12873     <attribute name="text:level">
12874         <ref name="positiveInteger"/>
12875     </attribute>
12876 </define>
12877 <define name="text-outline-level-style-attlist" combine="interleave">
12878     <optional>
12879         <attribute name="text:style-name">
12880             <ref name="styleNameRef"/>
12881         </attribute>
12882     </optional>
12883 </define>
12884 <define name="text-outline-level-style-attlist" combine="interleave">
12885     <ref name="common-num-format-attlist"/>
12886     <ref name="common-num-format-prefix-suffix-attlist"/>
12887 </define>
12888 <define name="text-outline-level-style-attlist" combine="interleave">
12889     <optional>
12890         <attribute name="text:display-levels" a:defaultValue="1">
12891             <ref name="positiveInteger"/>
12892         </attribute>
12893     </optional>
12894 </define>
12895 <define name="text-outline-level-style-attlist" combine="interleave">
12896     <optional>
12897         <attribute name="text:start-value" a:defaultValue="1">
12898             <ref name="positiveInteger"/>
12899         </attribute>
12900     </optional>
12901 </define>
12902 <define name="style-style-content" combine="choice">
12903     <group>
12904         <attribute name="style:family">
12905             <value>table</value>
12906         </attribute>
12907         <optional>
12908             <ref name="style-table-properties"/>
12909         </optional>
12910     </group>
12911 </define>
12912 <define name="style-style-content" combine="choice">
12913     <group>
12914         <attribute name="style:family">
12915             <value>table-column</value>
12916         </attribute>
12917         <optional>
12918             <ref name="style-table-column-properties"/>
12919         </optional>
12920     </group>
12921 </define>
12922 <define name="style-style-content" combine="choice">
12923     <group>
12924         <attribute name="style:family">
12925             <value>table-row</value>
12926         </attribute>
12927         <optional>
12928             <ref name="style-table-row-properties"/>
12929         </optional>
12930     </group>
12931 </define>
12932 <define name="style-style-content" combine="choice">
12933     <group>
12934         <attribute name="style:family">
12935             <value>table-cell</value>
12936         </attribute>
12937         <optional>
12938             <ref name="style-table-cell-properties"/>
12939         </optional>
12940         <optional>
12941             <ref name="style-paragraph-properties"/>
12942         </optional>
12943         <optional>
12944             <ref name="style-text-properties"/>
12945         </optional>
12946     </group>
12947 </define>
12948 <define name="style-style-content" combine="choice">
12949     <group>
12950         <attribute name="style:family">
12951             <choice>
12952                 <value>graphic</value>
12953                 <value>presentation</value>
12954             </choice>
12955         </attribute>
12956         <optional>
12957             <ref name="style-graphic-properties"/>
12958         </optional>
12959         <optional>
12960             <ref name="style-paragraph-properties"/>
12961         </optional>
12962         <optional>
12963             <ref name="style-text-properties"/>
12964         </optional>
12965     </group>
12966 </define>
12967 
12968 <define name="style-graphic-properties">
12969     <element name="style:graphic-properties">
12970         <ref name="style-graphic-properties-content"/>
12971     </element>
12972 </define>
12973 
12974 <define name="style-graphic-properties-content">
12975     <ref name="style-properties-content"/>
12976 </define>
12977 
12978 <define name="style-graphic-properties-content-strict">
12979     <ref name="style-graphic-properties-attlist"/>
12980     <ref name="style-graphic-fill-properties-attlist"/>
12981     <ref name="style-graphic-properties-elements"/>
12982 </define>
12983 
12984 <define name=" style-graphic-properties-elements">
12985     <empty/>
12986 </define>
12987 <define name="style-style-content" combine="choice">
12988     <group>
12989         <attribute name="style:family">
12990             <value>drawing-page</value>
12991         </attribute>
12992         <optional>
12993             <ref name="style-drawing-page-properties"/>
12994         </optional>
12995     </group>
12996 </define>
12997 
12998 <define name="style-drawing-page-properties">
12999     <element name="style:drawing-page-properties">
13000         <ref name="style-drawing-page-properties-content"/>
13001     </element>
13002 </define>
13003 
13004 <define name="style-drawing-page-properties-content">
13005     <ref name="style-properties-content"/>
13006 </define>
13007 
13008 <define name="style-drawing-page-properties-content-strict">
13009     <ref name="style-graphic-fill-properties-attlist"/>
13010     <ref name="style-drawing-page-properties-attlist"/>
13011     <ref name="style-drawing-page-properties-elements"/>
13012 </define>
13013 <define name="draw-gradient">
13014     <element name="draw:gradient">
13015         <ref name="common-draw-gradient-attlist"/>
13016         <ref name="draw-gradient-attlist"/>
13017         <empty/>
13018     </element>
13019 </define>
13020 <define name="common-draw-gradient-attlist" combine="interleave">
13021     <optional>
13022         <attribute name="draw:name">
13023             <ref name="styleName"/>
13024         </attribute>
13025     </optional>
13026 </define>
13027 <define name="common-draw-gradient-attlist" combine="interleave">
13028     <optional>
13029         <attribute name="draw:display-name">
13030             <ref name="string"/>
13031         </attribute>
13032     </optional>
13033 </define>
13034 <define name="common-draw-gradient-attlist" combine="interleave">
13035     <attribute name="draw:style">
13036         <ref name="gradient-style"/>
13037     </attribute>
13038 </define>
13039 <define name="gradient-style">
13040     <choice>
13041         <value>linear</value>
13042         <value>axial</value>
13043         <value>radial</value>
13044         <value>ellipsoid</value>
13045         <value>square</value>
13046         <value>rectangular</value>
13047     </choice>
13048 </define>
13049 <define name="common-draw-gradient-attlist" combine="interleave">
13050     <optional>
13051         <attribute name="draw:cx">
13052             <ref name="percent"/>
13053         </attribute>
13054     </optional>
13055     <optional>
13056         <attribute name="draw:cy">
13057             <ref name="percent"/>
13058         </attribute>
13059     </optional>
13060 </define>
13061 <define name="draw-gradient-attlist" combine="interleave">
13062     <optional>
13063         <attribute name="draw:start-color">
13064             <ref name="color"/>
13065         </attribute>
13066     </optional>
13067     <optional>
13068         <attribute name="draw:end-color">
13069             <ref name="color"/>
13070         </attribute>
13071     </optional>
13072 </define>
13073 <define name="draw-gradient-attlist" combine="interleave">
13074     <optional>
13075         <attribute name="draw:start-intensity">
13076             <ref name="percent"/>
13077         </attribute>
13078     </optional>
13079     <optional>
13080         <attribute name="draw:end-intensity">
13081             <ref name="percent"/>
13082         </attribute>
13083     </optional>
13084 </define>
13085 <define name="common-draw-gradient-attlist" combine="interleave">
13086     <optional>
13087         <attribute name="draw:angle">
13088             <ref name="integer"/>
13089         </attribute>
13090     </optional>
13091 </define>
13092 <define name="common-draw-gradient-attlist" combine="interleave">
13093     <optional>
13094         <attribute name="draw:border">
13095             <ref name="percent"/>
13096         </attribute>
13097     </optional>
13098 </define>
13099 <define name="svg-linearGradient">
13100     <element name="svg:linearGradient">
13101         <ref name="common-svg-gradient-attlist"/>
13102         <optional>
13103             <attribute name="svg:x1" a:defaultValue="0%">
13104                 <choice>
13105                     <ref name="coordinate"/>
13106                     <ref name="percent"/>
13107                 </choice>                
13108             </attribute>
13109         </optional>
13110         <optional>
13111             <attribute name="svg:y1" a:defaultValue="0%">
13112                 <choice>
13113                     <ref name="coordinate"/>
13114                     <ref name="percent"/>
13115                 </choice>                
13116             </attribute>
13117         </optional>
13118         <optional>
13119             <attribute name="svg:x2" a:defaultValue="100%">
13120                 <choice>
13121                     <ref name="coordinate"/>
13122                     <ref name="percent"/>
13123                 </choice>                
13124             </attribute>
13125         </optional>
13126         <optional>
13127             <attribute name="svg:y2" a:defaultValue="100%">
13128                 <choice>
13129                     <ref name="coordinate"/>
13130                     <ref name="percent"/>
13131                 </choice>                
13132             </attribute>
13133         </optional>
13134         <zeroOrMore>
13135             <ref name="svg-stop"/>
13136         </zeroOrMore>
13137     </element>
13138 </define>
13139 
13140 <define name="svg-radialGradient">
13141     <element name="svg:radialGradient">
13142         <ref name="common-svg-gradient-attlist"/>
13143         <optional>
13144             <attribute name="svg:cx" a:defaultValue="50%">
13145                 <choice>
13146                     <ref name="coordinate"/>
13147                     <ref name="percent"/>
13148                 </choice>                
13149             </attribute>
13150         </optional>
13151         <optional>
13152             <attribute name="svg:cy" a:defaultValue="50%">
13153                 <choice>
13154                     <ref name="coordinate"/>
13155                     <ref name="percent"/>
13156                 </choice>                
13157             </attribute>
13158         </optional>
13159         <optional>
13160             <attribute name="svg:r" a:defaultValue="50%">
13161                 <choice>
13162                     <ref name="coordinate"/>
13163                     <ref name="percent"/>
13164                 </choice>                
13165             </attribute>
13166         </optional>
13167         <optional>
13168             <attribute name="svg:fx">
13169                 <choice>
13170                     <ref name="coordinate"/>
13171                     <ref name="percent"/>
13172                 </choice>                
13173             </attribute>
13174         </optional>
13175         <optional>
13176             <attribute name="svg:fy">
13177                 <choice>
13178                     <ref name="coordinate"/>
13179                     <ref name="percent"/>
13180                 </choice>                
13181             </attribute>
13182         </optional>
13183         <zeroOrMore>
13184             <ref name="svg-stop"/>
13185         </zeroOrMore>
13186     </element>
13187 </define>
13188 
13189 <define name="svg-stop">
13190     <element name="svg:stop">
13191         <attribute name="svg:offset">
13192             <choice>
13193                 <ref name="double"/>
13194                 <ref name="percent"/>
13195             </choice>
13196         </attribute>
13197         <optional>
13198             <attribute name="svg:stop-color">
13199                 <ref name="color"/>
13200             </attribute>
13201         </optional>
13202         <optional>
13203             <attribute name="svg:stop-opacity">
13204                 <ref name="double"/>
13205             </attribute>
13206         </optional>
13207     </element>
13208 </define>
13209 
13210 <define name="common-svg-gradient-attlist" combine="interleave">
13211     <optional>
13212         <attribute name="svg:gradientUnits" a:defaultValue="objectBoundingBox">
13213             <value>objectBoundingBox</value>
13214         </attribute>
13215     </optional>
13216     <optional>
13217         <attribute name="svg:gradientTransform">
13218             <ref name="string"/>
13219         </attribute>
13220     </optional>
13221     <optional>
13222         <attribute name="svg:spreadMethod" a:defaultValue="pad">
13223             <choice>
13224                 <value>pad</value>
13225                 <value>reflect</value>
13226                 <value>repeat</value>
13227             </choice>
13228         </attribute>
13229     </optional>
13230 </define>
13231 <define name="common-svg-gradient-attlist" combine="interleave">
13232     <attribute name="draw:name">
13233         <ref name="styleName"/>
13234     </attribute>
13235 </define>
13236 <define name="common-svg-gradient-attlist" combine="interleave">
13237     <optional>
13238         <attribute name="draw:display-name">
13239             <ref name="string"/>
13240         </attribute>
13241     </optional>
13242 </define>
13243 <define name="draw-hatch">
13244     <element name="draw:hatch">
13245         <ref name="draw-hatch-attlist"/>
13246         <empty/>
13247     </element>
13248 </define>
13249 <define name="draw-hatch-attlist" combine="interleave">
13250     <attribute name="draw:name">
13251         <ref name="styleName"/>
13252     </attribute>
13253 </define>
13254 <define name="draw-hatch-attlist" combine="interleave">
13255     <optional>
13256         <attribute name="draw:display-name">
13257             <ref name="string"/>
13258         </attribute>
13259     </optional>
13260 </define>
13261 <define name="draw-hatch-attlist" combine="interleave">
13262     <attribute name="draw:style">
13263         <choice>
13264             <value>single</value>
13265             <value>double</value>
13266             <value>triple</value>
13267         </choice>
13268     </attribute>
13269 </define>
13270 <define name="draw-hatch-attlist" combine="interleave">
13271     <optional>
13272         <attribute name="draw:color">
13273             <ref name="color"/>
13274         </attribute>
13275     </optional>
13276 </define>
13277 <define name="draw-hatch-attlist" combine="interleave">
13278     <optional>
13279         <attribute name="draw:distance">
13280             <ref name="length"/>
13281         </attribute>
13282     </optional>
13283 </define>
13284 <define name="draw-hatch-attlist" combine="interleave">
13285     <optional>
13286         <attribute name="draw:rotation">
13287             <ref name="integer"/>
13288         </attribute>
13289     </optional>
13290 </define>
13291 <define name="draw-fill-image">
13292     <element name="draw:fill-image">
13293         <ref name="draw-fill-image-attlist"/>
13294         <attribute name="xlink:href">
13295             <ref name="anyURI"/>
13296         </attribute>
13297         <optional>
13298             <attribute name="xlink:type" a:defaultValue="simple">
13299                 <choice>
13300                     <value>simple</value>
13301                 </choice>
13302             </attribute>
13303         </optional>
13304         <optional>
13305             <attribute name="xlink:show" a:defaultValue="embed">
13306                 <choice>
13307                     <value>embed</value>
13308                 </choice>
13309             </attribute>
13310         </optional>
13311         <optional>
13312             <attribute name="xlink:actuate" a:defaultValue="onLoad">
13313                 <choice>
13314                     <value>onLoad</value>
13315                 </choice>
13316             </attribute>
13317         </optional>
13318         <empty/>
13319     </element>
13320 </define>
13321 <define name="draw-fill-image-attlist" combine="interleave">
13322     <attribute name="draw:name">
13323         <ref name="styleName"/>
13324     </attribute>
13325 </define>
13326 <define name="draw-fill-image-attlist" combine="interleave">
13327     <optional>
13328         <attribute name="draw:display-name">
13329             <ref name="string"/>
13330         </attribute>
13331     </optional>
13332 </define>
13333 <define name="draw-fill-image-attlist" combine="interleave">
13334     <optional>
13335         <attribute name="svg:width">
13336             <ref name="length"/>
13337         </attribute>
13338     </optional>
13339     <optional>
13340         <attribute name="svg:height">
13341             <ref name="length"/>
13342         </attribute>
13343     </optional>
13344 </define>
13345 <define name="draw-opacity">
13346     <element name="draw:opacity">
13347         <ref name="common-draw-gradient-attlist"/>
13348         <ref name="draw-opacity-attlist"/>
13349         <empty/>
13350     </element>
13351 </define>
13352 <define name="draw-opacity-attlist" combine="interleave">
13353     <optional>
13354         <attribute name="draw:start">
13355             <ref name="percent"/>
13356         </attribute>
13357     </optional>
13358     <optional>
13359         <attribute name="draw:end">
13360             <ref name="percent"/>
13361         </attribute>
13362     </optional>
13363 </define>
13364 <define name="draw-marker">
13365     <element name="draw:marker">
13366         <ref name="draw-marker-attlist"/>
13367         <ref name="common-draw-viewbox-attlist"/>
13368         <ref name="common-draw-path-data-attlist"/>
13369         <empty/>
13370     </element>
13371 </define>
13372 <define name="draw-marker-attlist" combine="interleave">
13373     <attribute name="draw:name">
13374         <ref name="styleName"/>
13375     </attribute>
13376 </define>
13377 <define name="draw-marker-attlist" combine="interleave">
13378     <optional>
13379         <attribute name="draw:display-name">
13380             <ref name="string"/>
13381         </attribute>
13382     </optional>
13383 </define>
13384 <define name="draw-stroke-dash">
13385     <element name="draw:stroke-dash">
13386         <ref name="draw-stroke-dash-attlist"/>
13387         <empty/>
13388     </element>
13389 </define>
13390 <define name="draw-stroke-dash-attlist" combine="interleave">
13391     <attribute name="draw:name">
13392         <ref name="styleName"/>
13393     </attribute>
13394 </define>
13395 <define name="draw-stroke-dash-attlist" combine="interleave">
13396     <optional>
13397         <attribute name="draw:display-name">
13398             <ref name="string"/>
13399         </attribute>
13400     </optional>
13401 </define>
13402 <define name="draw-stroke-dash-attlist" combine="interleave">
13403     <optional>
13404         <attribute name="draw:style">
13405             <choice>
13406                 <value>rect</value>
13407                 <value>round</value>
13408             </choice>
13409         </attribute>
13410     </optional>
13411 </define>
13412 <define name="draw-stroke-dash-attlist" combine="interleave">
13413     <optional>
13414         <attribute name="draw:dots1">
13415             <ref name="integer"/>
13416         </attribute>
13417     </optional>
13418     <optional>
13419         <attribute name="draw:dots1-length">
13420             <ref name="length"/>
13421         </attribute>
13422     </optional>
13423     <optional>
13424         <attribute name="draw:dots2">
13425             <ref name="integer"/>
13426         </attribute>
13427     </optional>
13428     <optional>
13429         <attribute name="draw:dots2-length">
13430             <ref name="length"/>
13431         </attribute>
13432     </optional>
13433 </define>
13434 <define name="draw-stroke-dash-attlist" combine="interleave">
13435     <optional>
13436         <attribute name="draw:distance">
13437             <ref name="length"/>
13438         </attribute>
13439     </optional>
13440 </define>
13441 <define name="style-presentation-page-layout">
13442     <element name="style:presentation-page-layout">
13443         <attribute name="style:name">
13444             <ref name="styleName"/>
13445         </attribute>
13446         <optional>
13447             <attribute name="style:display-name">
13448                 <ref name="string"/>
13449             </attribute>
13450         </optional>
13451         <zeroOrMore>
13452             <ref name="presentation-placeholder"/>
13453         </zeroOrMore>
13454     </element>
13455 </define>
13456 <define name="presentation-placeholder">
13457     <element name="presentation:placeholder">
13458         <attribute name="presentation:object">
13459             <ref name="presentation-classes"/>
13460         </attribute>
13461         <attribute name="svg:x">
13462             <choice>
13463                 <ref name="coordinate"/>
13464                 <ref name="percent"/>
13465             </choice>
13466         </attribute>
13467         <attribute name="svg:y">
13468             <choice>
13469                 <ref name="coordinate"/>
13470                 <ref name="percent"/>
13471             </choice>
13472         </attribute>
13473         <attribute name="svg:width">
13474             <choice>
13475                 <ref name="length"/>
13476                 <ref name="percent"/>
13477             </choice>
13478         </attribute>
13479         <attribute name="svg:height">
13480             <choice>
13481                 <ref name="length"/>
13482                 <ref name="percent"/>
13483             </choice>
13484         </attribute>
13485         <empty/>
13486     </element>
13487 </define>
13488 <define name="style-style-content" combine="choice">
13489     <group>
13490         <attribute name="style:family">
13491             <value>chart</value>
13492         </attribute>
13493         <optional>
13494             <ref name="style-chart-properties"/>
13495         </optional>
13496         <optional>
13497             <ref name="style-graphic-properties"/>
13498         </optional>
13499         <optional>
13500             <ref name="style-paragraph-properties"/>
13501         </optional>
13502         <optional>
13503             <ref name="style-text-properties"/>
13504         </optional>
13505     </group>
13506 </define>
13507 <define name="style-properties-content">
13508     <ref name="anyAttListOrElements"/>
13509 </define>
13510 <define name="style-page-layout-properties">
13511     <element name="style:page-layout-properties">
13512         <ref name="style-page-layout-properties-content"/>
13513     </element>
13514 </define>
13515 
13516 <define name="style-page-layout-properties-content">
13517     <ref name="style-properties-content"/>
13518 </define>
13519 
13520 <define name="style-page-layout-properties-content-strict">
13521     <ref name="style-page-layout-properties-attlist"/>
13522     <ref name="style-page-layout-properties-elements"/>
13523 </define>
13524 <define name="style-page-layout-properties-attlist" combine="interleave">
13525     <optional>
13526         <attribute name="fo:page-width">
13527             <ref name="length"/>
13528         </attribute>
13529     </optional>
13530     <optional>
13531         <attribute name="fo:page-height">
13532             <ref name="length"/>
13533         </attribute>
13534     </optional>
13535 </define>
13536 <define name="style-page-layout-properties-attlist" combine="interleave">
13537     <optional>
13538         <ref name="common-num-format-attlist"/>
13539     </optional>
13540     <ref name="common-num-format-prefix-suffix-attlist"/>
13541 </define>
13542 <define name="style-page-layout-properties-attlist" combine="interleave">
13543     <optional>
13544         <attribute name="style:paper-tray-name">
13545             <choice>
13546                 <value>default</value>
13547                 <ref name="string"/>
13548             </choice>
13549         </attribute>
13550     </optional>
13551 </define>
13552 <define name="style-page-layout-properties-attlist" combine="interleave">
13553     <optional>
13554         <attribute name="style:print-orientation">
13555             <choice>
13556                 <value>portrait</value>
13557                 <value>landscape</value>
13558             </choice>
13559         </attribute>
13560     </optional>
13561 </define>
13562 <define name="style-page-layout-properties-attlist" combine="interleave">
13563     <ref name="common-horizontal-margin-attlist"/>
13564     <ref name="common-vertical-margin-attlist"/>
13565     <ref name="common-margin-attlist"/>
13566 </define>
13567 <define name="style-page-layout-properties-attlist" combine="interleave">
13568     <ref name="common-border-attlist"/>
13569 </define>
13570 <define name="style-page-layout-properties-attlist" combine="interleave">
13571     <ref name="common-border-line-width-attlist"/>
13572 </define>
13573 <define name="style-page-layout-properties-attlist" combine="interleave">
13574     <ref name="common-padding-attlist"/>
13575 </define>
13576 <define name="style-page-layout-properties-attlist" combine="interleave">
13577     <ref name="common-shadow-attlist"/>
13578 </define>
13579 <define name="style-page-layout-properties-attlist" combine="interleave">
13580     <ref name="common-background-color-attlist"/>
13581 </define>
13582 <define name="style-page-layout-properties-elements" combine="interleave">
13583     <ref name="style-background-image"/>
13584 </define>
13585 <define name="style-page-layout-properties-elements" combine="interleave">
13586     <ref name="style-columns"/>
13587 </define>
13588 <define name="style-page-layout-properties-attlist" combine="interleave">
13589     <optional>
13590         <attribute name="style:register-truth-ref-style-name">
13591             <ref name="styleNameRef"/>
13592         </attribute>
13593     </optional>
13594 </define>
13595 <define name="style-page-layout-properties-attlist" combine="interleave">
13596     <optional>
13597         <attribute name="style:print">
13598             <list>
13599                 <zeroOrMore>
13600                     <choice>
13601                         <value>headers</value>
13602                         <value>grid</value>
13603                         <value>annotations</value>
13604                         <value>objects</value>
13605                         <value>charts</value>
13606                         <value>drawings</value>
13607                         <value>formulas</value>
13608                         <value>zero-values</value>
13609                     </choice>
13610                 </zeroOrMore>
13611             </list>
13612         </attribute>
13613     </optional>
13614 </define>
13615 <define name="style-page-layout-properties-attlist" combine="interleave">
13616     <optional>
13617         <attribute name="style:print-page-order">
13618             <choice>
13619                 <value>ttb</value>
13620                 <value>ltr</value>
13621             </choice>
13622         </attribute>
13623     </optional>
13624 </define>
13625 <define name="style-page-layout-properties-attlist" combine="interleave">
13626     <optional>
13627         <attribute name="style:first-page-number">
13628             <choice>
13629                 <ref name="positiveInteger"/>
13630                 <value>continue</value>
13631             </choice>
13632         </attribute>
13633     </optional>
13634 </define>
13635 <define name="style-page-layout-properties-attlist" combine="interleave">
13636     <optional>
13637         <attribute name="style:scale-to">
13638             <ref name="percent"/>
13639         </attribute>
13640     </optional>
13641     <optional>
13642         <attribute name="style:scale-to-pages">
13643             <ref name="positiveInteger"/>
13644         </attribute>
13645     </optional>
13646 </define>
13647 <define name="style-page-layout-properties-attlist" combine="interleave">
13648     <optional>
13649         <attribute name="style:table-centering">
13650             <choice>
13651                 <value>horizontal</value>
13652                 <value>vertical</value>
13653                 <value>both</value>
13654                 <value>none</value>
13655             </choice>
13656         </attribute>
13657     </optional>
13658 </define>
13659 <define name="style-page-layout-properties-attlist" combine="interleave">
13660     <optional>
13661         <attribute name="style:footnote-max-height">
13662             <ref name="length"/>
13663         </attribute>
13664     </optional>
13665 </define>
13666 <define name="style-page-layout-properties-attlist" combine="interleave">
13667     <ref name="common-writing-mode-attlist"/>
13668 </define>
13669 <define name="style-page-layout-properties-elements" combine="interleave">
13670     <ref name="style-footnote-sep"/>
13671 </define>
13672 
13673 <define name="style-footnote-sep">
13674     <optional>
13675         <element name="style:footnote-sep">
13676             <ref name="style-footnote-sep-attlist"/>
13677             <empty/>
13678         </element>
13679     </optional>
13680 </define>
13681 <define name="style-footnote-sep-attlist" combine="interleave">
13682     <optional>
13683         <attribute name="style:width">
13684             <ref name="length"/>
13685         </attribute>
13686     </optional>
13687     <optional>
13688         <attribute name="style:rel-width">
13689             <ref name="percent"/>
13690         </attribute>
13691     </optional>
13692     <optional>
13693         <attribute name="style:color">
13694             <ref name="color"/>
13695         </attribute>
13696     </optional>
13697     <optional>
13698         <attribute name="style:line-style">
13699             <ref name="lineStyle"/>
13700         </attribute>
13701     </optional>
13702     <optional>
13703         <attribute name="style:adjustment" a:defaultValue="left">
13704             <choice>
13705                 <value>left</value>
13706                 <value>center</value>
13707                 <value>right</value>
13708             </choice>
13709         </attribute>
13710     </optional>
13711     <optional>
13712         <attribute name="style:distance-before-sep">
13713             <ref name="length"/>
13714         </attribute>
13715     </optional>
13716     <optional>
13717         <attribute name="style:distance-after-sep">
13718             <ref name="length"/>
13719         </attribute>
13720     </optional>
13721 </define>
13722 <define name="style-page-layout-properties-attlist" combine="interleave">
13723     <optional>
13724         <attribute name="style:layout-grid-mode">
13725             <choice>
13726                 <value>none</value>
13727                 <value>line</value>
13728                 <value>both</value>
13729             </choice>
13730         </attribute>
13731     </optional>
13732 </define>
13733 <define name="style-page-layout-properties-attlist" combine="interleave">
13734     <optional>
13735         <attribute name="style:layout-grid-base-height">
13736             <ref name="length"/>
13737         </attribute>
13738     </optional>
13739 </define>
13740 <define name="style-page-layout-properties-attlist" combine="interleave">
13741     <optional>
13742         <attribute name="style:layout-grid-ruby-height">
13743             <ref name="length"/>
13744         </attribute>
13745     </optional>
13746 </define>
13747 <define name="style-page-layout-properties-attlist" combine="interleave">
13748     <optional>
13749         <attribute name="style:layout-grid-lines">
13750             <ref name="positiveInteger"/>
13751         </attribute>
13752     </optional>
13753 </define>
13754 <define name="style-page-layout-properties-attlist" combine="interleave">
13755     <optional>
13756         <attribute name="style:layout-grid-color">
13757             <ref name="color"/>
13758         </attribute>
13759     </optional>
13760 </define>
13761 <define name="style-page-layout-properties-attlist" combine="interleave">
13762     <optional>
13763         <attribute name="style:layout-grid-ruby-below">
13764             <ref name="boolean"/>
13765         </attribute>
13766     </optional>
13767 </define>
13768 <define name="style-page-layout-properties-attlist" combine="interleave">
13769     <optional>
13770         <attribute name="style:layout-grid-print">
13771             <ref name="boolean"/>
13772         </attribute>
13773     </optional>
13774 </define>
13775 <define name="style-page-layout-properties-attlist" combine="interleave">
13776     <optional>
13777         <attribute name="style:layout-grid-display">
13778             <ref name="boolean"/>
13779         </attribute>
13780     </optional>
13781 </define>
13782 <define name="style-header-footer-properties">
13783     <element name="style:header-footer-properties">
13784         <ref name="style-header-footer-properties-content"/>
13785     </element>
13786 </define>
13787 
13788 <define name="style-header-footer-properties-content">
13789     <ref name="style-properties-content"/>
13790 </define>
13791 
13792 <define name="style-header-footer-properties-content-strict">
13793         <ref name="style-header-footer-properties-attlist"/>
13794         <ref name="style-header-footer-properties-elements"/>
13795 </define>
13796 <define name="style-header-footer-properties-attlist" combine="interleave">
13797     <optional>
13798         <attribute name="svg:height">
13799             <ref name="length"/>
13800         </attribute>
13801     </optional>
13802     <optional>
13803         <attribute name="fo:min-height">
13804             <ref name="length"/>
13805         </attribute>
13806     </optional>
13807 </define>
13808 <define name="style-header-footer-properties-attlist" combine="interleave">
13809     <ref name="common-horizontal-margin-attlist"/>
13810     <ref name="common-vertical-margin-attlist"/>
13811     <ref name="common-margin-attlist"/>
13812 </define>
13813 <define name="style-header-footer-properties-attlist" combine="interleave">
13814     <ref name="common-border-attlist"/>
13815 </define>
13816 <define name="style-header-footer-properties-attlist" combine="interleave">
13817     <ref name="common-border-line-width-attlist"/>
13818 </define>
13819 <define name="style-header-footer-properties-attlist" combine="interleave">
13820     <ref name="common-padding-attlist"/>
13821 </define>
13822 <define name="style-header-footer-properties-attlist" combine="interleave">
13823     <ref name="common-background-color-attlist"/>
13824 </define>
13825 <define name="style-header-footer-properties-elements" combine="interleave">
13826     <ref name="style-background-image"/>
13827 </define>
13828 <define name="style-header-footer-properties-attlist" combine="interleave">
13829     <ref name="common-shadow-attlist"/>
13830 </define>
13831 <define name="style-header-footer-properties-attlist" combine="interleave">
13832     <optional>
13833         <attribute name="style:dynamic-spacing">
13834             <ref name="boolean"/>
13835         </attribute>
13836     </optional>
13837 </define>
13838 <define name="style-text-properties">
13839     <element name="style:text-properties">
13840         <ref name="style-text-properties-content"/>
13841     </element>
13842 </define>
13843 
13844 <define name="style-text-properties-content">
13845     <ref name="style-properties-content"/>
13846 </define>
13847 
13848 <define name="style-text-properties-content-strict">
13849     <ref name="style-text-properties-attlist"/>
13850     <ref name="style-text-properties-elements"/>
13851 </define>
13852 
13853 <define name="style-text-properties-elements">
13854     <empty/>
13855 </define>
13856 <define name="style-text-properties-attlist" combine="interleave">
13857     <optional>
13858         <attribute name="fo:font-variant">
13859             <ref name="fontVariant"/>
13860         </attribute>
13861     </optional>
13862 </define>
13863 
13864 <define name="fontVariant">
13865     <choice>
13866         <value>normal</value>
13867         <value>small-caps</value>
13868     </choice>
13869 </define>
13870 <define name="style-text-properties-attlist" combine="interleave">
13871     <optional>
13872         <attribute name="fo:text-transform">
13873             <choice>
13874                 <value>none</value>
13875                 <value>lowercase</value>
13876                 <value>uppercase</value>
13877                 <value>capitalize</value>
13878             </choice>
13879         </attribute>
13880     </optional>
13881 </define>
13882 <define name="style-text-properties-attlist" combine="interleave">
13883     <optional>
13884             <attribute name="fo:color">
13885             <ref name="color"/>
13886         </attribute>
13887     </optional>
13888 </define>
13889 <define name="style-text-properties-attlist" combine="interleave">
13890     <optional>
13891         <attribute name="style:use-window-font-color">
13892             <ref name="boolean"/>
13893         </attribute>
13894     </optional>
13895 </define>
13896 <define name="style-text-properties-attlist" combine="interleave">
13897     <optional>
13898         <attribute name="style:text-outline">
13899             <ref name="boolean"/>
13900         </attribute>
13901     </optional>
13902 </define>
13903 <define name="style-text-properties-attlist" combine="interleave">
13904     <optional>
13905         <attribute name="style:text-line-through-type">
13906             <ref name="lineType"/>
13907         </attribute>
13908     </optional>
13909 </define>
13910 <define name="style-text-properties-attlist" combine="interleave">
13911     <optional>
13912         <attribute name="style:text-line-through-style">
13913             <ref name="lineStyle"/>
13914         </attribute>
13915     </optional>
13916 </define>
13917 <define name="style-text-properties-attlist" combine="interleave">
13918     <optional>
13919         <attribute name="style:text-line-through-width">
13920             <ref name="lineWidth"/>
13921         </attribute>
13922     </optional>
13923 </define>
13924 <define name="style-text-properties-attlist" combine="interleave">
13925     <optional>
13926         <attribute name="style:text-line-through-color">
13927             <choice>
13928                 <value>font-color</value>
13929                 <ref name="color"/>
13930             </choice>
13931         </attribute>
13932     </optional>
13933 </define>
13934 <define name="style-text-properties-attlist" combine="interleave">
13935     <optional>
13936         <attribute name="style:text-line-through-text">
13937             <ref name="string"/>
13938         </attribute>
13939     </optional>
13940 </define>
13941 <define name="style-text-properties-attlist" combine="interleave">
13942     <optional>
13943         <attribute name="style:text-line-through-text-style">
13944             <ref name="styleNameRef"/>
13945         </attribute>
13946     </optional>
13947 </define>
13948 <define name="style-text-properties-attlist" combine="interleave">
13949     <optional>
13950         <attribute name="style:text-position">
13951             <list>
13952                 <choice>
13953                     <ref name="percent"/>
13954                     <value>super</value>
13955                     <value>sub</value>
13956                 </choice>
13957                 <optional>
13958                     <ref name="percent"/>
13959                 </optional>
13960             </list>
13961         </attribute>
13962     </optional>
13963 </define>
13964 <define name="style-text-properties-attlist" combine="interleave">
13965     <optional>
13966         <attribute name="style:font-name">
13967             <ref name="string"/>
13968         </attribute>
13969     </optional>
13970     <optional>
13971         <attribute name="style:font-name-asian">
13972             <ref name="string"/>
13973         </attribute>
13974     </optional>
13975     <optional>
13976         <attribute name="style:font-name-complex">
13977             <ref name="string"/>
13978         </attribute>
13979     </optional>
13980 </define>
13981 <define name="style-text-properties-attlist" combine="interleave">
13982     <optional>
13983         <attribute name="fo:font-family">
13984             <ref name="string"/>
13985         </attribute>
13986     </optional>
13987     <optional>
13988         <attribute name="style:font-family-asian">
13989             <ref name="string"/>
13990         </attribute>
13991     </optional>
13992     <optional>
13993         <attribute name="style:font-family-complex">
13994             <ref name="string"/>
13995         </attribute>
13996     </optional>
13997 </define>
13998 <define name="style-text-properties-attlist" combine="interleave">
13999     <optional>
14000         <attribute name="style:font-family-generic">
14001             <ref name="fontFamilyGeneric"/>
14002         </attribute>
14003     </optional>
14004     <optional>
14005         <attribute name="style:font-family-generic-asian">
14006             <ref name="fontFamilyGeneric"/>
14007         </attribute>
14008     </optional>
14009     <optional>
14010         <attribute name="style:font-family-generic-complex">
14011             <ref name="fontFamilyGeneric"/>
14012         </attribute>
14013     </optional>
14014 </define>
14015 
14016 <define name="fontFamilyGeneric">
14017     <choice>
14018         <value>roman</value>
14019         <value>swiss</value>
14020         <value>modern</value>
14021         <value>decorative</value>
14022         <value>script</value>
14023         <value>system</value>
14024     </choice>
14025 </define>
14026 <define name="style-text-properties-attlist" combine="interleave">
14027     <optional>
14028         <attribute name="style:font-style-name">
14029             <ref name="string"/>
14030         </attribute>
14031     </optional>
14032     <optional>
14033         <attribute name="style:font-style-name-asian">
14034             <ref name="string"/>
14035         </attribute>
14036     </optional>
14037     <optional>
14038         <attribute name="style:font-style-name-complex">
14039             <ref name="string"/>
14040         </attribute>
14041     </optional>
14042 </define>
14043 <define name="style-text-properties-attlist" combine="interleave">
14044     <optional>
14045         <attribute name="style:font-pitch">
14046             <ref name="fontPitch"/>
14047         </attribute>
14048     </optional>
14049     <optional>
14050         <attribute name="style:font-pitch-asian">
14051             <ref name="fontPitch"/>
14052         </attribute>
14053     </optional>
14054     <optional>
14055         <attribute name="style:font-pitch-complex">
14056             <ref name="fontPitch"/>
14057         </attribute>
14058     </optional>
14059 </define>
14060 
14061 <define name="fontPitch">
14062     <choice>
14063         <value>fixed</value>
14064         <value>variable</value>
14065     </choice>
14066 </define>
14067 <define name="style-text-properties-attlist" combine="interleave">
14068     <optional>
14069         <attribute name="style:font-charset">
14070             <ref name="textEncoding"/>
14071         </attribute>
14072     </optional>
14073     <optional>
14074         <attribute name="style:font-charset-asian">
14075             <ref name="textEncoding"/>
14076         </attribute>
14077     </optional>
14078     <optional>
14079         <attribute name="style:font-charset-complex">
14080             <ref name="textEncoding"/>
14081         </attribute>
14082     </optional>
14083 </define>
14084 
14085 <define name="textEncoding">
14086     <data type="string">
14087         <param name="pattern">[A-Za-z][A-Za-z0-9._\-]*</param>
14088     </data>
14089 </define>
14090 <define name="style-text-properties-attlist" combine="interleave">
14091     <optional>
14092         <attribute name="fo:font-size">
14093             <choice>
14094                 <ref name="positiveLength"/>
14095                 <ref name="percent"/>
14096             </choice>
14097         </attribute>
14098     </optional>
14099     <optional>
14100         <attribute name="style:font-size-asian">
14101             <choice>
14102                 <ref name="positiveLength"/>
14103                 <ref name="percent"/>
14104             </choice>
14105         </attribute>
14106     </optional>
14107     <optional>
14108         <attribute name="style:font-size-complex">
14109             <choice>
14110                 <ref name="positiveLength"/>
14111                 <ref name="percent"/>
14112             </choice>
14113         </attribute>
14114     </optional>
14115 </define>
14116 <define name="style-text-properties-attlist" combine="interleave">
14117     <optional>
14118         <attribute name="style:font-size-rel">
14119             <ref name="length"/>
14120         </attribute>
14121     </optional>
14122     <optional>
14123         <attribute name="style:font-size-rel-asian">
14124             <ref name="length"/>
14125         </attribute>
14126     </optional>
14127     <optional>
14128         <attribute name="style:font-size-rel-complex">
14129             <ref name="length"/>
14130         </attribute>
14131     </optional>
14132 </define>
14133 <define name="style-text-properties-attlist" combine="interleave">
14134     <optional>
14135         <attribute name="style:script-type">
14136             <choice>
14137                 <value>latin</value>
14138                 <value>asian</value>
14139                 <value>complex</value>
14140                 <value>ignore</value>
14141             </choice>
14142         </attribute>
14143     </optional>
14144 </define>
14145 <define name="style-text-properties-attlist" combine="interleave">
14146     <optional>
14147         <attribute name="fo:letter-spacing">
14148             <choice>
14149                 <ref name="length"/>
14150                 <value>normal</value>
14151             </choice>
14152         </attribute>
14153     </optional>
14154 </define>
14155 <define name="style-text-properties-attlist" combine="interleave">
14156     <optional>
14157         <attribute name="fo:language">
14158             <ref name="languageCode"/>
14159         </attribute>
14160     </optional>
14161     <optional>
14162         <attribute name="style:language-asian">
14163             <ref name="languageCode"/>
14164         </attribute>
14165     </optional>
14166     <optional>
14167         <attribute name="style:language-complex">
14168             <ref name="languageCode"/>
14169         </attribute>
14170     </optional>
14171 </define>
14172 <define name="style-text-properties-attlist" combine="interleave">
14173     <optional>
14174         <attribute name="fo:country">
14175             <ref name="countryCode"/>
14176         </attribute>
14177     </optional>
14178     <optional>
14179         <attribute name="style:country-asian">
14180             <ref name="countryCode"/>
14181         </attribute>
14182     </optional>
14183     <optional>
14184         <attribute name="style:country-complex">
14185             <ref name="countryCode"/>
14186         </attribute>
14187     </optional>
14188 </define>
14189 <define name="style-text-properties-attlist" combine="interleave">
14190     <optional>
14191         <attribute name="fo:font-style">
14192             <ref name="fontStyle"/>
14193         </attribute>
14194     </optional>
14195     <optional>
14196         <attribute name="style:font-style-asian">
14197             <ref name="fontStyle"/>
14198         </attribute>
14199     </optional>
14200     <optional>
14201         <attribute name="style:font-style-complex">
14202             <ref name="fontStyle"/>
14203         </attribute>
14204     </optional>
14205 </define>
14206 
14207 <define name="fontStyle">
14208     <choice>
14209         <value>normal</value>
14210         <value>italic</value>
14211         <value>oblique</value>
14212     </choice>
14213 </define>
14214 <define name="style-text-properties-attlist" combine="interleave">
14215     <optional>
14216         <attribute name="style:font-relief">
14217             <choice>
14218             <value>none</value>
14219                 <value>embossed</value>
14220                 <value>engraved</value>
14221             </choice>
14222         </attribute>
14223     </optional>
14224 </define>
14225 <define name="style-text-properties-attlist" combine="interleave">
14226     <optional>
14227         <attribute name="fo:text-shadow">
14228             <ref name="shadowType"/>
14229         </attribute>
14230     </optional>
14231 </define>
14232 
14233 <define name="shadowType">
14234     <choice>
14235         <value>none</value>
14236         <!-- The following string must match an XSL shadow decl -->
14237         <ref name="string"/>
14238     </choice>
14239 </define>
14240 <define name="style-text-properties-attlist" combine="interleave">
14241     <optional>
14242         <attribute name="style:text-underline-type">
14243             <ref name="lineType"/>
14244         </attribute>
14245     </optional>
14246 </define>
14247 
14248 <define name="lineType">
14249     <choice>
14250         <value>none</value>
14251         <value>single</value>
14252         <value>double</value>
14253     </choice>
14254 </define>
14255 <define name="style-text-properties-attlist" combine="interleave">
14256     <optional>
14257         <attribute name="style:text-underline-style">
14258             <ref name="lineStyle"/>
14259         </attribute>
14260     </optional>
14261 </define>
14262 
14263 <define name="lineStyle">
14264     <choice>
14265         <value>none</value>
14266         <value>solid</value>
14267         <value>dotted</value>
14268         <value>dash</value>
14269         <value>long-dash</value>
14270         <value>dot-dash</value>
14271         <value>dot-dot-dash</value>
14272         <value>wave</value>
14273     </choice>
14274 </define>
14275 <define name="style-text-properties-attlist" combine="interleave">
14276     <optional>
14277         <attribute name="style:text-underline-width">
14278             <ref name="lineWidth"/>
14279         </attribute>
14280     </optional>
14281 </define>
14282 
14283 <define name="lineWidth">
14284     <choice>
14285         <value>auto</value>
14286         <value>normal</value>
14287         <value>bold</value>
14288         <value>thin</value>
14289         <value>dash</value>
14290         <value>medium</value>
14291         <value>thick</value>
14292         <ref name="positiveInteger"/>
14293         <ref name="percent"/>
14294         <ref name="positiveLength"/>
14295     </choice>
14296 </define>
14297 <define name="style-text-properties-attlist" combine="interleave">
14298     <optional>
14299         <attribute name="style:text-underline-color">
14300             <choice>
14301                 <value>font-color</value>
14302                 <ref name="color"/>
14303             </choice>
14304         </attribute>
14305     </optional>
14306 </define>
14307 <define name="style-text-properties-attlist" combine="interleave">
14308     <optional>
14309         <attribute name="fo:font-weight">
14310             <ref name="fontWeight"/>
14311         </attribute>
14312     </optional>
14313     <optional>
14314         <attribute name="style:font-weight-asian">
14315             <ref name="fontWeight"/>
14316         </attribute>
14317     </optional>
14318     <optional>
14319         <attribute name="style:font-weight-complex">
14320             <ref name="fontWeight"/>
14321         </attribute>
14322     </optional>
14323 </define>
14324 
14325 <define name="fontWeight">
14326     <choice>
14327         <value>normal</value>
14328         <value>bold</value>
14329         <value>100</value>
14330         <value>200</value>
14331         <value>300</value>
14332         <value>400</value>
14333         <value>500</value>
14334         <value>600</value>
14335         <value>700</value>
14336         <value>800</value>
14337         <value>900</value>
14338     </choice>
14339 </define>
14340 <define name="style-text-properties-attlist" combine="interleave">
14341     <optional>
14342         <attribute name="style:text-underline-mode">
14343             <ref name="lineMode"/>
14344         </attribute>
14345     </optional>
14346 </define>
14347 
14348 <define name="lineMode">
14349     <choice>
14350         <value>continuous</value>
14351         <value>skip-white-space</value>
14352     </choice>
14353 </define>
14354 <define name="style-text-properties-attlist" combine="interleave">
14355     <optional>
14356         <attribute name="style:text-line-through-mode">
14357             <ref name="lineMode"/>
14358         </attribute>
14359     </optional>
14360 </define>
14361 <define name="style-text-properties-attlist" combine="interleave">
14362     <optional>
14363         <attribute name="style:letter-kerning">
14364             <ref name="boolean"/>
14365         </attribute>
14366     </optional>
14367 </define>
14368 <define name="style-text-properties-attlist" combine="interleave">
14369     <optional>
14370         <attribute name="style:text-blinking">
14371             <ref name="boolean"/>
14372         </attribute>
14373     </optional>
14374 </define>
14375 <define name="style-text-properties-attlist" combine="interleave">
14376     <ref name="common-background-color-attlist"/>
14377 </define>
14378 <define name="style-text-properties-attlist" combine="interleave">
14379     <optional>
14380         <attribute name="style:text-combine">
14381             <choice>
14382                 <value>none</value>
14383                 <value>letters</value>
14384                 <value>lines</value>
14385             </choice>
14386         </attribute>
14387     </optional>
14388 </define>
14389 <define name="style-text-properties-attlist" combine="interleave">
14390     <optional>
14391         <attribute name="style:text-combine-start-char">
14392             <ref name="character"/>
14393         </attribute>
14394     </optional>
14395     <optional>
14396         <attribute name="style:text-combine-end-char">
14397             <ref name="character"/>
14398         </attribute>
14399     </optional>
14400 </define>
14401 <define name="style-text-properties-attlist" combine="interleave">
14402     <optional>
14403         <attribute name="style:text-emphasize">
14404             <choice>
14405                 <value>none</value>
14406                 <list>
14407                     <choice>
14408                         <value>none</value>
14409                         <value>accent</value>
14410                         <value>dot</value>
14411                         <value>circle</value>
14412                         <value>disc</value>
14413                     </choice>
14414                     <choice>
14415                         <value>above</value>
14416                         <value>below</value>
14417                     </choice>
14418                 </list>
14419             </choice>
14420         </attribute>
14421     </optional>
14422 </define>
14423 <define name="style-text-properties-attlist" combine="interleave">
14424     <optional>
14425         <attribute name="style:text-scale">
14426             <ref name="percent"/>
14427         </attribute>
14428     </optional>
14429 </define>
14430 <define name="style-text-properties-attlist" combine="interleave">
14431     <optional>
14432         <attribute name="style:text-rotation-angle">
14433             <ref name="integer"/>
14434         </attribute>
14435     </optional>
14436 </define>
14437 <define name="style-text-properties-attlist" combine="interleave">
14438     <optional>
14439         <attribute name="style:text-rotation-scale">
14440             <choice>
14441                 <value>fixed</value>
14442                 <value>line-height</value>
14443             </choice>
14444         </attribute>
14445     </optional>
14446 </define>
14447 <define name="style-text-properties-attlist" combine="interleave">
14448     <optional>
14449         <attribute name="fo:hyphenate">
14450             <ref name="boolean"/>
14451         </attribute>
14452     </optional>
14453 </define>
14454 <define name="style-text-properties-attlist" combine="interleave">
14455     <optional>
14456         <attribute name="fo:hyphenation-remain-char-count">
14457             <ref name="positiveInteger"/>
14458         </attribute>
14459     </optional>
14460 </define>
14461 <define name="style-text-properties-attlist" combine="interleave">
14462     <optional>
14463         <attribute name="fo:hyphenation-push-char-count">
14464             <ref name="positiveInteger"/>
14465         </attribute>
14466     </optional>
14467 </define>
14468 <define name="style-text-properties-attlist" combine="interleave">
14469     <choice>
14470         <attribute name="text:display">
14471             <value>true</value>
14472         </attribute>
14473         <attribute name="text:display">
14474             <value>none</value>
14475         </attribute>
14476         <group>
14477             <attribute name="text:display">
14478                 <value>condition</value>
14479             </attribute>
14480             <attribute name="text:condition">
14481                 <value>none</value>
14482             </attribute>
14483         </group>
14484         <empty/>
14485     </choice>
14486 </define>
14487 <define name="style-paragraph-properties">
14488     <element name="style:paragraph-properties">
14489         <ref name="style-paragraph-properties-content"/>
14490     </element>
14491 </define>
14492 
14493 <define name="style-paragraph-properties-content">
14494     <ref name="style-properties-content"/>
14495 </define>
14496 
14497 <define name="style-paragraph-properties-content-strict">
14498     <ref name="style-paragraph-properties-attlist"/>
14499     <ref name="style-paragraph-properties-elements"/>
14500 </define>
14501 <define name="style-paragraph-properties-attlist" combine="interleave">
14502     <optional>
14503         <attribute name="fo:line-height">
14504             <choice>
14505                 <value>normal</value>
14506                 <ref name="nonNegativeLength"/>
14507                 <ref name="percent"/>
14508             </choice>
14509         </attribute>
14510     </optional>
14511 </define>
14512 <define name="style-paragraph-properties-attlist" combine="interleave">
14513     <optional>
14514         <attribute name="style:line-height-at-least">
14515             <ref name="nonNegativeLength"/>
14516         </attribute>
14517     </optional>
14518 </define>
14519 <define name="style-paragraph-properties-attlist" combine="interleave">
14520     <optional>
14521         <attribute name="style:line-spacing">
14522             <ref name="length"/>
14523         </attribute>
14524     </optional>
14525 </define>
14526 <define name="style-paragraph-properties-attlist" combine="interleave">
14527     <optional>
14528         <attribute name="style:font-independent-line-spacing">
14529             <ref name="boolean"/>
14530         </attribute>
14531     </optional>
14532 </define>
14533 <define name="style-paragraph-properties-attlist" combine="interleave">
14534     <ref name="common-text-align"/>
14535 </define>
14536 
14537 <define name="common-text-align">
14538     <optional>
14539         <attribute name="fo:text-align">
14540             <choice>
14541                 <value>start</value>
14542                 <value>end</value>
14543                 <value>left</value>
14544                 <value>right</value>
14545                 <value>center</value>
14546                 <value>justify</value>
14547             </choice>
14548         </attribute>
14549     </optional>
14550 </define>
14551 <define name="style-paragraph-properties-attlist" combine="interleave">
14552     <optional>
14553         <attribute name="fo:text-align-last">
14554             <choice>
14555                 <value>start</value>
14556                 <value>center</value>
14557                 <value>justify</value>
14558             </choice>
14559         </attribute>
14560     </optional>
14561 </define>
14562 <define name="style-paragraph-properties-attlist" combine="interleave">
14563     <optional>
14564         <attribute name="style:justify-single-word">
14565             <ref name="boolean"/>
14566         </attribute>
14567     </optional>
14568 </define>
14569 <define name="style-paragraph-properties-attlist" combine="interleave">
14570     <optional>
14571         <attribute name="fo:keep-together">
14572             <choice>
14573                 <value>auto</value>
14574                 <value>always</value>
14575             </choice>
14576         </attribute>
14577     </optional>
14578 </define>
14579 <define name="style-paragraph-properties-attlist" combine="interleave">
14580     <optional>
14581         <attribute name="fo:widows">
14582             <ref name="nonNegativeInteger"/>
14583         </attribute>
14584     </optional>
14585 </define>
14586 <define name="style-paragraph-properties-attlist" combine="interleave">
14587     <optional>
14588         <attribute name="fo:orphans">
14589             <ref name="nonNegativeInteger"/>
14590         </attribute>
14591     </optional>
14592 </define>
14593 <define name="style-paragraph-properties-elements" combine="interleave">
14594     <ref name="style-tab-stops"/>
14595 </define>
14596 
14597 <define name="style-tab-stops">
14598     <optional>
14599         <element name="style:tab-stops">
14600             <zeroOrMore>
14601                 <ref name="style-tab-stop"/>
14602             </zeroOrMore>
14603         </element>
14604     </optional>
14605 </define>
14606 
14607 <define name="style-tab-stop">
14608     <element name="style:tab-stop">
14609         <ref name="style-tab-stop-attlist"/>
14610         <empty/>
14611     </element>
14612 </define>
14613 <define name="style-tab-stop-attlist" combine="interleave">
14614     <attribute name="style:position">
14615         <ref name="nonNegativeLength"/>
14616     </attribute>
14617 </define>
14618 <define name="style-tab-stop-attlist" combine="interleave">
14619     <choice>
14620         <optional>
14621             <attribute name="style:type" a:defaultValue="left">
14622                 <choice>
14623                     <value>left</value>
14624                     <value>center</value>
14625                     <value>right</value>
14626                 </choice>
14627             </attribute>
14628         </optional>
14629         <group>
14630             <attribute name="style:type">
14631                 <value>char</value>
14632             </attribute>
14633             <ref name="style-tab-stop-char-attlist"/>
14634         </group>
14635     </choice>
14636 </define>
14637 <define name="style-tab-stop-char-attlist" combine="interleave">
14638     <attribute name="style:char">
14639         <ref name="character"/>
14640     </attribute>
14641 </define>
14642 <define name="style-tab-stop-attlist" combine="interleave">
14643     <optional>
14644         <attribute name="style:leader-type">
14645             <ref name="lineType"/>
14646         </attribute>
14647     </optional>
14648 </define>
14649 <define name="style-tab-stop-attlist" combine="interleave">
14650     <optional>
14651         <attribute name="style:leader-style">
14652             <ref name="lineStyle"/>
14653         </attribute>
14654     </optional>
14655 </define>
14656 <define name="style-tab-stop-attlist" combine="interleave">
14657     <optional>
14658         <attribute name="style:leader-width">
14659             <ref name="lineWidth"/>
14660         </attribute>
14661     </optional>
14662 </define>
14663 <define name="style-tab-stop-attlist" combine="interleave">
14664     <optional>
14665         <attribute name="style:leader-color">
14666             <choice>
14667                 <value>font-color</value>
14668                 <ref name="color"/>
14669             </choice>
14670         </attribute>
14671     </optional>
14672 </define>
14673 <define name="style-tab-stop-attlist" combine="interleave">
14674     <optional>
14675         <attribute name="style:leader-text" a:defaultValue=" ">
14676             <ref name="string"/>
14677         </attribute>
14678     </optional>
14679 </define>
14680 <define name="style-tab-stop-attlist" combine="interleave">
14681     <optional>
14682         <attribute name="style:leader-text-style">
14683             <ref name="styleNameRef"/>
14684         </attribute>
14685     </optional>
14686 </define>
14687 <define name="style-paragraph-properties-attlist" combine="interleave">
14688     <optional>
14689         <attribute name="style:tab-stop-distance">
14690             <ref name="nonNegativeLength"/>
14691         </attribute>
14692     </optional>
14693 </define>
14694 <define name="style-paragraph-properties-attlist" combine="interleave">
14695     <optional>
14696         <attribute name="fo:hyphenation-keep">
14697             <choice>
14698                 <value>auto</value>
14699                 <value>page</value>
14700             </choice>
14701         </attribute>
14702     </optional>
14703 </define>
14704 <define name="style-paragraph-properties-attlist" combine="interleave">
14705     <optional>
14706         <attribute name="fo:hyphenation-ladder-count">
14707             <choice>
14708                 <value>no-limit</value>
14709                 <ref name="positiveInteger"/>
14710             </choice>
14711         </attribute>
14712     </optional>
14713 </define>
14714 <define name="style-paragraph-properties-elements" combine="interleave">
14715     <ref name="style-drop-cap"/>
14716 </define>
14717 
14718 <define name="style-drop-cap">
14719     <optional>
14720         <element name="style:drop-cap">
14721             <ref name="style-drop-cap-attlist"/>
14722             <empty/>
14723         </element>
14724     </optional>
14725 </define>
14726 <define name="style-drop-cap-attlist" combine="interleave">
14727     <optional>
14728         <attribute name="style:length" a:defaultValue="1">
14729             <choice>
14730                 <value>word</value>
14731                 <ref name="positiveInteger"/>
14732             </choice>
14733         </attribute>
14734     </optional>
14735 </define>
14736 <define name="style-drop-cap-attlist" combine="interleave">
14737     <optional>
14738         <attribute name="style:lines" a:defaultValue="1">
14739             <ref name="positiveInteger"/>
14740         </attribute>
14741     </optional>
14742 </define>
14743 <define name="style-drop-cap-attlist" combine="interleave">
14744     <optional>
14745         <attribute name="style:distance" a:defaultValue="0cm">
14746             <ref name="length"/>
14747         </attribute>
14748     </optional>
14749 </define>
14750 <define name="style-drop-cap-attlist" combine="interleave">
14751     <optional>
14752         <attribute name="style:style-name">
14753             <ref name="styleNameRef"/>
14754         </attribute>
14755     </optional>
14756 </define>
14757 <define name="style-paragraph-properties-attlist" combine="interleave">
14758         <optional>
14759             <attribute name="style:register-true">
14760                 <ref name="boolean"/>
14761             </attribute>
14762         </optional>
14763     </define>
14764 <define name="style-paragraph-properties-attlist" combine="interleave">
14765     <ref name="common-horizontal-margin-attlist"/>
14766 </define>
14767 
14768 <define name="common-horizontal-margin-attlist">
14769     <optional>
14770         <attribute name="fo:margin-left">
14771             <choice>
14772                 <ref name="length"/>
14773                 <ref name="percent"/>
14774             </choice>
14775         </attribute>
14776     </optional>
14777     <optional>
14778         <attribute name="fo:margin-right">
14779             <choice>
14780                 <ref name="length"/>
14781                 <ref name="percent"/>
14782             </choice>
14783         </attribute>
14784     </optional>
14785 </define>
14786 <define name="style-paragraph-properties-attlist" combine="interleave">
14787     <optional>
14788         <attribute name="fo:text-indent">
14789             <choice>
14790                 <ref name="length"/>
14791                 <ref name="percent"/>
14792             </choice>
14793         </attribute>
14794     </optional>
14795 </define>
14796 <define name="style-paragraph-properties-attlist" combine="interleave">
14797     <optional>
14798         <attribute name="style:auto-text-indent">
14799             <ref name="boolean"/>
14800         </attribute>
14801     </optional>
14802 </define>
14803 <define name="style-paragraph-properties-attlist" combine="interleave">
14804     <ref name="common-vertical-margin-attlist"/>
14805 </define>
14806 
14807 <define name="common-vertical-margin-attlist">
14808     <optional>
14809         <attribute name="fo:margin-top">
14810             <choice>
14811                 <ref name="nonNegativeLength"/>
14812                 <ref name="percent"/>
14813             </choice>
14814         </attribute>
14815     </optional>
14816     <optional>
14817         <attribute name="fo:margin-bottom">
14818             <choice>
14819                 <ref name="nonNegativeLength"/>
14820                 <ref name="percent"/>
14821             </choice>
14822         </attribute>
14823     </optional>
14824 </define>
14825 <define name="style-paragraph-properties-attlist" combine="interleave">
14826     <ref name="common-margin-attlist"/>
14827 </define>
14828 
14829 <define name="common-margin-attlist">
14830     <optional>
14831         <attribute name="fo:margin">
14832             <choice>
14833                 <ref name="nonNegativeLength"/>
14834                 <ref name="percent"/>
14835             </choice>
14836         </attribute>
14837     </optional>
14838 </define>
14839 <define name="style-paragraph-properties-attlist" combine="interleave">
14840     <ref name="common-break-attlist"/>
14841 </define>
14842 
14843 <define name="common-break-attlist">
14844     <optional>
14845         <attribute name="fo:break-before">
14846             <choice>
14847                 <value>auto</value>
14848                 <value>column</value>
14849                 <value>page</value>
14850             </choice>
14851         </attribute>
14852     </optional>
14853     <optional>
14854         <attribute name="fo:break-after">
14855             <choice>
14856                 <value>auto</value>
14857                 <value>column</value>
14858                 <value>page</value>
14859             </choice>
14860         </attribute>
14861     </optional>
14862 </define>
14863 <define name="style-paragraph-properties-attlist" combine="interleave">
14864     <ref name="common-background-color-attlist"/>
14865 </define>
14866 
14867 <define name="common-background-color-attlist">
14868     <optional>
14869         <attribute name="fo:background-color">
14870             <choice>
14871                 <value>transparent</value>
14872                 <ref name="color"/>
14873             </choice>
14874         </attribute>
14875     </optional>
14876 </define>
14877 <define name="style-paragraph-properties-elements" combine="interleave">
14878     <ref name="style-background-image"/>
14879 </define>
14880 
14881 <define name="style-background-image">
14882     <optional>
14883         <element name="style:background-image">
14884             <ref name="style-background-image-attlist"/>
14885             <choice>
14886                 <ref name="common-draw-data-attlist"/>
14887                 <ref name="office-binary-data"/>
14888                 <empty/>
14889             </choice>
14890         </element>
14891     </optional>
14892 </define>
14893 <define name="style-background-image-attlist" combine="interleave">
14894     <optional>
14895         <attribute name="style:repeat" a:defaultValue="repeat">
14896             <choice>
14897                 <value>no-repeat</value>
14898                 <value>repeat</value>
14899                 <value>stretch</value>
14900             </choice>
14901         </attribute>
14902     </optional>
14903 </define>
14904 <define name="style-background-image-attlist" combine="interleave">
14905     <optional>
14906         <attribute name="style:position" a:defaultValue="center">
14907             <choice>
14908                 <value>left</value>
14909                 <value>center</value>
14910                 <value>right</value>
14911                 <value>top</value>
14912                 <value>bottom</value>
14913                 <list>
14914                     <ref name="horiBackPos"/>
14915                     <ref name="vertBackPos"/>
14916                 </list>
14917                 <list>
14918                     <ref name="vertBackPos"/>
14919                     <ref name="horiBackPos"/>
14920                 </list>
14921             </choice>
14922         </attribute>
14923     </optional>
14924 </define>
14925 
14926 <define name="horiBackPos">
14927     <choice>
14928         <value>left</value>
14929         <value>center</value>
14930         <value>right</value>
14931     </choice>
14932 </define>
14933 <define name="vertBackPos">
14934     <choice>
14935         <value>top</value>
14936         <value>center</value>
14937         <value>bottom</value>
14938     </choice>
14939 </define>
14940 <define name="style-background-image-attlist" combine="interleave">
14941     <optional>
14942         <attribute name="style:filter-name">
14943             <ref name="string"/>
14944         </attribute>
14945     </optional>
14946 </define>
14947 <define name="style-background-image-attlist" combine="interleave">
14948     <optional>
14949         <attribute name="draw:opacity">
14950             <ref name="percent"/>
14951         </attribute>
14952     </optional>
14953 </define>
14954 <define name="style-paragraph-properties-attlist" combine="interleave">
14955     <ref name="common-border-attlist"/>
14956 </define>
14957 
14958 <define name="common-border-attlist">
14959     <optional>
14960         <attribute name="fo:border">
14961             <ref name="string"/>
14962         </attribute>
14963     </optional>
14964     <optional>
14965         <attribute name="fo:border-top">
14966             <ref name="string"/>
14967         </attribute>
14968     </optional>
14969     <optional>
14970         <attribute name="fo:border-bottom">
14971             <ref name="string"/>
14972         </attribute>
14973     </optional>
14974     <optional>
14975         <attribute name="fo:border-left">
14976             <ref name="string"/>
14977         </attribute>
14978     </optional>
14979     <optional>
14980         <attribute name="fo:border-right">
14981             <ref name="string"/>
14982         </attribute>
14983     </optional>
14984 </define>
14985 <define name="style-paragraph-properties-attlist" combine="interleave">
14986     <ref name="common-border-line-width-attlist"/>
14987 </define>
14988 
14989 <define name="common-border-line-width-attlist">
14990     <optional>
14991         <attribute name="style:border-line-width">
14992             <ref name="borderWidths"/>
14993         </attribute>
14994     </optional>
14995     <optional>
14996         <attribute name="style:border-line-width-top">
14997             <ref name="borderWidths"/>
14998         </attribute>
14999     </optional>
15000     <optional>
15001         <attribute name="style:border-line-width-bottom">
15002             <ref name="borderWidths"/>
15003         </attribute>
15004     </optional>
15005     <optional>
15006         <attribute name="style:border-line-width-left">
15007             <ref name="borderWidths"/>
15008         </attribute>
15009     </optional>
15010     <optional>
15011         <attribute name="style:border-line-width-right">
15012             <ref name="borderWidths"/>
15013         </attribute>
15014     </optional>
15015 </define>
15016 
15017 <define name="borderWidths">
15018     <list>
15019         <ref name="positiveLength"/>
15020         <ref name="positiveLength"/>
15021         <ref name="positiveLength"/>
15022     </list>
15023 </define>
15024 <define name="style-paragraph-properties-attlist" combine="interleave">
15025     <ref name="common-padding-attlist"/>
15026 </define>
15027 
15028 <define name="common-padding-attlist">
15029     <optional>
15030         <attribute name="fo:padding">
15031             <ref name="nonNegativeLength"/>
15032         </attribute>
15033     </optional>
15034     <optional>
15035         <attribute name="fo:padding-top">
15036             <ref name="nonNegativeLength"/>
15037         </attribute>
15038     </optional>
15039     <optional>
15040         <attribute name="fo:padding-bottom">
15041             <ref name="nonNegativeLength"/>
15042         </attribute>
15043     </optional>
15044     <optional>
15045         <attribute name="fo:padding-left">
15046             <ref name="nonNegativeLength"/>
15047         </attribute>
15048     </optional>
15049     <optional>
15050         <attribute name="fo:padding-right">
15051             <ref name="nonNegativeLength"/>
15052         </attribute>
15053     </optional>
15054 </define>
15055 <define name="style-paragraph-properties-attlist" combine="interleave">
15056     <ref name="common-shadow-attlist"/>
15057 </define>
15058 
15059 <define name="common-shadow-attlist">
15060     <optional>
15061         <attribute name="style:shadow">
15062             <ref name="shadowType"/>
15063         </attribute>
15064     </optional>
15065 </define>
15066 <define name="style-paragraph-properties-attlist" combine="interleave">
15067     <ref name="common-keep-with-next-attlist"/>
15068 </define>
15069 
15070 <define name="common-keep-with-next-attlist">
15071     <optional>
15072         <attribute name="fo:keep-with-next">
15073             <choice>
15074                 <value>auto</value>
15075                 <value>always</value>
15076             </choice>
15077         </attribute>
15078     </optional>
15079 </define>
15080 <define name="style-paragraph-properties-attlist" combine="interleave">
15081     <optional>
15082         <attribute name="text:number-lines" a:defaultValue="false">
15083             <ref name="boolean"/>
15084         </attribute>
15085     </optional>
15086 </define>
15087 <define name="style-paragraph-properties-attlist" combine="interleave">
15088     <optional>
15089         <attribute name="text:line-number">
15090             <ref name="nonNegativeInteger"/>
15091         </attribute>
15092     </optional>
15093 </define>
15094 <define name="style-paragraph-properties-attlist" combine="interleave">
15095     <optional>
15096         <attribute name="style:text-autospace">
15097             <choice>
15098                 <value>none</value>
15099                 <value>ideograph-alpha</value>
15100             </choice>
15101         </attribute>
15102     </optional>
15103 </define>
15104 <define name="style-paragraph-properties-attlist" combine="interleave">
15105     <optional>
15106         <attribute name="style:punctuation-wrap">
15107             <choice>
15108                 <value>simple</value>
15109                 <value>hanging</value>
15110             </choice>
15111         </attribute>
15112     </optional>
15113 </define>
15114 <define name="style-paragraph-properties-attlist" combine="interleave">
15115     <optional>
15116         <attribute name="style:line-break">
15117             <choice>
15118                 <value>normal</value>
15119                 <value>strict</value>
15120             </choice>
15121         </attribute>
15122     </optional>
15123 </define>
15124 <define name="style-paragraph-properties-attlist" combine="interleave">
15125     <optional>
15126         <attribute name="style:vertical-align" a:defaultValue="auto">
15127             <choice>
15128                 <value>top</value>
15129                 <value>middle</value>
15130                 <value>bottom</value>
15131                 <value>auto</value>
15132                 <value>baseline</value>
15133             </choice>
15134         </attribute>
15135     </optional>
15136 </define>
15137 <define name="style-paragraph-properties-attlist" combine="interleave">
15138     <ref name="common-writing-mode-attlist"/>
15139 </define>
15140 
15141 <define name="common-writing-mode-attlist">
15142     <optional>
15143         <attribute name="style:writing-mode">
15144             <choice>
15145                 <value>lr-tb</value>
15146                 <value>rl-tb</value>
15147                 <value>tb-rl</value>
15148                 <value>tb-lr</value>
15149                 <value>lr</value>
15150                 <value>rl</value>
15151                 <value>tb</value>
15152                 <value>page</value>
15153             </choice>
15154         </attribute>
15155     </optional>
15156 </define>
15157 <define name="style-paragraph-properties-attlist" combine="interleave">
15158     <optional>
15159         <attribute name="style:writing-mode-automatic">
15160             <ref name="boolean"/>
15161         </attribute>
15162     </optional>
15163 </define>
15164 <define name="style-paragraph-properties-attlist" combine="interleave">
15165     <optional>
15166         <attribute name="style:snap-to-layout-grid">
15167             <ref name="boolean"/>
15168         </attribute>
15169     </optional>
15170 </define>
15171 <define name="style-paragraph-properties-attlist" combine="interleave">
15172     <ref name="common-page-number-attlist"/>
15173 </define>
15174 
15175 <define name="common-page-number-attlist">
15176     <optional>
15177         <attribute name="style:page-number">
15178             <choice>                <ref name="positiveInteger"/>                <value>auto</value>            </choice>
15179         </attribute>
15180     </optional>
15181 </define>
15182 <define name="style-paragraph-properties-attlist" combine="interleave">
15183     <optional>
15184         <attribute name="style:background-transparency">
15185             <ref name="percent"/>
15186         </attribute>
15187     </optional>
15188 </define>
15189 <define name="style-ruby-properties">
15190     <element name="style:ruby-properties">
15191         <ref name="style-ruby-properties-content"/>
15192     </element>
15193 </define>
15194 
15195 <define name="style-ruby-properties-content">
15196     <ref name="style-properties-content"/>
15197 </define>
15198 
15199 <define name="style-ruby-properties-content-strict">
15200     <ref name="style-ruby-properties-attlist"/>
15201     <ref name="style-ruby-properties-elements"/>
15202 </define>
15203 
15204 <define name="style-ruby-properties-elements">
15205     <empty/>
15206 </define>
15207 <define name="style-ruby-properties-attlist" combine="interleave">
15208     <optional>
15209         <attribute name="style:ruby-position">
15210             <choice>
15211                 <value>above</value>
15212                 <value>below</value>
15213             </choice>
15214         </attribute>
15215     </optional>
15216 </define>
15217 <define name="style-ruby-properties-attlist" combine="interleave">
15218     <optional>
15219         <attribute name="style:ruby-align">
15220             <choice>
15221                 <value>left</value>
15222                 <value>center</value>
15223                 <value>right</value>
15224                 <value>distribute-letter</value>
15225                 <value>distribute-space</value>
15226             </choice>
15227         </attribute>
15228     </optional>
15229 </define>
15230 <define name="style-section-properties">
15231     <element name="style:section-properties">
15232         <ref name="style-section-properties-content"/>
15233     </element>
15234 </define>
15235 
15236 <define name="style-section-properties-content">
15237     <ref name="style-properties-content"/>
15238 </define>
15239 
15240 <define name="style-section-properties-content-strict">
15241     <ref name="style-section-properties-attlist"/>
15242     <ref name="style-section-properties-elements"/>
15243 </define>
15244 <define name="style-section-properties-attlist" combine="interleave">
15245     <ref name="common-background-color-attlist"/>
15246 </define>
15247 <define name="style-section-properties-elements" combine="interleave">
15248     <ref name="style-background-image"/>
15249 </define>
15250 <define name="style-section-properties-attlist" combine="interleave">
15251     <ref name="common-horizontal-margin-attlist"/>
15252 </define>
15253 <define name="style-section-properties-elements" combine="interleave">
15254     <ref name="style-columns"/>
15255 </define>
15256 
15257 <define name="style-columns">
15258     <optional>
15259         <element name="style:columns">
15260             <ref name="style-columns-attlist"/>
15261             <optional>
15262                 <ref name="style-column-sep"/>
15263             </optional>
15264             <zeroOrMore>
15265                 <ref name="style-column"/>
15266             </zeroOrMore>
15267         </element>
15268     </optional>
15269 </define>
15270 <define name="style-columns-attlist" combine="interleave">
15271     <attribute name="fo:column-count">
15272         <ref name="positiveInteger"/>
15273     </attribute>
15274 </define>
15275 <define name="style-columns-attlist" combine="interleave">
15276     <optional>
15277         <attribute name="fo:column-gap">
15278             <ref name="length"/>
15279         </attribute>
15280     </optional>
15281 </define>
15282 <define name="style-column">
15283     <element name="style:column">
15284         <ref name="style-column-attlist"/>
15285     </element>
15286 </define>
15287 <define name="style-column-attlist" combine="interleave">
15288     <attribute name="style:rel-width">
15289         <ref name="relativeLength"/>
15290     </attribute>
15291 </define>
15292 <define name="style-column-attlist" combine="interleave">
15293     <optional>
15294         <attribute name="fo:start-indent" a:defaultValue="0cm">
15295             <ref name="length"/>
15296         </attribute>
15297     </optional>
15298 </define>
15299 <define name="style-column-attlist" combine="interleave">
15300     <optional>
15301         <attribute name="fo:end-indent" a:defaultValue="0cm">
15302             <ref name="length"/>
15303         </attribute>
15304     </optional>
15305 </define>
15306 <define name="style-column-attlist" combine="interleave">
15307     <optional>
15308         <attribute name="fo:space-before" a:defaultValue="0cm">
15309             <ref name="length"/>
15310         </attribute>
15311     </optional>
15312 </define>
15313 <define name="style-column-attlist" combine="interleave">
15314     <optional>
15315         <attribute name="fo:space-after" a:defaultValue="0cm">
15316             <ref name="length"/>
15317         </attribute>
15318     </optional>
15319 </define>
15320 <define name="style-column-sep">
15321     <element name="style:column-sep">
15322         <ref name="style-column-sep-attlist"/>
15323     </element>
15324 </define>
15325 <define name="style-column-sep-attlist" combine="interleave">
15326     <optional>
15327         <attribute name="style:style" a:defaultValue="solid">
15328             <choice>
15329                 <value>none</value>
15330                 <value>solid</value>
15331                 <value>dotted</value>
15332                 <value>dashed</value>
15333                 <value>dot-dashed</value>
15334             </choice>
15335         </attribute>
15336     </optional>
15337 </define>
15338 <define name="style-column-sep-attlist" combine="interleave">
15339     <attribute name="style:width">
15340         <ref name="length"/>
15341     </attribute>
15342 </define>
15343 <define name="style-column-sep-attlist" combine="interleave">
15344     <optional>
15345         <attribute name="style:height" a:defaultValue="100%">
15346             <ref name="percent"/>
15347         </attribute>
15348     </optional>
15349 </define>
15350 <define name="style-column-sep-attlist" combine="interleave">
15351     <optional>
15352         <attribute name="style:vertical-align" a:defaultValue="top">
15353             <choice>
15354                 <value>top</value>
15355                 <value>middle</value>
15356                 <value>bottom</value>
15357             </choice>
15358         </attribute>
15359     </optional>
15360 </define>
15361 <define name="style-column-sep-attlist" combine="interleave">
15362     <optional>
15363         <attribute name="style:color" a:defaultValue="#000000">
15364             <ref name="color"/>
15365         </attribute>
15366     </optional>
15367 </define>
15368 <define name="style-section-properties-attlist" combine="interleave">
15369     <optional>
15370         <attribute name="style:protect" a:defaultValue="false">
15371             <ref name="boolean"/>
15372         </attribute>
15373     </optional>
15374 </define>
15375 <define name="style-section-properties-attlist" combine="interleave">
15376     <optional>
15377         <attribute name="text:dont-balance-text-columns">
15378             <ref name="boolean"/>
15379         </attribute>
15380     </optional>
15381 </define>
15382 <define name="style-section-properties-attlist" combine="interleave">
15383     <ref name="common-writing-mode-attlist"/>
15384 </define>
15385 <define name="style-section-properties-elements" combine="interleave">
15386     <zeroOrMore>
15387         <ref name="text-notes-configuration"/>
15388     </zeroOrMore>
15389 </define>
15390 <define name="style-table-properties">
15391     <element name="style:table-properties">
15392         <ref name="style-table-properties-content"/>
15393     </element>
15394 </define>
15395 
15396 <define name="style-table-properties-content">
15397     <ref name="style-properties-content"/>
15398 </define>
15399 
15400 <define name="style-table-properties-content-strict">
15401     <ref name="style-table-properties-attlist"/>
15402     <ref name="style-table-properties-elements"/>
15403 </define>
15404 <define name="style-table-properties-attlist" combine="interleave">
15405     <optional>
15406         <attribute name="style:width">
15407             <ref name="positiveLength"/>
15408         </attribute>
15409     </optional>
15410     <optional>
15411         <attribute name="style:rel-width">
15412             <ref name="percent"/>
15413         </attribute>
15414     </optional>
15415 </define>
15416 <define name="style-table-properties-attlist" combine="interleave">
15417     <optional>
15418         <attribute name="table:align">
15419             <choice>
15420                 <value>left</value>
15421                 <value>center</value>
15422                 <value>right</value>
15423                 <value>margins</value>
15424             </choice>
15425         </attribute>
15426     </optional>
15427 </define>
15428 <define name="style-table-properties-attlist" combine="interleave">
15429     <ref name="common-horizontal-margin-attlist"/>
15430 </define>
15431 <define name="style-table-properties-attlist" combine="interleave">
15432     <ref name="common-vertical-margin-attlist"/>
15433 </define>
15434 <define name="style-table-properties-attlist" combine="interleave">
15435     <ref name="common-margin-attlist"/>
15436 </define>
15437 <define name="style-table-properties-attlist" combine="interleave">
15438     <ref name="common-page-number-attlist"/>
15439 </define>
15440 <define name="style-table-properties-attlist" combine="interleave">
15441     <ref name="common-break-attlist"/>
15442 </define>
15443 <define name="style-table-properties-attlist" combine="interleave">
15444     <ref name="common-background-color-attlist"/>
15445 </define>
15446 <define name="style-table-properties-elements" combine="interleave">
15447     <ref name="style-background-image"/>
15448 </define>
15449 <define name="style-table-properties-attlist" combine="interleave">
15450     <ref name="common-shadow-attlist"/>
15451 </define>
15452 <define name="style-table-properties-attlist" combine="interleave">
15453     <ref name="common-keep-with-next-attlist"/>
15454 </define>
15455 <define name="style-table-properties-attlist" combine="interleave">
15456     <optional>
15457         <attribute name="style:may-break-between-rows">
15458             <ref name="boolean"/>
15459         </attribute>
15460     </optional>
15461 </define>
15462 <define name="style-table-properties-attlist" combine="interleave">
15463     <optional>
15464         <attribute name="table:border-model">
15465             <choice>
15466                 <value>collapsing</value>
15467                 <value>separating</value>
15468             </choice>
15469         </attribute>
15470     </optional>
15471 </define>
15472 <define name="style-table-properties-attlist" combine="interleave">
15473     <ref name="common-writing-mode-attlist"/>
15474 </define>
15475 <define name="style-table-properties-attlist" combine="interleave">
15476     <optional>
15477         <attribute name="table:display">
15478             <ref name="boolean"/>
15479         </attribute>
15480     </optional>
15481 </define>
15482 <define name="style-table-column-properties">
15483     <element name="style:table-column-properties">
15484         <ref name="style-table-column-properties-content"/>
15485     </element>
15486 </define>
15487 
15488 <define name="style-table-column-properties-content">
15489     <ref name="style-properties-content"/>
15490 </define>
15491 
15492 <define name="style-table-column-properties-content-strict">
15493     <ref name="style-table-column-properties-attlist"/>
15494     <ref name="style-table-column-properties-elements"/>
15495 </define>
15496 
15497 <define name="style-table-column-properties-elements">
15498     <empty/>
15499 </define>
15500 <define name="style-table-column-properties-attlist" combine="interleave">
15501     <optional>
15502         <attribute name="style:column-width">
15503             <ref name="positiveLength"/>
15504         </attribute>
15505     </optional>
15506     <optional>
15507         <attribute name="style:rel-column-width">
15508             <ref name="relativeLength"/>
15509         </attribute>
15510     </optional>
15511 </define>
15512 <define name="style-table-column-properties-attlist" combine="interleave">
15513     <optional>
15514         <attribute name="style:use-optimal-column-width">
15515             <ref name="boolean"/>
15516         </attribute>
15517     </optional>
15518 </define>
15519 <define name="style-table-column-properties-attlist" combine="interleave">
15520     <ref name="common-break-attlist"/>
15521 </define>
15522 <define name="style-table-row-properties">
15523     <element name="style:table-row-properties">
15524         <ref name="style-table-row-properties-content"/>
15525     </element>
15526 </define>
15527 
15528 <define name="style-table-row-properties-content">
15529     <ref name="style-properties-content"/>
15530 </define>
15531 
15532 <define name="style-table-row-properties-content-strict">
15533     <ref name="style-table-row-properties-attlist"/>
15534     <ref name="style-table-row-properties-elements"/>
15535 </define>
15536 <define name="style-table-row-properties-attlist" combine="interleave">
15537     <optional>
15538         <attribute name="style:row-height">
15539             <ref name="positiveLength"/>
15540         </attribute>
15541     </optional>
15542     <optional>
15543         <attribute name="style:min-row-height">
15544             <ref name="nonNegativeLength"/>
15545         </attribute>
15546     </optional>
15547 </define>
15548 <define name="style-table-row-properties-attlist" combine="interleave">
15549     <optional>
15550         <attribute name="style:use-optimal-row-height">
15551             <ref name="boolean"/>
15552         </attribute>
15553     </optional>
15554 </define>
15555 <define name="style-table-row-properties-attlist" combine="interleave">
15556     <ref name="common-background-color-attlist"/>
15557 </define>
15558 <define name="style-table-row-properties-elements" combine="interleave">
15559     <ref name="style-background-image"/>
15560 </define>
15561 <define name="style-table-row-properties-attlist" combine="interleave">
15562     <ref name="common-break-attlist"/>
15563 </define>
15564 <define name="style-table-row-properties-attlist" combine="interleave">
15565     <optional>
15566         <attribute name="fo:keep-together">
15567             <choice>
15568                 <value>auto</value>
15569                 <value>always</value>
15570             </choice>
15571         </attribute>
15572     </optional>
15573 </define>
15574 <define name="style-table-cell-properties">
15575     <element name="style:table-cell-properties">
15576         <ref name="style-table-cell-properties-content"/>
15577     </element>
15578 </define>
15579 
15580 <define name="style-table-cell-properties-content">
15581     <ref name="style-properties-content"/>
15582 </define>
15583 
15584 <define name="style-table-cell-properties-content-strict">
15585     <ref name="style-table-cell-properties-attlist"/>
15586     <ref name="style-table-cell-properties-elements"/>
15587 </define>
15588 <define name="style-table-cell-properties-attlist" combine="interleave">
15589     <optional>
15590         <attribute name="style:vertical-align">
15591             <choice>
15592                 <value>top</value>
15593                 <value>middle</value>
15594                 <value>bottom</value>
15595                 <value>automatic</value>
15596             </choice>
15597             </attribute>
15598     </optional>
15599 </define>
15600 <define name="style-table-cell-properties-attlist" combine="interleave">
15601     <optional>
15602         <attribute name="style:text-align-source">
15603             <choice>
15604                 <value>fix</value>
15605                 <value>value-type</value>
15606             </choice>
15607         </attribute>
15608     </optional>
15609 </define>
15610 <define name="style-table-cell-properties-attlist" combine="interleave">
15611     <ref name="common-style-direction-attlist"/>
15612 </define>
15613 
15614 <define name="common-style-direction-attlist">
15615     <optional>
15616         <attribute name="style:direction">
15617             <choice>
15618                 <value>ltr</value>
15619                 <value>ttb</value>
15620             </choice>
15621         </attribute>
15622     </optional>
15623 </define>
15624 <define name="style-table-cell-properties-attlist" combine="interleave">
15625     <optional>
15626         <attribute name="style:glyph-orientation-vertical">
15627             <choice>
15628                 <value>auto</value>
15629                 <value>0</value>
15630             </choice>
15631         </attribute>
15632     </optional>
15633 </define>
15634 <define name="style-table-cell-properties-attlist" combine="interleave">
15635     <ref name="common-shadow-attlist"/>
15636 </define>
15637 <define name="style-table-cell-properties-attlist" combine="interleave">
15638     <ref name="common-background-color-attlist"/>
15639 </define>
15640 <define name="style-table-cell-properties-elements" combine="interleave">
15641     <ref name="style-background-image"/>
15642 </define>
15643 <define name="style-table-cell-properties-attlist" combine="interleave">
15644     <ref name="common-border-attlist"/>
15645 </define>
15646 <define name="style-table-cell-properties-attlist" combine="interleave">
15647     <optional>
15648         <attribute name="style:diagonal-tl-br">
15649             <ref name="string"/>
15650         </attribute>
15651     </optional>
15652     <optional>
15653         <attribute name="style:diagonal-tl-br-widths">
15654             <ref name="borderWidths"/>
15655         </attribute>
15656     </optional>
15657     <optional>
15658         <attribute name="style:diagonal-bl-tr">
15659             <ref name="string"/>
15660         </attribute>
15661     </optional>
15662     <optional>
15663         <attribute name="style:diagonal-bl-tr-widths">
15664             <ref name="borderWidths"/>
15665         </attribute>
15666     </optional>
15667 </define>
15668 <define name="style-table-cell-properties-attlist" combine="interleave">
15669     <ref name="common-border-line-width-attlist"/>
15670 </define>
15671 <define name="style-table-cell-properties-attlist" combine="interleave">
15672     <ref name="common-padding-attlist"/>
15673 </define>
15674 <define name="style-table-cell-properties-attlist" combine="interleave">
15675     <optional>
15676         <attribute name="fo:wrap-option">
15677             <choice>
15678                 <value>no-wrap</value>
15679                 <value>wrap</value>
15680             </choice>
15681         </attribute>
15682     </optional>
15683 </define>
15684 <define name="style-table-cell-properties-attlist" combine="interleave">
15685     <ref name="common-rotation-angle-attlist"/>
15686 </define>
15687 
15688 <define name="common-rotation-angle-attlist">
15689     <optional>
15690         <attribute name="style:rotation-angle">
15691             <ref name="nonNegativeInteger"/>
15692         </attribute>
15693     </optional>
15694 </define>
15695 <define name="style-table-cell-properties-attlist" combine="interleave">
15696     <optional>
15697         <attribute name="style:rotation-align">
15698             <choice>
15699                 <value>none</value>
15700                 <value>bottom</value>
15701                 <value>top</value>
15702                 <value>center</value>
15703             </choice>
15704         </attribute>
15705     </optional>
15706 </define>
15707 <define name="style-table-cell-properties-attlist" combine="interleave">
15708     <optional>
15709         <attribute name="style:cell-protect">
15710             <choice>
15711                 <value>none</value>
15712                 <value>hidden-and-protected</value>
15713                 <list>
15714                     <oneOrMore>
15715                         <choice>
15716                             <value>protected</value>
15717                             <value>formula-hidden</value>
15718                         </choice>
15719                     </oneOrMore>
15720                 </list>
15721             </choice>
15722         </attribute>
15723     </optional>
15724 </define>
15725 <define name="style-table-cell-properties-attlist" combine="interleave">
15726     <optional>
15727         <attribute name="style:print-content">
15728             <ref name="boolean"/>
15729         </attribute>
15730     </optional>
15731 </define>
15732 <define name="style-table-cell-properties-attlist" combine="interleave">
15733     <optional>
15734         <attribute name="style:decimal-places">
15735             <ref name="nonNegativeInteger"/>
15736         </attribute>
15737     </optional>
15738 </define>
15739 <define name="style-table-cell-properties-attlist" combine="interleave">
15740     <optional>
15741         <attribute name="style:repeat-content">
15742             <ref name="boolean"/>
15743         </attribute>
15744     </optional>
15745 </define>
15746 <define name="style-table-cell-properties-attlist" combine="interleave">
15747     <optional>
15748         <attribute name="style:shrink-to-fit">
15749             <ref name="boolean"/>
15750         </attribute>
15751     </optional>
15752 </define>
15753 <define name="style-list-level-properties">
15754     <element name="style:list-level-properties">
15755         <ref name="style-list-level-properties-content"/>
15756     </element>
15757 </define>
15758 
15759 <define name="style-list-level-properties-content">
15760     <ref name="style-properties-content"/>
15761 </define>
15762 
15763 <define name="style-list-level-properties-content-strict">
15764     <ref name="style-list-level-properties-attlist"/>
15765     <ref name="style-list-level-properties-elements"/>
15766 </define>
15767 
15768 <define name="style-list-level-properties-elements">
15769     <empty/>
15770 </define>
15771 <define name="style-list-level-properties-attlist" combine="interleave">
15772     <ref name="common-text-align"/>
15773 </define>
15774 <define name="style-list-level-properties-attlist" combine="interleave">
15775     <optional>
15776         <attribute name="text:space-before">
15777             <ref name="nonNegativeLength"/>
15778         </attribute>
15779     </optional>
15780 </define>
15781 <define name="style-list-level-properties-attlist" combine="interleave">
15782     <optional>
15783         <attribute name="text:min-label-width">
15784             <ref name="nonNegativeLength"/>
15785         </attribute>
15786     </optional>
15787 </define>
15788 <define name="style-list-level-properties-attlist" combine="interleave">
15789     <optional>
15790         <attribute name="text:min-label-distance">
15791             <ref name="nonNegativeLength"/>
15792         </attribute>
15793     </optional>
15794 </define>
15795 <define name="style-list-level-properties-attlist" combine="interleave">
15796     <optional>
15797         <attribute name="style:font-name">
15798             <ref name="string"/>
15799         </attribute>
15800     </optional>
15801 </define>
15802 <define name="style-list-level-properties-attlist" combine="interleave">
15803     <optional>
15804         <attribute name="fo:width">
15805             <ref name="positiveLength"/>
15806         </attribute>
15807     </optional>
15808     <optional>
15809         <attribute name="fo:height">
15810             <ref name="positiveLength"/>
15811         </attribute>
15812     </optional>
15813 </define>
15814 <define name="style-list-level-properties-attlist" combine="interleave">
15815     <ref name="common-vertical-rel-attlist"/>
15816     <ref name="common-vertical-pos-attlist"/>
15817 </define>
15818 <define name="style-graphic-properties-attlist" combine="interleave">
15819     <optional>
15820         <attribute name="draw:stroke">
15821             <choice>
15822                 <value>none</value>
15823                 <value>dash</value>
15824                 <value>solid</value>
15825             </choice>
15826         </attribute>
15827     </optional>
15828 </define>
15829 <define name="style-graphic-properties-attlist" combine="interleave">
15830     <optional>
15831         <attribute name="draw:stroke-dash">
15832             <ref name="styleNameRef"/>
15833         </attribute>
15834     </optional>
15835 </define>
15836 <define name="style-graphic-properties-attlist" combine="interleave">
15837     <optional>
15838         <attribute name="draw:stroke-dash-names">
15839             <ref name="styleNameRefs"/>
15840         </attribute>
15841     </optional>
15842 </define>
15843 <define name="style-graphic-properties-attlist" combine="interleave">
15844     <optional>
15845         <attribute name="svg:stroke-width">
15846             <ref name="length"/>
15847         </attribute>
15848     </optional>
15849 </define>
15850 <define name="style-graphic-properties-attlist" combine="interleave">
15851     <optional>
15852         <attribute name="svg:stroke-color">
15853             <ref name="color"/>
15854         </attribute>
15855     </optional>
15856 </define>
15857 <define name="style-graphic-properties-attlist" combine="interleave">
15858     <optional>
15859         <attribute name="draw:marker-start">
15860             <ref name="styleNameRef"/>
15861         </attribute>
15862     </optional>
15863 </define>
15864 <define name="style-graphic-properties-attlist" combine="interleave">
15865     <optional>
15866         <attribute name="draw:marker-end">
15867             <ref name="styleNameRef"/>
15868         </attribute>
15869     </optional>
15870 </define>
15871 <define name="style-graphic-properties-attlist" combine="interleave">
15872     <optional>
15873         <attribute name="draw:marker-start-width">
15874             <ref name="length"/>
15875         </attribute>
15876     </optional>
15877 </define>
15878 <define name="style-graphic-properties-attlist" combine="interleave">
15879     <optional>
15880         <attribute name="draw:marker-end-width">
15881             <ref name="length"/>
15882         </attribute>
15883     </optional>
15884 </define>
15885 <define name="style-graphic-properties-attlist" combine="interleave">
15886     <optional>
15887         <attribute name="draw:marker-start-center">
15888             <ref name="boolean"/>
15889         </attribute>
15890     </optional>
15891 </define>
15892 <define name="style-graphic-properties-attlist" combine="interleave">
15893     <optional>
15894         <attribute name="draw:marker-end-center">
15895             <ref name="boolean"/>
15896         </attribute>
15897     </optional>
15898 </define>
15899 <define name="style-graphic-properties-attlist" combine="interleave">
15900     <optional>
15901         <attribute name="svg:stroke-opacity">
15902             <choice>
15903                 <data type="double">
15904                     <param name="minInclusive">0</param>
15905                     <param name="maxInclusive">1</param>
15906                 </data>
15907                 <ref name="percent"/>
15908             </choice>
15909         </attribute>
15910     </optional>
15911 </define>
15912 <define name="style-graphic-properties-attlist" combine="interleave">
15913     <optional>
15914         <attribute name="draw:stroke-linejoin">
15915             <choice>
15916                 <value>miter</value>
15917                 <value>round</value>
15918                 <value>bevel</value>
15919                 <value>middle</value>
15920                 <value>none</value>
15921                 <value>inherit</value>
15922             </choice>
15923         </attribute>
15924     </optional>
15925 </define>
15926 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15927     <optional>
15928         <attribute name="draw:fill">
15929             <choice>
15930                 <value>none</value>
15931                 <value>solid</value>
15932                 <value>bitmap</value>
15933                 <value>gradient</value>
15934                 <value>hatch</value>
15935             </choice>
15936         </attribute>
15937     </optional>
15938 </define>
15939 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15940     <optional>
15941         <attribute name="draw:fill-color">
15942             <ref name="color"/>
15943         </attribute>
15944     </optional>
15945 </define>
15946 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15947     <optional>
15948         <attribute name="draw:secondary-fill-color">
15949             <ref name="color"/>
15950         </attribute>
15951     </optional>
15952 </define>
15953 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15954     <optional>
15955         <attribute name="draw:fill-gradient-name">
15956             <ref name="styleNameRef"/>
15957         </attribute>
15958     </optional>
15959 </define>
15960 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15961     <optional>
15962         <attribute name="draw:gradient-step-count">
15963             <ref name="nonNegativeInteger"/>
15964         </attribute>
15965     </optional>
15966 </define>
15967 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15968     <optional>
15969         <attribute name="draw:fill-hatch-name">
15970             <ref name="styleNameRef"/>
15971         </attribute>
15972     </optional>
15973 </define>
15974 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15975     <optional>
15976         <attribute name="draw:fill-hatch-solid">
15977             <ref name="boolean"/>
15978         </attribute>
15979     </optional>
15980 </define>
15981 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15982     <optional>
15983         <attribute name="draw:fill-image-name">
15984             <ref name="styleNameRef"/>
15985         </attribute>
15986     </optional>
15987 </define>
15988 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15989     <optional>
15990         <attribute name="style:repeat">
15991             <choice>
15992                 <value>no-repeat</value>
15993                 <value>repeat</value>
15994                 <value>stretch</value>
15995             </choice>
15996         </attribute>
15997     </optional>
15998 </define>
15999 <define name="style-graphic-fill-properties-attlist" combine="interleave">
16000     <optional>
16001         <attribute name="draw:fill-image-width">
16002             <choice>
16003                 <ref name="length"/>
16004                 <ref name="percent"/>
16005             </choice>
16006         </attribute>
16007     </optional>
16008     <optional>
16009         <attribute name="draw:fill-image-height">
16010             <choice>
16011                 <ref name="length"/>
16012                 <ref name="percent"/>
16013             </choice>
16014         </attribute>
16015     </optional>
16016 </define>
16017 <define name="style-graphic-fill-properties-attlist" combine="interleave">
16018     <optional>
16019         <attribute name="draw:fill-image-ref-point-x">
16020             <ref name="percent"/>
16021         </attribute>
16022     </optional>
16023     <optional>
16024         <attribute name="draw:fill-image-ref-point-y">
16025             <ref name="percent"/>
16026         </attribute>
16027     </optional>
16028     <optional>
16029         <attribute name="draw:fill-image-ref-point">
16030             <choice>
16031                 <value>top-left</value>
16032                 <value>top</value>
16033                 <value>top-right</value>
16034                 <value>left</value>
16035                 <value>center</value>
16036                 <value>right</value>
16037                 <value>bottom-left</value>
16038                 <value>bottom</value>
16039                 <value>bottom-right</value>
16040             </choice>
16041         </attribute>
16042     </optional>
16043 </define>
16044 <define name="style-graphic-fill-properties-attlist" combine="interleave">
16045     <optional>
16046         <attribute name="draw:tile-repeat-offset"/>
16047     </optional>
16048 </define>
16049 <define name="style-graphic-fill-properties-attlist" combine="interleave">
16050     <optional>
16051         <attribute name="draw:opacity">
16052             <ref name="percent"/>
16053         </attribute>
16054     </optional>
16055 </define>
16056 <define name="style-graphic-fill-properties-attlist" combine="interleave">
16057     <optional>
16058         <attribute name="draw:opacity-name">
16059             <ref name="styleNameRef"/>
16060         </attribute>
16061     </optional>
16062 </define>
16063 <define name="style-graphic-fill-properties-attlist" combine="interleave">
16064     <optional>
16065         <attribute name="svg:fill-rule">
16066             <choice>
16067                 <value>nonzero</value>
16068                 <value>evenodd</value>
16069             </choice>
16070         </attribute>
16071     </optional>
16072 </define>
16073 <define name="style-graphic-properties-attlist" combine="interleave">
16074     <optional>
16075         <attribute name="draw:symbol-color">
16076             <ref name="color"/>
16077         </attribute>
16078     </optional>
16079 </define>
16080 <define name="style-graphic-properties-attlist" combine="interleave">
16081     <optional>
16082         <attribute name="text:animation">
16083             <choice>
16084                 <value>none</value>
16085                 <value>scroll</value>
16086                 <value>alternate</value>
16087                 <value>slide</value>
16088             </choice>
16089         </attribute>
16090     </optional>
16091 </define>
16092 <define name="style-graphic-properties-attlist" combine="interleave">
16093     <optional>
16094         <attribute name="text:animation-direction">
16095             <choice>
16096                 <value>left</value>
16097                 <value>right</value>
16098                 <value>up</value>
16099                 <value>down</value>
16100             </choice>
16101         </attribute>
16102     </optional>
16103 </define>
16104 <define name="style-graphic-properties-attlist" combine="interleave">
16105     <optional>
16106         <attribute name="text:animation-start-inside">
16107             <ref name="boolean"/>
16108         </attribute>
16109     </optional>
16110 </define>
16111 <define name="style-graphic-properties-attlist" combine="interleave">
16112     <optional>
16113         <attribute name="text:animation-stop-inside">
16114             <ref name="boolean"/>
16115         </attribute>
16116     </optional>
16117 </define>
16118 <define name="style-graphic-properties-attlist" combine="interleave">
16119     <optional>
16120         <attribute name="text:animation-repeat">
16121             <ref name="nonNegativeInteger"/>
16122         </attribute>
16123     </optional>
16124 </define>
16125 <define name="style-graphic-properties-attlist" combine="interleave">
16126     <optional>
16127         <attribute name="text:animation-delay">
16128             <ref name="duration"/>
16129         </attribute>
16130     </optional>
16131 </define>
16132 <define name="style-graphic-properties-attlist" combine="interleave">
16133     <optional>
16134         <attribute name="text:animation-steps">
16135             <ref name="length"/>
16136         </attribute>
16137     </optional>
16138 </define>
16139 <define name="style-graphic-properties-attlist" combine="interleave">
16140     <optional>
16141         <attribute name="draw:auto-grow-width">
16142             <ref name="boolean"/>
16143         </attribute>
16144     </optional>
16145     <optional>
16146         <attribute name="draw:auto-grow-height">
16147             <ref name="boolean"/>
16148         </attribute>
16149     </optional>
16150 </define>
16151 <define name="style-graphic-properties-attlist" combine="interleave">
16152     <optional>
16153         <attribute name="draw:fit-to-size">
16154             <ref name="boolean"/>
16155         </attribute>
16156     </optional>
16157 </define>
16158 <define name="style-graphic-properties-attlist" combine="interleave">
16159     <optional>
16160         <attribute name="draw:fit-to-contour">
16161             <ref name="boolean"/>
16162         </attribute>
16163     </optional>
16164 </define>
16165 <define name="style-graphic-properties-attlist" combine="interleave">
16166     <optional>
16167         <attribute name="draw:textarea-vertical-align">
16168             <choice>
16169                 <value>top</value>
16170                 <value>middle</value>
16171                 <value>bottom</value>
16172                 <value>justify</value>
16173             </choice>
16174         </attribute>
16175     </optional>
16176 </define>
16177 <define name="style-graphic-properties-attlist" combine="interleave">
16178     <optional>
16179         <attribute name="draw:textarea-horizontal-align">
16180             <choice>
16181                 <value>left</value>
16182                 <value>center</value>
16183                 <value>right</value>
16184                 <value>justify</value>
16185             </choice>
16186         </attribute>
16187     </optional>
16188 </define>
16189 <define name="style-graphic-properties-attlist" combine="interleave">
16190     <optional>
16191         <attribute name="fo:wrap-option">
16192             <choice>
16193                 <value>no-wrap</value>
16194                 <value>wrap</value>
16195             </choice>
16196         </attribute>
16197     </optional>
16198 </define>
16199 <define name="style-graphic-properties-elements" combine="interleave">
16200     <optional>
16201         <ref name="text-list-style"/>
16202     </optional>
16203 </define>
16204 <define name="style-graphic-properties-attlist" combine="interleave">
16205     <optional>
16206         <attribute name="draw:color-mode">
16207             <choice>
16208                 <value>greyscale</value>
16209                 <value>mono</value>
16210                 <value>watermark</value>
16211                 <value>standard</value>
16212             </choice>
16213         </attribute>
16214     </optional>
16215 </define>
16216 <define name="style-graphic-properties-attlist" combine="interleave">
16217     <optional>
16218         <attribute name="draw:color-inversion">
16219             <ref name="boolean"/>
16220         </attribute>
16221     </optional>
16222 </define>
16223 <define name="style-graphic-properties-attlist" combine="interleave">
16224     <optional>
16225         <attribute name="draw:luminance">
16226             <ref name="percent"/>
16227         </attribute>
16228     </optional>
16229 </define>
16230 <define name="style-graphic-properties-attlist" combine="interleave">
16231     <optional>
16232         <attribute name="draw:contrast">
16233             <ref name="percent"/>
16234         </attribute>
16235     </optional>
16236 </define>
16237 <define name="style-graphic-properties-attlist" combine="interleave">
16238     <optional>
16239         <attribute name="draw:gamma">
16240             <ref name="percent"/>
16241         </attribute>
16242     </optional>
16243 </define>
16244 <define name="style-graphic-properties-attlist" combine="interleave">
16245     <optional>
16246         <attribute name="draw:red">
16247             <ref name="percent"/>
16248         </attribute>
16249     </optional>
16250 </define>
16251 <define name="style-graphic-properties-attlist" combine="interleave">
16252     <optional>
16253         <attribute name="draw:green">
16254             <ref name="percent"/>
16255         </attribute>
16256     </optional>
16257 </define>
16258 <define name="style-graphic-properties-attlist" combine="interleave">
16259     <optional>
16260         <attribute name="draw:blue">
16261             <ref name="percent"/>
16262         </attribute>
16263     </optional>
16264 </define>
16265 <define name="style-graphic-properties-attlist" combine="interleave">
16266     <optional>
16267         <attribute name="draw:image-opacity">
16268             <ref name="percent"/>
16269         </attribute>
16270     </optional>
16271 </define>
16272 <define name="style-graphic-properties-attlist" combine="interleave">
16273     <optional>
16274         <attribute name="draw:shadow">
16275             <choice>
16276                 <value>visible</value>
16277                 <value>hidden</value>
16278             </choice>
16279         </attribute>
16280     </optional>
16281 </define>
16282 <define name="style-graphic-properties-attlist" combine="interleave">
16283     <optional>
16284         <attribute name="draw:shadow-offset-x">
16285             <ref name="length"/>
16286         </attribute>
16287     </optional>
16288     <optional>
16289         <attribute name="draw:shadow-offset-y">
16290             <ref name="length"/>
16291         </attribute>
16292     </optional>
16293 </define>
16294 <define name="style-graphic-properties-attlist" combine="interleave">
16295     <optional>
16296         <attribute name="draw:shadow-color">
16297             <ref name="color"/>
16298         </attribute>
16299     </optional>
16300 </define>
16301 <define name="style-graphic-properties-attlist" combine="interleave">
16302     <optional>
16303         <attribute name="draw:shadow-opacity">
16304             <ref name="percent"/>
16305         </attribute>
16306     </optional>
16307 </define>
16308 <define name="style-graphic-properties-attlist" combine="interleave">
16309     <optional>
16310         <attribute name="draw:start-line-spacing-horizontal">
16311             <ref name="distance"/>
16312         </attribute>
16313     </optional>
16314     <optional>
16315         <attribute name="draw:start-line-spacing-vertical">
16316             <ref name="distance"/>
16317         </attribute>
16318     </optional>
16319 </define>
16320 <define name="style-graphic-properties-attlist" combine="interleave">
16321     <optional>
16322         <attribute name="draw:end-line-spacing-horizontal">
16323             <ref name="distance"/>
16324         </attribute>
16325     </optional>
16326     <optional>
16327         <attribute name="draw:end-line-spacing-vertical">
16328             <ref name="distance"/>
16329         </attribute>
16330     </optional>
16331 </define>
16332 <define name="style-graphic-properties-attlist" combine="interleave">
16333     <optional>
16334         <attribute name="draw:line-distance">
16335             <ref name="distance"/>
16336         </attribute>
16337     </optional>
16338 </define>
16339 <define name="style-graphic-properties-attlist" combine="interleave">
16340     <optional>
16341         <attribute name="draw:guide-overhang">
16342             <ref name="length"/>
16343         </attribute>
16344     </optional>
16345 </define>
16346 <define name="style-graphic-properties-attlist" combine="interleave">
16347     <optional>
16348         <attribute name="draw:guide-distance">
16349             <ref name="distance"/>
16350         </attribute>
16351     </optional>
16352 </define>
16353 <define name="style-graphic-properties-attlist" combine="interleave">
16354     <optional>
16355         <attribute name="draw:start-guide">
16356             <ref name="length"/>
16357         </attribute>
16358     </optional>
16359 </define>
16360 <define name="style-graphic-properties-attlist" combine="interleave">
16361     <optional>
16362         <attribute name="draw:end-guide">
16363             <ref name="length"/>
16364         </attribute>
16365     </optional>
16366 </define>
16367 <define name="style-graphic-properties-attlist" combine="interleave">
16368     <optional>
16369         <attribute name="draw:placing">
16370             <choice>
16371                 <value>below</value>
16372                 <value>above</value>
16373             </choice>
16374         </attribute>
16375     </optional>
16376 </define>
16377 <define name="style-graphic-properties-attlist" combine="interleave">
16378     <optional>
16379         <attribute name="draw:parallel">
16380             <ref name="boolean"/>
16381         </attribute>
16382     </optional>
16383 </define>
16384 <define name="style-graphic-properties-attlist" combine="interleave">
16385     <optional>
16386         <attribute name="draw:measure-align">
16387             <choice>
16388                 <value>automatic</value>
16389                 <value>left-outside</value>
16390                 <value>inside</value>
16391                 <value>right-outside</value>
16392             </choice>
16393         </attribute>
16394     </optional>
16395     <optional>
16396         <attribute name="draw:measure-vertical-align">
16397             <choice>
16398                 <value>automatic</value>
16399                 <value>above</value>
16400                 <value>below</value>
16401                 <value>center</value>
16402             </choice>
16403         </attribute>
16404     </optional>
16405 </define>
16406 <define name="style-graphic-properties-attlist" combine="interleave">
16407     <optional>
16408         <attribute name="draw:unit">
16409             <choice>
16410                 <value>automatic</value>
16411                 <value>mm</value>
16412                 <value>cm</value>
16413                 <value>m</value>
16414                 <value>km</value>
16415                 <value>pt</value>
16416                 <value>pc</value>
16417                 <value>inch</value>
16418                 <value>ft</value>
16419                 <value>mi</value>
16420             </choice>
16421         </attribute>
16422     </optional>
16423 </define>
16424 <define name="style-graphic-properties-attlist" combine="interleave">
16425     <optional>
16426         <attribute name="draw:show-unit">
16427             <ref name="boolean"/>
16428         </attribute>
16429     </optional>
16430 </define>
16431 <define name="style-graphic-properties-attlist" combine="interleave">
16432     <optional>
16433         <attribute name="draw:decimal-places">
16434             <ref name="nonNegativeInteger"/>
16435         </attribute>
16436     </optional>
16437 </define>
16438 <define name="style-graphic-properties-attlist" combine="interleave">
16439     <optional>
16440         <attribute name="draw:caption-type">
16441             <choice>
16442                 <value>straight-line</value>
16443                 <value>angled-line</value>
16444                 <value>angled-connector-line</value>
16445             </choice>
16446         </attribute>
16447     </optional>
16448 </define>
16449 <define name="style-graphic-properties-attlist" combine="interleave">
16450     <optional>
16451         <attribute name="draw:caption-angle-type">
16452             <choice>
16453                 <value>fixed</value>
16454                 <value>free</value>
16455             </choice>
16456         </attribute>
16457     </optional>
16458 </define>
16459 <define name="style-graphic-properties-attlist" combine="interleave">
16460     <optional>
16461         <attribute name="draw:caption-angle">
16462             <ref name="nonNegativeInteger"/>
16463         </attribute>
16464     </optional>
16465 </define>
16466 <define name="style-graphic-properties-attlist" combine="interleave">
16467     <optional>
16468         <attribute name="draw:caption-gap">
16469             <ref name="distance"/>
16470         </attribute>
16471     </optional>
16472 </define>
16473 <define name="style-graphic-properties-attlist" combine="interleave">
16474     <optional>
16475         <attribute name="draw:caption-escape-direction">
16476             <choice>
16477                 <value>horizontal</value>
16478                 <value>vertical</value>
16479                 <value>auto</value>
16480             </choice>
16481         </attribute>
16482     </optional>
16483 </define>
16484 <define name="style-graphic-properties-attlist" combine="interleave">
16485     <optional>
16486         <attribute name="draw:caption-escape">
16487             <choice>
16488                 <ref name="length"/>
16489                 <ref name="percent"/>
16490             </choice>
16491         </attribute>
16492     </optional>
16493 </define>
16494 <define name="style-graphic-properties-attlist" combine="interleave">
16495     <optional>
16496         <attribute name="draw:caption-line-length">
16497             <ref name="length"/>
16498         </attribute>
16499     </optional>
16500 </define>
16501 <define name="style-graphic-properties-attlist" combine="interleave">
16502     <optional>
16503         <attribute name="draw:caption-fit-line-length">
16504             <ref name="boolean"/>
16505         </attribute>
16506     </optional>
16507 </define>
16508 <define name="style-graphic-properties-attlist" combine="interleave">
16509     <optional>
16510         <attribute name="dr3d:horizontal-segments">
16511             <ref name="nonNegativeInteger"/>
16512         </attribute>
16513     </optional>
16514 </define>
16515 <define name="style-graphic-properties-attlist" combine="interleave">
16516     <optional>
16517         <attribute name="dr3d:vertical-segments">
16518             <ref name="nonNegativeInteger"/>
16519         </attribute>
16520     </optional>
16521 </define>
16522 <define name="style-graphic-properties-attlist" combine="interleave">
16523     <optional>
16524         <attribute name="dr3d:edge-rounding">
16525             <ref name="percent"/>
16526         </attribute>
16527     </optional>
16528 </define>
16529 <define name="style-graphic-properties-attlist" combine="interleave">
16530     <optional>
16531         <attribute name="dr3d:edge-rounding-mode">
16532             <choice>
16533                 <value>correct</value>
16534                 <value>attractive</value>
16535             </choice>
16536         </attribute>
16537     </optional>
16538 </define>
16539 <define name="style-graphic-properties-attlist" combine="interleave">
16540     <optional>
16541         <attribute name="dr3d:back-scale">
16542             <ref name="percent"/>
16543         </attribute>
16544     </optional>
16545 </define>
16546 <define name="style-graphic-properties-attlist" combine="interleave">
16547     <optional>
16548         <attribute name="dr3d:depth">
16549             <ref name="length"/>
16550         </attribute>
16551     </optional>
16552 </define>
16553 <define name="style-graphic-properties-attlist" combine="interleave">
16554     <optional>
16555         <attribute name="dr3d:backface-culling">
16556             <choice>
16557                 <value>enabled</value>
16558                 <value>disabled</value>
16559             </choice>
16560         </attribute>
16561     </optional>
16562 </define>
16563 <define name="style-graphic-properties-attlist" combine="interleave">
16564     <optional>
16565         <attribute name="dr3d:end-angle">
16566             <ref name="nonNegativeInteger"/>
16567         </attribute>
16568     </optional>
16569 </define>
16570 <define name="style-graphic-properties-attlist" combine="interleave">
16571     <optional>
16572         <attribute name="dr3d:close-front">
16573             <ref name="boolean"/>
16574         </attribute>
16575     </optional>
16576 </define>
16577 <define name="style-graphic-properties-attlist" combine="interleave">
16578     <optional>
16579         <attribute name="dr3d:close-back">
16580             <ref name="boolean"/>
16581         </attribute>
16582     </optional>
16583 </define>
16584 <define name="style-graphic-properties-attlist" combine="interleave">
16585     <optional>
16586         <attribute name="dr3d:lighting-mode">
16587             <choice>
16588                 <value>standard</value>
16589                 <value>double-sided</value>
16590             </choice>
16591         </attribute>
16592     </optional>
16593 </define>
16594 <define name="style-graphic-properties-attlist" combine="interleave">
16595     <optional>
16596         <attribute name="dr3d:normals-kind">
16597             <choice>
16598                 <value>object</value>
16599                 <value>flat</value>
16600                 <value>sphere</value>
16601             </choice>
16602         </attribute>
16603     </optional>
16604 </define>
16605 <define name="style-graphic-properties-attlist" combine="interleave">
16606     <optional>
16607         <attribute name="dr3d:normals-direction">
16608             <choice>
16609                 <value>normal</value>
16610                 <value>inverse</value>
16611             </choice>
16612         </attribute>
16613     </optional>
16614 </define>
16615 <define name="style-graphic-properties-attlist" combine="interleave">
16616     <optional>
16617         <attribute name="dr3d:texture-generation-mode-x">
16618             <choice>
16619                 <value>object</value>
16620                 <value>parallel</value>
16621                 <value>sphere</value>
16622             </choice>
16623         </attribute>
16624     </optional>
16625     <optional>
16626         <attribute name="dr3d:texture-generation-mode-y">
16627             <choice>
16628                 <value>object</value>
16629                 <value>parallel</value>
16630                 <value>sphere</value>
16631             </choice>
16632         </attribute>
16633     </optional>
16634 </define>
16635 <define name="style-graphic-properties-attlist" combine="interleave">
16636     <optional>
16637         <attribute name="dr3d:texture-kind">
16638             <choice>
16639                 <value>luminance</value>
16640                 <value>intensity</value>
16641                 <value>color</value>
16642             </choice>
16643         </attribute>
16644     </optional>
16645 </define>
16646 <define name="style-graphic-properties-attlist" combine="interleave">
16647     <optional>
16648         <attribute name="dr3d:texture-filter">
16649             <choice>
16650                 <value>enabled</value>
16651                 <value>disabled</value>
16652             </choice>
16653         </attribute>
16654     </optional>
16655 </define>
16656 <define name="style-graphic-properties-attlist" combine="interleave">
16657     <optional>
16658         <attribute name="dr3d:texture-mode">
16659             <choice>
16660                 <value>replace</value>
16661                 <value>modulate</value>
16662                 <value>blend</value>
16663             </choice>
16664         </attribute>
16665     </optional>
16666 </define>
16667 <define name="style-graphic-properties-attlist" combine="interleave">
16668     <optional>
16669         <attribute name="dr3d:ambient-color">
16670             <ref name="color"/>
16671         </attribute>
16672     </optional>
16673     <optional>
16674         <attribute name="dr3d:emissive-color">
16675             <ref name="color"/>
16676         </attribute>
16677     </optional>
16678     <optional>
16679         <attribute name="dr3d:specular-color">
16680             <ref name="color"/>
16681         </attribute>
16682     </optional>
16683     <optional>
16684         <attribute name="dr3d:diffuse-color">
16685             <ref name="color"/>
16686         </attribute>
16687     </optional>
16688 </define>
16689 <define name="style-graphic-properties-attlist" combine="interleave">
16690     <optional>
16691         <attribute name="dr3d:shininess">
16692             <ref name="percent"/>
16693         </attribute>
16694     </optional>
16695 </define>
16696 <define name="style-graphic-properties-attlist" combine="interleave">
16697     <optional>
16698         <attribute name="dr3d:shadow">
16699             <choice>
16700                 <value>visible</value>
16701                 <value>hidden</value>
16702             </choice>
16703         </attribute>
16704     </optional>
16705 </define>
16706 <define name="style-graphic-properties-attlist" combine="interleave">
16707     <ref name="common-draw-rel-size-attlist"/>
16708     <optional>
16709         <attribute name="fo:min-width">
16710             <choice>
16711                 <ref name="length"/>
16712                 <ref name="percent"/>
16713             </choice>
16714         </attribute>
16715     </optional>
16716 </define>
16717 <define name="style-graphic-properties-attlist" combine="interleave">
16718     <optional>
16719         <attribute name="fo:min-height">
16720             <choice>
16721                 <ref name="length"/>
16722                 <ref name="percent"/>
16723             </choice>
16724         </attribute>
16725     </optional>
16726 </define>
16727 <define name="style-graphic-properties-attlist" combine="interleave">
16728     <optional>
16729         <attribute name="fo:max-height">
16730             <choice>
16731                 <ref name="length"/>
16732                 <ref name="percent"/>
16733             </choice>
16734         </attribute>
16735     </optional>
16736     <optional>
16737         <attribute name="fo:max-width">
16738             <choice>
16739                 <ref name="length"/>
16740                 <ref name="percent"/>
16741             </choice>
16742         </attribute>
16743     </optional>
16744 </define>
16745 <define name="style-graphic-properties-attlist" combine="interleave">
16746     <ref name="common-horizontal-margin-attlist"/>
16747 </define>
16748 <define name="style-graphic-properties-attlist" combine="interleave">
16749     <ref name="common-vertical-margin-attlist"/>
16750 </define>
16751 <define name="style-graphic-properties-attlist" combine="interleave">
16752     <ref name="common-margin-attlist"/>
16753 </define>
16754 <define name="style-graphic-properties-attlist" combine="interleave">
16755     <optional>
16756         <attribute name="style:print-content">
16757             <ref name="boolean"/>
16758         </attribute>
16759     </optional>
16760 </define>
16761 <define name="style-graphic-properties-attlist" combine="interleave">
16762     <optional>
16763         <attribute name="style:protect">
16764             <choice>
16765                 <value>none</value>
16766                 <list>
16767                     <oneOrMore>
16768                         <choice>
16769                             <value>content</value>
16770                             <value>position</value>
16771                             <value>size</value>
16772                         </choice>
16773                     </oneOrMore>
16774                 </list>
16775             </choice>
16776         </attribute>
16777     </optional>
16778 </define>
16779 <define name="style-graphic-properties-attlist" combine="interleave">
16780     <optional>
16781         <attribute name="style:horizontal-pos">
16782             <choice>
16783                 <value>left</value>
16784                 <value>center</value>
16785                 <value>right</value>
16786                 <value>from-left</value>
16787                 <value>inside</value>
16788                 <value>outside</value>
16789                 <value>from-inside</value>
16790             </choice>
16791         </attribute>
16792     </optional>
16793     <optional>
16794         <attribute name="svg:x">
16795             <ref name="coordinate"/>
16796         </attribute>
16797     </optional>
16798 </define>
16799 <define name="style-graphic-properties-attlist" combine="interleave">
16800     <optional>
16801         <attribute name="style:horizontal-rel">
16802             <choice>
16803                     <value>page</value>
16804                 <value>page-content</value>
16805                 <value>page-start-margin</value>
16806                 <value>page-end-margin</value>
16807                 <value>frame</value>
16808                 <value>frame-content</value>
16809                 <value>frame-start-margin</value>
16810                 <value>frame-end-margin</value>
16811                 <value>paragraph</value>
16812                 <value>paragraph-content</value>
16813                 <value>paragraph-start-margin</value>
16814                 <value>paragraph-end-margin</value>
16815                 <value>char</value>
16816             </choice>
16817         </attribute>
16818     </optional>
16819 </define>
16820 <define name="style-graphic-properties-attlist" combine="interleave">
16821     <ref name="common-vertical-pos-attlist"/>
16822 </define>
16823 
16824 <define name="common-vertical-pos-attlist">
16825     <optional>
16826         <attribute name="style:vertical-pos">
16827             <choice>
16828                 <value>top</value>
16829                 <value>middle</value>
16830                 <value>bottom</value>
16831                 <value>from-top</value>
16832                 <value>below</value>
16833             </choice>
16834         </attribute>
16835     </optional>
16836     <optional>
16837         <attribute name="svg:y">
16838             <ref name="coordinate"/>
16839         </attribute>
16840     </optional>
16841 </define>
16842 <define name="style-graphic-properties-attlist" combine="interleave">
16843     <ref name="common-vertical-rel-attlist"/>
16844 </define>
16845 
16846 <define name="common-vertical-rel-attlist">
16847     <optional>
16848         <attribute name="style:vertical-rel">
16849             <choice>
16850                 <value>page</value>
16851                 <value>page-content</value>
16852                 <value>frame</value>
16853                 <value>frame-content</value>
16854                 <value>paragraph</value>
16855                 <value>paragraph-content</value>
16856                 <value>char</value>
16857                 <value>line</value>
16858                 <value>baseline</value>
16859                 <value>text</value>
16860             </choice>
16861         </attribute>
16862     </optional>
16863 </define>
16864 <define name="style-graphic-properties-attlist" combine="interleave">
16865     <ref name="common-text-anchor-attlist"/>
16866 </define>
16867 <define name="style-graphic-properties-attlist" combine="interleave">
16868     <ref name="common-border-attlist"/>
16869 </define>
16870 <define name="style-graphic-properties-attlist" combine="interleave">
16871     <ref name="common-border-line-width-attlist"/>
16872 </define>
16873 <define name="style-graphic-properties-attlist" combine="interleave">
16874     <ref name="common-padding-attlist"/>
16875 </define>
16876 <define name="style-graphic-properties-attlist" combine="interleave">
16877     <ref name="common-shadow-attlist"/>
16878 </define>
16879 <define name="style-graphic-properties-attlist" combine="interleave">
16880     <ref name="common-background-color-attlist"/>
16881 </define>
16882 <define name="style-graphic-properties-elements" combine="interleave">
16883     <ref name="style-background-image"/>
16884 </define>
16885 <define name="style-graphic-properties-elements" combine="interleave">
16886     <ref name="style-columns"/>
16887 </define>
16888 <define name="style-graphic-properties-attlist" combine="interleave">
16889     <optional>
16890         <attribute name="style:editable">
16891             <ref name="boolean"/>
16892         </attribute>
16893     </optional>
16894 </define>
16895 <define name="style-graphic-properties-attlist" combine="interleave">
16896     <optional>
16897         <attribute name="style:wrap">
16898             <choice>
16899                 <value>none</value>
16900                 <value>left</value>
16901                 <value>right</value>
16902                 <value>parallel</value>
16903                 <value>dynamic</value>
16904                 <value>run-through</value>
16905                 <value>biggest</value>
16906             </choice>
16907         </attribute>
16908     </optional>
16909 </define>
16910 <define name="style-graphic-properties-attlist" combine="interleave">
16911     <optional>
16912         <attribute name="style:wrap-dynamic-threshold">
16913             <ref name="nonNegativeLength"/>
16914         </attribute>
16915     </optional>
16916 </define>
16917 <define name="style-graphic-properties-attlist" combine="interleave">
16918     <optional>
16919         <attribute name="style:number-wrapped-paragraphs">
16920             <choice>
16921                 <value>no-limit</value>
16922                 <ref name="positiveInteger"/>
16923             </choice>
16924         </attribute>
16925     </optional>
16926 </define>
16927 <define name="style-graphic-properties-attlist" combine="interleave">
16928     <optional>
16929         <attribute name="style:wrap-contour">
16930             <ref name="boolean"/>
16931         </attribute>
16932     </optional>
16933 </define>
16934 <define name="style-graphic-properties-attlist" combine="interleave">
16935     <optional>
16936         <attribute name="style:wrap-contour-mode">
16937             <choice>
16938                 <value>full</value>
16939                 <value>outside</value>
16940             </choice>
16941         </attribute>
16942     </optional>
16943 </define>
16944 <define name="style-graphic-properties-attlist" combine="interleave">
16945     <optional>
16946         <attribute name="style:run-through">
16947             <choice>
16948                 <value>foreground</value>
16949                 <value>background</value>
16950             </choice>
16951         </attribute>
16952     </optional>
16953 </define>
16954 <define name="style-graphic-properties-attlist" combine="interleave">
16955     <optional>
16956         <attribute name="style:flow-with-text">
16957             <ref name="boolean"/>
16958         </attribute>
16959     </optional>
16960 </define>
16961 <define name="style-graphic-properties-attlist" combine="interleave">
16962     <optional>
16963         <attribute name="style:overflow-behavior">
16964             <choice>
16965                 <value>clip</value>
16966                 <value>auto-create-new-frame</value>
16967             </choice>
16968         </attribute>
16969     </optional>
16970 </define>
16971 <define name="style-graphic-properties-attlist" combine="interleave">
16972     <optional>
16973         <attribute name="style:mirror">
16974             <choice>
16975                 <value>none</value>
16976                 <value>vertical</value>
16977                 <ref name="horizontal-mirror"/>
16978                 <list>
16979                     <value>vertical</value>
16980                     <ref name="horizontal-mirror"/>
16981                 </list>
16982                 <list>
16983                     <ref name="horizontal-mirror"/>
16984                     <value>vertical</value>
16985                 </list>
16986             </choice>
16987         </attribute>
16988     </optional>
16989 </define>
16990 
16991 <define name="horizontal-mirror">
16992     <choice>
16993         <value>horizontal</value>
16994         <value>horizontal-on-odd</value>
16995         <value>horizontal-on-even</value>
16996     </choice>
16997 </define>
16998 <define name="style-graphic-properties-attlist" combine="interleave">
16999     <optional>
17000         <attribute name="fo:clip">
17001             <!-- The attribute value must match the one XSL's clip -->
17002             <ref name="string"/>
17003         </attribute>
17004     </optional>
17005 </define>
17006 <define name="style-graphic-properties-attlist" combine="interleave">
17007     <optional>
17008         <attribute name="draw:wrap-influence-on-position"
17009                     a:defaultValue="iterative">
17010             <choice>
17011                 <value>iterative</value>
17012                 <value>once-concurrent</value>
17013                 <value>once-successive</value>
17014             </choice>
17015         </attribute>
17016     </optional>
17017 </define>
17018 <define name="style-graphic-properties-attlist" combine="interleave">
17019     <ref name="common-writing-mode-attlist"/>
17020 </define>
17021 <define name="style-graphic-properties-attlist" combine="interleave">
17022     <optional>
17023         <attribute name="draw:frame-display-scrollbar">
17024             <ref name="boolean"/>
17025         </attribute>
17026     </optional>
17027 </define>
17028 <define name="style-graphic-properties-attlist" combine="interleave">
17029     <optional>
17030         <attribute name="draw:frame-display-border">
17031             <ref name="boolean"/>
17032         </attribute>
17033     </optional>
17034 </define>
17035 <define name="style-graphic-properties-attlist" combine="interleave">
17036     <optional>
17037         <attribute name="draw:frame-margin-horizontal">
17038             <ref name="nonNegativePixelLength"/>
17039         </attribute>
17040     </optional>
17041     <optional>
17042         <attribute name="draw:frame-margin-vertical">
17043             <ref name="nonNegativePixelLength"/>
17044         </attribute>
17045     </optional>
17046 </define>
17047 
17048 <define name="nonNegativePixelLength">
17049     <data type="string">
17050         <param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)(px)</param>
17051     </data>
17052 </define>
17053 <define name="style-graphic-properties-attlist" combine="interleave">
17054     <optional>
17055         <attribute name="draw:visible-area-left">
17056             <ref name="nonNegativeLength"/>
17057         </attribute>
17058     </optional>
17059     <optional>
17060         <attribute name="draw:visible-area-top">
17061             <ref name="nonNegativeLength"/>
17062         </attribute>
17063     </optional>
17064     <optional>
17065         <attribute name="draw:visible-area-width">
17066             <ref name="positiveLength"/>
17067         </attribute>
17068     </optional>
17069     <optional>
17070         <attribute name="draw:visible-area-height">
17071             <ref name="positiveLength"/>
17072         </attribute>
17073     </optional>
17074 </define>
17075 <define name="style-graphic-properties-attlist" combine="interleave">
17076     <optional>
17077         <attribute name="draw:ole-draw-aspect">
17078             <ref name="nonNegativeInteger"/>
17079         </attribute>
17080     </optional>
17081 </define>
17082 <define name="style-chart-properties">
17083     <element name="style:chart-properties">
17084         <ref name="style-chart-properties-content"/>
17085     </element>
17086 </define>
17087 
17088 <define name="style-chart-properties-content">
17089     <ref name="style-properties-content"/>
17090 </define>
17091 
17092 <define name="style-chart-properties-content-strict">
17093     <ref name="style-chart-properties-attlist"/>
17094     <ref name="style-chart-properties-elements"/>
17095 </define>
17096 
17097 <define name="style-chart-properties-elements">
17098     <empty/>
17099 </define>
17100 <define name="style-chart-properties-attlist" combine="interleave">
17101     <optional>
17102         <attribute name="chart:scale-text" a:defaultValue="true">
17103             <ref name="boolean"/>
17104         </attribute>
17105     </optional>
17106 </define>
17107 <define name="style-chart-properties-attlist" combine="interleave">
17108     <optional>
17109         <attribute name="chart:three-dimensional">
17110             <ref name="boolean"/>
17111         </attribute>
17112     </optional>
17113 </define>
17114 <define name="style-chart-properties-attlist" combine="interleave">
17115     <optional>
17116         <attribute name="chart:deep">
17117             <ref name="boolean"/>
17118         </attribute>
17119     </optional>
17120 </define>
17121 <define name="style-chart-properties-attlist" combine="interleave">
17122     <choice>
17123         <attribute name="chart:symbol-type">
17124             <value>none</value>
17125         </attribute>
17126         <attribute name="chart:symbol-type">
17127             <value>automatic</value>
17128         </attribute>
17129         <group>
17130             <attribute name="chart:symbol-type">
17131                 <value>named-symbol</value>
17132             </attribute>
17133             <attribute name="chart:symbol-name">
17134                 <choice>
17135                     <value>square</value>
17136                     <value>diamond</value>
17137                     <value>arrow-down</value>
17138                     <value>arrow-up</value>
17139                     <value>arrow-right</value>
17140                     <value>arrow-left</value>
17141                     <value>bow-tie</value>
17142                     <value>hourglass</value>
17143                     <value>circle</value>
17144                     <value>star</value>
17145                     <value>x</value>
17146                     <value>plus</value>
17147                     <value>asterisk</value>
17148                     <value>horizontal-bar</value>
17149                     <value>vertical-bar</value>
17150                 </choice>
17151             </attribute>
17152         </group>
17153         <group>
17154             <attribute name="chart:symbol-type">
17155                 <value>image</value>
17156             </attribute>
17157             <element name="chart:symbol-image">
17158                 <attribute name="xlink:href">
17159                     <ref name="anyURI"/>
17160                 </attribute>
17161             </element>
17162         </group>
17163         <empty/>
17164     </choice>
17165 </define>
17166 <define name="style-chart-properties-attlist" combine="interleave">
17167     <optional>
17168         <attribute name="chart:symbol-width">
17169             <ref name="nonNegativeLength"/>
17170         </attribute>
17171     </optional>
17172     <optional>
17173         <attribute name="chart:symbol-height">
17174             <ref name="nonNegativeLength"/>
17175         </attribute>
17176     </optional>
17177 </define>
17178 <define name="style-chart-properties-attlist" combine="interleave">
17179     <optional>
17180         <attribute name="chart:vertical" a:defaultValue="false">
17181             <ref name="boolean"/>
17182         </attribute>
17183     </optional>
17184 </define>
17185 <define name="style-chart-properties-attlist" combine="interleave">
17186     <optional>
17187         <attribute name="chart:connect-bars" a:defaultValue="false">
17188             <ref name="boolean"/>
17189         </attribute>
17190     </optional>
17191 </define>
17192 <define name="style-chart-properties-attlist" combine="interleave">
17193     <optional>
17194         <attribute name="chart:gap-width">
17195             <ref name="integer"/>
17196         </attribute>
17197     </optional>
17198     <optional>
17199         <attribute name="chart:overlap">
17200             <ref name="integer"/>
17201         </attribute>
17202     </optional>
17203 </define>
17204 <define name="style-chart-properties-attlist" combine="interleave">
17205     <optional>
17206         <attribute name="chart:japanese-candle-stick"
17207                     a:defaultValue="false">
17208             <ref name="boolean"/>
17209         </attribute>
17210     </optional>
17211 </define>
17212 <define name="style-chart-properties-attlist" combine="interleave">
17213     <optional>
17214         <attribute name="chart:interpolation" a:defaultValue="none">
17215             <choice>
17216                 <value>none</value>
17217                 <value>cubic-spline</value>
17218                 <value>b-spline</value>
17219             </choice>
17220         </attribute>
17221     </optional>
17222     <optional>
17223         <attribute name="chart:spline-order" a:defaultValue="2">
17224             <ref name="positiveInteger"/>
17225         </attribute>
17226     </optional>
17227     <optional>
17228         <attribute name="chart:spline-resolution" a:defaultValue="20">
17229             <ref name="positiveInteger"/>
17230         </attribute>
17231     </optional>
17232 </define>
17233 <define name="style-chart-properties-attlist" combine="interleave">
17234     <optional>
17235         <attribute name="chart:pie-offset" a:defaultValue="0">
17236             <ref name="nonNegativeInteger"/>
17237         </attribute>
17238     </optional>
17239 </define>
17240 <define name="style-chart-properties-attlist" combine="interleave">
17241     <optional>
17242         <attribute name="chart:lines" a:defaultValue="false">
17243             <ref name="boolean"/>
17244         </attribute>
17245     </optional>
17246 </define>
17247 <define name="style-chart-properties-attlist" combine="interleave">
17248     <optional>
17249         <attribute name="chart:solid-type" a:defaultValue="cuboid">
17250             <choice>
17251                 <value>cuboid</value>
17252                 <value>cylinder</value>
17253                 <value>cone</value>
17254                 <value>pyramid</value>
17255             </choice>
17256         </attribute>
17257     </optional>
17258 </define>
17259 <define name="style-chart-properties-attlist" combine="interleave">
17260     <optional>
17261         <attribute name="chart:stacked" a:defaultValue="false">
17262             <ref name="boolean"/>
17263         </attribute>
17264     </optional>
17265     <optional>
17266         <attribute name="chart:percentage" a:defaultValue="false">
17267             <ref name="boolean"/>
17268         </attribute>
17269     </optional>
17270 </define>
17271 <define name="style-chart-properties-attlist" combine="interleave">
17272     <optional>
17273         <attribute name="chart:link-data-style-to-source">
17274             <ref name="boolean"/>
17275         </attribute>
17276     </optional>
17277 </define>
17278 <define name="style-chart-properties-attlist" combine="interleave">
17279     <optional>
17280         <attribute name="chart:visible">
17281             <ref name="boolean"/>
17282         </attribute>
17283     </optional>
17284 </define>
17285 <define name="style-chart-properties-attlist" combine="interleave">
17286     <optional>
17287         <attribute name="chart:logarithmic">
17288             <ref name="boolean"/>
17289         </attribute>
17290     </optional>
17291 </define>
17292 <define name="style-chart-properties-attlist" combine="interleave">
17293     <optional>
17294         <attribute name="chart:maximum">
17295             <ref name="double"/>
17296         </attribute>
17297     </optional>
17298     <optional>
17299         <attribute name="chart:minimum">
17300             <ref name="double"/>
17301         </attribute>
17302     </optional>
17303     <optional>
17304         <attribute name="chart:origin">
17305             <ref name="double"/>
17306         </attribute>
17307     </optional>
17308     <optional>
17309         <attribute name="chart:interval-major">
17310             <ref name="double"/>
17311         </attribute>
17312     </optional>
17313     <optional>
17314         <attribute name="chart:interval-minor-divisor">
17315             <ref name="positiveInteger"/>
17316         </attribute>
17317     </optional>
17318 </define>
17319 <define name="style-chart-properties-attlist" combine="interleave">
17320     <optional>
17321         <attribute name="chart:tick-marks-major-inner">
17322             <ref name="boolean"/>
17323         </attribute>
17324     </optional>
17325     <optional>
17326         <attribute name="chart:tick-marks-major-outer">
17327             <ref name="boolean"/>
17328         </attribute>
17329     </optional>
17330     <optional>
17331         <attribute name="chart:tick-marks-minor-inner">
17332             <ref name="boolean"/>
17333         </attribute>
17334     </optional>
17335     <optional>
17336         <attribute name="chart:tick-marks-minor-outer">
17337             <ref name="boolean"/>
17338         </attribute>
17339     </optional>
17340 </define>
17341 <define name="style-chart-properties-attlist" combine="interleave">
17342     <optional>
17343         <attribute name="chart:display-label">
17344             <ref name="boolean"/>
17345         </attribute>
17346     </optional>
17347     <optional>
17348         <attribute name="chart:text-overlap">
17349             <ref name="boolean"/>
17350         </attribute>
17351     </optional>
17352     <optional>
17353         <attribute name="text:line-break">
17354             <ref name="boolean"/>
17355         </attribute>
17356     </optional>
17357     <optional>
17358         <attribute name="chart:label-arrangement"
17359                    a:defaultValue="side-by-side">
17360             <choice>
17361                 <value>side-by-side</value>
17362                 <value>stagger-even</value>
17363                 <value>stagger-odd</value>
17364             </choice>
17365         </attribute>
17366     </optional>
17367 </define>
17368 <define name="style-chart-properties-attlist" combine="interleave">
17369     <ref name="common-style-direction-attlist"/>
17370 </define>
17371 <define name="style-chart-properties-attlist" combine="interleave">
17372     <ref name="common-rotation-angle-attlist"/>
17373 </define>
17374 <define name="style-chart-properties-attlist" combine="interleave">
17375     <optional>
17376         <attribute name="chart:data-label-number">
17377             <choice>
17378                 <value>none</value>
17379                 <value>value</value>
17380                 <value>percentage</value>
17381             </choice>
17382         </attribute>
17383     </optional>
17384 </define>
17385 <define name="style-chart-properties-attlist" combine="interleave">
17386     <optional>
17387         <attribute name="chart:data-label-text">
17388             <ref name="boolean"/>
17389         </attribute>
17390     </optional>
17391 </define>
17392 <define name="style-chart-properties-attlist" combine="interleave">
17393     <optional>
17394         <attribute name="chart:data-label-symbol">
17395             <ref name="boolean"/>
17396         </attribute>
17397     </optional>
17398 </define>
17399 <define name="style-chart-properties-attlist" combine="interleave">
17400     <optional>
17401         <attribute name="chart:mean-value">
17402             <ref name="boolean"/>
17403         </attribute>
17404     </optional>
17405 </define>
17406 <define name="style-chart-properties-attlist" combine="interleave">
17407     <optional>
17408         <attribute name="chart:error-category" a:defaultValue="none">
17409             <choice>
17410                 <value>none</value>
17411                 <value>variance</value>
17412                 <value>standard-deviation</value>
17413                 <value>percentage</value>
17414                 <value>error-margin</value>
17415                 <value>constant</value>
17416             </choice>
17417         </attribute>
17418     </optional>
17419 </define>
17420 <define name="style-chart-properties-attlist" combine="interleave">
17421     <optional>
17422         <attribute name="chart:error-percentage">
17423             <ref name="double"/>
17424         </attribute>
17425     </optional>
17426 </define>
17427 <define name="style-chart-properties-attlist" combine="interleave">
17428     <optional>
17429         <attribute name="chart:error-margin">
17430             <ref name="double"/>
17431         </attribute>
17432     </optional>
17433 </define>
17434 <define name="style-chart-properties-attlist" combine="interleave">
17435     <optional>
17436         <attribute name="chart:error-lower-limit">
17437             <ref name="double"/>
17438         </attribute>
17439     </optional>
17440     <optional>
17441         <attribute name="chart:error-upper-limit">
17442             <ref name="double"/>
17443         </attribute>
17444     </optional>
17445 </define>
17446 <define name="style-chart-properties-attlist" combine="interleave">
17447     <optional>
17448         <attribute name="chart:error-upper-indicator">
17449             <ref name="boolean"/>
17450         </attribute>
17451     </optional>
17452     <optional>
17453         <attribute name="chart:error-lower-indicator">
17454             <ref name="boolean"/>
17455         </attribute>
17456     </optional>
17457 </define>
17458 <define name="style-chart-properties-attlist" combine="interleave">
17459     <optional>
17460         <attribute name="chart:series-source" a:defaultValue="columns">
17461             <choice>
17462                 <value>columns</value>
17463                 <value>rows</value>
17464             </choice>
17465         </attribute>
17466     </optional>
17467 </define>
17468 <define name="style-chart-properties-attlist" combine="interleave">
17469     <optional>
17470         <attribute name="chart:regression-type" a:defaultValue="none">
17471             <choice>
17472                 <value>none</value>
17473                 <value>linear</value>
17474                 <value>logarithmic</value>
17475                 <value>exponential</value>
17476                 <value>power</value>
17477             </choice>
17478         </attribute>
17479     </optional>
17480 </define>
17481 <define name="style-drawing-page-properties-attlist"
17482         combine="interleave">
17483     <optional>
17484         <attribute name="presentation:transition-type">
17485             <choice>
17486                 <value>manual</value>
17487                 <value>automatic</value>
17488                 <value>semi-automatic</value>
17489             </choice>
17490         </attribute>
17491     </optional>
17492 </define>
17493 <define name="style-drawing-page-properties-attlist"
17494          combine="interleave">
17495     <optional>
17496         <attribute name="presentation:transition-style">
17497             <choice>
17498                 <value>none</value>
17499                 <value>fade-from-left</value>
17500                 <value>fade-from-top</value>
17501                 <value>fade-from-right</value>
17502                 <value>fade-from-bottom</value>
17503                 <value>fade-from-upperleft</value>
17504                 <value>fade-from-upperright</value>
17505                 <value>fade-from-lowerleft</value>
17506                 <value>fade-from-lowerright</value>
17507                 <value>move-from-left</value>
17508                 <value>move-from-top</value>
17509                 <value>move-from-right</value>
17510                 <value>move-from-bottom</value>
17511                 <value>move-from-upperleft</value>
17512                 <value>move-from-upperright</value>
17513                 <value>move-from-lowerleft</value>
17514                 <value>move-from-lowerright</value>
17515                 <value>uncover-to-left</value>
17516                 <value>uncover-to-top</value>
17517                 <value>uncover-to-right</value>    
17518                 <value>uncover-to-bottom</value>
17519                 <value>uncover-to-upperleft</value>
17520                 <value>uncover-to-upperright</value>
17521                 <value>uncover-to-lowerleft</value>
17522                 <value>uncover-to-lowerright</value>
17523                 <value>fade-to-center</value>
17524                 <value>fade-from-center</value>
17525                 <value>vertical-stripes</value>
17526                 <value>horizontal-stripes</value>
17527                 <value>clockwise</value>
17528                 <value>counterclockwise</value>
17529                 <value>open-vertical</value>
17530                 <value>open-horizontal</value>
17531                 <value>close-vertical</value>
17532                 <value>close-horizontal</value>
17533                 <value>wavyline-from-left</value>
17534                 <value>wavyline-from-top</value>
17535                 <value>wavyline-from-right</value>
17536                 <value>wavyline-from-bottom</value>
17537                 <value>spiralin-left</value>
17538                 <value>spiralin-right</value>
17539                 <value>spiralout-left</value>
17540                 <value>spiralout-right</value>
17541                 <value>roll-from-top</value>
17542                 <value>roll-from-left</value>
17543                 <value>roll-from-right</value>
17544                 <value>roll-from-bottom</value>
17545                 <value>stretch-from-left</value>
17546                 <value>stretch-from-top</value>
17547                 <value>stretch-from-right</value>
17548                 <value>stretch-from-bottom</value>
17549 
17550                 <value>vertical-lines</value>
17551                 <value>horizontal-lines</value>
17552                 <value>dissolve</value>
17553                 <value>random</value>
17554                 <value>vertical-checkerboard</value>
17555                 <value>horizontal-checkerboard</value>
17556                 <value>interlocking-horizontal-left</value>
17557                 <value>interlocking-horizontal-right</value>
17558                 <value>interlocking-vertical-top</value>
17559                 <value>interlocking-vertical-bottom</value>
17560                 <value>fly-away</value>
17561                 <value>open</value>
17562                 <value>close</value>
17563                 <value>melt</value>
17564             </choice>
17565         </attribute>
17566     </optional>
17567 </define>
17568 <define name="style-drawing-page-properties-attlist"
17569         combine="interleave">
17570     <optional>
17571         <attribute name="presentation:transition-speed">
17572             <ref name="presentationSpeeds"/>
17573         </attribute>
17574     </optional>
17575 </define>
17576 <define name="style-drawing-page-properties-attlist " combine="interleave">
17577     <optional>
17578         <attribute name="smil:type">
17579             <ref name="string"/>
17580         </attribute>
17581     </optional>
17582 </define>
17583 <define name="style-drawing-page-properties-attlist" combine="interleave">
17584     <optional>
17585         <attribute name="smil:subtype">
17586             <ref name="string"/>
17587         </attribute>
17588     </optional>
17589 </define>
17590 <define name="style-drawing-page-properties-attlist" combine="interleave">
17591     <optional>
17592         <attribute name="smil:direction" a:defaultValue="forward">
17593             <choice>
17594                 <value>forward</value>
17595                 <value>reverse</value>
17596             </choice>
17597         </attribute>
17598     </optional>
17599 </define>
17600 <define name="style-drawing-page-properties-attlist" combine="interleave">
17601     <optional>
17602         <attribute name="smil:fadeColor">
17603             <ref name="color"/>
17604         </attribute>
17605     </optional>
17606 </define>
17607 <define name="style-drawing-page-properties-attlist"
17608         combine="interleave">
17609     <optional>
17610         <attribute name="presentation:duration">
17611             <ref name="duration"/>
17612         </attribute>
17613     </optional>
17614 </define>
17615 <define name="style-drawing-page-properties-attlist"
17616          combine="interleave">
17617     <optional>
17618         <attribute name="presentation:visibility">
17619             <choice>
17620                 <value>visible</value>
17621                 <value>hidden</value>
17622             </choice>
17623         </attribute>
17624     </optional>
17625 </define>
17626 <define name="style-drawing-page-properties-elements"
17627          combine="interleave">
17628     <optional>
17629         <ref name="presentation-sound"/>
17630     </optional>
17631 </define>
17632 <define name="style-drawing-page-properties-attlist"
17633          combine="interleave">
17634     <optional>
17635         <attribute name="draw:background-size">
17636             <choice>
17637                 <value>full</value>
17638                 <value>border</value>
17639             </choice>
17640         </attribute>
17641     </optional>
17642 </define>
17643 <define name="style-drawing-page-properties-attlist"
17644          combine="interleave">
17645     <optional>
17646         <attribute name="presentation:background-objects-visible">
17647             <ref name="boolean"/>
17648         </attribute>
17649     </optional>
17650 </define>
17651 <define name="style-drawing-page-properties-attlist"
17652          combine="interleave">
17653     <optional>
17654         <attribute name="presentation:background-visible">
17655             <ref name="boolean"/>
17656         </attribute>
17657     </optional>
17658 </define>
17659 <define name="style-drawing-page-properties-attlist" combine="interleave">
17660     <optional>
17661         <attribute name="presentation:display-header">
17662             <ref name="boolean"/>
17663         </attribute>
17664     </optional>
17665 </define>
17666 <define name="style-drawing-page-properties-attlist" combine="interleave">
17667     <optional>
17668         <attribute name="presentation:display-footer">
17669             <ref name="boolean"/>
17670         </attribute>
17671     </optional>
17672 </define>
17673 <define name="style-drawing-page-properties-attlist" combine="interleave">
17674     <optional>
17675         <attribute name="presentation:display-page-number">
17676             <ref name="boolean"/>
17677         </attribute>
17678     </optional>
17679 </define>
17680 <define name="style-drawing-page-properties-attlist" combine="interleave">
17681     <optional>
17682         <attribute name="presentation:display-date-time">
17683             <ref name="boolean"/>
17684         </attribute>
17685     </optional>
17686 </define>
17687 <define name="string">
17688     <data type="string"/>
17689 </define>
17690 <define name="date">
17691     <data type="date"/>
17692 </define>
17693 <define name="time">
17694     <data type="time"/>
17695 </define>
17696 <define name="dateTime">
17697     <data type="dateTime"/>
17698 </define>
17699 <define name="duration">
17700     <data type="duration"/>
17701 </define>
17702 <define name="integer">
17703     <data type="integer"/>
17704 </define>
17705 <define name="nonNegativeInteger">
17706     <data type="nonNegativeInteger"/>
17707 </define>
17708 <define name="positiveInteger">
17709     <data type="positiveInteger"/>
17710 </define>
17711 <define name="double">
17712     <data type="double"/>
17713 </define>
17714 <define name="anyURI">
17715     <data type="anyURI"/>
17716 </define>
17717 <define name="base64Binary">
17718     <data type="base64Binary"/>
17719 </define>
17720 <define name="ID">
17721     <data type="ID"/>
17722 </define>
17723 <define name="IDREF">
17724     <data type="IDREF"/>
17725 </define>
17726 <define name="IDREFS">
17727     <data type="IDREFS"/>
17728 </define>
17729 <define name="boolean">
17730     <choice>
17731         <value>true</value>
17732         <value>false</value>
17733     </choice>
17734 </define>
17735 <define name="dateOrDateTime">
17736     <choice>
17737         <data type="date"/>
17738         <data type="dateTime"/>
17739     </choice>
17740 </define>
17741 <define name="timeOrDateTime">
17742     <choice>
17743         <data type="time"/>
17744         <data type="dateTime"/>
17745     </choice>
17746 </define>
17747 <define name="language">
17748     <data type="language"/>
17749 </define>
17750 <define name="countryCode">
17751     <data type="token">
17752         <param name="pattern">[A-Za-z0-9]{1,8}</param>
17753     </data>
17754 </define>
17755 <define name="languageCode">
17756     <data type="token">
17757         <param name="pattern">[A-Za-z]{1,8}</param>
17758     </data>
17759 </define>
17760 <define name="character">
17761     <data type="string">
17762         <param name="length">1</param>
17763     </data>
17764 </define>
17765 <define name="length">
17766     <data type="string">
17767         <param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
17768 
17769     </data>
17770 </define>
17771 <define name="nonNegativeLength">
17772     <data type="string">
17773         <param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
17774 
17775     </data>
17776 </define>
17777 <define name="positiveLength">
17778     <data type="string">
17779         <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>
17780 
17781     </data>
17782 </define>
17783 <define name="percent">
17784     <data type="string">
17785         <param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)%</param>
17786     </data>
17787 </define>
17788 <define name="relativeLength">
17789     <data type="string">
17790         <param name="pattern">[0-9]+\*</param>
17791     </data>
17792 </define>
17793 <define name="coordinate">
17794     <ref name="length"/>
17795 </define>
17796 <define name="distance">
17797     <ref name="length"/>
17798 </define>
17799 <define name="color">
17800     <data type="string">
17801         <param name="pattern">#[0-9a-fA-F]{6}</param>
17802     </data>
17803 </define>
17804 <define name="styleName">
17805     <data type="NCName"/>
17806 </define>
17807 <define name="styleNameRef">
17808     <choice>
17809         <data type="NCName"/>
17810         <empty/>
17811     </choice>
17812 </define>
17813 <define name="styleNameRefs">
17814     <list>
17815         <zeroOrMore>
17816             <data type="NCName"/>
17817         </zeroOrMore>
17818     </list>
17819 </define>
17820 <define name="variableName">
17821     <data type="string"/>
17822 </define>
17823 <define name="formula">
17824     <!-- A formula should start with a namespace prefix, -->
17825     <!-- but has no restrictions-->
17826     <data type="string"/>
17827 </define>
17828 
17829 <define name="targetFrameName">
17830     <choice>
17831         <value>_self</value>
17832         <value>_blank</value>
17833         <value>_parent</value>
17834         <value>_top</value>
17835         <ref name="string"/>
17836     </choice>
17837 </define>
17838 
17839 <define name="valueType">
17840     <choice>
17841         <value>float</value>
17842         <value>time</value>
17843         <value>date</value>
17844         <value>percentage</value>
17845         <value>currency</value>
17846         <value>boolean</value>
17847         <value>string</value>
17848     </choice>
17849 </define>
17850 
17851 <define name="points">
17852     <data type="string">
17853         <param name="pattern">-?[0-9]+,-?[0-9]+([ ]+-?[0-9]+,-?[0-9]+)*</param>
17854     </data>
17855 </define>
17856 <define name="pathData">
17857     <data type="string"/>
17858 </define>
17859 
17860 <define name="vector3D">
17861     <data type="string">
17862         <param name="pattern">\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)([ ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)){2}[ ]*\)</param>
17863 
17864     </data>
17865 </define>
17866 
17867 <define name="namespacedToken">
17868     <data type="string">
17869         <param name="pattern">[0-9a-zA-Z_]+:[0-9a-zA-Z._\-]+</param>
17870     </data>
17871 </define>
17872 <define name="anyAttListOrElements">
17873     <zeroOrMore>
17874         <attribute>
17875             <anyName/>
17876             <text/>
17877         </attribute>
17878     </zeroOrMore>
17879     <ref name="anyElements"/>
17880 </define>
17881 <define name="anyElements">
17882     <zeroOrMore>
17883         <element>
17884             <anyName/>
17885             <mixed>
17886                 <ref name="anyAttListOrElements"/>
17887             </mixed>
17888         </element>
17889     </zeroOrMore>
17890 </define>
17891 </grammar>