Warning, /libraries/binschema/cpp/xmltoodp/OpenDocument-schema-v1.0-os.rng is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!--
0003     OASIS OpenDocument v1.0
0004     OASIS Standard, 1 May 2005
0005     Relax-NG Schema
0006 
0007     $Id$
0008 
0009     © 2002-2005 OASIS Open
0010     © 1999-2005 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-table-of-content"/>
0180         <ref name="text-illustration-index"/>
0181         <ref name="text-table-index"/>
0182         <ref name="text-object-index"/>
0183         <ref name="text-user-index"/>
0184         <ref name="text-alphabetical-index"/>
0185         <ref name="text-bibliography"/>
0186         <ref name="shape"/>
0187         <ref name="change-marks"/>
0188     </choice>
0189 </define>
0190 <define name="office-text-content-epilogue">
0191     <ref name="table-functions"/>
0192 </define>
0193 <define name="office-text-attlist" combine="interleave">
0194     <optional>
0195         <attribute name="text:global" a:defaultValue="false">
0196             <ref name="boolean"/>
0197         </attribute>
0198     </optional>
0199 </define>
0200 <define name="office-body-content" combine="choice">
0201     <element name="office:drawing">
0202         <ref name="office-drawing-attlist"/>
0203         <ref name="office-drawing-content-prelude"/>
0204         <ref name="office-drawing-content-main"/>
0205         <ref name="office-drawing-content-epilogue"/>
0206     </element>
0207 </define>
0208 
0209 <define name="office-drawing-attlist">
0210     <empty/>
0211 </define>
0212 <define name="office-drawing-content-prelude">
0213     <ref name="text-decls"/>
0214     <ref name="table-decls"/>
0215 </define>
0216 <define name="office-drawing-content-main">
0217     <zeroOrMore>
0218         <ref name="draw-page"/>
0219     </zeroOrMore>
0220 </define>
0221 <define name="office-drawing-content-epilogue">
0222     <ref name="table-functions"/>
0223 </define>
0224 <define name="office-body-content" combine="choice">
0225     <element name="office:presentation">
0226         <ref name="office-presentation-attlist"/>
0227         <ref name="office-presentation-content-prelude"/>
0228         <ref name="office-presentation-content-main"/>
0229         <ref name="office-presentation-content-epilogue"/>
0230     </element>
0231 </define>
0232 
0233 <define name="office-presentation-attlist">
0234     <empty/>
0235 </define>
0236 <define name="office-presentation-content-prelude">
0237     <ref name="text-decls"/>
0238     <ref name="table-decls"/>
0239     <ref name="presentation-decls"/>
0240 </define>
0241 <define name="office-presentation-content-main">
0242     <zeroOrMore>
0243         <ref name="draw-page"/>
0244     </zeroOrMore>
0245 </define>
0246 <define name="office-presentation-content-epilogue">
0247     <ref name="presentation-settings"/>
0248     <ref name="table-functions"/>
0249 </define>
0250 <define name="office-body-content" combine="choice">
0251     <element name="office:spreadsheet">
0252         <ref name="office-spreadsheet-attlist"/>
0253         <ref name="office-spreadsheet-content-prelude"/>
0254         <ref name="office-spreadsheet-content-main"/>
0255         <ref name="office-spreadsheet-content-epilogue"/>
0256     </element>
0257 </define>
0258 <define name="office-spreadsheet-content-prelude">
0259     <optional>
0260         <ref name="table-tracked-changes"/>    
0261     </optional>
0262     <ref name="text-decls"/>
0263     <ref name="table-decls"/>
0264 </define>
0265 
0266 <define name="table-decls">
0267     <optional>
0268         <ref name="table-calculation-settings"/>    
0269     </optional>
0270     <optional>
0271         <ref name="table-content-validations"/>    
0272     </optional>
0273     <optional>
0274         <ref name="table-label-ranges"/>    
0275     </optional>
0276 </define>
0277 <define name="office-spreadsheet-content-main">
0278     <zeroOrMore>
0279         <ref name="table-table"/>
0280     </zeroOrMore>
0281 </define>
0282 <define name="office-spreadsheet-content-epilogue">
0283     <ref name="table-functions"/>    
0284 </define>
0285 
0286 <define name="table-functions">
0287     <optional>
0288         <ref name="table-named-expressions"/>    
0289     </optional>
0290     <optional>
0291         <ref name="table-database-ranges"/>    
0292     </optional>
0293     <optional>
0294         <ref name="table-data-pilot-tables"/>    
0295     </optional>
0296     <optional>
0297         <ref name="table-consolidation"/>    
0298     </optional>
0299     <optional>
0300         <ref name="table-dde-links"/>    
0301     </optional>
0302 </define>
0303 <define name="office-body-content" combine="choice">
0304     <element name="office:chart">
0305         <ref name="office-chart-attlist"/>
0306         <ref name="office-chart-content-prelude"/>
0307         <ref name="office-chart-content-main"/>
0308         <ref name="office-chart-content-epilogue"/>
0309     </element>
0310 </define>
0311 
0312 <define name="office-chart-attlist">
0313     <empty/>
0314 </define>
0315 <define name="office-chart-content-prelude">
0316     <ref name="text-decls"/>
0317     <ref name="table-decls"/>
0318 </define>
0319 <define name="office-chart-content-main">
0320     <ref name="chart-chart"/>
0321 </define>
0322 <define name="office-chart-content-epilogue">
0323     <ref name="table-functions"/>    
0324 </define>
0325 <define name="office-body-content" combine="choice">
0326     <element name="office:image">
0327         <ref name="office-image-attlist"/>
0328         <ref name="office-image-content-prelude"/>
0329         <ref name="office-image-content-main"/>
0330         <ref name="office-image-content-epilogue"/>
0331     </element>
0332 </define>
0333 
0334 <define name="office-image-attlist">
0335     <empty/>
0336 </define>
0337 <define name="office-image-content-prelude">
0338     <empty/>
0339 </define>
0340 <define name="office-image-content-main">
0341     <ref name="draw-frame"/>
0342 </define>
0343 <define name="office-image-content-epilogue">
0344     <empty/>
0345 </define>
0346 <define name="office-settings">
0347     <optional>
0348         <element name="office:settings">
0349             <oneOrMore>
0350                 <ref name="config-config-item-set"/>
0351             </oneOrMore>
0352         </element>
0353     </optional>
0354 </define>
0355 <define name="config-config-item-set">
0356     <element name="config:config-item-set">
0357         <ref name="config-config-item-set-attlist"/>
0358         <ref name="config-items"/>
0359     </element>
0360 </define>
0361 
0362 <define name="config-items">
0363     <oneOrMore>
0364         <choice>
0365             <ref name="config-config-item"/>
0366             <ref name="config-config-item-set"/>
0367             <ref name="config-config-item-map-named"/>
0368             <ref name="config-config-item-map-indexed"/>
0369         </choice>
0370     </oneOrMore>
0371 </define>
0372 <define name="config-config-item-set-attlist" combine="interleave">
0373     <attribute name="config:name">
0374         <ref name="string"/>
0375     </attribute>
0376 </define>
0377 <define name="config-config-item">
0378     <element name="config:config-item">
0379         <ref name="config-config-item-attlist"/>
0380         <text/>
0381     </element>
0382 </define>
0383 <define name="config-config-item-attlist" combine="interleave">
0384     <attribute name="config:name">
0385         <ref name="string"/>
0386     </attribute>
0387 </define>
0388 <define name="config-config-item-attlist" combine="interleave">
0389     <attribute name="config:type">
0390         <choice>
0391             <value>boolean</value>
0392             <value>short</value>
0393             <value>int</value>
0394             <value>long</value>
0395             <value>double</value>
0396             <value>string</value>
0397             <value>datetime</value>
0398             <value>base64Binary</value>
0399         </choice>
0400     </attribute>
0401 </define>
0402 <define name="config-config-item-map-indexed">
0403     <element name="config:config-item-map-indexed">
0404         <ref name="config-config-item-map-indexed-attlist"/>
0405         <oneOrMore>
0406             <ref name="config-config-item-map-entry"/>
0407         </oneOrMore>
0408     </element>
0409 </define>
0410 <define name="config-config-item-map-indexed-attlist" combine="interleave">
0411     <attribute name="config:name">
0412         <ref name="string"/>
0413     </attribute>
0414 </define>
0415 <define name="config-config-item-map-entry">
0416     <element name="config:config-item-map-entry">
0417         <ref name="config-config-item-map-entry-attlist"/>
0418         <ref name="config-items"/>
0419     </element>
0420 </define>
0421 <define name="config-config-item-map-entry-attlist" combine="interleave">
0422     <optional>
0423         <attribute name="config:name">
0424             <ref name="string"/>
0425         </attribute>
0426     </optional>
0427 </define>
0428 <define name="config-config-item-map-named">
0429     <element name="config:config-item-map-named">
0430         <ref name="config-config-item-map-named-attlist"/>
0431         <oneOrMore>
0432             <ref name="config-config-item-map-entry"/>
0433         </oneOrMore>
0434     </element>
0435 </define>
0436 <define name="config-config-item-map-named-attlist" combine="interleave">
0437     <attribute name="config:name">
0438         <ref name="string"/>
0439     </attribute>
0440 </define>
0441 <define name="office-scripts">
0442     <optional>
0443         <element name="office:scripts">
0444             <zeroOrMore>
0445                 <ref name="office-script"/>
0446             </zeroOrMore>
0447             <optional>
0448                 <ref name="office-event-listeners"/>
0449             </optional>
0450         </element>
0451     </optional>
0452 </define>
0453 <define name="office-script">
0454     <element name="office:script">
0455         <ref name="office-script-attlist"/>
0456         <mixed>
0457             <ref name="anyElements"/>
0458         </mixed>
0459     </element>
0460 </define>
0461 <define name="office-script-attlist">
0462     <attribute name="script:language">
0463         <ref name="string"/>
0464     </attribute>
0465 </define>
0466 <define name="office-font-face-decls">
0467     <optional>
0468         <element name="office:font-face-decls">
0469             <zeroOrMore>
0470                 <ref name="style-font-face"/>
0471             </zeroOrMore>
0472         </element>
0473     </optional>
0474 </define>
0475 <define name="office-styles">
0476     <optional>
0477         <element name="office:styles">
0478             <interleave>
0479                 <ref name="styles"/>
0480                 <zeroOrMore>
0481                     <ref name="style-default-style"/>
0482                 </zeroOrMore>
0483                 <optional>
0484                     <ref name="text-outline-style"/>
0485                 </optional>
0486                 <zeroOrMore>
0487                     <ref name="text-notes-configuration"/>
0488                 </zeroOrMore>
0489                 <optional>
0490                     <ref name="text-bibliography-configuration"/>
0491                 </optional>
0492                 <optional>
0493                     <ref name="text-linenumbering-configuration"/>
0494                 </optional>
0495                 <zeroOrMore>
0496                     <ref name="draw-gradient"/>
0497                 </zeroOrMore>
0498                 <zeroOrMore>
0499                     <ref name="svg-linearGradient"/>
0500                 </zeroOrMore>
0501                 <zeroOrMore>
0502                     <ref name="svg-radialGradient"/>
0503                 </zeroOrMore>
0504                 <zeroOrMore>
0505                     <ref name="draw-hatch"/>
0506                 </zeroOrMore>
0507                 <zeroOrMore>
0508                     <ref name="draw-fill-image"/>
0509                 </zeroOrMore>
0510                 <zeroOrMore>
0511                     <ref name="draw-marker"/>
0512                 </zeroOrMore>
0513                 <zeroOrMore>
0514                     <ref name="draw-stroke-dash"/>
0515                 </zeroOrMore>
0516                 <zeroOrMore>
0517                     <ref name="draw-opacity"/>
0518                 </zeroOrMore>
0519                 <zeroOrMore>
0520                     <ref name="style-presentation-page-layout"/>
0521                 </zeroOrMore>
0522             </interleave>
0523         </element>
0524     </optional>
0525 </define>
0526 <define name="office-automatic-styles">
0527     <optional>
0528         <element name="office:automatic-styles">
0529             <interleave>
0530                 <ref name="styles"/>
0531                 <zeroOrMore>
0532                     <ref name="style-page-layout"/>
0533                 </zeroOrMore>
0534             </interleave>
0535         </element>
0536     </optional>
0537 </define>
0538 <define name="office-master-styles">
0539     <optional>
0540         <element name="office:master-styles">
0541             <interleave>
0542                 <zeroOrMore>
0543                     <ref name="style-master-page"/>
0544                 </zeroOrMore>
0545                 <optional>
0546                     <ref name="style-handout-master"/>
0547                 </optional>
0548                 <optional>
0549                     <ref name="draw-layer-set"/>
0550                 </optional>
0551             </interleave>
0552         </element>
0553     </optional>
0554 </define>
0555 
0556 <define name="styles">
0557     <interleave>
0558         <zeroOrMore>
0559             <ref name="style-style"/>
0560         </zeroOrMore>
0561         <zeroOrMore>
0562             <ref name="text-list-style"/>
0563         </zeroOrMore>
0564         <zeroOrMore>
0565             <ref name="number-number-style"/>
0566         </zeroOrMore>
0567         <zeroOrMore>
0568             <ref name="number-currency-style"/>
0569         </zeroOrMore>
0570         <zeroOrMore>
0571             <ref name="number-percentage-style"/>
0572         </zeroOrMore>
0573         <zeroOrMore>
0574             <ref name="number-date-style"/>
0575         </zeroOrMore>
0576         <zeroOrMore>
0577             <ref name="number-time-style"/>
0578         </zeroOrMore>
0579         <zeroOrMore>
0580             <ref name="number-boolean-style"/>
0581         </zeroOrMore>
0582         <zeroOrMore>
0583             <ref name="number-text-style"/>
0584         </zeroOrMore>
0585     </interleave>
0586 </define>
0587 <define name="office-meta-data" combine="choice">
0588     <element name="meta:generator">
0589         <ref name="string"/>
0590     </element>
0591 </define>
0592 <define name="office-meta-data" combine="choice">
0593     <element name="dc:title">
0594         <ref name="string"/>
0595     </element>
0596 </define>
0597 <define name="office-meta-data" combine="choice">
0598     <element name="dc:description">
0599         <ref name="string"/>
0600     </element>
0601 </define>
0602 <define name="office-meta-data" combine="choice">
0603     <element name="dc:subject">
0604         <ref name="string"/>
0605     </element>
0606 </define>
0607 <define name="office-meta-data" combine="choice">
0608     <element name="meta:keyword">
0609         <ref name="string"/>
0610     </element>
0611 </define>
0612 <define name="office-meta-data" combine="choice">
0613     <element name="meta:initial-creator">
0614         <ref name="string"/>
0615     </element>
0616 </define>
0617 <define name="office-meta-data" combine="choice">
0618     <ref name="dc-creator"/>
0619 </define>
0620 <define name="dc-creator">
0621     <element name="dc:creator">
0622         <ref name="string"/>
0623     </element>
0624 </define>
0625 <define name="office-meta-data" combine="choice">
0626     <element name="meta:printed-by">
0627         <ref name="string"/>
0628     </element>
0629 </define>
0630 <define name="office-meta-data" combine="choice">
0631     <element name="meta:creation-date">
0632         <ref name="dateTime"/>
0633     </element>
0634 </define>
0635 <define name="office-meta-data" combine="choice">
0636     <ref name="dc-date"/>
0637 </define>
0638 <define name="dc-date">
0639     <element name="dc:date">
0640         <ref name="dateTime"/>
0641     </element>
0642 </define>
0643 <define name="office-meta-data" combine="choice">
0644     <element name="meta:print-date">
0645         <ref name="dateTime"/>
0646     </element>
0647 </define>
0648 <define name="office-meta-data" combine="choice">
0649     <element name="meta:template">
0650         <attribute name="xlink:href">
0651             <ref name="anyURI"/>
0652         </attribute>
0653         <optional>
0654             <attribute name="xlink:type" a:defaultValue="simple">
0655                 <value>simple</value>
0656             </attribute>
0657         </optional>
0658         <optional>
0659             <attribute name="xlink:actuate" a:defaultValue="onRequest">
0660                 <value>onRequest</value>
0661             </attribute>
0662         </optional>
0663         <optional>
0664             <attribute name="xlink:title">
0665                 <ref name="string"/>
0666             </attribute>
0667         </optional>
0668         <optional>
0669             <attribute name="meta:date">
0670                 <ref name="dateTime"/>
0671             </attribute>
0672         </optional>
0673     </element>
0674 </define>
0675 <define name="office-meta-data" combine="choice">
0676     <element name="meta:auto-reload">
0677         <optional>
0678             <attribute name="xlink:type" a:defaultValue="simple">
0679                 <value>simple</value>
0680             </attribute>
0681         </optional>
0682         <optional>
0683             <attribute name="xlink:show" a:defaultValue="replace">
0684                 <value>replace</value>
0685             </attribute>
0686         </optional>
0687         <optional>
0688             <attribute name="xlink:actuate" a:defaultValue="onLoad">
0689                 <value>onLoad</value>
0690             </attribute>
0691         </optional>
0692         <optional>
0693             <attribute name="xlink:href">
0694                 <ref name="anyURI"/>
0695             </attribute>
0696         </optional>
0697         <optional>
0698             <attribute name="meta:delay">
0699                 <ref name="duration"/>
0700             </attribute>
0701         </optional>
0702     </element>
0703 </define>
0704 <define name="office-meta-data" combine="choice">
0705     <element name="meta:hyperlink-behaviour">
0706         <optional>
0707             <attribute name="office:target-frame-name">
0708                 <ref name="targetFrameName"/>
0709             </attribute>
0710         </optional>
0711         <optional>
0712             <attribute name="xlink:show">
0713                 <choice>
0714                     <value>new</value>
0715                     <value>replace</value>
0716                 </choice>
0717             </attribute>
0718         </optional>
0719     </element>
0720 </define>
0721 <define name="office-meta-data" combine="choice">
0722     <element name="dc:language">
0723         <ref name="language"/>
0724     </element>
0725 </define>
0726 <define name="office-meta-data" combine="choice">
0727     <element name="meta:editing-cycles">
0728         <ref name="nonNegativeInteger"/>
0729     </element>
0730 </define>
0731 <define name="office-meta-data" combine="choice">
0732     <element name="meta:editing-duration">
0733         <ref name="duration"/>
0734     </element>
0735 </define>
0736 <define name="office-meta-data" combine="choice">
0737     <element name="meta:document-statistic">
0738         <optional>
0739             <attribute name="meta:page-count">
0740                 <ref name="nonNegativeInteger"/>
0741             </attribute>
0742         </optional>
0743         <optional>
0744             <attribute name="meta:table-count">
0745                 <ref name="nonNegativeInteger"/>
0746             </attribute>
0747         </optional>
0748         <optional>
0749             <attribute name="meta:draw-count">
0750                 <ref name="nonNegativeInteger"/>
0751             </attribute>
0752         </optional>
0753         <optional>
0754             <attribute name="meta:image-count">
0755                 <ref name="nonNegativeInteger"/>
0756             </attribute>
0757         </optional>
0758         <optional>
0759             <attribute name="meta:ole-object-count">
0760                 <ref name="nonNegativeInteger"/>
0761             </attribute>
0762         </optional>
0763         <optional>
0764             <attribute name="meta:paragraph-count">
0765                 <ref name="nonNegativeInteger"/>
0766             </attribute>
0767         </optional>
0768         <optional>
0769             <attribute name="meta:word-count">
0770                 <ref name="nonNegativeInteger"/>
0771             </attribute>
0772         </optional>
0773         <optional>
0774             <attribute name="meta:character-count">
0775                 <ref name="nonNegativeInteger"/>
0776             </attribute>
0777         </optional>
0778         <optional>
0779             <attribute name="frame-count">
0780                 <ref name="nonNegativeInteger"/>
0781             </attribute>
0782         </optional>
0783         <optional>
0784             <attribute name="sentence-count">
0785                 <ref name="nonNegativeInteger"/>
0786             </attribute>
0787         </optional>
0788         <optional>
0789             <attribute name="syllable-count">
0790                 <ref name="nonNegativeInteger"/>
0791             </attribute>
0792         </optional>
0793         <optional>
0794             <attribute name="non-whitespace-character-count">
0795                 <ref name="nonNegativeInteger"/>
0796             </attribute>
0797         </optional>
0798         <optional>
0799             <attribute name="meta:row-count">
0800                 <ref name="nonNegativeInteger"/>
0801             </attribute>
0802         </optional>
0803         <optional>
0804             <attribute name="meta:cell-count">
0805                 <ref name="nonNegativeInteger"/>
0806             </attribute>
0807         </optional>
0808         <optional>
0809             <attribute name="meta:object-count">
0810                 <ref name="nonNegativeInteger"/>
0811             </attribute>
0812         </optional>
0813     </element>
0814 </define>
0815 <define name="office-meta-data" combine="choice">
0816     <element name="meta:user-defined">
0817         <attribute name="meta:name">
0818             <ref name="string"/>
0819         </attribute>
0820         <choice>
0821             <group>
0822                 <attribute name="meta:value-type">
0823                     <value>float</value>
0824                 </attribute>
0825                 <ref name="double"/>
0826             </group>
0827             <group>
0828                 <attribute name="meta:value-type">
0829                     <value>date</value>
0830                 </attribute>
0831                 <ref name="dateOrDateTime"/>
0832             </group>
0833             <group>
0834                 <attribute name="meta:value-type">
0835                     <value>time</value>
0836                 </attribute>
0837                 <ref name="duration"/>
0838             </group>
0839             <group>
0840                 <attribute name="meta:value-type">
0841                     <value>boolean</value>
0842                 </attribute>
0843                 <ref name="boolean"/>
0844             </group>
0845             <group>
0846                 <attribute name="meta:value-type">
0847                     <value>string</value>
0848                 </attribute>
0849                 <ref name="string"/>
0850             </group>
0851             <text/>
0852         </choice>
0853     </element>
0854 </define>
0855 <define name="text-h">
0856     <element name="text:h">
0857         <ref name="heading-attrs"/>
0858         <ref name="paragraph-attrs"/>
0859         <optional>
0860             <ref name="text-number"/>
0861         </optional>
0862         <zeroOrMore>
0863             <ref name="paragraph-content"/>
0864         </zeroOrMore>
0865     </element>
0866 </define>
0867 <define name="heading-attrs" combine="interleave">
0868     <attribute name="text:outline-level">
0869         <ref name="positiveInteger"/>
0870     </attribute>
0871 </define>
0872 <define name="heading-attrs" combine="interleave">
0873     <optional>
0874         <attribute name="text:restart-numbering" a:defaultValue="false">
0875             <ref name="boolean"/>
0876         </attribute>
0877     </optional>
0878 </define>
0879 <define name="heading-attrs" combine="interleave">
0880     <optional>
0881         <attribute name="text:start-value">
0882             <ref name="nonNegativeInteger"/>
0883         </attribute>
0884     </optional>
0885 </define>
0886 <define name="heading-attrs" combine="interleave">
0887     <optional>
0888         <attribute name="text:is-list-header" a:defaultValue="false">
0889             <ref name="boolean"/>
0890         </attribute>
0891     </optional>
0892 </define>
0893 <define name="text-number">
0894     <element name="text:number">
0895         <ref name="string"/>
0896     </element>
0897 </define>
0898 <define name="text-p">
0899     <element name="text:p">
0900         <ref name="paragraph-attrs"/>
0901         <zeroOrMore>
0902             <ref name="paragraph-content"/>
0903         </zeroOrMore>
0904     </element>
0905 </define>
0906 <define name="paragraph-attrs">
0907     <optional>
0908         <attribute name="text:style-name">
0909             <ref name="styleNameRef"/>
0910         </attribute>
0911     </optional>
0912     <optional>
0913         <attribute name="text:class-names">
0914             <ref name="styleNameRefs"/>
0915         </attribute>
0916     </optional>
0917     <optional>
0918         <attribute name="text:cond-style-name">
0919             <ref name="styleNameRef"/>
0920         </attribute>
0921     </optional>
0922 </define>
0923 <define name="paragraph-attrs" combine="interleave">
0924     <optional>
0925         <ref name="text-id"/>
0926     </optional>
0927 </define>
0928 <define name="text-page-sequence">
0929     <element name="text:page-sequence">
0930         <oneOrMore>
0931             <ref name="text-page"/>
0932         </oneOrMore>
0933     </element>
0934 </define>
0935 <define name="text-page">
0936     <element name="text:page">
0937         <ref name="text-page-attlist"/>
0938         <empty/>
0939     </element>
0940 </define>
0941 <define name="text-page-attlist">
0942     <attribute name="text:master-page-name">
0943         <ref name="styleNameRef"/>
0944     </attribute>
0945 </define>
0946 <define name="text-list">
0947     <element name="text:list">
0948         <ref name="text-list-attr"/>
0949         <optional>
0950             <ref name="text-list-header"/>
0951         </optional>
0952         <zeroOrMore>
0953             <ref name="text-list-item"/>
0954         </zeroOrMore>
0955     </element>
0956 </define>
0957 <define name="text-list-attr" combine="interleave">
0958     <optional>
0959         <attribute name="text:style-name">
0960             <ref name="styleNameRef"/>
0961         </attribute>
0962     </optional>
0963 </define>
0964 <define name="text-list-attr" combine="interleave">
0965     <optional>
0966         <attribute name="text:continue-numbering">
0967             <ref name="boolean"/>
0968         </attribute>
0969     </optional>
0970 </define>
0971 <define name="text-list-item">
0972     <element name="text:list-item">
0973         <ref name="text-list-item-attr"/>
0974         <ref name="text-list-item-content"/>
0975     </element>
0976 </define>
0977 <define name="text-list-item-content">
0978     <optional>
0979         <ref name="text-number"/>
0980     </optional>
0981     <zeroOrMore>
0982         <choice>
0983             <ref name="text-p"/>
0984             <ref name="text-h"/>
0985             <ref name="text-list"/>
0986         </choice>
0987     </zeroOrMore>
0988 </define>
0989 <define name="text-list-item-attr" combine="interleave">
0990     <optional>
0991         <attribute name="text:start-value">
0992             <ref name="nonNegativeInteger"/>
0993         </attribute>
0994     </optional>
0995 </define>
0996 <define name="text-list-header">
0997     <element name="text:list-header">
0998         <ref name="text-list-item-content"/>
0999     </element>
1000 </define>
1001 <define name="text-numbered-paragraph">
1002     <element name="text:numbered-paragraph">
1003         <ref name="text-numbered-paragraph-attr"/>
1004         <optional>
1005             <ref name="text-number"/>
1006         </optional>
1007         <choice>
1008             <ref name="text-p"/>
1009             <ref name="text-h"/>
1010         </choice>
1011     </element>
1012 </define>
1013 <define name="text-numbered-paragraph-attr" combine="interleave">
1014     <optional>
1015         <attribute name="text:level" a:defaultValue="1">
1016             <ref name="positiveInteger"/>
1017         </attribute>
1018     </optional>
1019 </define>
1020 <define name="text-numbered-paragraph-attr" combine="interleave">
1021     <ref name="text-list-attr"/>
1022 </define>
1023 <define name="text-numbered-paragraph-attr" combine="interleave">
1024     <ref name="text-list-item-attr"/>
1025 </define>
1026 <define name="text-section">
1027     <element name="text:section">
1028         <ref name="text-section-attr"/>
1029         <choice>
1030             <ref name="text-section-source"/>
1031             <ref name="text-section-source-dde"/>
1032             <empty/>
1033         </choice>
1034         <zeroOrMore>
1035             <ref name="text-content"/>
1036         </zeroOrMore>
1037     </element>
1038 </define>
1039 <define name="text-section-attr" combine="interleave">
1040     <ref name="sectionAttr"/>
1041 </define>
1042 <define name="sectionAttr" combine="interleave">
1043     <optional>
1044         <attribute name="text:style-name">
1045             <ref name="styleNameRef"/>
1046         </attribute>
1047     </optional>
1048 </define>
1049 <define name="sectionAttr" combine="interleave">
1050     <attribute name="text:name">
1051         <ref name="string"/>
1052     </attribute>
1053 </define>
1054 <define name="sectionAttr" combine="interleave">
1055     <optional>
1056         <attribute name="text:protected">
1057             <ref name="boolean"/>
1058         </attribute>
1059     </optional>
1060 </define>
1061 <define name="sectionAttr" combine="interleave">
1062     <optional>
1063         <attribute name="text:protection-key">
1064             <ref name="string"/>
1065         </attribute>
1066     </optional>
1067 </define>
1068 <define name="text-section-attr" combine="interleave">
1069     <choice>
1070         <attribute name="text:display">
1071             <choice>
1072                 <value>true</value>
1073                 <value>none</value>
1074             </choice>
1075         </attribute>
1076         <group>
1077             <attribute name="text:display">
1078                 <value>condition</value>
1079             </attribute>
1080             <attribute name="text:condition">
1081                 <ref name="string"/>
1082             </attribute>
1083         </group>
1084         <empty/>
1085     </choice>
1086 </define>
1087 <define name="text-section-source">
1088     <element name="text:section-source">
1089         <ref name="text-section-source-attr"/>
1090     </element>
1091 </define>
1092 <define name="text-section-source-attr" combine="interleave">
1093     <optional>
1094         <attribute name="xlink:href">
1095             <ref name="anyURI"/>
1096         </attribute>
1097         <optional>
1098             <attribute name="xlink:type" a:defaultValue="simple">
1099                 <value>simple</value>
1100             </attribute>
1101         </optional>
1102         <optional>
1103             <attribute name="xlink:show" a:defaultValue="embed">
1104                 <value>embed</value>
1105             </attribute>
1106         </optional>
1107     </optional>
1108 </define>
1109 <define name="text-section-source-attr" combine="interleave">
1110     <optional>
1111         <attribute name="text:section-name">
1112             <ref name="string"/>
1113         </attribute>
1114     </optional>
1115 </define>
1116 <define name="text-section-source-attr" combine="interleave">
1117     <optional>
1118         <attribute name="text:filter-name">
1119             <ref name="string"/>
1120         </attribute>
1121     </optional>
1122 </define>
1123 <define name="text-section-source-dde">
1124     <ref name="office-dde-source"/>
1125 </define>
1126 <define name="text-tracked-changes">
1127     <optional>
1128         <element name="text:tracked-changes">
1129             <ref name="text-tracked-changes-attr"/>
1130             <zeroOrMore>
1131                 <ref name="text-changed-region"/>
1132             </zeroOrMore>
1133         </element>
1134     </optional>
1135 </define>
1136 <define name="text-tracked-changes-attr" combine="interleave">
1137     <optional>
1138         <attribute name="text:track-changes" a:defaultValue="true">
1139             <ref name="boolean"/>
1140         </attribute>
1141     </optional>
1142 </define>
1143 <define name="text-changed-region">
1144     <element name="text:changed-region">
1145         <ref name="text-changed-region-attr"/>
1146         <ref name="text-changed-region-content"/>
1147     </element>
1148 </define>
1149 <define name="text-changed-region-attr" combine="interleave">
1150     <attribute name="text:id">
1151         <ref name="ID"/>
1152     </attribute>
1153 </define>
1154 <define name="text-changed-region-content" combine="choice">
1155     <element name="text:insertion">
1156         <ref name="office-change-info"/>
1157     </element>
1158 </define>
1159 <define name="text-changed-region-content" combine="choice">
1160     <element name="text:deletion">
1161         <ref name="office-change-info"/>
1162         <zeroOrMore>
1163             <ref name="text-content"/>
1164         </zeroOrMore>
1165     </element>
1166 </define>
1167 <define name="text-changed-region-content" combine="choice">
1168     <element name="text:format-change">
1169         <ref name="office-change-info"/>
1170     </element>
1171 </define>
1172 <define name="change-marks">
1173     <choice>
1174         <element name="text:change">
1175             <ref name="change-mark-attr"/>
1176         </element>
1177         <element name="text:change-start">
1178             <ref name="change-mark-attr"/>
1179         </element>
1180         <element name="text:change-end">
1181             <ref name="change-mark-attr"/>
1182         </element>
1183     </choice>
1184 </define>
1185 <define name="change-mark-attr">
1186     <attribute name="text:change-id">
1187         <ref name="IDREF"/>
1188     </attribute>
1189 </define>
1190 <define name="text-decls">
1191     <optional>
1192         <element name="text:variable-decls">
1193             <zeroOrMore>
1194                 <ref name="text-variable-decl"/>
1195             </zeroOrMore>
1196         </element>
1197     </optional>
1198     <optional>
1199         <element name="text:sequence-decls">
1200             <zeroOrMore>
1201                 <ref name="text-sequence-decl"/>
1202             </zeroOrMore>
1203         </element>
1204     </optional>
1205     <optional>
1206         <element name="text:user-field-decls">
1207             <zeroOrMore>
1208                 <ref name="text-user-field-decl"/>
1209             </zeroOrMore>
1210         </element>
1211     </optional>
1212     <optional>
1213         <element name="text:dde-connection-decls">
1214             <zeroOrMore>
1215                 <ref name="text-dde-connection-decl"/>
1216             </zeroOrMore>
1217         </element>
1218     </optional>
1219     <optional>
1220         <ref name="text-alphabetical-index-auto-mark-file"/>
1221     </optional>
1222 </define>
1223 <define name="paragraph-content" combine="choice">
1224     <text/>
1225 </define>
1226 <define name="paragraph-content" combine="choice">
1227     <element name="text:s">
1228         <optional>
1229             <attribute name="text:c">
1230                 <ref name="nonNegativeInteger"/>
1231             </attribute>
1232         </optional>
1233     </element>
1234 </define>
1235 <define name="paragraph-content" combine="choice">
1236     <element name="text:tab">
1237         <ref name="text-tab-attr"/>
1238     </element>
1239 </define>
1240 <define name="text-tab-attr">
1241     <optional>
1242         <attribute name="text:tab-ref">
1243             <ref name="nonNegativeInteger"/>
1244         </attribute>
1245     </optional>
1246 </define>
1247 <define name="paragraph-content" combine="choice">
1248     <element name="text:line-break">
1249         <empty/>
1250     </element>
1251 </define>
1252 <define name="paragraph-content" combine="choice">
1253     <element name="text:span">
1254         <optional>
1255             <attribute name="text:style-name">
1256                 <ref name="styleNameRef"/>
1257             </attribute>
1258         </optional>
1259         <optional>
1260             <attribute name="text:class-names">
1261                 <ref name="styleNameRefs"/>
1262             </attribute>
1263         </optional>
1264         <zeroOrMore>
1265             <ref name="paragraph-content"/>
1266         </zeroOrMore>
1267     </element>
1268 </define>
1269 <define name="paragraph-content" combine="choice">
1270     <element name="text:a">
1271         <ref name="text-a-attlist"/>
1272         <optional>
1273             <ref name="office-event-listeners"/>
1274         </optional>
1275         <zeroOrMore>
1276             <ref name="paragraph-content"/>
1277         </zeroOrMore>
1278     </element>
1279 </define>
1280 <define name="text-a-attlist" combine="interleave">
1281     <optional>
1282         <attribute name="office:name">
1283             <ref name="string"/>
1284         </attribute>
1285     </optional>
1286 </define>
1287 <define name="text-a-attlist" combine="interleave">
1288     <attribute name="xlink:href">
1289         <ref name="anyURI"/>
1290     </attribute>
1291     <optional>
1292         <attribute name="xlink:type" a:defaultValue="simple">
1293             <value>simple</value>
1294         </attribute>
1295     </optional>
1296     <optional>
1297         <attribute name="xlink:actuate" a:defaultValue="onRequest">
1298             <value>onRequest</value>
1299         </attribute>
1300     </optional>
1301 </define>
1302 <define name="text-a-attlist" combine="interleave">
1303     <optional>
1304         <attribute name="office:target-frame-name">
1305             <ref name="targetFrameName"/>
1306         </attribute>
1307     </optional>
1308     <optional>
1309         <attribute name="xlink:show">
1310             <choice>
1311                 <value>new</value>
1312                 <value>replace</value>
1313             </choice>
1314         </attribute>
1315     </optional>
1316 </define>
1317 <define name="text-a-attlist" combine="interleave">
1318     <optional>
1319         <attribute name="text:style-name">
1320             <ref name="styleNameRef"/>
1321         </attribute>
1322     </optional>
1323     <optional>
1324         <attribute name="text:visited-style-name">
1325             <ref name="styleNameRef"/>
1326         </attribute>
1327     </optional>
1328 </define>
1329 <define name="paragraph-content" combine="choice">
1330     <choice>
1331         <element name="text:bookmark">
1332             <attribute name="text:name">
1333                 <ref name="string"/>
1334             </attribute>
1335         </element>
1336         <element name="text:bookmark-start">
1337             <attribute name="text:name">
1338                 <ref name="string"/>
1339             </attribute>
1340         </element>
1341         <element name="text:bookmark-end">
1342             <attribute name="text:name">
1343                 <ref name="string"/>
1344             </attribute>
1345         </element>
1346     </choice>
1347 </define>
1348 <define name="paragraph-content" combine="choice">
1349     <element name="text:reference-mark">
1350         <attribute name="text:name">
1351             <ref name="string"/>
1352         </attribute>
1353     </element>
1354 </define>
1355 <define name="paragraph-content" combine="choice">
1356     <choice>
1357         <element name="text:reference-mark-start">
1358             <attribute name="text:name">
1359                 <ref name="string"/>
1360             </attribute>
1361         </element>
1362         <element name="text:reference-mark-end">
1363             <attribute name="text:name">
1364                 <ref name="string"/>
1365             </attribute>
1366         </element>
1367     </choice>
1368 </define>
1369 <define name="paragraph-content" combine="choice">
1370     <element name="text:note">
1371         <ref name="text-note-class"/>
1372         <optional>
1373             <attribute name="text:id">
1374                 <ref name="string"/>
1375             </attribute>
1376         </optional>
1377         <element name="text:note-citation">
1378             <optional>
1379                 <attribute name="text:label">
1380                     <ref name="string"/>
1381                 </attribute>
1382             </optional>
1383             <text/>
1384         </element>
1385         <element name="text:note-body">
1386             <zeroOrMore>
1387                 <ref name="text-content"/>
1388             </zeroOrMore>
1389         </element>
1390     </element>
1391 </define>
1392 <define name="text-note-class">
1393     <attribute name="text:note-class">
1394         <choice>
1395             <value>footnote</value>
1396             <value>endnote</value>
1397         </choice>
1398     </attribute>
1399 </define>
1400 <define name="paragraph-content" combine="choice">
1401     <element name="text:ruby">
1402         <optional>
1403             <attribute name="text:style-name">
1404                 <ref name="styleNameRef"/>
1405             </attribute>
1406         </optional>
1407         <element name="text:ruby-base">
1408             <ref name="paragraph-content"/>
1409         </element>
1410         <element name="text:ruby-text">
1411             <optional>
1412                 <attribute name="text:style-name">
1413                     <ref name="styleNameRef"/>
1414                 </attribute>
1415             </optional>
1416             <text/>
1417         </element>
1418     </element>
1419 </define>
1420 <define name="paragraph-content" combine="choice">
1421     <ref name="office-annotation"/>
1422 </define>
1423 <define name="paragraph-content" combine="choice">
1424     <ref name="change-marks"/>
1425 </define>
1426 <define name="paragraph-content" combine="choice">
1427     <choice>
1428         <ref name="shape"/>
1429         <ref name="draw-a"/>
1430     </choice>
1431 </define>
1432 <define name="paragraph-content" combine="choice">
1433     <element name="text:date">
1434         <ref name="text-date-attlist"/>
1435         <text/>
1436     </element>
1437 </define>
1438 <define name="text-date-attlist" combine="interleave">
1439     <interleave>
1440         <ref name="common-field-fixed-attlist"/>
1441         <ref name="common-field-data-style-name-attlist"/>
1442     </interleave>
1443 </define>
1444 <define name="text-date-attlist" combine="interleave">
1445     <optional>
1446         <attribute name="text:date-value">
1447             <ref name="dateOrDateTime"/>
1448         </attribute>
1449     </optional>
1450 </define>
1451 <define name="text-date-attlist" combine="interleave">
1452     <optional>
1453         <attribute name="text:date-adjust">
1454             <ref name="duration"/>
1455         </attribute>
1456     </optional>
1457 </define>
1458 <define name="paragraph-content" combine="choice">
1459     <element name="text:time">
1460         <ref name="text-time-attlist"/>
1461         <text/>
1462     </element>
1463 </define>
1464 <define name="text-time-attlist" combine="interleave">
1465     <interleave>
1466         <ref name="common-field-fixed-attlist"/>
1467         <ref name="common-field-data-style-name-attlist"/>
1468     </interleave>
1469 </define>
1470 <define name="text-time-attlist" combine="interleave">
1471     <optional>
1472         <attribute name="text:time-value">
1473             <ref name="timeOrDateTime"/>
1474         </attribute>
1475     </optional>
1476 </define>
1477 <define name="text-time-attlist" combine="interleave">
1478     <optional>
1479         <attribute name="text:time-adjust">
1480             <ref name="duration"/>
1481         </attribute>
1482     </optional>
1483 </define>
1484 <define name="paragraph-content" combine="choice">
1485     <element name="text:page-number">
1486         <ref name="text-page-number-attlist"/>
1487         <text/>
1488     </element>
1489 </define>
1490 <define name="text-page-number-attlist" combine="interleave">
1491     <interleave>
1492         <ref name="common-field-num-format-attlist"/>
1493         <ref name="common-field-fixed-attlist"/>
1494     </interleave>
1495 </define>
1496 <define name="text-page-number-attlist" combine="interleave">
1497     <optional>
1498         <attribute name="text:page-adjust">
1499             <ref name="integer"/>
1500         </attribute>
1501     </optional>
1502 </define>
1503 <define name="text-page-number-attlist" combine="interleave">
1504     <optional>
1505         <attribute name="text:select-page">
1506             <choice>
1507                 <value>previous</value>
1508                 <value>current</value>
1509                 <value>next</value>
1510             </choice>
1511         </attribute>
1512     </optional>
1513 </define>
1514 <define name="paragraph-content" combine="choice">
1515     <element name="text:page-continuation">
1516         <ref name="text-page-continuation-attlist"/>
1517         <text/>
1518     </element>
1519 </define>
1520 <define name="text-page-continuation-attlist" combine="interleave">
1521     <attribute name="text:select-page">
1522         <choice>
1523             <value>previous</value>
1524             <value>next</value>
1525         </choice>
1526     </attribute>
1527 </define>
1528 <define name="text-page-continuation-attlist" combine="interleave">
1529     <optional>
1530         <attribute name="text:string-value">
1531             <ref name="string"/>
1532         </attribute>
1533     </optional>
1534 </define>
1535 <define name="paragraph-content" combine="choice">
1536     <element name="text:sender-firstname">
1537         <ref name="common-field-fixed-attlist"/>
1538         <text/>
1539     </element>
1540 </define>
1541 <define name="paragraph-content" combine="choice">
1542     <element name="text:sender-lastname">
1543         <ref name="common-field-fixed-attlist"/>
1544         <text/>
1545     </element>
1546 </define>
1547 <define name="paragraph-content" combine="choice">
1548     <element name="text:sender-initials">
1549         <ref name="common-field-fixed-attlist"/>
1550         <text/>
1551     </element>
1552 </define>
1553 <define name="paragraph-content" combine="choice">
1554     <element name="text:sender-title">
1555         <ref name="common-field-fixed-attlist"/>
1556         <text/>
1557     </element>
1558 </define>
1559 <define name="paragraph-content" combine="choice">
1560     <element name="text:sender-position">
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-email">
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-phone-private">
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-fax">
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-company">
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-phone-work">
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-street">
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-city">
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-postal-code">
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-country">
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-state-or-province">
1621         <ref name="common-field-fixed-attlist"/>
1622         <text/>
1623     </element>
1624 </define>
1625 <define name="paragraph-content" combine="choice">
1626     <element name="text:author-name">
1627         <ref name="common-field-fixed-attlist"/>
1628         <text/>
1629     </element>
1630 </define>
1631 <define name="paragraph-content" combine="choice">
1632     <element name="text:author-initials">
1633         <ref name="common-field-fixed-attlist"/>
1634         <text/>
1635     </element>
1636 </define>
1637 <define name="paragraph-content" combine="choice">
1638     <element name="text:chapter">
1639         <ref name="text-chapter-attlist"/>
1640         <text/>
1641     </element>
1642 </define>
1643 <define name="text-chapter-attlist" combine="interleave">
1644     <attribute name="text:display">
1645         <choice>
1646             <value>name</value>
1647             <value>number</value>
1648             <value>number-and-name</value>
1649             <value>plain-number-and-name</value>
1650             <value>plain-number</value>
1651         </choice>
1652     </attribute>
1653 </define>
1654 <define name="text-chapter-attlist" combine="interleave">
1655     <attribute name="text:outline-level">
1656         <ref name="nonNegativeInteger"/>
1657     </attribute>
1658 </define>
1659 <define name="paragraph-content" combine="choice">
1660     <element name="text:file-name">
1661         <ref name="text-file-name-attlist"/>
1662         <text/>
1663     </element>
1664 </define>
1665 <define name="text-file-name-attlist" combine="interleave">
1666     <optional>
1667         <attribute name="text:display">
1668             <choice>
1669                 <value>full</value>
1670                 <value>path</value>
1671                 <value>name</value>
1672                 <value>name-and-extension</value>
1673             </choice>
1674         </attribute>
1675     </optional>
1676 </define>
1677 <define name="text-file-name-attlist" combine="interleave">
1678     <ref name="common-field-fixed-attlist"/>
1679 </define>
1680 <define name="paragraph-content" combine="choice">
1681     <element name="text:template-name">
1682         <ref name="text-template-name-attlist"/>
1683         <text/>
1684     </element>
1685 </define>
1686 <define name="text-template-name-attlist">
1687     <optional>
1688         <attribute name="text:display">
1689             <choice>
1690                 <value>full</value>
1691                 <value>path</value>
1692                 <value>name</value>
1693                 <value>name-and-extension</value>
1694                 <value>area</value>
1695                 <value>title</value>
1696             </choice>
1697         </attribute>
1698     </optional>
1699 </define>
1700 <define name="paragraph-content" combine="choice">
1701     <element name="text:sheet-name">
1702         <text/>
1703     </element>
1704 </define>
1705 <define name="text-variable-decl">
1706     <element name="text:variable-decl">
1707         <ref name="common-field-name-attlist"/>
1708         <ref name="common-value-type-attlist"/>
1709     </element>
1710 </define>
1711 <define name="paragraph-content" combine="choice">
1712     <element name="text:variable-set">
1713         <interleave>
1714             <ref name="common-field-name-attlist"/>
1715             <ref name="common-field-formula-attlist"/>
1716             <ref name="common-value-and-type-attlist"/>
1717             <ref name="common-field-display-value-none-attlist"/>
1718             <ref name="common-field-data-style-name-attlist"/>
1719         </interleave>
1720         <text/>
1721     </element>
1722 </define>
1723 <define name="paragraph-content" combine="choice">
1724     <element name="text:variable-get">
1725         <interleave>
1726             <ref name="common-field-name-attlist"/>
1727             <ref name="common-field-display-value-formula-attlist"/>
1728             <ref name="common-field-data-style-name-attlist"/>
1729         </interleave>
1730         <text/>
1731     </element>
1732 </define>
1733 <define name="paragraph-content" combine="choice">
1734     <element name="text:variable-input">
1735         <interleave>
1736             <ref name="common-field-name-attlist"/>
1737             <ref name="common-field-description-attlist"/>
1738             <ref name="common-value-type-attlist"/>
1739             <ref name="common-field-display-value-none-attlist"/>
1740             <ref name="common-field-data-style-name-attlist"/>
1741         </interleave>
1742         <text/>
1743     </element>
1744 </define>
1745 <define name="text-user-field-decl">
1746     <element name="text:user-field-decl">
1747         <ref name="common-field-name-attlist"/>
1748         <optional>
1749             <ref name="common-field-formula-attlist"/>
1750         </optional>
1751         <ref name="common-value-and-type-attlist"/>
1752     </element>
1753 </define>
1754 <define name="paragraph-content" combine="choice">
1755     <element name="text:user-field-get">
1756         <interleave>
1757             <ref name="common-field-name-attlist"/>
1758             <ref name="common-field-display-value-formula-none-attlist"/>
1759             <ref name="common-field-data-style-name-attlist"/>
1760         </interleave>
1761         <text/>
1762     </element>
1763 </define>
1764 <define name="paragraph-content" combine="choice">
1765     <element name="text:user-field-input">
1766         <interleave>
1767             <ref name="common-field-name-attlist"/>
1768             <ref name="common-field-description-attlist"/>
1769             <ref name="common-field-data-style-name-attlist"/>
1770         </interleave>
1771         <text/>
1772     </element>
1773 </define>
1774 <define name="text-sequence-decl">
1775     <element name="text:sequence-decl">
1776         <ref name="text-sequence-decl-attlist"/>
1777     </element>
1778 </define>
1779 <define name="text-sequence-decl-attlist" combine="interleave">
1780     <ref name="common-field-name-attlist"/>
1781 </define>
1782 <define name="text-sequence-decl-attlist" combine="interleave">
1783     <attribute name="text:display-outline-level">
1784         <ref name="nonNegativeInteger"/>
1785     </attribute>
1786 </define>
1787 <define name="text-sequence-decl-attlist" combine="interleave">
1788     <optional>
1789         <attribute name="text:separation-character">
1790             <ref name="character"/>
1791         </attribute>
1792     </optional>
1793 </define>
1794 <define name="paragraph-content" combine="choice">
1795     <element name="text:sequence">
1796         <interleave>
1797             <ref name="common-field-name-attlist"/>
1798             <ref name="common-field-formula-attlist"/>
1799             <ref name="common-field-num-format-attlist"/>
1800             <ref name="text-sequence-ref-name"/>
1801         </interleave>
1802         <text/>
1803     </element>
1804 </define>
1805 <define name="text-sequence-ref-name">
1806     <optional>
1807         <attribute name="text:ref-name">
1808             <ref name="string"/>
1809         </attribute>
1810     </optional>
1811 </define>
1812 <define name="paragraph-content" combine="choice">
1813     <element name="text:expression">
1814         <interleave>
1815             <ref name="common-field-formula-attlist"/>
1816             <optional>
1817                 <ref name="common-value-and-type-attlist"/>
1818             </optional>
1819             <ref name="common-field-display-value-formula-attlist"/>
1820             <ref name="common-field-data-style-name-attlist"/>
1821         </interleave>
1822         <text/>
1823     </element>
1824 </define>
1825 <define name="paragraph-content" combine="choice">
1826     <element name="text:text-input">
1827         <ref name="common-field-description-attlist"/>
1828         <text/>
1829     </element>
1830 </define>
1831 <define name="paragraph-content" combine="choice">
1832     <element name="text:initial-creator">
1833         <ref name="common-field-fixed-attlist"/>
1834         <text/>
1835     </element>
1836 </define>
1837 <define name="paragraph-content" combine="choice">
1838     <element name="text:creation-date">
1839         <interleave>
1840             <ref name="common-field-fixed-attlist"/>
1841             <ref name="common-field-data-style-name-attlist"/>
1842             <optional>
1843                 <attribute name="text:date-value">
1844                     <ref name="dateOrDateTime"/>
1845                 </attribute>
1846             </optional>
1847         </interleave>
1848         <text/>
1849     </element>
1850 </define>
1851 <define name="paragraph-content" combine="choice">
1852     <element name="text:creation-time">
1853         <interleave>
1854             <ref name="common-field-fixed-attlist"/>
1855             <ref name="common-field-data-style-name-attlist"/>
1856             <optional>
1857                 <attribute name="text:time-value">
1858                     <ref name="timeOrDateTime"/>
1859                 </attribute>
1860             </optional>
1861         </interleave>
1862         <text/>
1863     </element>
1864 </define>
1865 <define name="paragraph-content" combine="choice">
1866     <element name="text:description">
1867         <ref name="common-field-fixed-attlist"/>
1868         <text/>
1869     </element>
1870 </define>
1871 <define name="paragraph-content" combine="choice">
1872     <element name="text:user-defined">
1873         <interleave>
1874             <ref name="common-field-fixed-attlist"/>
1875             <attribute name="text:name">
1876                 <ref name="string"/>
1877             </attribute>
1878             <ref name="common-field-data-style-name-attlist"/>
1879             <optional>
1880                 <attribute name="office:value">
1881                     <ref name="double"/>
1882                 </attribute>
1883             </optional>
1884             <optional>
1885                 <attribute name="office:date-value">
1886                     <ref name="dateOrDateTime"/>
1887                 </attribute>
1888             </optional>
1889             <optional>
1890                 <attribute name="office:time-value">
1891                     <ref name="duration"/>
1892                 </attribute>
1893             </optional>
1894             <optional>
1895                 <attribute name="office:boolean-value">
1896                     <ref name="boolean"/>
1897                 </attribute>
1898             </optional>
1899             <optional>
1900                 <attribute name="office:string-value">
1901                     <ref name="string"/>
1902                 </attribute>
1903             </optional>
1904         </interleave>
1905         <text/>
1906     </element>
1907 </define>
1908 <define name="paragraph-content" combine="choice">
1909     <element name="text:print-time">
1910         <interleave>
1911             <ref name="common-field-fixed-attlist"/>
1912             <ref name="common-field-data-style-name-attlist"/>
1913             <optional>
1914                 <attribute name="text:time-value">
1915                     <ref name="time"/>
1916                 </attribute>
1917             </optional>
1918         </interleave>
1919         <text/>
1920     </element>
1921 </define>
1922 <define name="paragraph-content" combine="choice">
1923     <element name="text:print-date">
1924         <interleave>
1925             <ref name="common-field-fixed-attlist"/>
1926             <ref name="common-field-data-style-name-attlist"/>
1927             <optional>
1928                 <attribute name="text:date-value">
1929                     <ref name="date"/>
1930                 </attribute>
1931             </optional>
1932         </interleave>
1933         <text/>
1934     </element>
1935 </define>
1936 <define name="paragraph-content" combine="choice">
1937     <element name="text:printed-by">
1938         <ref name="common-field-fixed-attlist"/>
1939         <text/>
1940     </element>
1941 </define>
1942 <define name="paragraph-content" combine="choice">
1943     <element name="text:title">
1944         <ref name="common-field-fixed-attlist"/>
1945         <text/>
1946     </element>
1947 </define>
1948 <define name="paragraph-content" combine="choice">
1949     <element name="text:subject">
1950         <ref name="common-field-fixed-attlist"/>
1951         <text/>
1952     </element>
1953 </define>
1954 <define name="paragraph-content" combine="choice">
1955     <element name="text:keywords">
1956         <ref name="common-field-fixed-attlist"/>
1957         <text/>
1958     </element>
1959 </define>
1960 <define name="paragraph-content" combine="choice">
1961     <element name="text:editing-cycles">
1962         <ref name="common-field-fixed-attlist"/>
1963         <text/>
1964     </element>
1965 </define>
1966 <define name="paragraph-content" combine="choice">
1967     <element name="text:editing-duration">
1968         <interleave>
1969             <ref name="common-field-fixed-attlist"/>
1970             <ref name="common-field-data-style-name-attlist"/>
1971             <optional>
1972                 <attribute name="text:duration">
1973                     <ref name="duration"/>
1974                 </attribute>
1975             </optional>
1976         </interleave>
1977         <text/>
1978     </element>
1979 </define>
1980 <define name="paragraph-content" combine="choice">
1981     <element name="text:modification-time">
1982         <interleave>
1983             <ref name="common-field-fixed-attlist"/>
1984             <ref name="common-field-data-style-name-attlist"/>
1985             <optional>
1986                 <attribute name="text:time-value">
1987                     <ref name="time"/>
1988                 </attribute>
1989             </optional>
1990         </interleave>
1991         <text/>
1992     </element>
1993 </define>
1994 <define name="paragraph-content" combine="choice">
1995     <element name="text:modification-date">
1996         <interleave>
1997             <ref name="common-field-fixed-attlist"/>
1998             <ref name="common-field-data-style-name-attlist"/>
1999             <optional>
2000                 <attribute name="text:date-value">
2001                     <ref name="date"/>
2002                 </attribute>
2003             </optional>
2004         </interleave>
2005         <text/>
2006     </element>
2007 </define>
2008 <define name="paragraph-content" combine="choice">
2009     <element name="text:creator">
2010         <ref name="common-field-fixed-attlist"/>
2011         <text/>
2012     </element>
2013 </define>
2014 <define name="paragraph-content" combine="choice">
2015     <element>
2016         <choice>
2017             <name>text:page-count</name>
2018             <name>text:paragraph-count</name>
2019             <name>text:word-count</name>
2020             <name>text:character-count</name>
2021             <name>text:table-count</name>
2022             <name>text:image-count</name>
2023             <name>text:object-count</name>
2024         </choice>
2025         <ref name="common-field-num-format-attlist"/>
2026         <text/>
2027     </element>
2028 </define>
2029 <define name="common-field-database-table">
2030     <ref name="common-field-database-table-attlist"/>
2031     <ref name="common-field-database-name"/>
2032 </define>
2033 <define name="common-field-database-name" combine="choice">
2034     <optional>
2035         <attribute name="text:database-name">
2036             <ref name="string"/>
2037         </attribute>
2038     </optional>
2039 </define>
2040 <define name="common-field-database-name" combine="choice">
2041     <ref name="form-connection-resource"/>
2042 </define>
2043 <define name="common-field-database-table-attlist" combine="interleave">
2044     <attribute name="text:table-name">
2045         <ref name="string"/>
2046     </attribute>
2047 </define>
2048 <define name="common-field-database-table-attlist" combine="interleave">
2049     <optional>
2050         <attribute name="text:table-type">
2051             <choice>
2052                 <value>table</value>
2053                 <value>query</value>
2054                 <value>command</value>
2055             </choice>
2056         </attribute>
2057     </optional>
2058 </define>
2059 <define name="paragraph-content" combine="choice">
2060     <element name="text:database-display">
2061         <ref name="text-database-display-attlist"/>
2062         <text/>
2063     </element>
2064 </define>
2065 <define name="text-database-display-attlist" combine="interleave">
2066     <ref name="common-field-database-table"/>
2067 </define>
2068 <define name="text-database-display-attlist" combine="interleave">
2069     <ref name="common-field-data-style-name-attlist"/>
2070 </define>
2071 <define name="text-database-display-attlist" combine="interleave">
2072     <attribute name="text:column-name">
2073         <ref name="string"/>
2074     </attribute>
2075 </define>
2076 <define name="paragraph-content" combine="choice">
2077     <element name="text:database-next">
2078         <ref name="text-database-next-attlist"/>
2079     </element>
2080 </define>
2081 <define name="text-database-next-attlist" combine="interleave">
2082     <ref name="common-field-database-table"/>
2083 </define>
2084 <define name="text-database-next-attlist" combine="interleave">
2085     <optional>
2086         <attribute name="text:condition">
2087             <ref name="formula"/>
2088         </attribute>
2089     </optional>
2090 </define>
2091 <define name="paragraph-content" combine="choice">
2092     <element name="text:database-row-select">
2093         <ref name="text-database-row-select-attlist"/>
2094     </element>
2095 </define>
2096 <define name="text-database-row-select-attlist" combine="interleave">
2097     <ref name="common-field-database-table"/>
2098 </define>
2099 <define name="text-database-row-select-attlist" combine="interleave">
2100     <optional>
2101         <attribute name="text:condition">
2102             <ref name="formula"/>
2103         </attribute>
2104     </optional>
2105 </define>
2106 <define name="text-database-row-select-attlist" combine="interleave">
2107     <optional>
2108         <attribute name="text:row-number">
2109             <ref name="nonNegativeInteger"/>
2110         </attribute>
2111     </optional>
2112 </define>
2113 <define name="paragraph-content" combine="choice">
2114     <element name="text:database-row-number">
2115         <interleave>
2116             <ref name="common-field-database-table"/>
2117             <ref name="common-field-num-format-attlist"/>
2118             <optional>
2119                 <attribute name="text:value">
2120                     <ref name="nonNegativeInteger"/>
2121                 </attribute>
2122             </optional>
2123         </interleave>
2124         <text/>
2125     </element>
2126 </define>
2127 <define name="paragraph-content" combine="choice">
2128     <element name="text:database-name">
2129         <ref name="common-field-database-table"/>
2130         <text/>
2131     </element>
2132 </define>
2133 <define name="paragraph-content" combine="choice">
2134     <element name="text:page-variable-set">
2135         <ref name="text-set-page-variable-attlist"/>
2136         <text/>
2137     </element>
2138 </define>
2139 <define name="text-set-page-variable-attlist" combine="interleave">
2140     <optional>
2141         <attribute name="text:active">
2142             <ref name="boolean"/>
2143         </attribute>
2144     </optional>
2145 </define>
2146 <define name="text-set-page-variable-attlist" combine="interleave">
2147     <optional>
2148         <attribute name="text:page-adjust">
2149             <ref name="integer"/>
2150         </attribute>
2151     </optional>
2152 </define>
2153 <define name="paragraph-content" combine="choice">
2154     <element name="text:page-variable-get">
2155         <ref name="text-get-page-variable-attlist"/>
2156         <text/>
2157     </element>
2158 </define>
2159 <define name="text-get-page-variable-attlist" combine="interleave">
2160     <ref name="common-field-num-format-attlist"/>
2161 </define>
2162 <define name="paragraph-content" combine="choice">
2163     <element name="text:placeholder">
2164         <ref name="text-placeholder-attlist"/>
2165         <text/>
2166     </element>
2167 </define>
2168 <define name="text-placeholder-attlist" combine="interleave">
2169     <attribute name="text:placeholder-type">
2170         <choice>
2171             <value>text</value>
2172             <value>table</value>
2173             <value>text-box</value>
2174             <value>image</value>
2175             <value>object</value>
2176         </choice>
2177     </attribute>
2178 </define>
2179 <define name="text-placeholder-attlist" combine="interleave">
2180     <ref name="common-field-description-attlist"/>
2181 </define>
2182 <define name="paragraph-content" combine="choice">
2183     <element name="text:conditional-text">
2184         <ref name="text-conditional-text-attlist"/>
2185         <text/>
2186     </element>
2187 </define>
2188 <define name="text-conditional-text-attlist" combine="interleave">
2189     <attribute name="text:condition">
2190         <ref name="formula"/>
2191     </attribute>
2192 </define>
2193 <define name="text-conditional-text-attlist" combine="interleave">
2194     <attribute name="text:string-value-if-true">
2195         <ref name="string"/>
2196     </attribute>
2197 </define>
2198 <define name="text-conditional-text-attlist" combine="interleave">
2199     <attribute name="text:string-value-if-false">
2200         <ref name="string"/>
2201     </attribute>
2202 </define>
2203 <define name="text-conditional-text-attlist" combine="interleave">
2204     <optional>
2205         <attribute name="text:current-value">
2206             <ref name="boolean"/>
2207         </attribute>
2208     </optional>
2209 </define>
2210 <define name="paragraph-content" combine="choice">
2211     <element name="text:hidden-text">
2212         <ref name="text-hidden-text-attlist"/>
2213         <text/>
2214     </element>
2215 </define>
2216 <define name="text-hidden-text-attlist" combine="interleave">
2217     <attribute name="text:condition">
2218         <ref name="formula"/>
2219     </attribute>
2220 </define>
2221 <define name="text-hidden-text-attlist" combine="interleave">
2222     <attribute name="text:string-value">
2223         <ref name="string"/>
2224     </attribute>
2225 </define>
2226 <define name="text-hidden-text-attlist" combine="interleave">
2227     <optional>
2228         <attribute name="text:is-hidden">
2229             <ref name="boolean"/>
2230         </attribute>
2231     </optional>
2232 </define>
2233 <define name="paragraph-content" combine="choice">
2234     <element>
2235         <choice>
2236             <name>text:reference-ref</name>
2237             <name>text:bookmark-ref</name>
2238         </choice>
2239         <interleave>
2240             <ref name="text-common-ref-content"/>
2241             <ref name="text-ref-content"/>
2242         </interleave>
2243     </element>
2244 </define>
2245 <define name="paragraph-content" combine="choice">
2246     <element name="text:note-ref">
2247         <interleave>
2248             <ref name="text-common-ref-content"/>
2249             <ref name="text-note-ref-content"/>
2250             <ref name="text-ref-content"/>
2251         </interleave>
2252     </element>
2253 </define>
2254 <define name="paragraph-content" combine="choice">
2255     <element name="text:sequence-ref">
2256         <interleave>
2257             <ref name="text-common-ref-content"/>
2258             <ref name="text-sequence-ref-content"/>
2259         </interleave>
2260     </element>
2261 </define>
2262 <define name="text-common-ref-content" combine="interleave">
2263     <text/>
2264 </define>
2265 <define name="text-common-ref-content" combine="interleave">
2266     <optional>
2267         <attribute name="text:ref-name">
2268             <ref name="string"/>
2269         </attribute>
2270     </optional>
2271 </define>
2272 <define name="text-note-ref-content" combine="interleave">
2273     <ref name="text-note-class"/>
2274 </define>
2275 <define name="text-ref-content" combine="interleave">
2276     <optional>
2277         <attribute name="text:reference-format">
2278             <choice>
2279                 <value>page</value>
2280                 <value>chapter</value>
2281                 <value>direction</value>
2282                 <value>text</value>
2283             </choice>
2284         </attribute>
2285     </optional>
2286 </define>
2287 <define name="text-sequence-ref-content" combine="interleave">
2288     <optional>
2289         <attribute name="text:reference-format">
2290             <choice>
2291                 <value>page</value>
2292                 <value>chapter</value>
2293                 <value>direction</value>
2294                 <value>text</value>
2295                 <value>category-and-value</value>
2296                 <value>caption</value>
2297                 <value>value</value>
2298             </choice>
2299         </attribute>
2300     </optional>
2301 </define>
2302 <define name="paragraph-content" combine="choice">
2303     <element name="text:script">
2304         <interleave>
2305             <choice>
2306                 <group>
2307                     <attribute name="xlink:href">
2308                         <ref name="anyURI"/>
2309                     </attribute>
2310                     <optional>
2311                         <attribute name="xlink:type" a:defaultValue="simple">
2312                             <value>simple</value>
2313                         </attribute>
2314                     </optional>
2315                 </group>    
2316                 <text/>
2317             </choice>
2318             <optional>
2319                 <attribute name="script:language">
2320                     <ref name="string"/>
2321                 </attribute>
2322             </optional>
2323         </interleave>
2324     </element>
2325 </define>
2326 <define name="paragraph-content" combine="choice">
2327     <element name="text:execute-macro">
2328         <optional>
2329             <attribute name="text:name">
2330                 <ref name="string"/>
2331             </attribute>
2332         </optional>
2333         <optional>
2334             <ref name="office-event-listeners"/>
2335         </optional>
2336         <text/>
2337     </element>
2338 </define>
2339 <define name="paragraph-content" combine="choice">
2340     <element name="text:hidden-paragraph">
2341         <ref name="text-hidden-paragraph-attlist"/>
2342         <text/>
2343     </element>
2344 </define>
2345 <define name="text-hidden-paragraph-attlist" combine="interleave">
2346     <attribute name="text:condition">
2347         <ref name="formula"/>
2348     </attribute>
2349 </define>
2350 <define name="text-hidden-paragraph-attlist" combine="interleave">
2351     <optional>
2352         <attribute name="text:is-hidden">
2353             <ref name="boolean"/>
2354         </attribute>
2355     </optional>
2356 </define>
2357 <define name="paragraph-content" combine="choice">
2358     <element name="text:dde-connection">
2359         <attribute name="text:connection-name">
2360             <ref name="string"/>
2361         </attribute>
2362         <text/>
2363     </element>
2364 </define>
2365 <define name="paragraph-content" combine="choice">
2366     <element name="text:measure">
2367         <attribute name="text:kind">
2368             <choice>
2369                 <value>value</value>
2370                 <value>unit</value>
2371                 <value>gap</value>
2372             </choice>
2373         </attribute>
2374         <text/>
2375     </element>
2376 </define>
2377 <define name="paragraph-content" combine="choice">
2378     <element name="text:table-formula">
2379         <interleave>
2380             <ref name="common-field-formula-attlist"/>
2381             <ref name="common-field-display-value-formula-attlist"/>
2382             <ref name="common-field-data-style-name-attlist"/>
2383         </interleave>
2384         <text/>
2385     </element>
2386 </define>
2387 <define name="common-value-type-attlist">
2388     <attribute name="office:value-type">
2389         <ref name="valueType"/>
2390     </attribute>
2391 </define>
2392 <define name="common-value-and-type-attlist">
2393     <choice>
2394         <group>
2395             <attribute name="office:value-type">
2396                 <value>float</value>
2397             </attribute>
2398             <attribute name="office:value">
2399                 <ref name="double"/>
2400             </attribute>
2401         </group>
2402         <group>
2403             <attribute name="office:value-type">
2404                 <value>percentage</value>
2405             </attribute>
2406             <attribute name="office:value">
2407                 <ref name="double"/>
2408             </attribute>
2409         </group>
2410         <group>
2411             <attribute name="office:value-type">
2412                 <value>currency</value>
2413             </attribute>
2414             <attribute name="office:value">
2415                 <ref name="double"/>
2416             </attribute>
2417             <optional>
2418                 <attribute name="office:currency">
2419                     <ref name="string"/>
2420                 </attribute>
2421             </optional>
2422         </group>
2423         <group>
2424             <attribute name="office:value-type">
2425                 <value>date</value>
2426             </attribute>
2427             <attribute name="office:date-value">
2428                 <ref name="dateOrDateTime"/>
2429             </attribute>
2430         </group>
2431         <group>
2432             <attribute name="office:value-type">
2433                 <value>time</value>
2434             </attribute>
2435             <attribute name="office:time-value">
2436                 <ref name="duration"/>
2437             </attribute>
2438         </group>
2439         <group>
2440             <attribute name="office:value-type">
2441                 <value>boolean</value>
2442             </attribute>
2443             <attribute name="office:boolean-value">
2444                 <ref name="boolean"/>
2445             </attribute>
2446         </group>
2447         <group>
2448             <attribute name="office:value-type">
2449                 <value>string</value>
2450             </attribute>
2451             <optional>
2452                 <attribute name="office:string-value">
2453                     <ref name="string"/>
2454                 </attribute>
2455             </optional>
2456         </group>
2457     </choice>
2458 </define>
2459 <define name="common-field-fixed-attlist">
2460     <optional>
2461         <attribute name="text:fixed">
2462             <ref name="boolean"/>
2463         </attribute>
2464     </optional>
2465 </define>
2466 <define name="common-field-name-attlist">
2467     <attribute name="text:name">
2468         <ref name="variableName"/>
2469     </attribute>
2470 </define>
2471 <define name="common-field-description-attlist">
2472     <optional>
2473         <attribute name="text:description">
2474             <text/>
2475         </attribute>
2476     </optional>
2477 </define>
2478 <define name="common-field-display-value-none-attlist">
2479     <optional>
2480         <attribute name="text:display">
2481             <choice>
2482                 <value>value</value>
2483                 <value>none</value>
2484             </choice>
2485         </attribute>
2486     </optional>
2487 </define>
2488 <define name="common-field-display-value-formula-none-attlist">
2489     <optional>
2490         <attribute name="text:display">
2491             <choice>
2492                 <value>value</value>
2493                 <value>formula</value>
2494                 <value>none</value>
2495             </choice>
2496         </attribute>
2497     </optional>
2498 </define>
2499 <define name="common-field-display-value-formula-attlist">
2500     <optional>
2501         <attribute name="text:display">
2502             <choice>
2503                 <value>value</value>
2504                 <value>formula</value>
2505             </choice>
2506         </attribute>
2507     </optional>
2508 </define>
2509 <define name="common-field-formula-attlist">
2510     <optional>
2511         <attribute name="text:formula">
2512             <ref name="formula"/>
2513         </attribute>
2514     </optional>
2515 </define>
2516 <define name="common-field-data-style-name-attlist">
2517     <optional>
2518         <attribute name="style:data-style-name">
2519             <ref name="styleNameRef"/>
2520         </attribute>
2521     </optional>
2522 </define>
2523 <define name="common-field-num-format-attlist">
2524     <optional>
2525         <ref name="common-num-format-attlist"/>
2526     </optional>
2527 </define>
2528 <define name="paragraph-content" combine="choice">
2529     <element name="text:toc-mark-start">
2530         <ref name="text-toc-mark-start-attrs"/>
2531     </element>
2532 </define>
2533 <define name="text-toc-mark-start-attrs">
2534     <ref name="text-id"/>
2535     <ref name="text-outline-level"/>
2536 </define>
2537 <define name="text-outline-level">
2538     <optional>
2539         <attribute name="text:outline-level">
2540             <ref name="positiveInteger"/>
2541         </attribute>
2542     </optional>
2543 </define>
2544 <define name="text-id">
2545     <attribute name="text:id">
2546         <ref name="string"/>
2547     </attribute>
2548 </define>
2549 <define name="paragraph-content" combine="choice">
2550     <element name="text:toc-mark-end">
2551         <ref name="text-id"/>
2552     </element>
2553 </define>
2554 <define name="paragraph-content" combine="choice">
2555     <element name="text:toc-mark">
2556         <attribute name="text:string-value">
2557             <ref name="string"/>
2558         </attribute>
2559         <ref name="text-outline-level"/>
2560     </element>
2561 </define>
2562 <define name="paragraph-content" combine="choice">
2563     <element name="text:user-index-mark-start">
2564         <ref name="text-id"/>
2565         <ref name="text-outline-level"/>
2566         <ref name="text-index-name"/>
2567     </element>
2568 </define>
2569 <define name="paragraph-content" combine="choice">
2570     <element name="text:user-index-mark-end">
2571         <ref name="text-id"/>
2572         <ref name="text-outline-level"/>
2573     </element>
2574 </define>
2575 <define name="paragraph-content" combine="choice">
2576     <element name="text:user-index-mark">
2577         <attribute name="text:string-value">
2578             <ref name="string"/>
2579         </attribute>
2580         <ref name="text-outline-level"/>
2581         <ref name="text-index-name"/>
2582     </element>
2583 </define>
2584 <define name="text-index-name">
2585     <attribute name="text:index-name">
2586         <ref name="string"/>
2587     </attribute>
2588 </define>
2589 <define name="paragraph-content" combine="choice">
2590     <element name="text:alphabetical-index-mark-start">
2591         <ref name="text-id"/>
2592         <ref name="text-alphabetical-index-mark-attrs"/>
2593     </element>
2594 </define>
2595 <define name="paragraph-content" combine="choice">
2596     <element name="text:alphabetical-index-mark-end">
2597         <ref name="text-id"/>
2598     </element>
2599 </define>
2600 <define name="paragraph-content" combine="choice">
2601     <element name="text:alphabetical-index-mark">
2602         <attribute name="text:string-value">
2603             <ref name="string"/>
2604         </attribute>
2605         <ref name="text-alphabetical-index-mark-attrs"/>
2606     </element>
2607 </define>
2608 <define name="text-alphabetical-index-mark-attrs" combine="interleave">
2609     <optional>
2610         <attribute name="text:key1">
2611             <ref name="string"/>
2612         </attribute>
2613     </optional>
2614     <optional>
2615         <attribute name="text:key2">
2616             <ref name="string"/>
2617         </attribute>
2618     </optional>
2619 </define>
2620 <define name="text-alphabetical-index-mark-attrs" combine="interleave">
2621     <optional>
2622         <attribute name="text:string-value-phonetic">
2623             <ref name="string"/>
2624         </attribute>
2625     </optional>
2626     <optional>
2627         <attribute name="text:key1-phonetic">
2628             <ref name="string"/>
2629         </attribute>
2630     </optional>
2631     <optional>
2632         <attribute name="text:key2-phonetic">
2633             <ref name="string"/>
2634         </attribute>
2635     </optional>
2636 </define>
2637 <define name="text-alphabetical-index-mark-attrs" combine="interleave">
2638     <optional>
2639         <attribute name="text:main-entry" a:defaultValue="false">
2640             <ref name="boolean"/>
2641         </attribute>
2642     </optional>
2643 </define>
2644 <define name="paragraph-content" combine="choice">
2645     <element name="text:bibliography-mark">
2646         <attribute name="text:bibliography-type">
2647             <ref name="text-bibliography-types"/>
2648         </attribute>
2649         <zeroOrMore>
2650             <attribute>
2651                 <choice>
2652                     <name>text:identifier</name>
2653                     <name>text:address</name>
2654                     <name>text:annote</name>
2655                     <name>text:author</name>
2656                     <name>text:booktitle</name>
2657                     <name>text:chapter</name>
2658                     <name>text:edition</name>
2659                     <name>text:editor</name>
2660                     <name>text:howpublished</name>
2661                     <name>text:institution</name>
2662                     <name>text:journal</name>
2663                     <name>text:month</name>
2664                     <name>text:note</name>
2665                     <name>text:number</name>
2666                     <name>text:organizations</name>
2667                     <name>text:pages</name>
2668                     <name>text:publisher</name>
2669                     <name>text:school</name>
2670                     <name>text:series</name>
2671                     <name>text:title</name>
2672                     <name>text:report-type</name>
2673                     <name>text:volume</name>
2674                     <name>text:year</name>
2675                     <name>text:url</name>
2676                     <name>text:custom1</name>
2677                     <name>text:custom2</name>
2678                     <name>text:custom3</name>
2679                     <name>text:custom4</name>
2680                     <name>text:custom5</name>
2681                     <name>text:isbn</name>
2682                     <name>text:issn</name>
2683                 </choice>
2684                 <ref name="string"/>
2685             </attribute>
2686         </zeroOrMore>
2687         <text/>
2688     </element>
2689 </define>
2690 <define name="text-bibliography-types">
2691     <choice>
2692         <value>article</value>
2693         <value>book</value>
2694         <value>booklet</value>
2695         <value>conference</value>
2696         <value>custom1</value>
2697         <value>custom2</value>
2698         <value>custom3</value>
2699         <value>custom4</value>
2700         <value>custom5</value>
2701         <value>email</value>
2702         <value>inbook</value>
2703         <value>incollection</value>
2704         <value>inproceedings</value>
2705         <value>journal</value>
2706         <value>manual</value>
2707         <value>mastersthesis</value>
2708         <value>misc</value>
2709         <value>phdthesis</value>
2710         <value>proceedings</value>
2711         <value>techreport</value>
2712         <value>unpublished</value>
2713         <value>www</value>
2714     </choice>
2715 </define>
2716 <define name="text-index-body">
2717     <element name="text:index-body">
2718         <zeroOrMore>
2719             <ref name="index-content-main"/>
2720         </zeroOrMore>
2721     </element>
2722 </define>
2723 <define name="index-content-main">
2724     <choice>
2725         <ref name="text-content"/>
2726         <ref name="text-index-title"/>
2727     </choice>
2728 </define>
2729 <define name="text-index-title">
2730     <element name="text:index-title">
2731         <ref name="sectionAttr"/>
2732         <zeroOrMore>
2733             <ref name="index-content-main"/>
2734         </zeroOrMore>
2735     </element>
2736 </define>
2737 <define name="text-table-of-content">
2738     <element name="text:table-of-content">
2739         <ref name="sectionAttr"/>
2740         <ref name="text-table-of-content-source"/>
2741         <ref name="text-index-body"/>
2742     </element>
2743 </define>
2744 <define name="text-table-of-content-source">
2745     <element name="text:table-of-content-source">
2746         <ref name="text-table-of-content-source-attlist"/>
2747         <optional>
2748             <ref name="text-index-title-template"/>
2749         </optional>
2750         <zeroOrMore>
2751             <ref name="text-table-of-content-entry-template"/>
2752         </zeroOrMore>
2753         <zeroOrMore>
2754             <ref name="text-index-source-styles"/>
2755         </zeroOrMore>
2756     </element>
2757 </define>
2758 <define name="text-table-of-content-source-attlist" combine="interleave">
2759     <optional>
2760         <attribute name="text:outline-level">
2761             <choice>
2762                 <ref name="positiveInteger"/>
2763             </choice>
2764         </attribute>
2765     </optional>
2766 </define>
2767 <define name="text-table-of-content-source-attlist" combine="interleave">
2768     <optional>
2769         <attribute name="text:use-outline-level" a:defaultValue="true">
2770             <ref name="boolean"/>
2771         </attribute>
2772     </optional>
2773 </define>
2774 <define name="text-table-of-content-source-attlist" combine="interleave">
2775     <optional>
2776         <attribute name="text:use-index-marks">
2777             <ref name="boolean"/>
2778         </attribute>
2779     </optional>
2780 </define>
2781 <define name="text-table-of-content-source-attlist" combine="interleave">
2782     <optional>
2783         <attribute name="text:use-index-source-styles">
2784             <ref name="boolean"/>
2785         </attribute>
2786     </optional>
2787 </define>
2788 <define name="text-table-of-content-source-attlist" combine="interleave">
2789     <optional>
2790         <attribute name="text:index-scope">
2791             <choice>
2792                 <value>document</value>
2793                 <value>chapter</value>
2794             </choice>
2795         </attribute>
2796     </optional>
2797 </define>
2798 <define name="text-table-of-content-source-attlist" combine="interleave">
2799     <optional>
2800         <attribute name="text:relative-tab-stop-position">
2801             <ref name="boolean"/>
2802         </attribute>
2803     </optional>
2804 </define>
2805 <define name="text-table-of-content-entry-template">
2806     <element name="text:table-of-content-entry-template">
2807         <ref name="text-table-of-content-entry-template-attlist"/>
2808         <zeroOrMore>
2809             <ref name="text-table-of-content-children"/>
2810 
2811         </zeroOrMore>
2812     </element>
2813 </define>
2814 <define name="text-table-of-content-children">
2815     <choice>
2816         <ref name="text-index-entry-chapter"/>
2817         <ref name="text-index-entry-page-number"/>
2818         <ref name="text-index-entry-text"/>
2819         <ref name="text-index-entry-span"/>
2820         <ref name="text-index-entry-tab-stop"/>
2821         <ref name="text-index-entry-link-start"/>
2822         <ref name="text-index-entry-link-end"/>
2823     </choice>
2824 </define>
2825 <define name="text-table-of-content-entry-template-attlist"
2826         combine="interleave">
2827     <attribute name="text:outline-level">
2828         <ref name="positiveInteger"/>
2829     </attribute>
2830 </define>
2831 <define name="text-table-of-content-entry-template-attlist"
2832         combine="interleave">
2833     <attribute name="text:style-name">
2834         <ref name="styleNameRef"/>
2835     </attribute>
2836 </define>
2837 <define name="text-illustration-index">
2838     <element name="text:illustration-index">
2839         <ref name="sectionAttr"/>
2840         <ref name="text-illustration-index-source"/>
2841         <ref name="text-index-body"/>
2842     </element>
2843 </define>
2844 <define name="text-illustration-index-source">
2845     <element name="text:illustration-index-source">
2846         <ref name="text-illustration-index-source-attrs"/>
2847         <optional>
2848             <ref name="text-index-title-template"/>
2849         </optional>
2850         <optional>
2851             <ref name="text-illustration-index-entry-template"/>
2852         </optional>
2853     </element>
2854 </define>
2855 <define name="text-illustration-index-source-attrs" combine="interleave">
2856     <ref name="text-index-scope-attr"/>
2857 </define>
2858 <define name="text-index-scope-attr">
2859     <optional>
2860         <attribute name="text:index-scope" a:defaultValue="document">
2861             <choice>
2862                 <value>document</value>
2863                 <value>chapter</value>
2864             </choice>
2865         </attribute>
2866     </optional>
2867 </define>
2868 <define name="text-illustration-index-source-attrs" combine="interleave">
2869     <ref name="text-relative-tab-stop-position-attr"/>
2870 </define>
2871 <define name="text-relative-tab-stop-position-attr">
2872     <optional>
2873         <attribute name="text:relative-tab-stop-position"
2874                    a:defaultValue="true">
2875             <ref name="boolean"/>
2876         </attribute>
2877     </optional>
2878 </define>
2879 <define name="text-illustration-index-source-attrs" combine="interleave">
2880     <optional>
2881         <attribute name="text:use-caption" a:defaultValue="true">
2882             <ref name="boolean"/>
2883         </attribute>
2884     </optional>
2885 </define>
2886 <define name="text-illustration-index-source-attrs" combine="interleave">
2887     <optional>
2888         <attribute name="text:caption-sequence-name">
2889             <ref name="string"/>
2890         </attribute>
2891     </optional>
2892 </define>
2893 <define name="text-illustration-index-source-attrs" combine="interleave">
2894     <optional>
2895         <attribute name="text:caption-sequence-format">
2896             <choice>
2897                 <value>text</value>
2898                 <value>category-and-value</value>
2899                 <value>caption</value>
2900             </choice>
2901         </attribute>
2902     </optional>
2903 </define>
2904 <define name="text-illustration-index-entry-template">
2905     <element name="text:illustration-index-entry-template">
2906         <ref name="text-illustration-index-entry-content"/>
2907     </element>
2908 </define>
2909 <define name="text-illustration-index-entry-content">
2910     <ref name="text-illustration-index-entry-template-attrs"/>
2911     <zeroOrMore>
2912         <choice>
2913             <ref name="text-index-entry-page-number"/>
2914             <ref name="text-index-entry-text"/>
2915             <ref name="text-index-entry-span"/>
2916             <ref name="text-index-entry-tab-stop"/>
2917         </choice>
2918     </zeroOrMore>
2919 </define>
2920 <define name="text-illustration-index-entry-template-attrs">
2921     <attribute name="text:style-name">
2922         <ref name="styleNameRef"/>
2923     </attribute>
2924 </define>
2925 <define name="text-table-index">
2926     <element name="text:table-index">
2927         <ref name="sectionAttr"/>
2928         <ref name="text-table-index-source"/>
2929         <ref name="text-index-body"/>
2930     </element>
2931 </define>
2932 <define name="text-table-index-source">
2933     <element name="text:table-index-source">
2934         <ref name="text-illustration-index-source-attrs"/>
2935         <optional>
2936             <ref name="text-index-title-template"/>
2937         </optional>
2938         <optional>
2939             <ref name="text-table-index-entry-template"/>
2940         </optional>
2941     </element>
2942 </define>
2943 <define name="text-table-index-entry-template">
2944     <element name="text:table-index-entry-template">
2945         <ref name="text-illustration-index-entry-content"/>
2946     </element>
2947 </define>
2948 <define name="text-object-index">
2949     <element name="text:object-index">
2950         <ref name="sectionAttr"/>
2951         <ref name="text-object-index-source"/>
2952         <ref name="text-index-body"/>
2953     </element>
2954 </define>
2955 <define name="text-object-index-source">
2956     <element name="text:object-index-source">
2957         <ref name="text-object-index-source-attrs"/>
2958         <optional>
2959             <ref name="text-index-title-template"/>
2960         </optional>
2961         <optional>
2962             <ref name="text-object-index-entry-template"/>
2963         </optional>
2964     </element>
2965 </define>
2966 <define name="text-object-index-source-attrs" combine="interleave">
2967     <ref name="text-index-scope-attr"/>
2968 </define>
2969 <define name="text-object-index-source-attrs" combine="interleave">
2970     <ref name="text-relative-tab-stop-position-attr"/>
2971 </define>
2972 <define name="text-object-index-source-attrs" combine="interleave">
2973     <optional>
2974         <attribute name="text:use-spreadsheet-objects" a:defaultValue="false">
2975             <ref name="boolean"/>
2976         </attribute>
2977     </optional>
2978 </define>
2979 <define name="text-object-index-source-attrs" combine="interleave">
2980     <optional>
2981         <attribute name="text:use-math-objects" a:defaultValue="false">
2982             <ref name="boolean"/>
2983         </attribute>
2984     </optional>
2985 </define>
2986 <define name="text-object-index-source-attrs" combine="interleave">
2987     <optional>
2988         <attribute name="text:use-draw-objects" a:defaultValue="false">
2989             <ref name="boolean"/>
2990         </attribute>
2991     </optional>
2992 </define>
2993 <define name="text-object-index-source-attrs" combine="interleave">
2994     <optional>
2995         <attribute name="text:use-chart-objects" a:defaultValue="false">
2996             <ref name="boolean"/>
2997         </attribute>
2998     </optional>
2999 </define>
3000 <define name="text-object-index-source-attrs" combine="interleave">
3001     <optional>
3002         <attribute name="text:use-other-objects" a:defaultValue="false">
3003             <ref name="boolean"/>
3004         </attribute>
3005     </optional>
3006 </define>
3007 <define name="text-object-index-entry-template">
3008     <element name="text:object-index-entry-template">
3009         <ref name="text-illustration-index-entry-content"/>
3010     </element>
3011 </define>
3012 <define name="text-user-index">
3013     <element name="text:user-index">
3014         <ref name="sectionAttr"/>
3015         <ref name="text-user-index-source"/>
3016         <ref name="text-index-body"/>
3017     </element>
3018 </define>
3019 <define name="text-user-index-source">
3020     <element name="text:user-index-source">
3021         <ref name="text-user-index-source-attr"/>
3022         <optional>
3023             <ref name="text-index-title-template"/>
3024         </optional>
3025         <zeroOrMore>
3026             <ref name="text-user-index-entry-template"/>
3027         </zeroOrMore>
3028         <zeroOrMore>
3029             <ref name="text-index-source-styles"/>
3030         </zeroOrMore>
3031     </element>
3032 </define>
3033 <define name="text-user-index-source-attr" combine="interleave">
3034     <ref name="text-index-scope-attr"/>
3035     <ref name="text-relative-tab-stop-position-attr"/>
3036     <attribute name="text:index-name">
3037         <ref name="string"/>
3038     </attribute>
3039 </define>
3040 <define name="text-user-index-source-attr" combine="interleave">
3041     <optional>
3042         <attribute name="text:use-index-marks" a:defaultValue="false">
3043             <ref name="boolean"/>
3044         </attribute>
3045     </optional>
3046     <optional>
3047         <attribute name="text:use-graphics" a:defaultValue="false">
3048             <ref name="boolean"/>
3049         </attribute>
3050     </optional>
3051     <optional>
3052         <attribute name="text:use-tables" a:defaultValue="false">
3053             <ref name="boolean"/>
3054         </attribute>
3055     </optional>
3056     <optional>
3057         <attribute name="text:use-floating-frames"
3058                      a:defaultValue="false">
3059             <ref name="boolean"/>
3060         </attribute>
3061     </optional>
3062     <optional>
3063         <attribute name="text:use-objects" a:defaultValue="false">
3064             <ref name="boolean"/>
3065         </attribute>
3066     </optional>
3067 </define>
3068 <define name="text-user-index-source-attr" combine="interleave">
3069     <optional>
3070         <attribute name="text:copy-outline-levels"
3071                      a:defaultValue="false">
3072             <ref name="boolean"/>
3073         </attribute>
3074     </optional>
3075 </define>
3076 <define name="text-user-index-entry-template">
3077     <element name="text:user-index-entry-template">
3078         <ref name="text-user-index-entry-template-attrs"/>
3079         <zeroOrMore>
3080             <choice>
3081                 <ref name="text-index-entry-chapter"/>
3082                 <ref name="text-index-entry-page-number"/>
3083                 <ref name="text-index-entry-text"/>
3084                 <ref name="text-index-entry-span"/>
3085                 <ref name="text-index-entry-tab-stop"/>
3086             </choice>
3087         </zeroOrMore>
3088     </element>
3089 </define>
3090 <define name="text-user-index-entry-template-attrs" combine="interleave">
3091     <attribute name="text:outline-level">
3092         <ref name="positiveInteger"/>
3093     </attribute>
3094 </define>
3095 <define name="text-user-index-entry-template-attrs" combine="interleave">
3096     <attribute name="text:style-name">
3097         <ref name="styleNameRef"/>
3098     </attribute>
3099 </define>
3100 <define name="text-alphabetical-index">
3101     <element name="text:alphabetical-index">
3102         <ref name="sectionAttr"/>
3103         <ref name="text-alphabetical-index-source"/>
3104         <ref name="text-index-body"/>
3105     </element>
3106 </define>
3107 <define name="text-alphabetical-index-source">
3108     <element name="text:alphabetical-index-source">
3109         <ref name="text-alphabetical-index-source-attrs"/>
3110         <optional>
3111             <ref name="text-index-title-template"/>
3112         </optional>
3113         <zeroOrMore>
3114             <ref name="text-alphabetical-index-entry-template"/>
3115         </zeroOrMore>
3116     </element>
3117 </define>
3118 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3119     <ref name="text-index-scope-attr"/>
3120     <ref name="text-relative-tab-stop-position-attr"/>
3121 </define>
3122 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3123     <optional>
3124         <attribute name="text:ignore-case" a:defaultValue="false">
3125             <ref name="boolean"/>
3126         </attribute>
3127     </optional>
3128 </define>
3129 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3130     <optional>
3131         <attribute name="text:main-entry-style-name">
3132             <ref name="styleNameRef"/>
3133         </attribute>
3134     </optional>
3135 </define>
3136 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3137     <optional>
3138         <attribute name="text:alphabetical-separators" a:defaultValue="false">
3139             <ref name="boolean"/>
3140         </attribute>
3141     </optional>
3142 </define>
3143 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3144     <optional>
3145         <attribute name="text:combine-entries" a:defaultValue="true">
3146             <ref name="boolean"/>
3147         </attribute>
3148     </optional>
3149     <optional>
3150         <attribute name="text:combine-entries-with-dash"
3151                    a:defaultValue="false">
3152             <ref name="boolean"/>
3153         </attribute>
3154     </optional>
3155     <optional>
3156         <attribute name="text:combine-entries-with-pp" a:defaultValue="true">
3157             <ref name="boolean"/>
3158         </attribute>
3159     </optional>
3160 </define>
3161 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3162     <optional>
3163         <attribute name="text:use-keys-as-entries" a:defaultValue="false">
3164             <ref name="boolean"/>
3165         </attribute>
3166     </optional>
3167 </define>
3168 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3169     <optional>
3170         <attribute name="text:capitalize-entries" a:defaultValue="false">
3171             <ref name="boolean"/>
3172         </attribute>
3173     </optional>
3174 </define>
3175 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3176     <optional>
3177         <attribute name="text:comma-separated" a:defaultValue="false">
3178             <ref name="boolean"/>
3179         </attribute>
3180     </optional>
3181 </define>
3182 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3183     <optional>
3184         <attribute name="fo:language">
3185             <ref name="languageCode"/>
3186         </attribute>
3187     </optional>
3188 </define>
3189 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3190     <optional>
3191         <attribute name="fo:country">
3192             <ref name="countryCode"/>
3193         </attribute>
3194     </optional>
3195 </define>
3196 <define name="text-alphabetical-index-source-attrs" combine="interleave">
3197     <optional>
3198         <attribute name="text:sort-algorithm">
3199             <ref name="string"/>
3200         </attribute>
3201     </optional>
3202 </define>
3203 <define name="text-alphabetical-index-auto-mark-file">
3204     <element name="text:alphabetical-index-auto-mark-file">
3205         <attribute name="xlink:href">
3206             <ref name="anyURI"/>
3207         </attribute>
3208         <optional>
3209             <attribute name="xlink:type" a:defaultValue="simple">
3210                 <value>simple</value>
3211             </attribute>
3212         </optional>
3213     </element>
3214 </define>
3215 <define name="text-alphabetical-index-entry-template">
3216     <element name="text:alphabetical-index-entry-template">
3217         <ref name="text-alphabetical-index-entry-template-attrs"/>
3218         <zeroOrMore>
3219             <choice>
3220                 <ref name="text-index-entry-chapter"/>
3221                 <ref name="text-index-entry-page-number"/>
3222                 <ref name="text-index-entry-text"/>
3223                 <ref name="text-index-entry-span"/>
3224                 <ref name="text-index-entry-tab-stop"/>
3225             </choice>
3226         </zeroOrMore>
3227     </element>
3228 </define>
3229 <define name="text-alphabetical-index-entry-template-attrs"
3230         combine="interleave">
3231     <attribute name="text:outline-level">
3232         <choice>
3233             <value>1</value>
3234             <value>2</value>
3235             <value>3</value>
3236             <value>separator</value>
3237         </choice>
3238     </attribute>
3239 </define>
3240 <define name="text-alphabetical-index-entry-template-attrs"
3241         combine="interleave">
3242     <attribute name="text:style-name">
3243         <ref name="styleNameRef"/>
3244     </attribute>
3245 </define>
3246 <define name="text-bibliography">
3247     <element name="text:bibliography">
3248         <ref name="sectionAttr"/>
3249         <ref name="text-bibliography-source"/>
3250         <ref name="text-index-body"/>
3251     </element>
3252 </define>
3253 <define name="text-bibliography-source">
3254     <element name="text:bibliography-source">
3255         <optional>
3256             <ref name="text-index-title-template"/>
3257         </optional>
3258         <zeroOrMore>
3259             <ref name="text-bibliography-entry-template"/>
3260         </zeroOrMore>
3261     </element>
3262 </define>
3263 <define name="text-bibliography-entry-template">
3264     <element name="text:bibliography-entry-template">
3265         <ref name="text-bibliography-entry-template-attrs"/>
3266         <zeroOrMore>
3267             <choice>
3268                 <ref name="text-index-entry-span"/>
3269                 <ref name="text-index-entry-tab-stop"/>
3270                 <ref name="text-index-entry-bibliography"/>
3271             </choice>
3272         </zeroOrMore>
3273     </element>
3274 </define>
3275 <define name="text-bibliography-entry-template-attrs" combine="interleave">
3276     <attribute name="text:bibliography-type">
3277         <ref name="text-bibliography-types"/>
3278     </attribute>
3279 </define>
3280 <define name="text-bibliography-entry-template-attrs" combine="interleave">
3281     <attribute name="text:style-name">
3282         <ref name="styleNameRef"/>
3283     </attribute>
3284 </define>
3285 <define name="text-index-source-styles">
3286     <element name="text:index-source-styles">
3287         <attribute name="text:outline-level">
3288             <ref name="positiveInteger"/>
3289         </attribute>
3290         <zeroOrMore>
3291             <ref name="text-index-source-style"/>
3292         </zeroOrMore>
3293     </element>
3294 </define>
3295 <define name="text-index-source-style">
3296     <element name="text:index-source-style">
3297         <attribute name="text:style-name">
3298             <ref name="styleName"/>
3299         </attribute>
3300         <empty/>
3301     </element>
3302 </define>
3303 <define name="text-index-title-template">
3304     <element name="text:index-title-template">
3305         <optional>
3306             <attribute name="text:style-name">
3307                 <ref name="styleNameRef"/>
3308             </attribute>
3309         </optional>
3310         <text/>
3311     </element>
3312 </define>
3313 <define name="text-index-entry-chapter">
3314     <element name="text:index-entry-chapter">
3315         <optional>
3316             <attribute name="text:style-name">
3317                 <ref name="styleNameRef"/>
3318             </attribute>
3319         </optional>
3320         <ref name="text-index-entry-chapter-attrs"/>
3321     </element>
3322 </define>
3323 <define name="text-index-entry-chapter-attrs">
3324     <optional>
3325         <attribute name="text:display" a:defaultValue="number">
3326             <choice>
3327                 <value>name</value>
3328                 <value>number</value>
3329                 <value>number-and-name</value>
3330             </choice>
3331         </attribute>
3332     </optional>
3333 </define>
3334 <define name="text-index-entry-text">
3335     <element name="text:index-entry-text">
3336         <optional>
3337             <attribute name="text:style-name">
3338                 <ref name="styleNameRef"/>
3339             </attribute>
3340         </optional>
3341     </element>
3342 </define>
3343 <define name="text-index-entry-page-number">
3344     <element name="text:index-entry-page-number">
3345         <optional>
3346             <attribute name="text:style-name">
3347                 <ref name="styleNameRef"/>
3348             </attribute>
3349         </optional>
3350     </element>
3351 </define>
3352 <define name="text-index-entry-span">
3353     <element name="text:index-entry-span">
3354         <optional>
3355             <attribute name="text:style-name">
3356                 <ref name="styleNameRef"/>
3357             </attribute>
3358         </optional>
3359         <text/>
3360     </element>
3361 </define>
3362 <define name="text-index-entry-bibliography">
3363     <element name="text:index-entry-bibliography">
3364         <ref name="text-index-entry-bibliography-attrs"/>
3365     </element>
3366 </define>
3367 <define name="text-index-entry-bibliography-attrs" combine="interleave">
3368     <optional>
3369         <attribute name="text:style-name">
3370             <ref name="styleNameRef"/>
3371         </attribute>
3372     </optional>
3373 </define>
3374 <define name="text-index-entry-bibliography-attrs" combine="interleave">
3375     <attribute name="text:bibliography-data-field">
3376         <choice>
3377             <value>address</value>
3378             <value>annote</value>
3379             <value>author</value>
3380             <value>bibliography-type</value>
3381             <value>booktitle</value>
3382             <value>chapter</value>
3383             <value>custom1</value>
3384             <value>custom2</value>
3385             <value>custom3</value>
3386             <value>custom4</value>
3387             <value>custom5</value>
3388             <value>edition</value>
3389             <value>editor</value>
3390             <value>howpublished</value>
3391             <value>identifier</value>
3392             <value>institution</value>
3393             <value>isbn</value>
3394             <value>issn</value>
3395             <value>journal</value>
3396             <value>month</value>
3397             <value>note</value>
3398             <value>number</value>
3399             <value>organizations</value>
3400             <value>pages</value>
3401             <value>publisher</value>
3402             <value>report-type</value>
3403             <value>school</value>
3404             <value>series</value>
3405             <value>title</value>
3406             <value>url</value>
3407             <value>volume</value>
3408             <value>year</value>
3409         </choice>
3410     </attribute>
3411 </define>
3412 <define name="text-index-entry-tab-stop">
3413     <element name="text:index-entry-tab-stop">
3414         <optional>
3415             <attribute name="text:style-name">
3416                 <ref name="styleNameRef"/>
3417             </attribute>
3418         </optional>
3419         <ref name="text-index-entry-tab-stop-attrs"/>
3420     </element>
3421 </define>
3422 <define name="text-index-entry-tab-stop-attrs" combine="interleave">
3423     <optional>
3424         <attribute name="style:leader-char">
3425             <ref name="character"/>
3426         </attribute>
3427     </optional>
3428 </define>
3429 <define name="text-index-entry-tab-stop-attrs" combine="interleave">
3430     <choice>
3431         <attribute name="style:type">
3432             <value>right</value>
3433         </attribute>
3434         <group>
3435             <attribute name="style:type">
3436                 <value>left</value>
3437             </attribute>
3438             <attribute name="style:position">
3439                 <ref name="length"/>
3440             </attribute>
3441         </group>
3442     </choice>
3443 </define>
3444 <define name="text-index-entry-link-start">
3445     <element name="text:index-entry-link-start">
3446         <optional>
3447             <attribute name="text:style-name">
3448                 <ref name="styleNameRef"/>
3449             </attribute>
3450         </optional>
3451     </element>
3452 </define>
3453 <define name="text-index-entry-link-end">
3454     <element name="text:index-entry-link-end">
3455         <optional>
3456             <attribute name="text:style-name">
3457                 <ref name="styleNameRef"/>
3458             </attribute>
3459         </optional>
3460     </element>
3461 </define>
3462 <define name="table-table">
3463     <element name="table:table">
3464         <ref name="table-table-attlist"/>
3465         <optional>
3466             <ref name="table-table-source"/>
3467         </optional>
3468         <optional>
3469             <ref name="office-dde-source"/>
3470         </optional>
3471         <optional>
3472             <ref name="table-scenario"/>
3473         </optional>
3474         <optional>
3475             <ref name="office-forms"/>
3476         </optional>
3477         <optional>
3478             <ref name="table-shapes"/>
3479         </optional>
3480         <ref name="table-columns-and-groups"/>
3481         <ref name="table-rows-and-groups"/>
3482     </element>
3483 </define>
3484 <define name="table-columns-and-groups">
3485     <oneOrMore>
3486         <choice>
3487             <ref name="table-table-column-group"/>
3488             <ref name="table-columns-no-group"/>
3489         </choice>
3490     </oneOrMore>
3491 </define>
3492 
3493 <define name="table-columns-no-group">
3494     <choice>
3495         <group>
3496             <ref name="table-columns"/>
3497             <optional>
3498                 <ref name="table-table-header-columns"/>
3499                 <optional>
3500                     <ref name="table-columns"/>
3501                 </optional>
3502             </optional>
3503         </group>
3504         <group>
3505             <ref name="table-table-header-columns"/>
3506             <optional>
3507                 <ref name="table-columns"/>
3508             </optional>
3509         </group>
3510     </choice>
3511 </define>
3512 
3513 <define name="table-columns">
3514     <choice>
3515         <ref name="table-table-columns"/>
3516         <oneOrMore>
3517                 <ref name="table-table-column"/>
3518         </oneOrMore>
3519     </choice>
3520 </define>
3521 
3522 <define name="table-rows-and-groups">
3523     <oneOrMore>
3524         <choice>
3525             <ref name="table-table-row-group"/>
3526             <ref name="table-rows-no-group"/>
3527         </choice>
3528     </oneOrMore>
3529 </define>
3530 
3531 <define name="table-rows-no-group">
3532     <choice>
3533         <group>
3534             <ref name="table-rows"/>
3535             <optional>
3536                 <ref name="table-table-header-rows"/>
3537                 <optional>
3538                     <ref name="table-rows"/>
3539                 </optional>
3540             </optional>
3541         </group>
3542         <group>
3543             <ref name="table-table-header-rows"/>
3544             <optional>
3545                 <ref name="table-rows"/>
3546             </optional>
3547         </group>
3548     </choice>
3549 </define>
3550 
3551 <define name="table-rows">
3552     <choice>
3553         <ref name="table-table-rows"/>
3554         <oneOrMore>
3555                 <ref name="table-table-row"/>
3556         </oneOrMore>
3557     </choice>
3558 </define>
3559 <define name="table-table-attlist" combine="interleave">
3560     <optional>
3561         <attribute name="table:name">
3562             <ref name="string"/>
3563         </attribute>
3564     </optional>
3565 </define>
3566 <define name="table-table-attlist" combine="interleave">
3567     <optional>
3568         <attribute name="table:style-name">
3569             <ref name="styleNameRef"/>
3570         </attribute>
3571     </optional>
3572 </define>
3573 <define name="table-table-attlist" combine="interleave">
3574     <optional>
3575         <attribute name="table:protected" a:defaultValue="false">
3576             <ref name="boolean"/>
3577         </attribute>
3578     </optional>
3579     <optional>
3580         <attribute name="table:protection-key">
3581             <text/>
3582         </attribute>
3583     </optional>
3584 </define>
3585 <define name="table-table-attlist" combine="interleave">
3586     <optional>
3587         <attribute name="table:print" a:defaultValue="true">
3588             <ref name="boolean"/>
3589         </attribute>
3590     </optional>
3591 </define>
3592 <define name="table-table-attlist" combine="interleave">
3593     <optional>
3594         <attribute name="table:print-ranges">
3595             <ref name="cellRangeAddressList"/>
3596         </attribute>
3597     </optional>
3598 </define>
3599 <define name="table-table-row">
3600     <element name="table:table-row">
3601         <ref name="table-table-row-attlist"/>
3602         <oneOrMore>
3603             <choice>
3604                 <ref name="table-table-cell"/>
3605                 <ref name="table-covered-table-cell"/>
3606             </choice>
3607         </oneOrMore>
3608     </element>
3609 </define>
3610 <define name="table-table-row-attlist" combine="interleave">
3611     <optional>
3612         <attribute name="table:number-rows-repeated" a:defaultValue="1">
3613             <ref name="positiveInteger"/>
3614         </attribute>
3615     </optional>
3616 </define>
3617 <define name="table-table-row-attlist" combine="interleave">
3618     <optional>
3619         <attribute name="table:style-name">
3620             <ref name="styleNameRef"/>
3621         </attribute>
3622     </optional>
3623 </define>
3624 <define name="table-table-row-attlist" combine="interleave">
3625     <optional>
3626         <attribute name="table:default-cell-style-name">
3627             <ref name="styleNameRef"/>
3628         </attribute>
3629     </optional>
3630 </define>
3631 <define name="table-table-row-attlist" combine="interleave">
3632     <optional>
3633         <attribute name="table:visibility" a:defaultValue="visible">
3634             <ref name="table-visibility-value"/>
3635         </attribute>
3636     </optional>
3637 </define>
3638 
3639 <define name="table-visibility-value">
3640     <choice>
3641         <value>visible</value>
3642         <value>collapse</value>
3643         <value>filter</value>
3644     </choice>
3645 </define>
3646 <define name="table-table-cell">
3647     <element name="table:table-cell">
3648         <ref name="table-table-cell-attlist"/>
3649         <ref name="table-table-cell-attlist-extra"/>
3650         <ref name="table-table-cell-content"/>
3651     </element>
3652 </define>
3653 
3654 <define name="table-covered-table-cell">
3655     <element name="table:covered-table-cell">
3656         <ref name="table-table-cell-attlist"/>
3657         <ref name="table-table-cell-content"/>
3658     </element>
3659 </define>
3660 
3661 <define name="table-table-cell-content">
3662     <optional>
3663         <ref name="table-cell-range-source"/>
3664     </optional>
3665     <optional>
3666         <ref name="office-annotation"/>
3667     </optional>
3668     <optional>
3669         <ref name="table-detective"/>
3670     </optional>
3671     <zeroOrMore>
3672         <ref name="text-content"/>
3673     </zeroOrMore>
3674 </define>
3675 <define name="table-table-cell-attlist" combine="interleave">
3676     <optional>
3677         <attribute name="table:number-columns-repeated" a:defaultValue="1">
3678             <ref name="positiveInteger"/>
3679         </attribute>
3680     </optional>
3681 </define>
3682 <define name="table-table-cell-attlist-extra" combine="interleave">
3683     <optional>
3684         <attribute name="table:number-columns-spanned" a:defaultValue="1">
3685             <ref name="positiveInteger"/>
3686         </attribute>
3687     </optional>
3688     <optional>
3689         <attribute name="table:number-rows-spanned" a:defaultValue="1">
3690             <ref name="positiveInteger"/>
3691         </attribute>
3692     </optional>
3693 </define>
3694 <define name="table-table-cell-attlist" combine="interleave">
3695     <optional>
3696         <attribute name="table:style-name">
3697             <ref name="styleNameRef"/>
3698         </attribute>
3699     </optional>
3700 </define>
3701 <define name="table-table-cell-attlist" combine="interleave">
3702     <optional>
3703         <attribute name="table:content-validation-name">
3704             <ref name="string"/>
3705         </attribute>
3706     </optional>
3707 </define>
3708 <define name="table-table-cell-attlist" combine="interleave">
3709     <optional>
3710         <attribute name="table:formula">
3711             <ref name="string"/>
3712         </attribute>
3713     </optional>
3714 </define>
3715 <define name="table-table-cell-attlist-extra" combine="interleave">
3716     <optional>
3717         <attribute name="table:number-matrix-columns-spanned">
3718             <ref name="positiveInteger"/>
3719         </attribute>
3720     </optional>
3721     <optional>
3722         <attribute name="table:number-matrix-rows-spanned">
3723             <ref name="positiveInteger"/>
3724         </attribute>
3725     </optional>
3726 </define>
3727 <define name="table-table-cell-attlist" combine="interleave">
3728     <optional>
3729         <ref name="common-value-and-type-attlist"/>
3730     </optional>
3731 </define>
3732 <define name="table-table-cell-attlist" combine="interleave">
3733     <optional>
3734         <attribute name="table:protect" a:defaultValue="false">
3735             <ref name="boolean"/>
3736         </attribute>
3737     </optional>
3738 </define>
3739 <define name="table-table-column">
3740     <element name="table:table-column">
3741         <ref name="table-table-column-attlist"/>
3742         <empty/>
3743     </element>
3744 </define>
3745 <define name="table-table-column-attlist" combine="interleave">
3746     <optional>
3747         <attribute name="table:number-columns-repeated" a:defaultValue="1">
3748             <ref name="positiveInteger"/>
3749         </attribute>
3750     </optional>
3751 </define>
3752 <define name="table-table-column-attlist" combine="interleave">
3753     <optional>
3754         <attribute name="table:style-name">
3755             <ref name="styleNameRef"/>
3756         </attribute>
3757     </optional>
3758 </define>
3759 <define name="table-table-column-attlist" combine="interleave">
3760     <optional>
3761         <attribute name="table:visibility" a:defaultValue="visible">
3762             <ref name="table-visibility-value"/>
3763         </attribute>
3764     </optional>
3765 </define>
3766 <define name="table-table-column-attlist" combine="interleave">
3767     <optional>
3768         <attribute name="table:default-cell-style-name">
3769             <ref name="styleNameRef"/>
3770         </attribute>
3771     </optional>
3772 </define>
3773 <define name="table-table-header-columns">
3774     <element name="table:table-header-columns">
3775         <oneOrMore>
3776             <ref name="table-table-column"/>
3777         </oneOrMore>
3778     </element>
3779 </define>
3780 
3781 <define name="table-table-columns">
3782     <element name="table:table-columns">
3783         <oneOrMore>
3784             <ref name="table-table-column"/>
3785         </oneOrMore>
3786     </element>
3787 </define>
3788 <define name="table-table-column-group">
3789     <element name="table:table-column-group">
3790         <ref name="table-table-column-group-attlist"/>
3791         <ref name="table-columns-and-groups"/>
3792     </element>
3793 </define>
3794 <define name="table-table-column-group-attlist" combine="interleave">
3795     <optional>
3796         <attribute name="table:display" a:defaultValue="true">
3797             <ref name="boolean"/>
3798         </attribute>
3799     </optional>
3800 </define>
3801 <define name="table-table-header-rows">
3802     <element name="table:table-header-rows">
3803         <oneOrMore>
3804             <ref name="table-table-row"/>
3805         </oneOrMore>
3806     </element>
3807 </define>
3808 
3809 <define name="table-table-rows">
3810     <element name="table:table-rows">
3811         <oneOrMore>
3812             <ref name="table-table-row"/>
3813         </oneOrMore>
3814     </element>
3815 </define>
3816 <define name="table-table-row-group">
3817     <element name="table:table-row-group">
3818         <ref name="table-table-row-group-attlist"/>
3819         <ref name="table-rows-and-groups"/>
3820     </element>
3821 </define>
3822 <define name="table-table-row-group-attlist" combine="interleave">
3823     <optional>
3824         <attribute name="table:display" a:defaultValue="true">
3825             <ref name="boolean"/>
3826         </attribute>
3827     </optional>
3828 </define>
3829 <define name="table-table-attlist" combine="interleave">
3830     <optional>
3831         <attribute name="table:is-sub-table" a:defaultValue="false">
3832             <ref name="boolean"/>
3833         </attribute>
3834     </optional>
3835 </define>
3836 <define name="cellAddress">
3837     <data type="string">
3838         <param name="pattern">($?([^\. ']+|'[^']+'))?\.$?[A-Z]+$?[0-9]+</param>
3839     </data>
3840 </define>
3841 <define name="cellRangeAddress">
3842     <data type="string">
3843         <param name="pattern">($?([^\. ']+|'[^']+'))?\.$?[A-Z]+$?[0-9]+(:($?([^\. ']+|'[^']+'))?\.$?[A-Z]+$?[0-9]+)?</param>
3844 
3845     </data>
3846 </define>
3847 <define name="cellRangeAddressList">
3848     <!-- Value is a space separated list of "cellRangeAddress" patterns -->
3849     <data type="string"/> 
3850 </define>
3851 <define name="table-table-source">
3852     <element name="table:table-source">
3853         <ref name="table-table-source-attlist"/>
3854         <ref name="table-linked-source-attlist"/>
3855         <empty/>
3856     </element>
3857 </define>
3858 <define name="table-table-source-attlist" combine="interleave">
3859     <optional>
3860         <attribute name="table:mode" a:defaultValue="copy-all">
3861             <choice>
3862                 <value>copy-all</value>
3863                 <value>copy-results-only</value>
3864             </choice>
3865         </attribute>
3866     </optional>
3867 </define>
3868 <define name="table-table-source-attlist" combine="interleave">
3869     <optional>
3870         <attribute name="table:table-name">
3871             <ref name="string"/>
3872         </attribute>
3873     </optional>
3874 </define>
3875 <define name="table-linked-source-attlist" combine="interleave">
3876     <optional>
3877         <attribute name="xlink:type" a:defaultValue="simple">
3878             <value>simple</value>
3879         </attribute>
3880     </optional>
3881     <optional>
3882         <attribute name="xlink:actuate" a:defaultValue="onRequest">
3883             <value>onRequest</value>
3884         </attribute>
3885     </optional>
3886     <attribute name="xlink:href">
3887         <ref name="anyURI"/>
3888     </attribute>
3889 </define>
3890 <define name="table-linked-source-attlist" combine="interleave">
3891     <optional>
3892         <attribute name="table:filter-name">
3893             <ref name="string"/>
3894         </attribute>
3895     </optional>
3896 </define>
3897 <define name="table-linked-source-attlist" combine="interleave">
3898     <optional>
3899         <attribute name="table:filter-options">
3900             <ref name="string"/>
3901         </attribute>
3902     </optional>
3903 </define>
3904 <define name="table-linked-source-attlist" combine="interleave">
3905     <optional>
3906         <attribute name="table:refresh-delay">
3907             <ref name="duration"/>
3908         </attribute>
3909     </optional>
3910 </define>
3911 <define name="table-scenario">
3912     <element name="table:scenario">
3913         <ref name="table-scenario-attlist"/>
3914         <empty/>
3915     </element>
3916 </define>
3917 <define name="table-scenario-attlist" combine="interleave">
3918     <attribute name="table:scenario-ranges">
3919         <ref name="cellRangeAddressList"/>
3920     </attribute>
3921 </define>
3922 <define name="table-scenario-attlist" combine="interleave">
3923     <attribute name="table:is-active">
3924         <ref name="boolean"/>
3925     </attribute>
3926 </define>
3927 <define name="table-scenario-attlist" combine="interleave">
3928     <optional>
3929         <attribute name="table:display-border" a:defaultValue="true">
3930             <ref name="boolean"/>
3931         </attribute>
3932     </optional>
3933 </define>
3934 <define name="table-scenario-attlist" combine="interleave">
3935     <optional>
3936         <attribute name="table:border-color">
3937             <ref name="color"/>
3938         </attribute>
3939     </optional>
3940 </define>
3941 <define name="table-scenario-attlist" combine="interleave">
3942     <optional>
3943         <attribute name="table:copy-back" a:defaultValue="true">
3944             <ref name="boolean"/>
3945         </attribute>
3946     </optional>
3947 </define>
3948 <define name="table-scenario-attlist" combine="interleave">
3949     <optional>
3950         <attribute name="table:copy-styles" a:defaultValue="true">
3951             <ref name="boolean"/>
3952         </attribute>
3953     </optional>
3954 </define>
3955 <define name="table-scenario-attlist" combine="interleave">
3956     <optional>
3957         <attribute name="table:copy-formulas" a:defaultValue="true">
3958             <ref name="boolean"/>
3959         </attribute>
3960     </optional>
3961 </define>
3962 <define name="table-scenario-attlist" combine="interleave">
3963     <optional>
3964         <attribute name="table:comment">
3965             <ref name="string"/>
3966         </attribute>
3967     </optional>
3968 </define>
3969 <define name="table-scenario-attlist" combine="interleave">
3970     <optional>
3971         <attribute name="table:protected">
3972             <ref name="boolean"/>
3973         </attribute>
3974     </optional>
3975 </define>
3976 <define name="table-shapes">
3977     <element name="table:shapes">
3978         <oneOrMore>
3979             <ref name="shape"/>
3980         </oneOrMore>
3981     </element>
3982 </define>
3983 <define name="table-cell-range-source">
3984     <element name="table:cell-range-source">
3985         <ref name="table-table-cell-range-source-attlist"/>
3986         <ref name="table-linked-source-attlist"/>
3987         <empty/>
3988     </element>
3989 </define>
3990 <define name="table-table-cell-range-source-attlist" combine="interleave">
3991     <attribute name="table:name">
3992         <ref name="string"/>
3993     </attribute>
3994 </define>
3995 <define name="table-table-cell-range-source-attlist" combine="interleave">
3996     <attribute name="table:last-column-spanned">
3997         <ref name="positiveInteger"/>
3998     </attribute>
3999     <attribute name="table:last-row-spanned">
4000         <ref name="positiveInteger"/>
4001     </attribute>
4002 </define>
4003 <define name="table-detective">
4004     <element name="table:detective">
4005         <zeroOrMore>
4006             <ref name="table-highlighted-range"/>
4007         </zeroOrMore>
4008         <zeroOrMore>
4009             <ref name="table-operation"/>
4010         </zeroOrMore>
4011     </element>
4012 </define>
4013 <define name="table-operation">
4014     <element name="table:operation">
4015         <ref name="table-operation-attlist"/>
4016         <empty/>
4017     </element>
4018 </define>
4019 <define name="table-operation-attlist" combine="interleave">
4020     <attribute name="table:name">
4021         <choice>
4022             <value>trace-dependents</value>
4023             <value>remove-dependents</value>
4024             <value>trace-precedents</value>
4025             <value>remove-precedents</value>
4026             <value>trace-errors</value>
4027         </choice>
4028     </attribute>
4029 </define>
4030 <define name="table-operation-attlist" combine="interleave">
4031     <attribute name="table:index">
4032         <ref name="nonNegativeInteger"/>
4033     </attribute>
4034 </define>
4035 <define name="table-highlighted-range">
4036     <element name="table:highlighted-range">
4037         <choice>
4038             <group>
4039                 <ref name="table-highlighted-range-attlist"/>
4040             </group>
4041             <group>
4042                 <ref name="table-highlighted-range-attlist-invalid"/>
4043             </group>
4044         </choice>
4045         <empty/>
4046     </element>
4047 </define>
4048 <define name="table-highlighted-range-attlist" combine="interleave">
4049     <optional>
4050         <attribute name="table:cell-range-address">
4051             <ref name="cellRangeAddress"/>
4052         </attribute>
4053     </optional>
4054 </define>
4055 <define name="table-highlighted-range-attlist" combine="interleave">
4056     <attribute name="table:direction">
4057         <choice>
4058             <value>from-another-table</value>
4059             <value>to-another-table</value>
4060             <value>from-same-table</value>
4061         </choice>
4062     </attribute>
4063 </define>
4064 <define name="table-highlighted-range-attlist" combine="interleave">
4065     <optional>
4066         <attribute name="table:contains-error" a:defaultValue="false">
4067             <ref name="boolean"/>
4068         </attribute>
4069     </optional>
4070 </define>
4071 <define name="table-highlighted-range-attlist-invalid" combine="interleave">
4072     <attribute name="table:marked-invalid">
4073         <ref name="boolean"/>
4074     </attribute>
4075 </define>
4076 <define name="office-spreadsheet-attlist" combine="interleave">
4077     <optional>
4078         <attribute name="table:structure-protected" a:defaultValue="false">
4079             <ref name="boolean"/>
4080         </attribute>
4081     </optional>
4082     <optional>
4083         <attribute name="table:protection-key">
4084             <ref name="string"/>
4085         </attribute>
4086     </optional>
4087 </define>
4088 <define name="table-calculation-settings">
4089     <element name="table:calculation-settings">
4090         <ref name="table-calculation-setting-attlist"/>
4091         <optional>
4092             <ref name="table-null-date"/>
4093         </optional>
4094         <optional>
4095             <ref name="table-iteration"/>
4096         </optional>
4097     </element>
4098 </define>
4099 <define name="table-calculation-setting-attlist" combine="interleave">
4100     <optional>
4101         <attribute name="table:case-sensitive" a:defaultValue="true">
4102             <ref name="boolean"/>
4103         </attribute>
4104     </optional>
4105 </define>
4106 <define name="table-calculation-setting-attlist" combine="interleave">
4107     <optional>
4108         <attribute name="table:precision-as-shown" a:defaultValue="false">
4109             <ref name="boolean"/>
4110         </attribute>
4111     </optional>
4112 </define>
4113 <define name="table-calculation-setting-attlist" combine="interleave">
4114     <optional>
4115         <attribute name="table:search-criteria-must-apply-to-whole-cell"
4116                      a:defaultValue="true">
4117             <ref name="boolean"/>
4118         </attribute>
4119     </optional>
4120 </define>
4121 <define name="table-calculation-setting-attlist" combine="interleave">
4122     <optional>
4123         <attribute name="table:automatic-find-labels" a:defaultValue="true">
4124             <ref name="boolean"/>
4125         </attribute>
4126     </optional>
4127 </define>
4128 <define name="table-calculation-setting-attlist" combine="interleave">
4129     <optional>
4130         <attribute name="table:use-regular-expressions"
4131                      a:defaultValue="true">
4132             <ref name="boolean"/>
4133         </attribute>
4134     </optional>
4135 </define>
4136 <define name="table-calculation-setting-attlist" combine="interleave">
4137     <optional>
4138         <attribute name="table:null-year" a:defaultValue="1930">
4139             <ref name="positiveInteger"/>
4140         </attribute>
4141     </optional>
4142 </define>
4143 <define name="table-null-date">
4144     <element name="table:null-date">
4145         <optional>
4146             <attribute name="table:value-type" a:defaultValue="date">
4147                 <ref name="valueType"/>
4148             </attribute>
4149         </optional>
4150         <optional>
4151             <attribute name="table:date-value-type" 
4152                          a:defaultValue="1899-12-30">
4153                 <ref name="date"/>
4154             </attribute>
4155         </optional>
4156         <empty/>
4157     </element>
4158 </define>
4159 <define name="table-iteration">
4160     <element name="table:iteration">
4161         <optional>
4162             <attribute name="table:status" a:defaultValue="disable">
4163                 <choice>
4164                     <value>enable</value>
4165                     <value>disable</value>
4166                 </choice>
4167             </attribute>
4168         </optional>
4169         <optional>
4170             <attribute name="table:steps" a:defaultValue="100">
4171                 <ref name="positiveInteger"/>
4172             </attribute>
4173         </optional>
4174         <optional>
4175             <attribute name="table:maximum-difference"
4176                          a:defaultValue="0.001">
4177                 <ref name="double"/>
4178             </attribute>
4179         </optional>
4180         <empty/>
4181     </element>
4182 </define>
4183 <define name="table-content-validations">
4184     <element name="table:content-validations">
4185         <oneOrMore>
4186             <ref name="table-content-validation"/>
4187         </oneOrMore>
4188     </element>
4189 </define>
4190 
4191 <define name="table-content-validation">
4192     <element name="table:content-validation">
4193         <ref name="table-validation-attlist"/>
4194         <optional>
4195             <ref name="table-help-message"/>
4196         </optional>
4197         <optional>
4198             <choice>
4199                 <ref name="table-error-message"/>
4200                 <group>
4201                     <ref name="table-error-macro"/>
4202                     <optional>
4203                         <ref name="office-event-listeners"/>
4204                     </optional>
4205                 </group>
4206             </choice>
4207         </optional>
4208     </element>
4209 </define>
4210 <define name="table-validation-attlist" combine="interleave">
4211     <attribute name="table:name">
4212         <ref name="string"/>
4213     </attribute>
4214 </define>
4215 <define name="table-validation-attlist" combine="interleave">
4216     <optional>
4217         <attribute name="table:condition">
4218             <ref name="string"/>
4219         </attribute>
4220     </optional>
4221 </define>
4222 <define name="table-validation-attlist" combine="interleave">
4223     <optional>
4224         <attribute name="table:base-cell-address">
4225             <ref name="cellAddress"/>
4226         </attribute>
4227     </optional>
4228 </define>
4229 <define name="table-validation-attlist" combine="interleave">
4230     <optional>
4231         <attribute name="table:allow-empty-cell" a:defaultValue="true">
4232             <ref name="boolean"/>
4233         </attribute>
4234     </optional>
4235 </define>
4236 <define name="table-validation-attlist" combine="interleave">
4237     <optional>
4238         <attribute name="table:display-list" a:defaultValue="unsorted">
4239             <choice>
4240                 <value>none</value>
4241                 <value>unsorted</value>
4242                 <value>sort-ascending</value>
4243             </choice>
4244         </attribute>
4245     </optional>
4246 </define>
4247 <define name="table-help-message">
4248     <element name="table:help-message">
4249         <optional>
4250             <attribute name="table:title">
4251                 <ref name="string"/>
4252             </attribute>
4253         </optional>
4254         <optional>
4255             <attribute name="table:display" a:defaultValue="false">
4256                 <ref name="boolean"/>
4257             </attribute>
4258         </optional>
4259         <zeroOrMore>
4260             <ref name="text-p"/>
4261         </zeroOrMore>
4262     </element>
4263 </define>
4264 <define name="table-error-message">
4265     <element name="table:error-message">
4266         <optional>
4267             <attribute name="table:title">
4268                 <ref name="string"/>
4269             </attribute>
4270         </optional>
4271         <optional>
4272             <attribute name="table:display" a:defaultValue="false">
4273                 <ref name="boolean"/>
4274             </attribute>
4275         </optional>
4276         <optional>
4277             <attribute name="table:message-type" a:defaultValue="stop">
4278                 <choice>
4279                     <value>stop</value>
4280                     <value>warning</value>
4281                     <value>information</value>
4282                 </choice>
4283             </attribute>
4284         </optional>
4285         <zeroOrMore>
4286             <ref name="text-p"/>
4287         </zeroOrMore>
4288     </element>
4289 </define>
4290 <define name="table-error-macro">
4291     <element name="table:error-macro">
4292         <optional>
4293             <attribute name="table:execute" a:defaultValue="true">
4294                 <ref name="boolean"/>
4295             </attribute>
4296         </optional>
4297     </element>
4298 </define>
4299 <define name="table-label-ranges">
4300     <element name="table:label-ranges">
4301         <zeroOrMore>
4302             <ref name="table-label-range"/>
4303         </zeroOrMore>
4304     </element>
4305 </define>
4306 
4307 <define name="table-label-range">
4308     <element name="table:label-range">
4309         <ref name="table-label-range-attlist"/>
4310         <empty/>
4311     </element>
4312 </define>
4313 <define name="table-label-range-attlist" combine="interleave">
4314     <attribute name="table:label-cell-range-address">
4315         <ref name="cellRangeAddress"/>
4316     </attribute>
4317 </define>
4318 <define name="table-label-range-attlist" combine="interleave">
4319     <attribute name="table:data-cell-range-address">
4320         <ref name="cellRangeAddress"/>
4321     </attribute>
4322 </define>
4323 <define name="table-label-range-attlist" combine="interleave">
4324     <attribute name="table:orientation">
4325         <choice>
4326             <value>column</value>
4327             <value>row</value>
4328         </choice>
4329     </attribute>
4330 </define>
4331 <define name="table-named-expressions">
4332     <element name="table:named-expressions">
4333         <zeroOrMore>
4334             <choice>
4335                 <ref name="table-named-range"/>
4336                 <ref name="table-named-expression"/>
4337             </choice>
4338         </zeroOrMore>
4339     </element>
4340 </define>
4341 
4342 <define name="table-named-range">
4343     <element name="table:named-range">
4344         <ref name="table-named-range-attlist"/>
4345         <empty/>
4346     </element>
4347 </define>
4348 
4349 <define name="table-named-range-attlist" combine="interleave">
4350     <attribute name="table:name">
4351         <ref name="string"/>
4352     </attribute>
4353     <attribute name="table:cell-range-address">
4354         <ref name="cellRangeAddress"/>
4355     </attribute>
4356     <optional>
4357         <attribute name="table:base-cell-address">
4358             <ref name="cellAddress"/>
4359         </attribute>
4360     </optional>
4361     <optional>
4362         <attribute name="table:range-usable-as" a:defaultValue="none">
4363             <choice>
4364                 <value>none</value>
4365                 <list>
4366                     <oneOrMore>
4367                         <choice>
4368                             <value>print-range</value>
4369                             <value>filter</value>
4370                             <value>repeat-row</value>
4371                             <value>repeat-column</value>
4372                         </choice>
4373                     </oneOrMore>
4374                 </list>
4375             </choice>
4376         </attribute>
4377     </optional>
4378 </define>
4379 <define name="table-named-expression">
4380     <element name="table:named-expression">
4381         <ref name="table-named-expression-attlist"/>
4382         <empty/>
4383     </element>
4384 </define>
4385 
4386 <define name="table-named-expression-attlist" combine="interleave">
4387     <attribute name="table:name">
4388         <ref name="string"/>
4389     </attribute>
4390     <attribute name="table:expression">
4391         <ref name="string"/>
4392     </attribute>
4393     <optional>
4394         <attribute name="table:base-cell-address">
4395             <ref name="cellAddress"/>
4396         </attribute>
4397     </optional>
4398 </define>
4399 <define name="table-database-ranges">
4400     <element name="table:database-ranges">
4401         <zeroOrMore>
4402             <ref name="table-database-range"/>
4403         </zeroOrMore>
4404     </element>
4405 </define>
4406 <define name="table-database-range">
4407     <element name="table:database-range">
4408         <ref name="table-database-range-attlist"/>
4409         <optional>
4410             <choice>
4411                 <ref name="table-database-source-sql"/>
4412                 <ref name="table-database-source-table"/>
4413                 <ref name="table-database-source-query"/>
4414             </choice>
4415         </optional>
4416         <optional>
4417             <ref name="table-filter"/>
4418         </optional>
4419         <optional>
4420             <ref name="table-sort"/>
4421         </optional>
4422         <optional>
4423             <ref name="table-subtotal-rules"/>
4424         </optional>
4425     </element>
4426 </define>
4427 <define name="table-database-range-attlist" combine="interleave">
4428     <optional>
4429         <attribute name="table:name">
4430             <ref name="string"/>
4431         </attribute>
4432     </optional>
4433 </define>
4434 <define name="table-database-range-attlist" combine="interleave">
4435     <optional>
4436         <attribute name="table:is-selection" a:defaultValue="false">
4437             <ref name="boolean"/>
4438         </attribute>
4439     </optional>
4440 </define>
4441 <define name="table-database-range-attlist" combine="interleave">
4442     <optional>
4443         <attribute name="table:on-update-keep-styles" a:defaultValue="false">
4444             <ref name="boolean"/>
4445         </attribute>
4446     </optional>
4447 </define>
4448 <define name="table-database-range-attlist" combine="interleave">
4449     <optional>
4450         <attribute name="table:on-update-keep-size" a:defaultValue="true">
4451             <ref name="boolean"/>
4452         </attribute>
4453     </optional>
4454 </define>
4455 <define name="table-database-range-attlist" combine="interleave">
4456     <optional>
4457         <attribute name="table:has-persistent-data" a:defaultValue="true">
4458             <ref name="boolean"/>
4459         </attribute>
4460     </optional>
4461 </define>
4462 <define name="table-database-range-attlist" combine="interleave">
4463     <optional>
4464         <attribute name="table:orientation" a:defaultValue="row">
4465             <choice>
4466                 <value>column</value>
4467                 <value>row</value>
4468             </choice>
4469         </attribute>
4470     </optional>
4471 </define>
4472 <define name="table-database-range-attlist" combine="interleave">
4473     <optional>
4474         <attribute name="table:contains-header" a:defaultValue="true">
4475             <ref name="boolean"/>
4476         </attribute>
4477     </optional>
4478 </define>
4479 <define name="table-database-range-attlist" combine="interleave">
4480     <optional>
4481         <attribute name="table:display-filter-buttons"
4482                    a:defaultValue="false">
4483             <ref name="boolean"/>
4484         </attribute>
4485     </optional>
4486 </define>
4487 <define name="table-database-range-attlist" combine="interleave">
4488     <attribute name="table:target-range-address">
4489         <ref name="cellRangeAddress"/>
4490     </attribute>
4491 </define>
4492 <define name="table-database-range-attlist" combine="interleave">
4493     <optional>
4494         <attribute name="table:refresh-delay">
4495             <ref name="boolean"/>
4496         </attribute>
4497     </optional>
4498 </define>
4499 <define name="table-database-source-sql">
4500     <element name="table:database-source-sql">
4501         <ref name="table-database-source-sql-attlist"/>
4502         <empty/>
4503     </element>
4504 </define>
4505 <define name="table-database-source-sql-attlist" combine="interleave">
4506     <attribute name="table:database-name">
4507         <ref name="string"/>
4508     </attribute>
4509 </define>
4510 <define name="table-database-source-sql-attlist" combine="interleave">
4511     <attribute name="table:sql-statement">
4512         <ref name="string"/>
4513     </attribute>
4514 </define>
4515 <define name="table-database-source-sql-attlist" combine="interleave">
4516     <optional>
4517         <attribute name="table:parse-sql-statement" a:defaultValue="false">
4518             <ref name="boolean"/>
4519         </attribute>
4520     </optional>
4521 </define>
4522 <define name="table-database-source-query">
4523     <element name="table:database-source-table">
4524         <ref name="table-database-source-table-attlist"/>
4525         <empty/>
4526     </element>
4527 </define>
4528 <define name="table-database-source-table-attlist" combine="interleave">
4529     <attribute name="table:database-name">
4530         <ref name="string"/>
4531     </attribute>
4532 </define>
4533 <define name="table-database-source-table-attlist" combine="interleave">
4534     <attribute name="table:database-table-name">
4535         <ref name="string"/>
4536     </attribute>
4537 </define>
4538 <define name="table-database-source-table">
4539     <element name="table:database-source-query">
4540         <ref name="table-database-source-query-attlist"/>
4541         <empty/>
4542     </element>
4543 </define>
4544 <define name="table-database-source-query-attlist" combine="interleave">
4545     <attribute name="table:database-name">
4546         <ref name="string"/>
4547     </attribute>
4548 </define>
4549 <define name="table-database-source-query-attlist" combine="interleave">
4550     <attribute name="table:query-name">
4551         <ref name="string"/>
4552     </attribute>
4553 </define>
4554 <define name="table-sort">
4555     <element name="table:sort">
4556         <ref name="table-sort-attlist"/>
4557         <oneOrMore>
4558             <ref name="table-sort-by"/>
4559         </oneOrMore>
4560     </element>
4561 </define>
4562 <define name="table-sort-attlist" combine="interleave">
4563     <optional>
4564         <attribute name="table:bind-styles-to-content" a:defaultValue="true">
4565             <ref name="boolean"/>
4566         </attribute>
4567     </optional>
4568 </define>
4569 <define name="table-sort-attlist" combine="interleave">
4570     <optional>
4571         <attribute name="table:target-range-address">
4572             <ref name="cellRangeAddress"/>
4573         </attribute>
4574     </optional>
4575 </define>
4576 <define name="table-sort-attlist" combine="interleave">
4577     <optional>
4578         <attribute name="table:case-sensitive" a:defaultValue="false">
4579             <ref name="boolean"/>
4580         </attribute>
4581     </optional>
4582 </define>
4583 <define name="table-sort-attlist" combine="interleave">
4584     <optional>
4585         <attribute name="table:language">
4586             <ref name="languageCode"/>
4587         </attribute>
4588     </optional>
4589 </define>
4590 <define name="table-sort-attlist" combine="interleave">
4591     <optional>
4592         <attribute name="table:country">
4593             <ref name="countryCode"/>
4594         </attribute>
4595     </optional>
4596 </define>
4597 <define name="table-sort-attlist" combine="interleave">
4598     <optional>
4599         <attribute name="table:algorithm">
4600             <ref name="string"/>
4601         </attribute>
4602     </optional>
4603 </define>
4604 <define name="table-sort-by">
4605     <element name="table:sort-by">
4606         <ref name="table-sort-by-attlist"/>
4607         <empty/>
4608     </element>
4609 </define>
4610 <define name="table-sort-by-attlist" combine="interleave">
4611     <attribute name="table:field-number">
4612         <ref name="nonNegativeInteger"/>
4613     </attribute>
4614 </define>
4615 <define name="table-sort-by-attlist" combine="interleave">
4616     <optional>
4617         <attribute name="table:data-type" a:defaultValue="automatic">
4618             <choice>
4619                 <value>text</value>
4620                 <value>number</value>
4621                 <value>automatic</value>
4622                 <ref name="string"/>
4623             </choice>
4624         </attribute>
4625     </optional>
4626 </define>
4627 <define name="table-sort-by-attlist" combine="interleave">
4628     <optional>
4629         <attribute name="table:order" a:defaultValue="ascending">
4630             <choice>
4631                 <value>ascending</value>
4632                 <value>descending</value>
4633             </choice>
4634         </attribute>
4635     </optional>
4636 </define>
4637 <define name="table-subtotal-rules">
4638     <element name="table:subtotal-rules">
4639         <ref name="table-subtotal-rules-attlist"/>
4640         <optional>
4641             <ref name="table-sort-groups"/>
4642         </optional>
4643         <zeroOrMore>
4644             <ref name="table-subtotal-rule"/>
4645         </zeroOrMore>
4646     </element>
4647 </define>
4648 <define name="table-subtotal-rules-attlist" combine="interleave">
4649     <optional>
4650         <attribute name="table:bind-styles-to-content" a:defaultValue="true">
4651             <ref name="boolean"/>
4652         </attribute>
4653     </optional>
4654 </define>
4655 <define name="table-subtotal-rules-attlist" combine="interleave">
4656     <optional>
4657         <attribute name="table:case-sensitive" a:defaultValue="false">
4658             <ref name="boolean"/>
4659         </attribute>
4660     </optional>
4661 </define>
4662 <define name="table-subtotal-rules-attlist" combine="interleave">
4663     <optional>
4664         <attribute name="table:page-breaks-on-group-change"
4665                    a:defaultValue="false">
4666             <ref name="boolean"/>
4667         </attribute>
4668     </optional>
4669 </define>
4670 <define name="table-sort-groups">
4671     <element name="table:sort-groups">
4672         <ref name="table-sort-groups-attlist"/>
4673         <empty/>
4674     </element>
4675 </define>
4676 <define name="table-sort-groups-attlist" combine="interleave">
4677     <optional>
4678         <attribute name="table:data-type" a:defaultValue="automatic">
4679             <choice>
4680                 <value>text</value>
4681                 <value>number</value>
4682                 <value>automatic</value>
4683                 <ref name="string"/>
4684             </choice>
4685         </attribute>
4686     </optional>
4687 </define>
4688 <define name="table-sort-groups-attlist" combine="interleave">
4689     <optional>
4690         <attribute name="table:order" a:defaultValue="ascending">
4691             <choice>
4692                 <value>ascending</value>
4693                 <value>descending</value>
4694             </choice>
4695         </attribute>
4696     </optional>
4697 </define>
4698 <define name="table-subtotal-rule">
4699     <element name="table:subtotal-rule">
4700         <ref name="table-subtotal-rule-attlist"/>
4701         <zeroOrMore>
4702             <ref name="table-subtotal-field"/>
4703         </zeroOrMore>
4704     </element>
4705 </define>
4706 <define name="table-subtotal-rule-attlist" combine="interleave">
4707     <attribute name="table:group-by-field-number">
4708         <ref name="nonNegativeInteger"/>
4709     </attribute>
4710 </define>
4711 <define name="table-subtotal-field">
4712     <element name="table:subtotal-field">
4713         <ref name="table-subtotal-field-attlist"/>
4714         <empty/>
4715     </element>
4716 </define>
4717 <define name="table-subtotal-field-attlist" combine="interleave">
4718     <attribute name="table:field-number">
4719         <ref name="nonNegativeInteger"/>
4720     </attribute>
4721 </define>
4722 <define name="table-subtotal-field-attlist" combine="interleave">
4723     <attribute name="table:function">
4724         <choice>
4725             <value>auto</value>
4726             <value>average</value>
4727             <value>count</value>
4728             <value>countnums</value>
4729             <value>max</value>
4730             <value>min</value>
4731             <value>product</value>
4732             <value>stdev</value>
4733             <value>stdevp</value>
4734             <value>sum</value>
4735             <value>var</value>
4736             <value>varp</value>
4737             <ref name="string"/>
4738         </choice>
4739     </attribute>
4740 </define>
4741 <define name="table-filter">
4742     <element name="table:filter">
4743         <ref name="table-filter-attlist"/>
4744         <choice>
4745             <ref name="table-filter-condition"/>
4746             <ref name="table-filter-and"/>
4747             <ref name="table-filter-or"/>
4748         </choice>
4749     </element>
4750 </define>
4751 <define name="table-filter-attlist" combine="interleave">
4752     <optional>
4753         <attribute name="table:target-range-address">
4754             <ref name="cellRangeAddress"/>
4755         </attribute>
4756     </optional>
4757 </define>
4758 <define name="table-filter-attlist" combine="interleave">
4759     <optional>
4760         <attribute name="table:condition-source" a:defaultValue="self">
4761             <choice>
4762                 <value>self</value>
4763                 <value>cell-range</value>
4764             </choice>
4765         </attribute>
4766     </optional>
4767 </define>
4768 <define name="table-filter-attlist" combine="interleave">
4769     <optional>
4770         <attribute name="table:condition-source-range-address">
4771             <ref name="cellRangeAddress"/>
4772         </attribute>
4773     </optional>
4774 </define>
4775 <define name="table-filter-attlist" combine="interleave">
4776     <optional>
4777         <attribute name="table:display-duplicates" a:defaultValue="true">
4778             <ref name="boolean"/>
4779         </attribute>
4780     </optional>
4781 </define>
4782 <define name="table-filter-and">
4783     <element name="table:filter-and">
4784         <oneOrMore>
4785             <choice>
4786                 <ref name="table-filter-or"/>
4787                 <ref name="table-filter-condition"/>
4788             </choice>
4789         </oneOrMore>
4790     </element>
4791 </define>
4792 <define name="table-filter-or">
4793     <element name="table:filter-or">
4794         <oneOrMore>
4795             <choice>
4796                 <ref name="table-filter-and"/>
4797                 <ref name="table-filter-condition"/>
4798             </choice>
4799         </oneOrMore>
4800     </element>
4801 </define>
4802 <define name="table-filter-condition">
4803     <element name="table:filter-condition">
4804         <ref name="table-filter-condition-attlist"/>
4805         <empty/>
4806     </element>
4807 </define>
4808 <define name="table-filter-condition-attlist" combine="interleave">
4809     <attribute name="table:field-number">    
4810         <ref name="nonNegativeInteger"/>
4811     </attribute>
4812 </define>
4813 <define name="table-filter-condition-attlist" combine="interleave">
4814     <attribute name="table:value">    
4815         <ref name="string"/>
4816     </attribute>
4817 </define>
4818 <define name="table-filter-condition-attlist" combine="interleave">
4819     <attribute name="table:operator">    
4820         <ref name="string"/>
4821     </attribute>
4822 </define>
4823 <define name="table-filter-condition-attlist" combine="interleave">
4824     <optional>
4825         <attribute name="table:case-sensitive" a:defaultValue="false">    
4826             <ref name="string"/>
4827         </attribute>
4828     </optional>
4829 </define>
4830 <define name="table-filter-condition-attlist" combine="interleave">
4831     <optional>
4832         <attribute name="table:data-type" a:defaultValue="text">
4833             <choice>
4834                 <value>text</value>
4835                 <value>number</value>
4836             </choice>
4837         </attribute>
4838     </optional>
4839 </define>
4840 <define name="table-data-pilot-tables">
4841     <element name="table:data-pilot-tables">
4842         <zeroOrMore>
4843             <ref name="table-data-pilot-table"/>
4844         </zeroOrMore>
4845     </element>
4846 </define>
4847 <define name="table-data-pilot-table">
4848     <element name="table:data-pilot-table">
4849         <ref name="table-data-pilot-table-attlist"/>
4850         <optional>
4851             <choice>
4852                 <ref name="table-database-source-sql"/>
4853                 <ref name="table-database-source-table"/>
4854                 <ref name="table-database-source-query"/>
4855                 <ref name="table-source-service"/>
4856                 <ref name="table-source-cell-range"/>
4857             </choice>
4858         </optional>
4859         <oneOrMore>
4860             <ref name="table-data-pilot-field"/>
4861         </oneOrMore>
4862     </element>
4863 </define>
4864 <define name="table-data-pilot-table-attlist" combine="interleave">
4865     <attribute name="table:name">
4866         <ref name="string"/>
4867     </attribute>
4868 </define>
4869 <define name="table-data-pilot-table-attlist" combine="interleave">
4870     <optional>
4871         <attribute name="table:application-data">
4872             <ref name="string"/>
4873         </attribute>
4874     </optional>
4875 </define>
4876 <define name="table-data-pilot-table-attlist" combine="interleave">
4877     <optional>
4878         <attribute name="table:grand-total" a:defaultValue="both">
4879             <choice>
4880                 <value>none</value>
4881                 <value>row</value>
4882                 <value>column</value>
4883                 <value>both</value>
4884             </choice>
4885         </attribute>
4886     </optional>
4887 </define>
4888 <define name="table-data-pilot-table-attlist" combine="interleave">
4889     <optional>
4890         <attribute name="table:ignore-empty-rows" a:defaultValue="false">    
4891             <ref name="boolean"/>
4892         </attribute>
4893     </optional>
4894 </define>
4895 <define name="table-data-pilot-table-attlist" combine="interleave">
4896     <optional>
4897         <attribute name="table:identify-categories" a:defaultValue="false">    
4898             <ref name="boolean"/>
4899         </attribute>
4900     </optional>
4901 </define>
4902 <define name="table-data-pilot-table-attlist" combine="interleave">
4903     <attribute name="table:target-range-address">    
4904         <ref name="cellRangeAddress"/>
4905     </attribute>
4906 </define>
4907 <define name="table-data-pilot-table-attlist" combine="interleave">
4908     <optional>
4909         <attribute name="table:buttons">    
4910             <ref name="cellRangeAddressList"/>
4911         </attribute>
4912     </optional>
4913 </define>
4914 <define name="table-data-pilot-table-attlist" combine="interleave">
4915     <optional>
4916         <attribute name="table:show-filter-button" a:defaultValue="true">    
4917             <ref name="boolean"/>
4918         </attribute>
4919     </optional>
4920 </define>
4921 <define name="table-data-pilot-table-attlist" combine="interleave">
4922     <optional>
4923         <attribute name="table:drill-down-on-double-click"
4924                    a:defaultValue="true">    
4925             <ref name="boolean"/>
4926         </attribute>
4927     </optional>
4928 </define>
4929 <define name="table-source-cell-range">
4930     <element name="table:source-cell-range">
4931         <ref name="table-source-cell-range-attlist"/>
4932         <optional>
4933             <ref name="table-filter"/>
4934         </optional>
4935     </element>
4936 </define>
4937 <define name="table-source-cell-range-attlist" combine="interleave">
4938     <attribute name="table:cell-range-address">    
4939         <ref name="cellRangeAddress"/>
4940     </attribute>
4941 </define>
4942 <define name="table-source-service">
4943     <element name="table:source-service">
4944         <ref name="table-source-service-attlist"/>
4945         <empty/>
4946     </element>
4947 </define>
4948 <define name="table-source-service-attlist" combine="interleave">
4949     <attribute name="table:name">    
4950         <ref name="string"/>
4951     </attribute>
4952 </define>
4953 <define name="table-source-service-attlist" combine="interleave">
4954     <attribute name="table:source-name">
4955         <ref name="string"/>
4956     </attribute>
4957 </define>
4958 <define name="table-source-service-attlist" combine="interleave">
4959     <attribute name="table:object-name">
4960         <ref name="string"/>
4961     </attribute>
4962 </define>
4963 <define name="table-source-service-attlist" combine="interleave">
4964     <optional>
4965         <attribute name="table:user-name">
4966             <ref name="string"/>
4967         </attribute>
4968     </optional>
4969 </define>
4970 <define name="table-source-service-attlist" combine="interleave">
4971     <optional>
4972         <attribute name="table:password">
4973             <ref name="string"/>
4974         </attribute>
4975     </optional>
4976 </define>
4977 <define name="table-data-pilot-field">
4978     <element name="table:data-pilot-field">
4979         <ref name="table-data-pilot-field-attlist"/>
4980         <optional>
4981             <ref name="table-data-pilot-level"/>
4982         </optional>
4983         <optional>
4984             <ref name="table-data-pilot-field-reference"/>
4985         </optional>
4986         <optional>
4987             <ref name="table-data-pilot-groups"/>
4988         </optional>
4989     </element>
4990 </define>
4991 <define name="table-data-pilot-field-attlist" combine="interleave">
4992     <attribute name="table:source-field-name">    
4993         <ref name="string"/>
4994     </attribute>
4995 </define>
4996 <define name="table-data-pilot-field-attlist" combine="interleave">
4997     <choice>
4998         <attribute name="table:orientation">    
4999             <choice>
5000                 <value>row</value>
5001                 <value>column</value>
5002                 <value>data</value>
5003                 <value>hidden</value>
5004             </choice>
5005         </attribute>
5006         <group>
5007             <attribute name="table:orientation">
5008                 <value>page</value>
5009             </attribute>
5010             <attribute name="table:selected-page">
5011                 <ref name="string"/>
5012             </attribute>
5013         </group>
5014     </choice>
5015 </define>
5016 <define name="table-data-pilot-field-attlist" combine="interleave">
5017     <optional>
5018         <attribute name="table:is-data-layout-field" a:defaultValue="false">    
5019             <ref name="string"/>
5020         </attribute>
5021     </optional>
5022 </define>
5023 <define name="table-data-pilot-field-attlist" combine="interleave">
5024     <optional>
5025         <attribute name="table:function">
5026             <choice>
5027                 <value>auto</value>
5028                 <value>average</value>
5029                 <value>count</value>
5030                 <value>countnums</value>
5031                 <value>max</value>
5032                 <value>min</value>
5033                 <value>product</value>
5034                 <value>stdev</value>
5035                 <value>stdevp</value>
5036                 <value>sum</value>
5037                 <value>var</value>
5038                 <value>varp</value>
5039                 <ref name="string"/>
5040             </choice>
5041         </attribute>
5042     </optional>
5043 </define>
5044 <define name="table-data-pilot-field-attlist" combine="interleave">
5045     <optional>
5046         <attribute name="table:used-hierarchy" a:defaultValue="-1">    
5047             <ref name="integer"/>
5048         </attribute>
5049     </optional>
5050 </define>
5051 <define name="table-data-pilot-level">
5052     <element name="table:data-pilot-level">
5053         <ref name="table-data-pilot-level-attlist"/>
5054         <optional>
5055             <ref name="table-data-pilot-subtotals"/>
5056         </optional>
5057         <optional>
5058             <ref name="table-data-pilot-members"/>
5059         </optional>
5060         <optional>
5061             <ref name="table-data-pilot-display-info"/>
5062         </optional>
5063         <optional>
5064             <ref name="table-data-pilot-sort-info"/>
5065         </optional>
5066         <optional>
5067             <ref name="table-data-pilot-layout-info"/>
5068         </optional>
5069     </element>
5070 </define>
5071 <define name="table-data-pilot-level-attlist" combine="interleave">
5072     <optional>
5073         <attribute name="table:show-empty">    
5074             <ref name="boolean"/>
5075         </attribute>
5076     </optional>
5077 </define>
5078 <define name="table-data-pilot-subtotals">
5079     <element name="table:data-pilot-subtotals">
5080         <zeroOrMore>
5081             <ref name="table-data-pilot-subtotal"/>
5082         </zeroOrMore>
5083     </element>
5084 </define>
5085 <define name="table-data-pilot-subtotal">
5086     <element name="table:data-pilot-subtotal">
5087         <ref name="table-data-pilot-subtotal-attlist"/>
5088         <empty/>
5089     </element>
5090 </define>
5091 <define name="table-data-pilot-subtotal-attlist" combine="interleave">
5092     <attribute name="table:function">
5093         <choice>
5094             <value>auto</value>
5095             <value>average</value>
5096             <value>count</value>
5097             <value>countnums</value>
5098             <value>max</value>
5099             <value>min</value>
5100             <value>product</value>
5101             <value>stdev</value>
5102             <value>stdevp</value>
5103             <value>sum</value>
5104             <value>var</value>
5105             <value>varp</value>
5106             <ref name="string"/>
5107         </choice>
5108     </attribute>
5109 </define>
5110 <define name="table-data-pilot-members">
5111     <element name="table:data-pilot-members">
5112         <zeroOrMore>
5113             <ref name="table-data-pilot-member"/>
5114         </zeroOrMore>
5115     </element>
5116 </define>
5117 <define name="table-data-pilot-member">
5118     <element name="table:data-pilot-member">
5119         <ref name="table-data-pilot-member-attlist"/>
5120         <empty/>
5121     </element>
5122 </define>
5123 <define name="table-data-pilot-member-attlist" combine="interleave">
5124     <attribute name="table:name">
5125         <ref name="string"/>
5126     </attribute>
5127 </define>
5128 <define name="table-data-pilot-member-attlist" combine="interleave">
5129     <optional>
5130         <attribute name="table:display">
5131             <ref name="boolean"/>
5132         </attribute>
5133     </optional>
5134 </define>
5135 <define name="table-data-pilot-member-attlist" combine="interleave">
5136     <optional>
5137         <attribute name="table:show-details">
5138             <ref name="boolean"/>
5139         </attribute>
5140     </optional>
5141 </define>
5142 <define name="table-data-pilot-display-info">
5143     <element name="table:data-pilot-display-info">
5144         <ref name="table-data-pilot-display-info-attlist"/>
5145         <empty/>
5146     </element>
5147 </define>
5148 <define name="table-data-pilot-display-info-attlist" combine="interleave">
5149     <attribute name="table:enabled">
5150         <ref name="boolean"/>
5151     </attribute>
5152 </define>
5153 <define name="table-data-pilot-display-info-attlist" combine="interleave">
5154     <attribute name="table:data-field">
5155         <ref name="string"/>
5156     </attribute>
5157 </define>
5158 <define name="table-data-pilot-display-info-attlist" combine="interleave">
5159     <attribute name="table:member-count">
5160         <ref name="nonNegativeInteger"/>
5161     </attribute>
5162 </define>
5163 <define name="table-data-pilot-display-info-attlist" combine="interleave">
5164     <attribute name="table:display-member-mode">
5165         <choice>
5166             <value>from-top</value>
5167             <value>from-bottom</value>
5168         </choice>
5169     </attribute>
5170 </define>
5171 <define name="table-data-pilot-sort-info">
5172     <element name="table:data-pilot-sort-info">
5173         <ref name="table-data-pilot-sort-info-attlist"/>
5174         <empty/>
5175     </element>
5176 </define>
5177 <define name="table-data-pilot-sort-info-attlist" combine="interleave">
5178     <choice>
5179         <group>
5180             <attribute name="table:sort-mode">
5181                 <value>data</value>
5182             </attribute>
5183             <attribute name="table:data-field">
5184                 <ref name="string"/>
5185             </attribute>
5186         </group>
5187         <attribute name="table:sort-mode">
5188             <choice>
5189                 <value>none</value>
5190                 <value>manual</value>
5191                 <value>name</value>
5192             </choice>
5193         </attribute>
5194     </choice>
5195 </define>
5196 <define name="table-data-pilot-sort-info-attlist" combine="interleave">
5197     <attribute name="table:order">
5198         <choice>
5199             <value>ascending</value>
5200             <value>descending</value>
5201         </choice>
5202     </attribute>
5203 </define>
5204 <define name="table-data-pilot-layout-info">
5205     <element name="table:data-pilot-layout-info">
5206         <ref name="table-data-pilot-layout-info-attlist"/>
5207         <empty/>
5208     </element>
5209 </define>
5210 <define name="table-data-pilot-layout-info-attlist" combine="interleave">
5211     <attribute name="table:layout-mode">
5212         <choice>
5213             <value>tabular-layout</value>
5214             <value>outline-subtotals-top</value>
5215             <value>outline-subtotals-bottom</value>
5216         </choice>
5217     </attribute>
5218 </define>
5219 <define name="table-data-pilot-layout-info-attlist" combine="interleave">
5220     <attribute name="table:add-empty-lines">
5221         <ref name="boolean"/>
5222     </attribute>
5223 </define>
5224 <define name="table-data-pilot-field-reference">
5225     <element name="table:data-pilot-field-reference">
5226         <ref name="table-data-pilot-field-reference-attlist"/>
5227     </element>
5228 </define>
5229 <define name="table-data-pilot-field-reference-attlist" combine="interleave">
5230     <attribute name="table:field-name">
5231         <ref name="string"/>
5232     </attribute>
5233 </define>
5234 <define name="table-data-pilot-field-reference-attlist" combine="interleave">
5235     <choice>
5236         <group>
5237             <attribute name="table:member-type">
5238                 <value>named</value>
5239             </attribute>
5240             <attribute name="table:member-name">
5241                 <ref name="string"/>
5242             </attribute>
5243         </group>
5244         <attribute name="table:member-type">
5245             <choice>
5246                 <value>previous</value>
5247                 <value>next</value>
5248             </choice>
5249         </attribute>
5250     </choice>
5251 </define>
5252 <define name="table-data-pilot-field-reference-attlist" combine="interleave">
5253     <attribute name="table:type">
5254         <choice>
5255             <value>none</value>
5256             <value>member-difference</value>
5257             <value>member-percentage</value>
5258             <value>member-percentage-difference</value>
5259             <value>running-total</value>
5260             <value>row-percentage</value>
5261             <value>column-percentage</value>
5262             <value>total-percentage</value>
5263             <value>index</value>
5264         </choice>
5265     </attribute>
5266 </define>
5267 <define name="table-data-pilot-groups">
5268     <element name="table:data-pilot-groups">
5269         <ref name="table-data-pilot-groups-attlist"/>
5270         <oneOrMore>
5271             <ref name="table-data-pilot-group"/>
5272         </oneOrMore>
5273     </element>
5274 </define>
5275 <define name="table-data-pilot-groups-attlist" combine="interleave">
5276     <attribute name="table:source-field-name">
5277         <ref name="string"/>
5278     </attribute>
5279 </define>
5280 <define name="table-data-pilot-groups-attlist" combine="interleave">
5281     <choice>
5282         <attribute name="table:date-start">
5283             <choice>
5284                 <ref name="dateOrDateTime"/>
5285                 <value>auto</value>
5286             </choice>
5287         </attribute>
5288         <attribute name="table:start">
5289             <choice>
5290                 <ref name="double"/>
5291                 <value>auto</value>
5292             </choice>
5293         </attribute>
5294     </choice>
5295 </define>
5296 <define name="table-data-pilot-groups-attlist" combine="interleave">
5297     <choice>
5298         <attribute name="table:date-end">
5299             <choice>
5300                 <ref name="dateOrDateTime"/>
5301                 <value>auto</value>
5302             </choice>
5303         </attribute>
5304         <attribute name="table:end">
5305             <choice>
5306                 <ref name="double"/>
5307                 <value>auto</value>
5308             </choice>
5309         </attribute>
5310     </choice>
5311 </define>
5312 <define name="table-data-pilot-groups-attlist" combine="interleave">
5313     <attribute name="table:step">
5314         <ref name="double"/>
5315     </attribute>
5316 </define>
5317 <define name="table-data-pilot-groups-attlist" combine="interleave">
5318     <attribute name="table:grouped-by">
5319         <choice>
5320             <value>seconds</value>
5321             <value>minutes</value>
5322             <value>hours</value>
5323             <value>days</value>
5324             <value>months</value>
5325             <value>quarters</value>
5326             <value>years</value>
5327         </choice>
5328     </attribute>
5329 </define>
5330 <define name="table-data-pilot-group">
5331     <element name="table:data-pilot-group">
5332         <ref name="table-data-pilot-group-attlist"/>
5333         <oneOrMore>
5334             <ref name="table-data-pilot-group-member"/>
5335         </oneOrMore>
5336     </element>
5337 </define>
5338 <define name="table-data-pilot-group-attlist" combine="interleave">
5339     <attribute name="table:name">
5340         <ref name="string"/>
5341     </attribute>
5342 </define>
5343 <define name="table-data-pilot-group-member">
5344     <element name="table:data-pilot-group-member">
5345         <ref name="table-data-pilot-group-member-attlist"/>
5346     </element>
5347 </define>
5348 <define name="table-data-pilot-group-member-attlist" combine="interleave">
5349     <attribute name="table:name">
5350         <ref name="string"/>
5351     </attribute>
5352 </define>
5353 <define name="table-consolidation">
5354     <element name="table:consolidation">
5355         <ref name="table-consolidation-attlist"/>
5356         <empty/>
5357     </element>
5358 </define>
5359 <define name="table-consolidation-attlist" combine="interleave">
5360     <attribute name="table:function">    
5361         <choice>
5362             <value>auto</value>
5363             <value>average</value>
5364             <value>count</value>
5365             <value>countnums</value>
5366             <value>max</value>
5367             <value>min</value>
5368             <value>product</value>
5369             <value>stdev</value>
5370             <value>stdevp</value>
5371             <value>sum</value>
5372             <value>var</value>
5373             <value>varp</value>
5374             <ref name="string"/>
5375         </choice>
5376     </attribute>
5377 </define>
5378 <define name="table-consolidation-attlist" combine="interleave">
5379     <attribute name="table:source-cell-range-addresses">    
5380         <ref name="cellRangeAddressList"/>
5381     </attribute>
5382 </define>
5383 <define name="table-consolidation-attlist" combine="interleave">
5384     <attribute name="table:target-cell-address">    
5385         <ref name="cellAddress"/>
5386     </attribute>
5387 </define>
5388 <define name="table-consolidation-attlist" combine="interleave">
5389     <optional>
5390         <attribute name="table:use-labels" a:defaultValue="none">
5391             <choice>
5392                 <value>none</value>
5393                 <value>row</value>
5394                 <value>column</value>
5395                 <value>both</value>
5396             </choice>
5397         </attribute>
5398     </optional>
5399 </define>
5400 <define name="table-consolidation-attlist" combine="interleave">
5401     <optional>
5402         <attribute name="table:link-to-source-data" a:defaultValue="false">
5403             <ref name="boolean"/>
5404         </attribute>
5405     </optional>
5406 </define>
5407 <define name="table-dde-links">
5408     <element name="table:dde-links">
5409         <oneOrMore>
5410             <ref name="table-dde-link"/>
5411         </oneOrMore>
5412     </element>
5413 </define>
5414 <define name="table-tracked-changes">
5415     <element name="table:tracked-changes">
5416         <ref name="table-tracked-changes-attlist"/>
5417         <zeroOrMore>
5418             <choice>
5419                 <ref name="table-cell-content-change"/>
5420                 <ref name="table-insertion"/>
5421                 <ref name="table-deletion"/>
5422                 <ref name="table-movement"/>
5423             </choice>
5424         </zeroOrMore>
5425     </element>
5426 </define>
5427 <define name="table-tracked-changes-attlist" combine="interleave">
5428     <optional>
5429         <attribute name="table:track-changes" a:defaultValue="false">
5430             <ref name="boolean"/>
5431         </attribute>
5432     </optional>
5433 </define>
5434 <define name="table-insertion">
5435     <element name="table:insertion">
5436         <ref name="table-insertion-attlist"/>
5437         <ref name="common-table-change-attlist"/>
5438         <ref name="office-change-info"/>
5439         <optional>
5440             <ref name="table-dependencies"/>
5441         </optional>
5442         <optional>
5443             <ref name="table-deletions"/>
5444         </optional>
5445     </element>
5446 </define>
5447 <define name="table-insertion-attlist" combine="interleave">
5448     <attribute name="table:type">
5449         <choice>
5450             <value>row</value>
5451             <value>column</value>
5452             <value>table</value>
5453         </choice>
5454     </attribute>
5455 </define>
5456 <define name="table-insertion-attlist" combine="interleave">
5457     <attribute name="table:position">
5458         <ref name="integer"/>
5459     </attribute>
5460 </define>
5461 <define name="table-insertion-attlist" combine="interleave">
5462     <optional>
5463         <attribute name="table:count" a:defaultValue="1">
5464             <ref name="positiveInteger"/>
5465         </attribute>
5466     </optional>
5467 </define>
5468 <define name="table-insertion-attlist" combine="interleave">
5469     <optional>
5470         <attribute name="table:table">
5471             <ref name="integer"/>
5472         </attribute>
5473     </optional>
5474 </define>
5475 <define name="table-dependencies">
5476     <element name="table:dependencies">
5477         <oneOrMore>
5478             <ref name="table-dependency"/>
5479         </oneOrMore>
5480     </element>
5481 </define>
5482 <define name="table-dependency">
5483     <element name="table:dependency">
5484         <attribute name="table:id">
5485             <ref name="string"/>
5486         </attribute>
5487         <empty/>
5488     </element>
5489 </define>
5490 <define name="table-deletions">
5491     <element name="table:deletions">
5492         <oneOrMore>
5493             <choice>
5494                 <ref name="table-cell-content-deletion"/>
5495                 <ref name="table-change-deletion"/>
5496             </choice>
5497         </oneOrMore>
5498     </element>
5499 </define>
5500 <define name="table-cell-content-deletion">
5501     <element name="table:cell-content-deletion">
5502         <optional>
5503             <attribute name="table:id">
5504                 <ref name="string"/>
5505             </attribute>
5506         </optional>
5507         <optional>
5508             <ref name="table-cell-address"/>
5509         </optional>
5510         <optional>
5511             <ref name="table-change-track-table-cell"/>
5512         </optional>
5513     </element>
5514 </define>
5515 <define name="table-change-deletion">
5516     <element name="table:change-deletion">
5517         <optional>
5518             <attribute name="table:id">
5519                 <ref name="string"/>
5520             </attribute>
5521         </optional>
5522         <empty/>
5523     </element>
5524 </define>
5525 <define name="table-deletion">
5526     <element name="table:deletion">
5527         <ref name="table-deletion-attlist"/>
5528         <ref name="common-table-change-attlist"/>
5529         <ref name="office-change-info"/>
5530         <optional>
5531             <ref name="table-dependencies"/>
5532         </optional>
5533         <optional>
5534             <ref name="table-deletions"/>
5535         </optional>
5536         <optional>
5537             <ref name="table-cut-offs"/>
5538         </optional>
5539     </element>
5540 </define>
5541 <define name="table-deletion-attlist" combine="interleave">
5542     <attribute name="table:type">
5543         <choice>
5544             <value>row</value>
5545             <value>column</value>
5546             <value>table</value>
5547         </choice>
5548     </attribute>
5549 </define>
5550 <define name="table-deletion-attlist" combine="interleave">
5551     <attribute name="table:position">
5552         <ref name="integer"/>
5553     </attribute>
5554 </define>
5555 <define name="table-deletion-attlist" combine="interleave">
5556     <optional>
5557         <attribute name="table:table">
5558             <ref name="integer"/>
5559         </attribute>
5560     </optional>
5561 </define>
5562 <define name="table-deletion-attlist" combine="interleave">
5563     <optional>
5564         <attribute name="table:multi-deletion-spanned">
5565             <ref name="integer"/>
5566         </attribute>
5567     </optional>
5568 </define>
5569 <define name="table-cut-offs">
5570     <element name="table:cut-offs">
5571         <choice>
5572             <oneOrMore>
5573                 <ref name="table-movement-cut-off"/>
5574             </oneOrMore>
5575             <group>
5576                 <ref name="table-insertion-cut-off"/>
5577                 <zeroOrMore>
5578                     <ref name="table-movement-cut-off"/>
5579                 </zeroOrMore>
5580             </group>
5581         </choice>
5582     </element>
5583 </define>
5584 <define name="table-insertion-cut-off">
5585     <element name="table:insertion-cut-off">
5586         <ref name="table-insertion-cut-off-attlist"/>
5587         <empty/>
5588     </element>
5589 </define>
5590 <define name="table-insertion-cut-off-attlist" combine="interleave">
5591     <attribute name="table:id">
5592         <ref name="string"/>
5593     </attribute>
5594 </define>
5595 <define name="table-insertion-cut-off-attlist" combine="interleave">
5596     <attribute name="table:position">
5597         <ref name="integer"/>
5598     </attribute>
5599 </define>
5600 <define name="table-movement-cut-off">
5601     <element name="table:movement-cut-off">
5602         <ref name="table-movement-cut-off-attlist"/>
5603         <empty/>
5604     </element>
5605 </define>
5606 <define name="table-movement-cut-off-attlist" combine="interleave">
5607     <choice>
5608         <attribute name="table:position">
5609             <ref name="integer"/>
5610         </attribute>
5611         <group>
5612             <attribute name="table:start-position">
5613                 <ref name="integer"/>
5614             </attribute>
5615             <attribute name="table:end-position">
5616                 <ref name="integer"/>
5617             </attribute>
5618         </group>
5619     </choice>
5620 </define>
5621 <define name="table-movement">
5622     <element name="table:movement">
5623         <ref name="common-table-change-attlist"/>
5624         <ref name="table-source-range-address"/>
5625         <ref name="table-target-range-address"/>
5626         <ref name="office-change-info"/>
5627         <optional>
5628             <ref name="table-dependencies"/>
5629         </optional>
5630         <optional>
5631             <ref name="table-deletions"/>
5632         </optional>
5633     </element>
5634 </define>
5635 <define name="table-source-range-address">
5636     <element name="table:source-range-address">
5637         <ref name="common-table-range-attlist"/>
5638         <empty/>
5639     </element>
5640 </define>
5641 
5642 <define name="table-target-range-address">
5643     <element name="table:target-range-address">
5644         <ref name="common-table-range-attlist"/>
5645         <empty/>
5646     </element>
5647 </define>
5648 
5649 
5650 <define name="common-table-range-attlist" combine="interleave">
5651     <choice>
5652         <group>
5653             <ref name="common-table-cell-address-attlist"/>
5654         </group>
5655         <group>
5656             <ref name="common-table-cell-range-address-attlist"/>
5657         </group>
5658     </choice>
5659 </define>
5660 <define name="common-table-cell-address-attlist" combine="interleave">
5661     <attribute name="table:column">
5662         <ref name="integer"/>
5663     </attribute>
5664     <attribute name="table:row">
5665         <ref name="integer"/>
5666     </attribute>
5667     <attribute name="table:table">
5668         <ref name="integer"/>
5669     </attribute>
5670 </define>
5671 <define name="common-table-cell-range-address-attlist" combine="interleave">
5672     <attribute name="table:start-column">
5673         <ref name="integer"/>
5674     </attribute>
5675     <attribute name="table:start-row">
5676         <ref name="integer"/>
5677     </attribute>
5678     <attribute name="table:start-table">
5679         <ref name="integer"/>
5680     </attribute>
5681     <attribute name="table:end-column">
5682         <ref name="integer"/>
5683     </attribute>
5684     <attribute name="table:end-row">
5685         <ref name="integer"/>
5686     </attribute>
5687     <attribute name="table:end-table">
5688         <ref name="integer"/>
5689     </attribute>
5690 </define>
5691 <define name="table-change-track-table-cell" combine="interleave">
5692     <element name="table:change-track-table-cell">
5693         <ref name="table-change-track-table-cell-attlist"/>
5694         <zeroOrMore>
5695             <ref name="text-p"/>
5696         </zeroOrMore>
5697     </element>
5698 </define>
5699 <define name="table-change-track-table-cell-attlist" combine="interleave">
5700     <optional>
5701         <attribute name="table:cell-address">
5702             <ref name="cellAddress"/>
5703         </attribute>
5704     </optional>
5705 </define>
5706 <define name="table-change-track-table-cell-attlist" combine="interleave">
5707     <optional>
5708         <attribute name="table:matrix-covered" a:defaultValue="false">
5709             <ref name="boolean"/>
5710         </attribute>
5711     </optional>
5712 </define>
5713 <define name="table-change-track-table-cell-attlist" combine="interleave">
5714     <optional>
5715         <attribute name="table:formula">
5716             <ref name="string"/>
5717         </attribute>
5718     </optional>
5719     <optional>
5720         <attribute name="table:number-matrix-columns-spanned">
5721             <ref name="positiveInteger"/>
5722         </attribute>
5723     </optional>
5724     <optional>
5725         <attribute name="table:number-matrix-rows-spanned">
5726             <ref name="positiveInteger"/>
5727         </attribute>
5728     </optional>
5729     <optional>
5730         <ref name="common-value-and-type-attlist"/>
5731     </optional>
5732 </define>
5733 <define name="table-cell-content-change">
5734     <element name="table:cell-content-change">
5735         <ref name="common-table-change-attlist"/>
5736         <ref name="table-cell-address"/>
5737         <ref name="office-change-info"/>
5738         <optional>
5739             <ref name="table-dependencies"/>
5740         </optional>
5741         <optional>
5742             <ref name="table-deletions"/>
5743         </optional>
5744         <ref name="table-previous"/>
5745     </element>
5746 </define>
5747 <define name="table-cell-address">
5748     <element name="table:cell-address">
5749         <ref name="common-table-cell-address-attlist"/>
5750         <empty/>
5751     </element>
5752 </define>
5753 <define name="table-previous">
5754     <element name="table:previous">
5755         <optional>
5756             <attribute name="table:id">
5757                 <ref name="string"/>
5758             </attribute>
5759         </optional>
5760         <ref name="table-change-track-table-cell"/>
5761     </element>
5762 </define>
5763 <define name="common-table-change-attlist" combine="interleave">
5764     <attribute name="table:id">
5765         <ref name="string"/>
5766     </attribute>
5767 </define>
5768 <define name="common-table-change-attlist" combine="interleave">
5769     <optional>
5770         <attribute name="table:acceptance-state" a:defaultValue="pending">
5771             <choice>
5772                 <value>accepted</value>
5773                 <value>rejected</value>
5774                 <value>pending</value>
5775             </choice>
5776         </attribute>
5777     </optional>
5778 </define>
5779 <define name="common-table-change-attlist" combine="interleave">
5780     <optional>
5781         <attribute name="table:rejecting-change-id">
5782             <ref name="string"/> 
5783         </attribute>
5784     </optional>
5785 </define>
5786 <define name="style-handout-master">
5787     <element name="style:handout-master">
5788         <ref name="common-presentation-header-footer-attlist"/>
5789         <ref name="style-handout-master-attlist"/>
5790         <zeroOrMore>
5791             <ref name="shape"/>
5792         </zeroOrMore>
5793     </element>
5794 </define>
5795 <define name="style-handout-master-attlist" combine="interleave">
5796     <optional>
5797         <attribute name="presentation:presentation-page-layout-name">
5798             <ref name="styleNameRef"/>
5799         </attribute>
5800     </optional>
5801 </define>
5802 <define name="style-handout-master-attlist" combine="interleave">
5803     <attribute name="style:page-layout-name">
5804         <ref name="styleNameRef"/>
5805     </attribute>
5806 </define>
5807 <define name="style-handout-master-attlist" combine="interleave">
5808     <optional>
5809         <attribute name="draw:style-name">
5810             <ref name="styleNameRef"/>
5811         </attribute>
5812     </optional>
5813 </define>
5814 <define name="draw-layer-set">
5815     <element name="draw:layer-set">
5816         <zeroOrMore>
5817             <ref name="draw-layer"/>
5818         </zeroOrMore>
5819     </element>
5820 </define>
5821 <define name="draw-layer">
5822     <element name="draw:layer">
5823         <ref name="draw-layer-attlist"/>
5824         <empty/>
5825     </element>
5826 </define>
5827 <define name="draw-layer-attlist" combine="interleave">
5828     <attribute name="draw:name">
5829         <ref name="string"/>
5830     </attribute>
5831 </define>
5832 <define name="draw-layer-attlist" combine="interleave">
5833     <optional>
5834         <attribute name="draw:protected" a:defaultValue="false">
5835             <ref name="boolean"/>
5836         </attribute>
5837     </optional>
5838 </define>
5839 <define name="draw-layer-attlist" combine="interleave">
5840     <optional>
5841         <attribute name="draw:display" a:defaultValue="always">
5842             <choice>
5843                 <value>always</value>
5844                 <value>screen</value>
5845                 <value>printer</value>
5846                 <value>none</value>
5847             </choice>
5848         </attribute>
5849     </optional>
5850 </define>
5851 <define name="draw-page">
5852     <element name="draw:page">
5853         <ref name="common-presentation-header-footer-attlist"/>
5854         <ref name="draw-page-attlist"/>
5855         <optional>
5856             <ref name="office-forms"/>
5857         </optional>
5858         <zeroOrMore>
5859             <ref name="shape"/>
5860         </zeroOrMore>
5861         <optional>
5862             <choice>
5863                 <ref name="presentation-animations"/>
5864                 <ref name="animation-element"/>
5865             </choice>
5866         </optional>
5867         <optional>
5868             <ref name="presentation-notes"/>
5869         </optional>
5870     </element>
5871 </define>
5872 <define name="draw-page-attlist" combine="interleave">
5873     <optional>
5874         <attribute name="draw:name">
5875             <ref name="string"/>
5876         </attribute>
5877     </optional>
5878 </define>
5879 <define name="draw-page-attlist" combine="interleave">
5880     <optional>
5881         <attribute name="draw:style-name">
5882             <ref name="styleNameRef"/>
5883         </attribute>
5884     </optional>
5885 </define>
5886 <define name="draw-page-attlist" combine="interleave">
5887     <attribute name="draw:master-page-name">
5888         <ref name="styleNameRef"/>
5889     </attribute>
5890 </define>
5891 <define name="draw-page-attlist" combine="interleave">
5892     <optional>
5893         <attribute name="presentation:presentation-page-layout-name">
5894             <ref name="styleNameRef"/>
5895         </attribute>
5896     </optional>
5897 </define>
5898 <define name="common-presentation-header-footer-attlist" combine="interleave">
5899     <optional>
5900         <attribute name="presentation:use-header-name">
5901             <ref name="string"/>
5902         </attribute>
5903     </optional>
5904 </define>
5905 <define name="common-presentation-header-footer-attlist" combine="interleave">
5906     <optional>
5907         <attribute name="presentation:use-footer-name">
5908             <ref name="string"/>
5909         </attribute>
5910     </optional>
5911 </define>
5912 <define name="common-presentation-header-footer-attlist" combine="interleave">
5913     <optional>
5914         <attribute name="presentation:use-date-time-name">
5915             <ref name="string"/>
5916         </attribute>
5917     </optional>
5918 </define>
5919 <define name="draw-page-attlist">
5920     <optional>
5921         <attribute name="draw:id">
5922             <ref name="ID"/>
5923         </attribute>
5924     </optional>
5925 </define>
5926 <define name="shape">
5927     <choice>
5928         <ref name="draw-rect"/>
5929         <ref name="draw-line"/>
5930         <ref name="draw-polyline"/>
5931         <ref name="draw-polygon"/>
5932         <ref name="draw-regular-polygon"/>
5933         <ref name="draw-path"/>
5934         <ref name="draw-circle"/>
5935         <ref name="draw-ellipse"/>
5936         <ref name="draw-g"/>
5937         <ref name="draw-page-thumbnail"/>
5938         <ref name="draw-frame"/>
5939         <ref name="draw-measure"/>
5940         <ref name="draw-caption"/>
5941         <ref name="draw-connector"/>
5942         <ref name="draw-control"/>
5943         <ref name="dr3d-scene"/>
5944         <ref name="draw-custom-shape"/>
5945     </choice>
5946 </define>
5947 <define name="draw-rect">
5948     <element name="draw:rect">
5949         <ref name="draw-rect-attlist"/>
5950         <ref name="common-draw-position-attlist"/>
5951         <ref name="common-draw-size-attlist"/>
5952         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
5953         <optional>
5954             <ref name="office-event-listeners"/>
5955         </optional>
5956         <zeroOrMore>
5957             <ref name="draw-glue-point"/>
5958         </zeroOrMore>
5959         <ref name="draw-text"/>
5960     </element>
5961 </define>
5962 <define name="draw-rect-attlist" combine="interleave">
5963     <optional>
5964         <attribute name="draw:corner-radius">
5965             <ref name="nonNegativeLength"/>
5966         </attribute>
5967     </optional>
5968 </define>
5969 <define name="draw-line">
5970     <element name="draw:line">
5971         <ref name="draw-line-attlist"/>
5972         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
5973         <optional>
5974             <ref name="office-event-listeners"/>
5975         </optional>
5976         <zeroOrMore>
5977             <ref name="draw-glue-point"/>
5978         </zeroOrMore>
5979         <ref name="draw-text"/>
5980     </element>
5981 </define>
5982 <define name="draw-line-attlist" combine="interleave">
5983     <attribute name="svg:x1">
5984         <ref name="coordinate"/>
5985     </attribute>
5986     <attribute name="svg:y1">
5987         <ref name="coordinate"/>
5988     </attribute>
5989 </define>
5990 <define name="draw-line-attlist" combine="interleave">
5991     <attribute name="svg:x2">
5992         <ref name="coordinate"/>
5993     </attribute>
5994     <attribute name="svg:y2">
5995         <ref name="coordinate"/>
5996     </attribute>
5997 </define>
5998 <define name="draw-polyline">
5999     <element name="draw:polyline">
6000         <ref name="common-draw-points-attlist"/>
6001         <ref name="common-draw-position-attlist"/>
6002         <ref name="common-draw-size-attlist"/>
6003         <ref name="common-draw-viewbox-attlist"/>
6004         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6005         <optional>
6006             <ref name="office-event-listeners"/>
6007         </optional>
6008         <zeroOrMore>
6009             <ref name="draw-glue-point"/>
6010         </zeroOrMore>
6011         <ref name="draw-text"/>
6012     </element>
6013 </define>
6014 <define name="common-draw-points-attlist">
6015     <attribute name="draw:points">
6016         <ref name="points"/>
6017     </attribute>
6018 </define>
6019 <define name="draw-polygon">
6020     <element name="draw:polygon">
6021         <ref name="common-draw-points-attlist"/>
6022         <ref name="common-draw-position-attlist"/>
6023         <ref name="common-draw-size-attlist"/>
6024         <ref name="common-draw-viewbox-attlist"/>
6025         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6026         <optional>
6027             <ref name="office-event-listeners"/>
6028         </optional>
6029         <zeroOrMore>
6030             <ref name="draw-glue-point"/>
6031         </zeroOrMore>
6032         <ref name="draw-text"/>
6033     </element>
6034 </define>
6035 <define name="draw-regular-polygon">
6036     <element name="draw:regular-polygon">
6037         <ref name="draw-regular-polygon-attlist"/>
6038         <ref name="common-draw-position-attlist"/>
6039         <ref name="common-draw-size-attlist"/>
6040         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6041         <optional>
6042             <ref name="office-event-listeners"/>
6043         </optional>
6044         <zeroOrMore>
6045             <ref name="draw-glue-point"/>
6046         </zeroOrMore>
6047         <ref name="draw-text"/>
6048     </element>
6049 </define>
6050 <define name="draw-regular-polygon-attlist" combine="interleave">
6051     <choice>
6052         <attribute name="draw:concave">
6053             <value>false</value>
6054         </attribute>
6055         <group>
6056             <attribute name="draw:concave">
6057                 <value>true</value>
6058             </attribute>
6059             <ref name="draw-regular-polygon-sharpness-attlist"/>
6060         </group>
6061     </choice>
6062 </define>
6063 <define name="draw-regular-polygon-attlist" combine="interleave">
6064     <attribute name="draw:corners">
6065         <ref name="positiveInteger"/>
6066     </attribute>
6067 </define>
6068 <define name="draw-regular-polygon-sharpness-attlist">
6069     <attribute name="draw:sharpness">
6070         <ref name="percent"/>
6071     </attribute>
6072 </define>
6073 <define name="draw-path">
6074     <element name="draw:path">
6075         <ref name="common-draw-path-data-attlist"/>
6076         <ref name="common-draw-position-attlist"/>
6077         <ref name="common-draw-size-attlist"/>
6078         <ref name="common-draw-viewbox-attlist"/>
6079         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6080         <optional>
6081             <ref name="office-event-listeners"/>
6082         </optional>
6083         <zeroOrMore>
6084             <ref name="draw-glue-point"/>
6085         </zeroOrMore>
6086         <ref name="draw-text"/>
6087     </element>
6088 </define>
6089 <define name="common-draw-path-data-attlist">
6090     <attribute name="svg:d">
6091         <ref name="pathData"/>
6092     </attribute>
6093 </define>
6094 <define name="draw-circle">
6095     <element name="draw:circle">
6096         <ref name="draw-circle-attlist"/>
6097         <ref name="common-draw-circle-ellipse-attlist"/>
6098         <ref name="common-draw-position-attlist"/>
6099         <ref name="common-draw-size-attlist"/>
6100         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6101         <optional>
6102             <ref name="office-event-listeners"/>
6103         </optional>
6104         <zeroOrMore>
6105             <ref name="draw-glue-point"/>
6106         </zeroOrMore>
6107         <ref name="draw-text"/>
6108     </element>
6109 </define>
6110 <define name="common-draw-circle-ellipse-attlist" combine="interleave">
6111     <optional>
6112         <attribute name="svg:cx">
6113             <ref name="coordinate"/>
6114         </attribute>
6115         <attribute name="svg:cy">
6116             <ref name="coordinate"/>
6117         </attribute>
6118     </optional>
6119 </define>
6120 <define name="draw-circle-attlist" combine="interleave">
6121     <optional>
6122         <attribute name="svg:r">
6123             <ref name="length"/>
6124         </attribute>
6125     </optional>
6126 </define>
6127 <define name="common-draw-circle-ellipse-attlist" combine="interleave">
6128     <optional>
6129         <attribute name="draw:kind" a:defaultValue="full">
6130             <choice>
6131                 <value>full</value>
6132                 <value>section</value>
6133                 <value>cut</value>
6134                 <value>arc</value>
6135             </choice>
6136         </attribute>
6137     </optional>
6138 </define>
6139 <define name="common-draw-circle-ellipse-attlist" combine="interleave">
6140     <optional>
6141         <attribute name="draw:start-angle">
6142             <ref name="double"/>
6143         </attribute>
6144     </optional>
6145 </define>
6146 <define name="common-draw-circle-ellipse-attlist" combine="interleave">
6147     <optional>
6148         <attribute name="draw:end-angle">
6149             <ref name="double"/>
6150         </attribute>
6151     </optional>
6152 </define>
6153 <define name="draw-ellipse">
6154     <element name="draw:ellipse">
6155         <ref name="common-draw-circle-ellipse-attlist"/>
6156         <ref name="draw-ellipse-attlist"/>
6157         <ref name="common-draw-position-attlist"/>
6158         <ref name="common-draw-size-attlist"/>
6159         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6160         <optional>
6161             <ref name="office-event-listeners"/>
6162         </optional>
6163         <zeroOrMore>
6164             <ref name="draw-glue-point"/>
6165         </zeroOrMore>
6166         <ref name="draw-text"/>
6167     </element>
6168 </define>
6169 <define name="draw-ellipse-attlist" combine="interleave">
6170     <optional>
6171         <attribute name="svg:rx">
6172             <ref name="length"/>
6173         </attribute>
6174         <attribute name="svg:ry">
6175             <ref name="length"/>
6176         </attribute>
6177     </optional>
6178 </define>
6179 <define name="draw-connector">
6180     <element name="draw:connector">
6181         <ref name="draw-connector-attlist"/>
6182         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6183         <optional>
6184             <ref name="office-event-listeners"/>
6185         </optional>
6186         <zeroOrMore>
6187             <ref name="draw-glue-point"/>
6188         </zeroOrMore>
6189         <ref name="draw-text"/>
6190     </element>
6191 </define>
6192 <define name="draw-connector-attlist" combine="interleave">
6193     <optional>
6194         <attribute name="draw:type" a:defaultValue="standard">
6195             <choice>
6196                 <value>standard</value>
6197                 <value>lines</value>
6198                 <value>line</value>
6199                 <value>curve</value>
6200             </choice>
6201         </attribute>
6202     </optional>
6203 </define>
6204 <define name="draw-connector-attlist" combine="interleave">
6205     <optional>
6206         <attribute name="svg:x1">
6207             <ref name="coordinate"/>
6208         </attribute>
6209         <attribute name="svg:y1">
6210             <ref name="coordinate"/>
6211         </attribute>
6212     </optional>
6213 </define>
6214 <define name="draw-connector-attlist" combine="interleave">
6215     <optional>
6216         <attribute name="draw:start-shape">
6217             <ref name="IDREF"/>
6218         </attribute>
6219     </optional>
6220 </define>
6221 <define name="draw-connector-attlist" combine="interleave">
6222     <optional>
6223         <attribute name="draw:start-glue-point">
6224             <ref name="nonNegativeInteger"/>
6225         </attribute>
6226     </optional>
6227 </define>
6228 <define name="draw-connector-attlist" combine="interleave">
6229     <optional>
6230         <attribute name="svg:x2">
6231             <ref name="coordinate"/>
6232         </attribute>
6233         <attribute name="svg:y2">
6234             <ref name="coordinate"/>
6235         </attribute>
6236     </optional>
6237 </define>
6238 <define name="draw-connector-attlist" combine="interleave">
6239     <optional>
6240         <attribute name="draw:end-shape">
6241             <ref name="IDREF"/>
6242         </attribute>
6243     </optional>
6244 </define>
6245 <define name="draw-connector-attlist" combine="interleave">
6246     <optional>
6247         <attribute name="draw:end-glue-point">
6248             <ref name="nonNegativeInteger"/>
6249         </attribute>
6250     </optional>
6251 </define>
6252 <define name="draw-connector-attlist" combine="interleave">
6253     <optional>
6254         <attribute name="draw:line-skew">
6255             <list>
6256                 <ref name="length"/>
6257                 <optional>
6258                     <ref name="length"/>
6259                     <optional>
6260                         <ref name="length"/>
6261                     </optional>
6262                 </optional>
6263             </list>
6264         </attribute>
6265     </optional>
6266 </define>
6267 <define name="draw-caption">
6268     <element name="draw:caption">
6269         <ref name="draw-caption-attlist"/>
6270         <ref name="common-draw-position-attlist"/>
6271         <ref name="common-draw-size-attlist"/>
6272         <ref name="common-draw-shape-with-text-and-styles-attlist"/>    
6273         <optional>
6274             <ref name="office-event-listeners"/>
6275         </optional>
6276         <zeroOrMore>
6277             <ref name="draw-glue-point"/>
6278         </zeroOrMore>
6279         <ref name="draw-text"/>
6280     </element>
6281 </define>
6282 <define name="draw-caption-attlist" combine="interleave">
6283     <optional>
6284         <attribute name="draw:caption-point-x">
6285             <ref name="coordinate"/>
6286         </attribute>
6287         <attribute name="draw:caption-point-y">
6288             <ref name="coordinate"/>
6289         </attribute>
6290     </optional>
6291 </define>
6292 <define name="draw-caption-attlist" combine="interleave">
6293     <optional>
6294         <attribute name="draw:corner-radius">
6295             <ref name="nonNegativeLength"/>
6296         </attribute>
6297     </optional>
6298 </define>
6299 <define name="draw-measure">
6300     <element name="draw:measure">
6301         <ref name="draw-measure-attlist"/>
6302         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6303         <optional>
6304             <ref name="office-event-listeners"/>
6305         </optional>
6306         <zeroOrMore>
6307             <ref name="draw-glue-point"/>
6308         </zeroOrMore>
6309         <ref name="draw-text"/>
6310     </element>
6311 </define>
6312 <define name="draw-measure-attlist" combine="interleave">
6313     <attribute name="svg:x1">
6314         <ref name="coordinate"/>
6315     </attribute>
6316     <attribute name="svg:y1">
6317         <ref name="coordinate"/>
6318     </attribute>
6319 </define>
6320 <define name="draw-measure-attlist" combine="interleave">
6321     <attribute name="svg:x2">
6322         <ref name="coordinate"/>
6323     </attribute>
6324     <attribute name="svg:y2">
6325         <ref name="coordinate"/>
6326     </attribute>
6327 </define>
6328 <define name="draw-control">
6329     <element name="draw:control">
6330         <ref name="draw-control-attlist"/>
6331         <ref name="common-draw-position-attlist"/>
6332         <ref name="common-draw-size-attlist"/>
6333         <ref name="common-draw-shape-with-text-and-styles-attlist"/>    
6334         <zeroOrMore>
6335             <ref name="draw-glue-point"/>
6336         </zeroOrMore>
6337     </element>
6338 </define>
6339 <define name="draw-control-attlist" combine="interleave">
6340     <attribute name="draw:control">
6341         <ref name="IDREF"/>
6342     </attribute>
6343 </define>
6344 <define name="draw-page-thumbnail">
6345     <element name="draw:page-thumbnail">
6346         <ref name="draw-page-thumbnail-attlist"/>
6347         <ref name="common-draw-position-attlist"/>
6348         <ref name="common-draw-size-attlist"/>
6349         <ref name="presentation-shape-attlist"/>
6350         <ref name="common-draw-shape-with-styles-attlist"/>
6351         <empty/>
6352     </element>
6353 </define>
6354 <define name="draw-page-thumbnail-attlist">
6355     <optional>
6356         <attribute name="draw:page-number">
6357             <ref name="positiveInteger"/>
6358         </attribute>
6359     </optional>
6360 </define>
6361 <define name="draw-g">
6362     <element name="draw:g">
6363         <ref name="draw-g-attlist"/>
6364         <ref name="common-draw-z-index-attlist"/>
6365         <ref name="common-draw-name-attlist"/>
6366         <ref name="common-draw-id-attlist"/>
6367         <ref name="common-draw-style-name-attlist"/>
6368         <ref name="common-text-spreadsheet-shape-attlist"/>
6369         <optional>
6370             <ref name="office-event-listeners"/>
6371         </optional>
6372         <zeroOrMore>
6373             <ref name="draw-glue-point"/>
6374         </zeroOrMore>
6375         <zeroOrMore>
6376             <ref name="shape"/>
6377         </zeroOrMore>
6378     </element>
6379 </define>
6380 <define name="draw-g-attlist" combine="interleave">
6381     <optional>
6382         <attribute name="svg:y">
6383             <ref name="coordinate"/>
6384         </attribute>
6385     </optional>
6386 </define>
6387 <define name="common-draw-name-attlist" combine="interleave">
6388     <optional>
6389         <attribute name="draw:name">
6390             <ref name="string"/>
6391         </attribute>
6392     </optional>
6393 </define>
6394 <define name="common-draw-position-attlist">
6395     <optional>
6396         <attribute name="svg:x">
6397             <ref name="coordinate"/>
6398         </attribute>
6399     </optional>
6400     <optional>
6401         <attribute name="svg:y">
6402             <ref name="coordinate"/>
6403         </attribute>
6404     </optional>
6405 </define>
6406 <define name="common-draw-size-attlist">
6407     <optional>
6408         <attribute name="svg:width">
6409             <ref name="length"/>
6410         </attribute>
6411     </optional>
6412     <optional>
6413         <attribute name="svg:height">
6414             <ref name="length"/>
6415         </attribute>
6416     </optional>
6417 </define>
6418 <define name="common-draw-transform-attlist">
6419     <optional>
6420         <attribute name="draw:transform">
6421             <ref name="string"/>
6422         </attribute>
6423     </optional>
6424 </define>
6425 <define name="common-draw-viewbox-attlist">
6426     <attribute name="svg:viewBox">
6427         <list>
6428             <ref name="integer"/>
6429             <ref name="integer"/>
6430             <ref name="integer"/>
6431             <ref name="integer"/>
6432         </list>
6433     </attribute>
6434 </define>
6435 <define name="common-draw-style-name-attlist">
6436     <choice>
6437         <group>
6438             <optional>
6439                 <attribute name="draw:style-name">
6440                     <ref name="styleNameRef"/>
6441                 </attribute>
6442             </optional>
6443             <optional>
6444                 <attribute name="draw:class-names">
6445                     <ref name="styleNameRefs"/>
6446                 </attribute>
6447             </optional>
6448         </group>
6449         <group>
6450             <optional>
6451                 <attribute name="presentation:style-name">
6452                     <ref name="styleNameRef"/>
6453                 </attribute>
6454             </optional>
6455             <optional>
6456                 <attribute name="presentation:class-names">
6457                     <ref name="styleNameRefs"/>
6458                 </attribute>
6459             </optional>
6460         </group>
6461     </choice>
6462 </define>
6463 <define name="common-draw-text-style-name-attlist">
6464     <optional>
6465         <attribute name="draw:text-style-name">
6466             <ref name="styleNameRef"/>
6467         </attribute>
6468     </optional>
6469 </define>
6470 <define name="common-draw-layer-name-attlist">
6471     <optional>
6472         <attribute name="draw:layer">
6473             <data type="string"/>
6474         </attribute>
6475     </optional>
6476 </define>
6477 <define name="common-draw-id-attlist">
6478     <optional>
6479         <attribute name="draw:id">
6480             <ref name="ID"/>
6481         </attribute>
6482     </optional>
6483 </define>
6484 <define name="common-draw-z-index-attlist">
6485     <optional>
6486         <attribute name="draw:z-index">
6487             <ref name="nonNegativeInteger"/>
6488         </attribute>
6489     </optional>
6490 </define>
6491 <define name="common-text-spreadsheet-shape-attlist" combine="interleave">
6492     <optional>
6493         <attribute name="table:end-cell-address">
6494             <ref name="cellAddress"/>
6495         </attribute>
6496     </optional>
6497     <optional>
6498         <attribute name="table:end-x">
6499             <ref name="coordinate"/>
6500         </attribute>
6501     </optional>
6502     <optional>
6503         <attribute name="table:end-y">
6504             <ref name="coordinate"/>
6505         </attribute>
6506     </optional>
6507 </define>
6508 <define name="common-text-spreadsheet-shape-attlist" combine="interleave">
6509     <optional>
6510         <attribute name="table:table-background">
6511             <ref name="boolean"/>
6512         </attribute>
6513     </optional>
6514 </define>
6515 <define name="common-text-spreadsheet-shape-attlist" combine="interleave">
6516     <ref name="common-text-anchor-attlist"/>
6517 </define>
6518 
6519 <define name="common-text-anchor-attlist" combine="interleave">
6520     <optional>
6521         <attribute name="text:anchor-type">
6522             <choice>
6523                 <value>page</value>
6524                 <value>frame</value>
6525                 <value>paragraph</value>
6526                 <value>char</value>
6527                 <value>as-char</value>
6528             </choice>
6529         </attribute>
6530     </optional>
6531 </define>
6532 <define name="common-text-anchor-attlist" combine="interleave">
6533     <optional>
6534         <attribute name="text:anchor-page-number">
6535             <ref name="positiveInteger"/>
6536         </attribute>
6537     </optional>
6538 </define>
6539 <define name="draw-text">
6540     <zeroOrMore>
6541         <choice>
6542             <ref name="text-p"/>
6543             <ref name="text-list"/>
6544         </choice>
6545     </zeroOrMore>
6546 </define>
6547 <define name="common-draw-shape-with-styles-attlist">
6548     <ref name="common-draw-z-index-attlist"/>
6549     <ref name="common-draw-id-attlist"/>
6550     <ref name="common-draw-layer-name-attlist"/>
6551     <ref name="common-draw-style-name-attlist"/>
6552     <ref name="common-draw-transform-attlist"/>
6553     <ref name="common-draw-name-attlist"/>
6554     <ref name="common-text-spreadsheet-shape-attlist"/>
6555 </define>
6556 <define name="common-draw-shape-with-text-and-styles-attlist">
6557     <ref name="common-draw-shape-with-styles-attlist"/>
6558     <ref name="common-draw-text-style-name-attlist"/>
6559 </define>
6560 <define name="draw-glue-point">
6561     <element name="draw:glue-point">
6562         <ref name="draw-glue-point-attlist"/>
6563         <empty/>
6564     </element>
6565 </define>
6566 <define name="draw-glue-point-attlist" combine="interleave">
6567     <attribute name="draw:id">
6568         <ref name="nonNegativeInteger"/>
6569     </attribute>
6570 </define>
6571 <define name="draw-glue-point-attlist" combine="interleave">
6572     <attribute name="svg:x">
6573         <choice>
6574             <ref name="distance"/> 
6575             <ref name="percent"/>
6576         </choice>
6577     </attribute>
6578     <attribute name="svg:y">
6579         <choice>
6580             <ref name="distance"/> 
6581             <ref name="percent"/>
6582         </choice>
6583     </attribute>
6584 </define>
6585 <define name="draw-glue-point-attlist" combine="interleave">
6586     <attribute name="draw:align">
6587         <choice>
6588             <value>top-left</value>
6589             <value>top</value>
6590             <value>top-right</value>
6591             <value>left</value>
6592             <value>center</value>
6593             <value>right</value>
6594             <value>bottom-left</value>
6595             <value>bottom-right</value>
6596         </choice>
6597     </attribute>
6598 </define>
6599 <define name="draw-glue-points-attlist" combine="interleave">
6600     <attribute name="draw:escape-direction">
6601         <choice>
6602             <value>auto</value>
6603             <value>left</value>
6604             <value>right</value>
6605             <value>up</value>
6606             <value>down</value>
6607             <value>horizontal</value>
6608             <value>vertical</value>
6609         </choice>
6610     </attribute>
6611 </define>
6612 <define name="draw-frame">
6613     <element name="draw:frame">
6614         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
6615         <ref name="common-draw-position-attlist"/>
6616         <ref name="common-draw-rel-size-attlist"/>
6617         <ref name="presentation-shape-attlist"/>
6618         <ref name="draw-frame-attlist"/>
6619         <zeroOrMore>
6620             <choice>
6621                 <ref name="draw-text-box"/>
6622                 <ref name="draw-image"/>
6623                 <ref name="draw-object"/>
6624                 <ref name="draw-object-ole"/>
6625                 <ref name="draw-applet"/>
6626                 <ref name="draw-floating-frame"/>
6627                 <ref name="draw-plugin"/>
6628             </choice>
6629         </zeroOrMore>
6630         <optional>
6631             <ref name="office-event-listeners"/>
6632         </optional>
6633         <zeroOrMore>
6634             <ref name="draw-glue-point"/>
6635         </zeroOrMore>
6636         <optional>
6637             <ref name="draw-image-map"/>
6638         </optional>
6639         <optional>
6640             <ref name="svg-desc"/>
6641         </optional>
6642         <optional>
6643             <choice>
6644                 <ref name="draw-contour-polygon"/>
6645                 <ref name="draw-contour-path"/>
6646             </choice>
6647         </optional>
6648     </element>
6649 </define>
6650 <define name="common-draw-rel-size-attlist">
6651     <ref name="common-draw-size-attlist"/>
6652     <optional>
6653         <attribute name="style:rel-width">
6654             <choice>
6655                 <ref name="percent"/>
6656                 <value>scale</value>
6657                 <value>scale-min</value>
6658             </choice>
6659         </attribute>
6660     </optional>
6661     <optional>
6662         <attribute name="style:rel-height">
6663             <choice>
6664                 <ref name="percent"/>
6665                 <value>scale</value>
6666                 <value>scale-min</value>
6667             </choice>
6668         </attribute>
6669     </optional>
6670 </define>
6671 <define name="draw-frame-attlist" combine="interleave">
6672     <optional>
6673         <attribute name="draw:copy-of">
6674             <ref name="string"/>
6675         </attribute>
6676     </optional>
6677 </define>
6678 <define name="draw-text-box">
6679     <element name="draw:text-box">
6680         <ref name="draw-text-box-attlist"/>
6681         <zeroOrMore>
6682             <ref name="text-content"/>
6683         </zeroOrMore>
6684     </element>
6685 </define>
6686 <define name="draw-text-box-attlist" combine="interleave">
6687     <optional>
6688         <attribute name="draw:chain-next-name">
6689             <ref name="string"/>
6690         </attribute>
6691     </optional>
6692 </define>
6693 <define name="draw-text-box-attlist" combine="interleave">
6694     <optional>
6695         <attribute name="draw:corner-radius">
6696             <ref name="nonNegativeLength"/>
6697         </attribute>
6698     </optional>
6699 </define>
6700 <define name="draw-text-box-attlist" combine="interleave">
6701     <optional>
6702         <attribute name="fo:min-height">
6703             <choice>
6704                 <ref name="length"/>
6705                 <ref name="percent"/>
6706             </choice>
6707         </attribute>
6708     </optional>
6709     <optional>
6710         <attribute name="fo:min-width">
6711             <choice>
6712                 <ref name="length"/>
6713                 <ref name="percent"/>
6714             </choice>
6715         </attribute>
6716     </optional>
6717 </define>
6718 <define name="draw-text-box-attlist" combine="interleave">
6719     <optional>
6720         <attribute name="fo:max-height">
6721             <choice>
6722                 <ref name="length"/>
6723                 <ref name="percent"/>
6724             </choice>
6725         </attribute>
6726     </optional>
6727     <optional>
6728         <attribute name="fo:max-width">
6729             <choice>
6730                 <ref name="length"/>
6731                 <ref name="percent"/>
6732             </choice>
6733         </attribute>
6734     </optional>
6735 </define>
6736 <define name="draw-image">
6737     <element name="draw:image">
6738         <ref name="draw-image-attlist"/>
6739         <choice>
6740             <ref name="common-draw-data-attlist"/>
6741             <ref name="office-binary-data"/>
6742         </choice>
6743         <ref name="draw-text"/>
6744     </element>
6745 </define>
6746 <define name="common-draw-data-attlist" combine="interleave">
6747     <group>
6748         <attribute name="xlink:href">
6749             <ref name="anyURI"/>
6750         </attribute>
6751         <optional>
6752             <attribute name="xlink:type" a:defaultValue="simple">
6753                 <choice>
6754                     <value>simple</value>
6755                 </choice>
6756             </attribute>
6757         </optional>
6758         <optional>
6759             <attribute name="xlink:show" a:defaultValue="embed">
6760                 <choice>
6761                     <value>embed</value>
6762                 </choice>
6763             </attribute>
6764         </optional>
6765         <optional>
6766             <attribute name="xlink:actuate" a:defaultValue="onLoad">
6767                 <choice>
6768                     <value>onLoad</value>
6769                 </choice>
6770             </attribute>
6771         </optional>
6772     </group>
6773 </define>
6774 
6775 <define name="office-binary-data">
6776     <element name="office:binary-data">
6777         <ref name="base64Binary"/>
6778     </element>
6779 </define>
6780 <define name="draw-image-attlist" combine="interleave">
6781     <optional>
6782         <attribute name="draw:filter-name">
6783             <ref name="string"/>
6784         </attribute>
6785     </optional>
6786 </define>
6787 <define name="draw-object">
6788     <element name="draw:object">
6789         <ref name="draw-object-attlist"/>
6790         <choice>
6791             <ref name="common-draw-data-attlist"/>
6792             <ref name="office-document"/>
6793             <ref name="math-math"/>
6794         </choice>
6795     </element>
6796 </define>
6797 
6798 <define name="draw-object-ole">
6799     <element name="draw:object-ole">
6800         <ref name="draw-object-ole-attlist"/>
6801         <choice>
6802             <ref name="common-draw-data-attlist"/>
6803             <ref name="office-binary-data"/>
6804         </choice>
6805     </element>
6806 </define>
6807 <define name="draw-object-attlist" combine="interleave">
6808     <optional>
6809         <attribute name="draw:notify-on-update-of-ranges">
6810             <ref name="string"/>
6811         </attribute>
6812     </optional>
6813 </define>
6814 <define name="draw-object-ole-attlist" combine="interleave">
6815     <optional>
6816         <attribute name="draw:class-id"/>
6817     </optional>
6818 </define>
6819 <define name="draw-applet">
6820     <element name="draw:applet">
6821         <ref name="draw-applet-attlist"/>
6822         <optional>
6823             <ref name="common-draw-data-attlist"/>
6824         </optional>
6825         <zeroOrMore>
6826             <ref name="draw-param"/>
6827         </zeroOrMore>
6828     </element>
6829 </define>
6830 <define name="draw-applet-attlist" combine="interleave">
6831     <optional>
6832         <attribute name="draw:code"/>
6833     </optional>
6834 </define>
6835 <define name="draw-applet-attlist" combine="interleave">
6836     <optional>
6837         <attribute name="draw:object"/>
6838     </optional>
6839 </define>
6840 <define name="draw-applet-attlist" combine="interleave">
6841     <optional>
6842         <attribute name="draw:archive"/>
6843     </optional>
6844 </define>
6845 <define name="draw-applet-attlist" combine="interleave">
6846     <optional>
6847         <attribute name="draw:may-script" a:defaultValue="false">
6848             <ref name="boolean"/>
6849         </attribute>
6850     </optional>
6851 </define>
6852 <define name="draw-plugin">
6853     <element name="draw:plugin">
6854         <ref name="draw-plugin-attlist"/>
6855         <ref name="common-draw-data-attlist"/>
6856         <zeroOrMore>
6857             <ref name="draw-param"/>
6858         </zeroOrMore>
6859     </element>
6860 </define>
6861 <define name="draw-plugin-attlist" combine="interleave">
6862     <optional>
6863         <attribute name="draw:mime-type"/>
6864     </optional>
6865 </define>
6866 <define name="draw-param">
6867     <element name="draw:param">
6868         <ref name="draw-param-attlist"/>
6869         <empty/>
6870     </element>
6871 </define>
6872 <define name="draw-param-attlist" combine="interleave">
6873     <optional>
6874         <attribute name="draw:name"/>
6875     </optional>
6876 </define>
6877 <define name="draw-param-attlist" combine="interleave">
6878     <optional>
6879         <attribute name="draw:value"/>
6880     </optional>
6881 </define>
6882 <define name="draw-floating-frame">
6883     <element name="draw:floating-frame">
6884         <ref name="draw-floating-frame-attlist"/>
6885         <ref name="common-draw-data-attlist"/>
6886     </element>
6887 </define>
6888 <define name="draw-floating-frame-attlist" combine="interleave">
6889     <optional>
6890         <attribute name="draw:frame-name">
6891             <ref name="string"/>
6892         </attribute>
6893     </optional>
6894 </define>
6895 <define name="draw-contour-polygon">
6896     <element name="draw:contour-polygon">
6897         <ref name="common-contour-attlist"/>
6898         <ref name="common-draw-size-attlist"/>
6899         <ref name="common-draw-viewbox-attlist"/>
6900         <ref name="common-draw-points-attlist"/>
6901         <empty/>
6902     </element>
6903 </define>
6904 
6905 <define name="draw-contour-path">
6906     <element name="draw:contour-path">
6907         <ref name="common-contour-attlist"/>
6908         <ref name="common-draw-size-attlist"/>
6909         <ref name="common-draw-viewbox-attlist"/>
6910         <ref name="common-draw-path-data-attlist"/>
6911         <empty/>
6912     </element>
6913 </define>
6914 <define name="common-contour-attlist" combine="interleave">
6915     <attribute name="draw:recreate-on-edit">
6916         <ref name="boolean"/>
6917     </attribute>
6918 </define>
6919 <define name="svg-desc">
6920     <element name="svg:desc">
6921         <text/>
6922     </element>
6923 </define>
6924 <define name="draw-a">
6925     <element name="draw:a">
6926         <ref name="draw-a-attlist"/>
6927         <ref name="draw-frame"/>
6928     </element>
6929 </define>
6930 <define name="draw-a-attlist" combine="interleave">
6931     <attribute name="xlink:href">
6932         <ref name="anyURI"/>
6933     </attribute>
6934     <optional>
6935         <attribute name="xlink:type" a:defaultValue="simple">
6936             <value>simple</value>
6937         </attribute>
6938     </optional>
6939     <optional>
6940         <attribute name="xlink:actuate" a:defaultValue="onRequest">
6941             <choice>
6942                 <value>onRequest</value>
6943             </choice>
6944         </attribute>
6945     </optional>
6946 </define>
6947 <define name="draw-a-attlist" combine="interleave">
6948     <optional>
6949         <attribute name="office:target-frame-name">
6950             <ref name="targetFrameName"/>
6951         </attribute>
6952     </optional>
6953     <optional>
6954         <attribute name="xlink:show">
6955             <choice>
6956                 <value>new</value>
6957                 <value>replace</value>
6958             </choice>
6959         </attribute>
6960     </optional>
6961 </define>
6962 <define name="draw-a-attlist" combine="interleave">
6963     <optional>
6964         <attribute name="office:name">
6965             <ref name="string"/>
6966         </attribute>
6967     </optional>
6968 </define>
6969 <define name="draw-a-attlist" combine="interleave">
6970     <optional>
6971         <attribute name="office:server-map" a:defaultValue="false">
6972             <ref name="boolean"/>
6973         </attribute>
6974     </optional>
6975 </define>
6976 <define name="draw-image-map">
6977     <element name="draw:image-map">
6978         <zeroOrMore>
6979             <choice>
6980                 <ref name="draw-area-rectangle"/>
6981                 <ref name="draw-area-circle"/>
6982                 <ref name="draw-area-polygon"/>
6983             </choice>
6984         </zeroOrMore>
6985     </element>
6986 </define>
6987 <define name="draw-area-rectangle">
6988     <element name="draw:area-rectangle">
6989         <ref name="common-draw-area-attlist"/>
6990         <attribute name="svg:x">
6991             <ref name="coordinate"/>
6992         </attribute>
6993         <attribute name="svg:y">
6994             <ref name="coordinate"/>
6995         </attribute>
6996         <attribute name="svg:width">
6997             <ref name="length"/>
6998         </attribute>
6999         <attribute name="svg:height">
7000             <ref name="length"/>
7001         </attribute>
7002         <optional>
7003             <ref name="svg-desc"/>
7004         </optional>
7005         <optional>
7006             <ref name="office-event-listeners"/>
7007         </optional>
7008     </element>
7009 </define>
7010 <define name="draw-area-circle">
7011     <element name="draw:area-circle">
7012         <ref name="common-draw-area-attlist"/>
7013         <attribute name="svg:cx">
7014             <ref name="coordinate"/>
7015         </attribute>
7016         <attribute name="svg:cy">
7017             <ref name="coordinate"/>
7018         </attribute>
7019         <attribute name="svg:r">
7020             <ref name="length"/>
7021         </attribute>
7022         <optional>
7023             <ref name="svg-desc"/>
7024         </optional>
7025         <optional>
7026             <ref name="office-event-listeners"/>
7027         </optional>
7028     </element>
7029 </define>
7030 <define name="draw-area-polygon">
7031     <element name="draw:area-polygon">
7032         <ref name="common-draw-area-attlist"/>
7033         <attribute name="svg:x">
7034             <ref name="coordinate"/>
7035         </attribute>
7036         <attribute name="svg:y">
7037             <ref name="coordinate"/>
7038         </attribute>
7039         <attribute name="svg:width">
7040             <ref name="length"/>
7041         </attribute>
7042         <attribute name="svg:height">
7043             <ref name="length"/>
7044         </attribute>
7045         <ref name="common-draw-viewbox-attlist"/>
7046         <ref name="common-draw-points-attlist"/>
7047         <optional>
7048             <ref name="svg-desc"/>
7049         </optional>
7050         <optional>
7051             <ref name="office-event-listeners"/>
7052         </optional>
7053     </element>
7054 </define>
7055 <define name="common-draw-area-attlist" combine="interleave">
7056     <optional>
7057         <attribute name="xlink:href">
7058             <ref name="anyURI"/>
7059         </attribute>
7060     </optional>
7061     <optional>
7062         <attribute name="xlink:type" a:defaultValue="simple">
7063             <choice>
7064                 <value>simple</value>
7065             </choice>
7066         </attribute>
7067     </optional>
7068     <optional>
7069         <attribute name="office:target-frame-name">
7070             <ref name="targetFrameName"/>
7071         </attribute>
7072     </optional>
7073     <optional>
7074         <attribute name="xlink:show">
7075             <choice>
7076                 <value>new</value>
7077                 <value>replace</value>
7078             </choice>
7079             </attribute>
7080     </optional>
7081 </define>
7082 <define name="common-draw-area-attlist" combine="interleave">
7083     <optional>
7084         <attribute name="office:name">
7085             <ref name="string"/>
7086         </attribute>
7087     </optional>
7088 </define>
7089 <define name="common-draw-area-attlist" combine="interleave">
7090     <optional>
7091         <attribute name="draw:nohref">
7092             <choice>
7093                 <value>nohref</value>
7094             </choice>
7095         </attribute>
7096     </optional>
7097 </define>
7098 <define name="dr3d-scene">
7099     <element name="dr3d:scene">
7100         <ref name="dr3d-scene-attlist"/>
7101         <ref name="common-draw-position-attlist"/>
7102         <ref name="common-draw-size-attlist"/>
7103         <ref name="common-draw-style-name-attlist"/>
7104         <ref name="common-draw-z-index-attlist"/>
7105         <ref name="common-draw-id-attlist"/>
7106         <ref name="common-draw-layer-name-attlist"/>
7107         <ref name="common-text-spreadsheet-shape-attlist"/>
7108         <ref name="common-dr3d-transform-attlist"/>
7109         <zeroOrMore>
7110             <ref name="dr3d-light"/>
7111         </zeroOrMore>
7112         <zeroOrMore>
7113             <ref name="shapes3d"/>
7114         </zeroOrMore>
7115     </element>
7116 </define>
7117 
7118 <define name="shapes3d">
7119     <choice>
7120         <ref name="dr3d-scene"/>
7121         <ref name="dr3d-extrude"/>
7122         <ref name="dr3d-sphere"/>
7123         <ref name="dr3d-rotate"/>
7124         <ref name="dr3d-cube"/>
7125     </choice>
7126 </define>
7127 <define name="dr3d-scene-attlist" combine="interleave">
7128     <optional>
7129         <attribute name="dr3d:vrp">
7130             <ref name="vector3D"/>
7131         </attribute>
7132     </optional>
7133     <optional>
7134         <attribute name="dr3d:vpn">
7135             <ref name="vector3D"/>
7136         </attribute>
7137     </optional>
7138     <optional>
7139         <attribute name="dr3d:vup">
7140             <ref name="vector3D"/>
7141         </attribute>
7142     </optional>
7143 </define>
7144 <define name="dr3d-scene-attlist" combine="interleave">
7145     <optional>
7146         <attribute name="dr3d:projection">
7147             <choice>
7148                 <value>parallel</value>
7149                 <value>perspective</value>
7150             </choice>
7151         </attribute>
7152     </optional>
7153 </define>
7154 <define name="dr3d-scene-attlist" combine="interleave">
7155     <optional>
7156         <attribute name="dr3d:distance">
7157             <ref name="length"/>
7158         </attribute>
7159     </optional>
7160 </define>
7161 <define name="dr3d-scene-attlist" combine="interleave">
7162     <optional>
7163         <attribute name="dr3d:focal-length">
7164             <ref name="length"/>
7165         </attribute>
7166     </optional>
7167 </define>
7168 <define name="dr3d-scene-attlist" combine="interleave">
7169     <optional>
7170         <attribute name="dr3d:shadow-slant">
7171             <ref name="nonNegativeInteger"/>
7172         </attribute>
7173     </optional>
7174 </define>
7175 <define name="dr3d-scene-attlist" combine="interleave">
7176     <optional>
7177         <attribute name="dr3d:shade-mode">
7178             <choice>
7179                 <value>flat</value>
7180                 <value>phong</value>
7181                 <value>gouraud</value>
7182                 <value>draft</value>
7183             </choice>
7184         </attribute>
7185     </optional>
7186 </define>
7187 <define name="dr3d-scene-attlist" combine="interleave">
7188     <optional>
7189         <attribute name="dr3d:ambient-color">
7190             <ref name="color"/>
7191         </attribute>
7192     </optional>
7193 </define>
7194 <define name="dr3d-scene-attlist" combine="interleave">
7195     <optional>
7196         <attribute name="dr3d:lighting-mode">
7197             <ref name="boolean"/>
7198         </attribute>
7199     </optional>
7200 </define>
7201 <define name="common-dr3d-transform-attlist">
7202     <optional>
7203         <attribute name="dr3d:transform"/>
7204     </optional>
7205 </define>
7206 <define name="dr3d-light">
7207     <element name="dr3d:light">
7208         <ref name="dr3d-light-attlist"/>
7209         <empty/>
7210     </element>
7211 </define>
7212 <define name="dr3d-light-attlist" combine="interleave">
7213     <optional>
7214         <attribute name="dr3d:diffuse-color">
7215             <ref name="color"/>
7216         </attribute>
7217     </optional>
7218 </define>
7219 <define name="dr3d-light-attlist" combine="interleave">
7220     <attribute name="dr3d:direction">
7221         <ref name="vector3D"/>
7222     </attribute>
7223 </define>
7224 <define name="dr3d-light-attlist" combine="interleave">
7225     <optional>
7226         <attribute name="dr3d:enabled">
7227             <ref name="boolean"/>
7228         </attribute>
7229     </optional>
7230 </define>
7231 <define name="dr3d-light-attlist" combine="interleave">
7232     <optional>
7233         <attribute name="dr3d:specular">
7234             <ref name="boolean"/>
7235         </attribute>
7236     </optional>
7237 </define>
7238 <define name="dr3d-cube">
7239     <element name="dr3d:cube">
7240         <ref name="dr3d-cube-attlist"/>
7241         <ref name="common-draw-z-index-attlist"/>
7242         <ref name="common-draw-id-attlist"/>
7243         <ref name="common-draw-layer-name-attlist"/>
7244         <ref name="common-draw-style-name-attlist"/>
7245         <ref name="common-dr3d-transform-attlist"/>
7246         <empty/>
7247     </element>
7248 </define>
7249 <define name="dr3d-cube-attlist" combine="interleave">
7250     <optional>
7251         <attribute name="dr3d:min-edge">
7252             <ref name="vector3D"/>
7253         </attribute>
7254     </optional>
7255     <optional>
7256         <attribute name="dr3d:max-edge">
7257             <ref name="vector3D"/>
7258         </attribute>
7259     </optional>
7260 </define>
7261 <define name="dr3d-sphere">
7262     <element name="dr3d:sphere">
7263         <ref name="dr3d-sphere-attlist"/>
7264         <ref name="common-draw-z-index-attlist"/>
7265         <ref name="common-draw-id-attlist"/>
7266         <ref name="common-draw-layer-name-attlist"/>
7267         <ref name="common-draw-style-name-attlist"/>
7268         <ref name="common-dr3d-transform-attlist"/>
7269         <empty/>
7270     </element>
7271 </define>
7272 <define name="dr3d-sphere-attlist" combine="interleave">
7273     <optional>
7274         <attribute name="dr3d:center">
7275             <ref name="vector3D"/>
7276         </attribute>
7277     </optional>
7278 </define>
7279 <define name="dr3d-sphere-attlist" combine="interleave">
7280     <optional>
7281         <attribute name="dr3d:size">
7282             <ref name="vector3D"/>
7283         </attribute>
7284     </optional>
7285 </define>
7286 <define name="dr3d-extrude">
7287     <element name="dr3d:extrude">
7288         <ref name="common-draw-path-data-attlist"/>
7289         <ref name="common-draw-viewbox-attlist"/>
7290         <ref name="common-draw-id-attlist"/>
7291         <ref name="common-draw-z-index-attlist"/>
7292         <ref name="common-draw-layer-name-attlist"/>
7293         <ref name="common-draw-style-name-attlist"/>
7294         <ref name="common-dr3d-transform-attlist"/>
7295         <empty/>
7296     </element>
7297 </define>
7298 <define name="dr3d-rotate">
7299     <element name="dr3d:rotate">
7300         <ref name="common-draw-viewbox-attlist"/>
7301         <ref name="common-draw-path-data-attlist"/>
7302         <ref name="common-draw-z-index-attlist"/>
7303         <ref name="common-draw-id-attlist"/>
7304         <ref name="common-draw-layer-name-attlist"/>
7305         <ref name="common-draw-style-name-attlist"/>
7306         <ref name="common-dr3d-transform-attlist"/>
7307         <empty/>
7308     </element>
7309 </define>
7310 <define name="draw-custom-shape">
7311     <element name="draw:custom-shape">
7312         <ref name="draw-custom-shape-attlist"/>
7313         <ref name="common-draw-position-attlist"/>
7314         <ref name="common-draw-size-attlist"/>
7315         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
7316         <optional>
7317             <ref name="office-event-listeners"/>
7318         </optional>
7319         <zeroOrMore>
7320             <ref name="draw-glue-point"/>
7321         </zeroOrMore>
7322         <ref name="draw-text"/>
7323         <optional>
7324             <ref name="draw-enhanced-geometry"/>
7325         </optional>
7326     </element>
7327 </define>
7328 <define name="draw-custom-shape-attlist" combine="interleave">
7329     <optional>
7330         <attribute name="draw:engine">
7331             <ref name="namespacedToken"/>
7332         </attribute>
7333     </optional>
7334 </define>
7335 <define name="draw-custom-shape-attlist" combine="interleave">
7336     <optional>
7337         <attribute name="draw:data">
7338             <ref name="string"/>
7339         </attribute>
7340     </optional>
7341 </define>
7342 <define name="draw-enhanced-geometry">
7343     <element name="draw:enhanced-geometry">
7344         <ref name="draw-enhanced-geometry-attlist"/>
7345         <zeroOrMore>
7346             <ref name="draw-equation"/>
7347         </zeroOrMore>
7348         <zeroOrMore>
7349             <ref name="draw-handle"/>
7350         </zeroOrMore>
7351     </element>
7352 </define>
7353 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7354     <optional>
7355         <attribute name="draw:type" a:defaultValue="non-primitive">
7356             <ref name="custom-shape-type"/>
7357         </attribute>
7358     </optional>
7359 </define>
7360 
7361 <define name="custom-shape-type">
7362     <choice>
7363         <value>non-primitive</value>
7364         <ref name="string"/>
7365     </choice>
7366 </define>
7367 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7368     <optional>
7369         <attribute name="svg:viewBox">
7370             <list>
7371                 <ref name="integer"/>
7372                 <ref name="integer"/>
7373                 <ref name="integer"/>
7374                 <ref name="integer"/>
7375             </list>
7376         </attribute>
7377     </optional>
7378 </define>
7379 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7380     <optional>
7381         <attribute name="draw:mirror-vertical" a:defaultValue="false">
7382             <ref name="boolean"/>
7383         </attribute>
7384     </optional>
7385     <optional>
7386         <attribute name="draw:mirror-horizontal" a:defaultValue="false">
7387             <ref name="boolean"/>
7388         </attribute>
7389     </optional>
7390 </define>
7391 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7392     <optional>
7393         <attribute name="draw:text-rotate-angle" a:defaultValue="0">
7394             <ref name="double"/>
7395         </attribute>
7396     </optional>
7397 </define>
7398 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7399     <optional>
7400         <attribute name="draw:extrusion-allowed" a:defaultValue="false">
7401             <ref name="boolean"/>
7402         </attribute>
7403     </optional>
7404 </define>
7405 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7406     <optional>
7407         <attribute name="draw:text-path-allowed" a:defaultValue="false">
7408             <ref name="boolean"/>
7409         </attribute>
7410     </optional>
7411 </define>
7412 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7413     <optional>
7414         <attribute name="draw:concentric-gradient-fill-allowed"
7415                     a:defaultValue="false">
7416             <ref name="boolean"/>
7417         </attribute>
7418     </optional>
7419 </define>
7420 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7421     <optional>
7422         <attribute name="draw:extrusion" a:defaultValue="false">
7423             <ref name="boolean"/>
7424         </attribute>
7425     </optional>
7426 </define>
7427 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7428     <optional>
7429         <attribute name="draw:extrusion-brightness" a:defaultValue="33%">
7430             <ref name="percent"/>
7431         </attribute>
7432     </optional>
7433 </define>
7434 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7435     <optional>
7436         <attribute name="draw:extrusion-depth" a:defaultValue="36pt 0">
7437             <list>
7438                 <ref name="length"/>
7439                 <ref name="double"/>
7440             </list>
7441         </attribute>
7442     </optional>
7443 </define>
7444 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7445     <optional>
7446         <attribute name="draw:extrusion-diffusion" a:defaultValue="0%">
7447             <ref name="percent"/>
7448         </attribute>
7449     </optional>
7450 </define>
7451 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7452     <optional>
7453         <attribute name="draw:extrusion-number-of-line-segments"
7454                    a:defaultValue="30">
7455             <ref name="integer"/>
7456         </attribute>
7457     </optional>
7458 </define>
7459 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7460     <optional>
7461         <attribute name="draw:extrusion-light-face" a:defaultValue="true">
7462             <ref name="boolean"/>
7463         </attribute>
7464     </optional>
7465 </define>
7466 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7467     <optional>
7468         <attribute name="draw:extrusion-first-light-harsh"
7469                    a:defaultValue="true">
7470             <ref name="boolean"/>
7471         </attribute>
7472     </optional>
7473 </define>
7474 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7475     <optional>
7476         <attribute name="draw:extrusion-second-light-harsh"
7477                    a:defaultValue="true">
7478             <ref name="boolean"/>
7479         </attribute>
7480     </optional>
7481 </define>
7482 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7483     <optional>
7484         <attribute name="draw:extrusion-first-light-level"
7485                    a:defaultValue="66%">
7486             <ref name="percent"/>
7487         </attribute>
7488     </optional>
7489 </define>
7490 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7491     <optional>
7492         <attribute name="draw:extrusion-second-light-level"
7493                    a:defaultValue="66%">
7494             <ref name="percent"/>
7495         </attribute>
7496     </optional>
7497 </define>
7498 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7499     <optional>
7500         <attribute name="draw:extrusion-first-light-direction"
7501                    a:defaultValue="(5 0 1)">
7502             <ref name="vector3D"/>
7503         </attribute>
7504     </optional>
7505 </define>
7506 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7507     <optional>
7508         <attribute name="draw:extrusion-second-light-direction"
7509                    a:defaultValue="(-5 0 1)">
7510             <ref name="vector3D"/>
7511         </attribute>
7512     </optional>
7513 </define>
7514 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7515     <optional>
7516         <attribute name="draw:extrusion-metal" a:defaultValue="false">
7517             <ref name="boolean"/>
7518         </attribute>
7519     </optional>
7520 </define>
7521 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7522     <optional>
7523         <attribute name="dr3d:shade-mode" a:defaultValue="flat">
7524             <choice>
7525                 <value>flat</value>
7526                 <value>phong</value>
7527                 <value>gouraud</value>
7528                 <value>draft</value>
7529             </choice>
7530         </attribute>
7531     </optional>
7532 </define>
7533 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7534     <optional>
7535         <attribute name="draw:extrusion-rotation-angle" a:defaultValue="0 0">
7536             <list>
7537                 <ref name="double"/>
7538                 <ref name="double"/>
7539             </list>
7540         </attribute>
7541     </optional>
7542 </define>
7543 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7544     <optional>
7545         <attribute name="draw:extrusion-rotation-center">
7546             <ref name="vector3D"/>
7547         </attribute>
7548     </optional>
7549 </define>
7550 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7551     <optional>
7552         <attribute name="draw:extrusion-shininess" a:defaultValue="50%">
7553             <ref name="percent"/>
7554         </attribute>
7555     </optional>
7556 </define>
7557 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7558     <optional>
7559         <attribute name="draw:extrusion-skew" a:defaultValue="50 45">
7560             <list>
7561                 <ref name="double"/>
7562                 <ref name="double"/>
7563             </list>
7564         </attribute>
7565     </optional>
7566 </define>
7567 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7568     <optional>
7569         <attribute name="draw:extrusion-specularity" a:defaultValue="0%">
7570             <ref name="percent"/>
7571         </attribute>
7572     </optional>
7573 </define>
7574 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7575     <optional>
7576         <attribute name="dr3d:projection" a:defaultValue="parallel">
7577             <choice>
7578                 <value>parallel</value>
7579                 <value>perspective</value>
7580             </choice>
7581         </attribute>
7582     </optional>
7583 </define>
7584 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7585     <optional>
7586         <attribute name="draw:extrusion-viewpoint" 
7587                    a:defaultValue="3.5cm -3.5cm 25cm">
7588             <ref name="point3D"/>
7589         </attribute>
7590     </optional>
7591 </define>
7592 
7593 <define name="point3D">
7594     <data type="string"/>
7595 </define>
7596 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7597     <optional>
7598         <attribute name="draw:extrusion-origin" a:defaultValue="0.5 -0.5">
7599             <list>
7600                 <ref name="double"/>
7601                 <ref name="double"/>
7602             </list>
7603         </attribute>
7604     </optional>
7605 </define>
7606 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7607     <optional>
7608         <attribute name="draw:extrusion-color" a:defaultValue="false">
7609             <ref name="boolean"/>
7610         </attribute>
7611     </optional>
7612 </define>
7613 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7614     <optional>
7615         <attribute name="draw:enhanced-path">
7616             <ref name="string"/>
7617         </attribute>
7618     </optional>
7619 </define>
7620 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7621     <optional>
7622         <attribute name="draw:path-stretchpoint-x" a:defaultValue="0">
7623             <ref name="double"/>
7624         </attribute>
7625     </optional>
7626     <optional>
7627         <attribute name="draw:path-stretchpoint-y" a:defaultValue="0">
7628             <ref name="double"/>
7629         </attribute>
7630     </optional>
7631 </define>
7632 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7633     <optional>
7634         <attribute name="draw:text-areas">
7635             <ref name="string"/>
7636         </attribute>
7637     </optional>
7638 </define>
7639 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7640     <optional>
7641         <attribute name="draw:glue-points">
7642             <ref name="string"/>
7643         </attribute>
7644     </optional>
7645 </define>
7646 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7647     <optional>
7648         <attribute name="draw:glue-point-type" a:defaultValue="none">
7649             <choice>
7650                 <value>none</value>
7651                 <value>segments</value>
7652                 <value>rectangle</value>
7653             </choice>
7654         </attribute>
7655     </optional>
7656 </define>
7657 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7658     <optional>
7659         <attribute name="draw:glue-point-leaving-directions"/>
7660     </optional>
7661 </define>
7662 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7663     <optional>
7664         <attribute name="draw:text-path" a:defaultValue="false">
7665             <ref name="boolean"/>
7666         </attribute>
7667     </optional>
7668 </define>
7669 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7670     <optional>
7671         <attribute name="draw:text-path-mode" a:defaultValue="normal">
7672             <choice>
7673                 <value>normal</value>
7674                 <value>path</value>
7675                 <value>shape</value>
7676             </choice>
7677         </attribute>
7678     </optional>
7679 </define>
7680 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7681     <optional>
7682         <attribute name="draw:text-path-scale" a:defaultValue="path">
7683             <choice>
7684                 <value>path</value>
7685                 <value>shape</value>
7686             </choice>
7687         </attribute>
7688     </optional>
7689 </define>
7690 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7691     <optional>
7692         <attribute name="draw:text-path-same-letter-heights"
7693                    a:defaultValue="false">
7694             <ref name="boolean"/>
7695         </attribute>
7696     </optional>
7697 </define>
7698 <define name="draw-enhanced-geometry-attlist" combine="interleave">
7699     <optional>
7700         <attribute name="draw:modifiers">
7701             <ref name="string"/>
7702         </attribute>
7703     </optional>
7704 </define>
7705 <define name="draw-equation">
7706     <element name="draw:equation">
7707         <ref name="draw-equation-attlist"/>
7708         <empty/>
7709     </element>
7710 </define>
7711 <define name="draw-equation-attlist" combine="interleave">
7712     <optional>
7713         <attribute name="draw:name">
7714             <ref name="string"/>
7715         </attribute>
7716     </optional>
7717 </define>
7718 <define name="draw-equation-attlist" combine="interleave">
7719     <optional>
7720         <attribute name="draw:formula">
7721             <ref name="string"/>
7722         </attribute>
7723     </optional>
7724 </define>
7725 <define name="draw-handle">
7726     <element name="draw:handle">
7727         <ref name="draw-handle-attlist"/>
7728         <empty/>
7729     </element>
7730 </define>
7731 <define name="draw-handle-attlist" combine="interleave">
7732     <optional>
7733         <attribute name="draw:handle-mirror-vertical" a:defaultValue="false">
7734             <ref name="boolean"/>
7735         </attribute>
7736     </optional>
7737 </define>
7738 <define name="draw-handle-attlist" combine="interleave">
7739     <optional>
7740         <attribute name="draw:handle-mirror-horizontal" a:defaultValue="false">
7741             <ref name="boolean"/>
7742         </attribute>
7743     </optional>
7744 </define>
7745 <define name="draw-handle-attlist" combine="interleave">
7746     <optional>
7747         <attribute name="draw:handle-switched" a:defaultValue="false">
7748             <ref name="boolean"/>
7749         </attribute>
7750     </optional>
7751 </define>
7752 <define name="draw-handle-attlist" combine="interleave">
7753     <attribute name="draw:handle-position">
7754         <ref name="string"/>
7755     </attribute>
7756 </define>
7757 <define name="draw-handle-attlist" combine="interleave">
7758     <optional>
7759         <attribute name="draw:handle-range-x-minimum">
7760             <ref name="string"/>
7761         </attribute>
7762     </optional>
7763 </define>
7764 <define name="draw-handle-attlist" combine="interleave">
7765     <optional>
7766         <attribute name="draw:handle-range-x-maximum">
7767             <ref name="string"/>
7768         </attribute>
7769     </optional>
7770 </define>
7771 <define name="draw-handle-attlist" combine="interleave">
7772     <optional>
7773         <attribute name="draw:handle-range-y-minimum">
7774             <ref name="string"/>
7775         </attribute>
7776     </optional>
7777 </define>
7778 <define name="draw-handle-attlist" combine="interleave">
7779     <optional>
7780         <attribute name="draw:handle-range-y-maximum">
7781             <ref name="string"/>
7782         </attribute>
7783     </optional>
7784 </define>
7785 <define name="draw-handle-attlist" combine="interleave">
7786     <optional>
7787         <attribute name="draw:handle-polar">
7788             <ref name="string"/>
7789         </attribute>
7790     </optional>
7791 </define>
7792 <define name="draw-handle-attlist" combine="interleave">
7793     <optional>
7794         <attribute name="draw:handle-radius-range-minimum">
7795             <ref name="string"/>
7796         </attribute>
7797     </optional>
7798 </define>
7799 <define name="draw-handle-attlist" combine="interleave">
7800     <optional>
7801         <attribute name="draw:handle-radius-range-maximum">
7802             <ref name="string"/>
7803         </attribute>
7804     </optional>
7805 </define>
7806 <define name="presentation-shape-attlist" combine="interleave">
7807     <optional>
7808         <attribute name="presentation:class">
7809             <ref name="presentation-classes"/>
7810         </attribute>
7811     </optional>
7812 </define>
7813 <define name="presentation-classes">
7814     <choice>
7815         <value>title</value>
7816         <value>outline</value>
7817         <value>subtitle</value>
7818         <value>text</value>
7819         <value>graphic</value>
7820         <value>object</value>
7821         <value>chart</value>
7822         <value>table</value>
7823         <value>orgchart</value>
7824         <value>page</value>
7825         <value>notes</value>
7826         <value>handout</value>
7827         <value>header</value>
7828         <value>footer</value>
7829         <value>date-time</value>
7830         <value>page-number</value>
7831     </choice>
7832 </define>
7833 <define name="presentation-shape-attlist" combine="interleave">
7834     <optional>
7835         <attribute name="presentation:placeholder">
7836             <ref name="boolean"/>
7837         </attribute>
7838     </optional>
7839 </define>
7840 <define name="presentation-shape-attlist" combine="interleave">
7841     <optional>
7842         <attribute name="presentation:user-transformed">
7843             <ref name="boolean"/>
7844         </attribute>
7845     </optional>
7846 </define>
7847 <define name="presentation-animations">
7848     <element name="presentation:animations">
7849         <zeroOrMore>
7850             <choice>
7851                 <ref name="presentation-animation-elements"/>
7852                 <ref name="presentation-animation-group"/>
7853             </choice>
7854         </zeroOrMore>
7855     </element>
7856 </define>
7857 <define name="presentation-animation-elements">
7858     <choice>
7859         <ref name="presentation-show-shape"/>
7860         <ref name="presentation-show-text"/>
7861         <ref name="presentation-hide-shape"/>
7862         <ref name="presentation-hide-text"/>
7863         <ref name="presentation-dim"/>
7864         <ref name="presentation-play"/>
7865     </choice>
7866 </define>
7867 <define name="presentation-sound">
7868     <element name="presentation:sound">
7869         <ref name="presentation-sound-attlist"/>
7870         <attribute name="xlink:href">
7871             <ref name="anyURI"/>
7872         </attribute>
7873         <optional>
7874             <attribute name="xlink:type" a:defaultValue="simple">
7875                 <choice>
7876                     <value>simple</value>
7877                 </choice>
7878             </attribute>
7879         </optional>
7880         <optional>
7881             <attribute name="xlink:actuate" a:defaultValue="onRequest">
7882                 <choice>
7883                     <value>onRequest</value>
7884                 </choice>
7885             </attribute>
7886         </optional>
7887         <optional>
7888             <attribute name="xlink:show">
7889                 <choice>
7890                     <value>new</value>
7891                     <value>replace</value>
7892                 </choice>
7893             </attribute>
7894         </optional>
7895         <empty/>
7896     </element>
7897 </define>
7898 <define name="presentation-sound-attlist" combine="interleave">
7899     <optional>
7900         <attribute name="presentation:play-full">
7901             <ref name="boolean"/>
7902         </attribute>
7903     </optional>
7904 </define>
7905 <define name="presentation-show-shape">
7906     <element name="presentation:show-shape">
7907         <ref name="common-presentation-effect-attlist"/>
7908         <optional>
7909             <ref name="presentation-sound"/>
7910         </optional>
7911     </element>
7912 </define>
7913 <define name="common-presentation-effect-attlist" combine="interleave">
7914     <attribute name="draw:shape-id">
7915         <ref name="IDREF"/>
7916     </attribute>
7917 </define>
7918 <define name="common-presentation-effect-attlist" combine="interleave">
7919     <optional>
7920         <attribute name="presentation:effect" a:defaultValue="none">
7921             <ref name="presentationEffects"/>
7922         </attribute>
7923     </optional>
7924 </define>
7925 <define name="presentationEffects">
7926     <choice>
7927         <value>none</value>
7928         <value>fade</value>
7929         <value>move</value>
7930         <value>stripes</value>
7931         <value>open</value>
7932         <value>close</value>
7933         <value>dissolve</value>
7934         <value>wavyline</value>
7935         <value>random</value>
7936         <value>lines</value>
7937         <value>laser</value>
7938         <value>appear</value>
7939         <value>hide</value>
7940         <value>move-short</value>
7941         <value>checkerboard</value>
7942         <value>rotate</value>
7943         <value>stretch</value>
7944     </choice>
7945 </define>
7946 <define name="common-presentation-effect-attlist" combine="interleave">
7947     <optional>
7948         <attribute name="presentation:direction" a:defaultValue="none">
7949             <ref name="presentationEffectDirections"/>
7950         </attribute>
7951     </optional>
7952 </define>
7953 <define name="presentationEffectDirections">
7954     <choice>
7955         <value>none</value>
7956         <value>from-left</value>
7957         <value>from-top</value>
7958         <value>from-right</value>
7959         <value>from-bottom</value>
7960         <value>from-center</value>
7961         <value>from-upper-left</value>
7962         <value>from-upper-right</value>
7963         <value>from-lower-left</value>
7964         <value>from-lower-right</value>
7965         <value>to-left</value>
7966         <value>to-top</value>
7967         <value>to-right</value>
7968         <value>to-bottom</value>
7969         <value>to-upper-left</value>
7970         <value>to-upper-right</value>
7971         <value>to-lower-right</value>
7972         <value>to-lower-left</value>
7973         <value>path</value>
7974         <value>spiral-inward-left</value>
7975         <value>spiral-inward-right</value>
7976         <value>spiral-outward-left</value>
7977         <value>spiral-outward-right</value>
7978         <value>vertical</value>
7979         <value>horizontal</value>
7980         <value>to-center</value>
7981         <value>clockwise</value>
7982         <value>counter-clockwise</value>
7983     </choice>
7984 </define>
7985 <define name="common-presentation-effect-attlist" combine="interleave">
7986     <optional>
7987         <attribute name="presentation:speed" a:defaultValue="medium">
7988             <ref name="presentationSpeeds"/>
7989         </attribute>
7990     </optional>
7991 </define>
7992 <define name="presentationSpeeds">
7993     <choice>
7994         <value>slow</value>
7995         <value>medium</value>
7996         <value>fast</value>
7997     </choice>
7998 </define>
7999 <define name="common-presentation-effect-attlist" combine="interleave">
8000     <optional>
8001         <attribute name="presentation:delay">
8002             <ref name="duration"/>
8003         </attribute>
8004     </optional>
8005 </define>
8006 <define name="common-presentation-effect-attlist" combine="interleave">
8007     <optional>
8008         <attribute name="presentation:start-scale" a:defaultValue="100%">
8009             <ref name="percent"/>
8010         </attribute>
8011     </optional>
8012 </define>
8013 <define name="common-presentation-effect-attlist" combine="interleave">
8014     <optional>
8015         <attribute name="presentation:path-id"/>
8016     </optional>
8017 </define>
8018 <define name="presentation-show-text">
8019     <element name="presentation:show-text">
8020         <ref name="common-presentation-effect-attlist"/>
8021         <optional>
8022             <ref name="presentation-sound"/>
8023         </optional>
8024     </element>
8025 </define>
8026 <define name="presentation-hide-shape">
8027     <element name="presentation:hide-shape">
8028         <ref name="common-presentation-effect-attlist"/>
8029         <optional>
8030             <ref name="presentation-sound"/>
8031         </optional>
8032     </element>
8033 </define>
8034 <define name="presentation-hide-text">
8035     <element name="presentation:hide-text">
8036         <ref name="common-presentation-effect-attlist"/>
8037         <optional>
8038             <ref name="presentation-sound"/>
8039         </optional>
8040     </element>
8041 </define>
8042 <define name="presentation-dim">
8043     <element name="presentation:dim">
8044         <ref name="presentation-dim-attlist"/>
8045         <optional>
8046             <ref name="presentation-sound"/>
8047         </optional>
8048     </element>
8049 </define>
8050 <define name="presentation-dim-attlist" combine="interleave">
8051     <attribute name="draw:shape-id">
8052         <ref name="IDREF"/>
8053     </attribute>
8054 </define>
8055 <define name="presentation-dim-attlist" combine="interleave">
8056     <attribute name="draw:color">
8057         <ref name="color"/>
8058     </attribute>
8059 </define>
8060 <define name="presentation-play">
8061     <element name="presentation:play">
8062         <ref name="presentation-play-attlist"/>
8063         <empty/>
8064     </element>
8065 </define>
8066 <define name="presentation-play-attlist" combine="interleave">
8067     <attribute name="draw:shape-id">
8068         <ref name="IDREF"/>
8069     </attribute>
8070     <optional>
8071         <attribute name="presentation:speed" a:defaultValue="medium">
8072             <ref name="presentationSpeeds"/>
8073         </attribute>
8074     </optional>
8075 </define>
8076 <define name="presentation-animation-group">
8077     <element name="presentation:animation-group">
8078         <zeroOrMore>
8079             <ref name="presentation-animation-elements"/>
8080         </zeroOrMore>
8081     </element>
8082 </define>
8083 <define name="common-anim-attlist" combine="interleave">
8084     <optional>
8085         <attribute name="presentation:node-type" a:defaultValue="default">
8086             <choice>
8087                 <value>default</value>
8088                 <value>on-click</value>
8089                 <value>with-previous</value>
8090                 <value>after-previous</value>
8091                 <value>timing-root</value>
8092                 <value>main-sequence</value>
8093                 <value>interactive-sequence</value>
8094             </choice>
8095         </attribute>
8096     </optional>
8097 </define>
8098 <define name="common-anim-attlist" combine="interleave">
8099     <optional>
8100         <attribute name="presentation:preset-id">
8101             <ref name="string"/>
8102         </attribute>
8103     </optional>
8104 </define>
8105 <define name="common-anim-attlist" combine="interleave">
8106     <optional>
8107         <attribute name="presentation:preset-sub-type">
8108             <ref name="string"/>
8109         </attribute>
8110     </optional>
8111 </define>
8112 <define name="common-anim-attlist" combine="interleave">
8113     <optional>
8114         <attribute name="presentation:preset-class" a:defaultValue="custom">
8115             <choice>
8116                 <value>custom</value>
8117                 <value>entrance</value>
8118                 <value>exit</value>
8119                 <value>emphasis</value>
8120                 <value>motion-path</value>
8121                 <value>ole-action</value>
8122                 <value>media-call</value>
8123             </choice>
8124         </attribute>
8125     </optional>
8126 </define>
8127 <define name="common-anim-attlist" combine="interleave">
8128     <optional>
8129         <attribute name="presentation:master-element">
8130             <ref name="IDREF"/>
8131         </attribute>
8132     </optional>
8133 </define>
8134 <define name="common-anim-attlist" combine="interleave">
8135     <optional>
8136         <attribute name="presentation:group-id">
8137             <ref name="string"/>
8138         </attribute>
8139     </optional>
8140 </define>
8141 <define name="presentation-event-listener">
8142     <element name="presentation:event-listener">
8143         <ref name="presentation-event-listener-attlist"/>
8144         <optional>
8145             <ref name="presentation-sound"/>
8146         </optional>
8147     </element>
8148 </define>
8149 <define name="presentation-event-listener-attlist" combine="interleave">
8150     <attribute name="script:event-name">
8151         <ref name="string"/>
8152     </attribute>
8153 </define>
8154 <define name="presentation-event-listener-attlist" combine="interleave">
8155     <attribute name="presentation:action">
8156         <choice>
8157             <value>none</value>
8158             <value>previous-page</value>
8159             <value>next-page</value>
8160             <value>first-page</value>
8161             <value>last-page</value>
8162             <value>hide</value>
8163             <value>stop</value>
8164             <value>execute</value>
8165             <value>show</value>
8166             <value>verb</value>
8167             <value>fade-out</value>
8168             <value>sound</value>
8169         </choice>
8170     </attribute>
8171 </define>
8172 <define name="presentation-event-listener-attlist" combine="interleave">
8173     <optional>
8174         <attribute name="presentation:effect" a:defaultValue="none">
8175             <ref name="presentationEffects"/>
8176         </attribute>
8177     </optional>
8178 </define>
8179 <define name="presentation-event-listener-attlist" combine="interleave">
8180     <optional>
8181         <attribute name="presentation:direction" a:defaultValue="none">
8182             <ref name="presentationEffectDirections"/>
8183         </attribute>
8184     </optional>
8185 </define>
8186 <define name="presentation-event-listener-attlist" combine="interleave">
8187     <optional>
8188         <attribute name="presentation:speed" a:defaultValue="medium">
8189             <ref name="presentationSpeeds"/>
8190         </attribute>
8191     </optional>
8192 </define>
8193 <define name="presentation-event-listener-attlist" combine="interleave">
8194     <optional>
8195         <attribute name="presentation:start-scale" a:defaultValue="100%">
8196             <ref name="percent"/>
8197         </attribute>
8198     </optional>
8199 </define>
8200 <define name="presentation-event-listener-attlist" combine="interleave">
8201     <optional>
8202         <attribute name="xlink:href">
8203             <ref name="anyURI"/>
8204         </attribute>
8205     </optional>
8206     <optional>
8207         <attribute name="xlink:type" a:defaultValue="simple">
8208             <choice>
8209                 <value>simple</value>
8210             </choice>
8211         </attribute>
8212     </optional>
8213     <optional>
8214         <attribute name="xlink:show" a:defaultValue="embed">
8215             <choice>
8216                 <value>embed</value>
8217             </choice>
8218         </attribute>
8219     </optional>
8220     <optional>
8221         <attribute name="xlink:actuate" a:defaultValue="onRequest">
8222             <choice>
8223                 <value>onRequest</value>
8224             </choice>
8225         </attribute>
8226     </optional>
8227 </define>
8228 <define name="presentation-event-listener-attlist" combine="interleave">
8229     <optional>
8230         <attribute name="presentation:verb">
8231             <ref name="nonNegativeInteger"/>
8232         </attribute>
8233     </optional>
8234 </define>
8235 <define name="paragraph-content" combine="choice">
8236     <element name="presentation:header">
8237         <empty/>
8238     </element>
8239 </define>
8240 <define name="paragraph-content" combine="choice">
8241     <element name="presentation:footer">
8242         <empty/>
8243     </element>
8244 </define>
8245 <define name="paragraph-content" combine="choice">
8246     <element name="presentation:date-time">
8247         <empty/>
8248     </element>
8249 </define>
8250 <define name="presentation-decls">
8251     <zeroOrMore>
8252         <ref name="presentation-decl"/>
8253     </zeroOrMore>
8254 </define>
8255 <define name="presentation-decl" combine="choice">
8256     <element name="presentation:header-decl">
8257         <ref name="presentation-header-decl-attlist"/>
8258         <text/>
8259     </element>
8260 </define>
8261 <define name="presentation-header-decl-attlist" combine="interleave">
8262     <attribute name="presentation:name">
8263         <ref name="string"/>
8264     </attribute>
8265 </define>
8266 <define name="presentation-decl" combine="choice">
8267     <element name="presentation:footer-decl">
8268         <ref name="presentation-footer-decl-attlist"/>
8269         <text/>
8270     </element>
8271 </define>
8272 <define name="presentation-footer-decl-attlist" combine="interleave">
8273     <attribute name="presentation:name">
8274         <ref name="string"/>
8275     </attribute>
8276 </define>
8277 <define name="presentation-decl" combine="choice">
8278     <element name="presentation:date-time-decl">
8279         <ref name="presentation-date-time-decl-attlist"/>
8280         <text/>
8281     </element>
8282 </define>
8283 <define name="presentation-date-time-decl-attlist" combine="interleave">
8284     <attribute name="presentation:name">
8285         <ref name="string"/>
8286     </attribute>
8287 </define>
8288 <define name="presentation-date-time-decl-attlist" combine="interleave">
8289     <attribute name="presentation:source">
8290         <choice>
8291             <value>fixed</value>
8292             <value>current-date</value>
8293         </choice>
8294     </attribute>
8295 </define>
8296 <define name="presentation-date-time-decl-attlist" combine="interleave">
8297     <optional>
8298         <attribute name="style:data-style-name">
8299             <ref name="styleNameRef"/>
8300         </attribute>
8301     </optional>
8302 </define>
8303 <define name="presentation-settings">
8304     <optional>
8305         <element name="presentation:settings">
8306             <ref name="presentation-settings-attlist"/>
8307             <zeroOrMore>
8308                 <ref name="presentation-show"/>
8309             </zeroOrMore>
8310         </element>
8311     </optional>
8312 </define>
8313 <define name="presentation-settings-attlist" combine="interleave">
8314     <optional>
8315         <attribute name="presentation:start-page">
8316             <ref name="string"/>
8317         </attribute>
8318     </optional>
8319 </define>
8320 <define name="presentation-settings-attlist" combine="interleave">
8321     <optional>
8322         <attribute name="presentation:show">
8323             <ref name="string"/>
8324         </attribute>
8325     </optional>
8326 </define>
8327 <define name="presentation-settings-attlist" combine="interleave">
8328     <optional>
8329         <attribute name="presentation:full-screen" a:defaultValue="true">
8330             <ref name="boolean"/>
8331         </attribute>
8332     </optional>
8333 </define>
8334 <define name="presentation-settings-attlist" combine="interleave">
8335     <optional>
8336         <attribute name="presentation:endless" a:defaultValue="false">
8337             <ref name="boolean"/>
8338         </attribute>
8339     </optional>
8340 </define>
8341 <define name="presentation-settings-attlist" combine="interleave">
8342     <optional>
8343         <attribute name="presentation:pause">
8344             <ref name="duration"/>
8345         </attribute>
8346     </optional>
8347 </define>
8348 <define name="presentation-settings-attlist" combine="interleave">
8349     <optional>
8350         <attribute name="presentation:show-logo" a:defaultValue="false">
8351             <ref name="boolean"/>
8352         </attribute>
8353     </optional>
8354 </define>
8355 <define name="presentation-settings-attlist" combine="interleave">
8356     <optional>
8357         <attribute name="presentation:force-manual" a:defaultValue="false">
8358             <ref name="boolean"/>
8359         </attribute>
8360     </optional>
8361 </define>
8362 <define name="presentation-settings-attlist" combine="interleave">
8363     <optional>
8364         <attribute name="presentation:mouse-visible" a:defaultValue="true">
8365             <ref name="boolean"/>
8366         </attribute>
8367     </optional>
8368 </define>
8369 <define name="presentation-settings-attlist" combine="interleave">
8370     <optional>
8371         <attribute name="presentation:mouse-as-pen" a:defaultValue="false">
8372             <ref name="boolean"/>
8373         </attribute>
8374     </optional>
8375 </define>
8376 <define name="presentation-settings-attlist" combine="interleave">
8377     <optional>
8378         <attribute name="presentation:start-with-navigator"
8379                    a:defaultValue="false">
8380             <ref name="boolean"/>
8381         </attribute>
8382     </optional>
8383 </define>
8384 <define name="presentation-settings-attlist" combine="interleave">
8385     <optional>
8386         <attribute name="presentation:animations" a:defaultValue="enabled">
8387             <choice>
8388                 <value>enabled</value>
8389                 <value>disabled</value>
8390             </choice>
8391         </attribute>
8392     </optional>
8393 </define>
8394 <define name="presentation-settings-attlist" combine="interleave">
8395     <optional>
8396         <attribute name="presentation:transition-on-click"
8397                    a:defaultValue="enabled">
8398             <choice>
8399                 <value>enabled</value>
8400                 <value>disabled</value>
8401             </choice>
8402         </attribute>
8403     </optional>
8404 </define>
8405 <define name="presentation-settings-attlist" combine="interleave">
8406     <optional>
8407         <attribute name="presentation:stay-on-top" a:defaultValue="false">
8408             <ref name="boolean"/>
8409         </attribute>
8410     </optional>
8411 </define>
8412 <define name="presentation-show">
8413     <element name="presentation:show">
8414         <ref name="presentation-show-attlist"/>
8415         <empty/>
8416     </element>
8417 </define>
8418 <define name="presentation-show-attlist" combine="interleave">
8419     <attribute name="presentation:name">
8420         <ref name="string"/>
8421     </attribute>
8422 </define>
8423 <define name="presentation-show-attlist" combine="interleave">
8424     <attribute name="presentation:pages"/>
8425 </define>
8426 <define name="chart-chart">
8427     <element name="chart:chart">
8428         <ref name="chart-chart-attlist"/>
8429         <optional>
8430             <ref name="chart-title"/>
8431         </optional>
8432         <optional>
8433             <ref name="chart-subtitle"/>
8434         </optional>
8435         <optional>
8436             <ref name="chart-footer"/>
8437         </optional>
8438         <optional>
8439             <ref name="chart-legend"/>
8440         </optional>
8441         <ref name="chart-plot-area"/>
8442         <optional>
8443             <ref name="table-table"/>
8444         </optional>
8445     </element>
8446 </define>
8447 <define name="chart-chart-attlist" combine="interleave">
8448     <attribute name="chart:class">
8449         <ref name="namespacedToken"/>
8450     </attribute>
8451 </define>
8452 <define name="chart-chart-attlist" combine="interleave">
8453     <ref name="common-draw-size-attlist"/>
8454 </define>
8455 <define name="chart-chart-attlist" combine="interleave">
8456     <optional>
8457         <attribute name="chart:column-mapping">
8458             <ref name="string"/>
8459         </attribute>
8460     </optional>
8461 </define>
8462 <define name="chart-chart-attlist" combine="interleave">
8463     <optional>
8464         <attribute name="chart:row-mapping">
8465             <ref name="string"/>
8466         </attribute>
8467     </optional>
8468 </define>
8469 <define name="chart-chart-attlist" combine="interleave">
8470     <optional>
8471         <attribute name="chart:style-name">
8472             <ref name="styleNameRef"/>
8473         </attribute>
8474     </optional>
8475 </define>
8476 <define name="chart-title">
8477     <element name="chart:title">
8478         <ref name="chart-title-attlist"/>
8479         <optional>
8480             <ref name="text-p"/>
8481         </optional>
8482     </element>
8483 </define>
8484 <define name="chart-title-attlist" combine="interleave">
8485     <optional>
8486         <attribute name="table:cell-range">
8487             <ref name="cellAddress"/>
8488         </attribute>
8489     </optional>
8490 </define>
8491 <define name="chart-title-attlist" combine="interleave">
8492     <ref name="common-draw-position-attlist"/>
8493 </define>
8494 <define name="chart-title-attlist" combine="interleave">
8495     <optional>
8496         <attribute name="chart:style-name">
8497             <ref name="styleNameRef"/>
8498         </attribute>
8499     </optional>
8500 </define>
8501 <define name="chart-subtitle">
8502     <element name="chart:subtitle">
8503         <ref name="chart-title-attlist"/>
8504         <optional>
8505             <ref name="text-p"/>
8506         </optional>
8507     </element>
8508 </define>
8509 <define name="chart-footer">
8510     <element name="chart:footer">
8511         <ref name="chart-title-attlist"/>
8512         <optional>
8513             <ref name="text-p"/>
8514         </optional>
8515     </element>
8516 </define>
8517 <define name="chart-legend">
8518     <element name="chart:legend">
8519         <ref name="chart-legend-attlist"/>
8520         <empty/>
8521     </element>
8522 </define>
8523 <define name="chart-legend-attlist" combine="interleave">
8524     <choice>
8525         <group>
8526             <attribute name="chart:legend-position">
8527                 <choice>
8528                     <value>start</value>
8529                     <value>end</value>
8530                     <value>top</value>
8531                     <value>bottom</value>
8532                 </choice>
8533             </attribute>
8534             <optional>
8535                 <attribute name="chart:legend-align">
8536                     <choice>
8537                         <value>start</value>
8538                         <value>center</value>
8539                         <value>end</value>
8540                     </choice>
8541                 </attribute>
8542             </optional>
8543         </group>
8544         <attribute name="chart:legend-position">
8545             <choice>
8546                 <value>top-start</value>
8547                 <value>bottom-start</value>
8548                 <value>top-end</value>
8549                 <value>bottom-end</value>
8550             </choice>
8551         </attribute>
8552         <empty/>
8553     </choice>
8554 </define>
8555 <define name="chart-legend-attlist" combine="interleave">
8556     <ref name="common-draw-position-attlist"/>
8557 </define>
8558 <define name="chart-legend-attlist" combine="interleave">
8559     <choice>
8560         <attribute name="style:legend-expansion">
8561             <choice>
8562                 <value>wide</value>
8563                 <value>high</value>
8564                 <value>balanced</value>
8565             </choice>
8566         </attribute>
8567         <group>
8568             <attribute name="style:legend-expansion">
8569                 <value>custom</value>
8570             </attribute>
8571             <attribute name="style:legend-expansion-aspect-ratio">
8572                 <ref name="double"/>
8573             </attribute>
8574         </group>
8575         <empty/>
8576     </choice>
8577 </define>
8578 <define name="chart-legend-attlist" combine="interleave">
8579     <optional>
8580         <attribute name="chart:style-name">
8581             <ref name="styleNameRef"/>
8582         </attribute>
8583     </optional>
8584 </define>
8585 <define name="chart-plot-area">
8586     <element name="chart:plot-area">
8587         <ref name="chart-plot-area-attlist"/>
8588         <zeroOrMore>
8589             <ref name="dr3d-light"/>
8590         </zeroOrMore>
8591         <zeroOrMore>
8592             <ref name="chart-axis"/>
8593         </zeroOrMore>
8594         <zeroOrMore>
8595             <ref name="chart-series"/>
8596         </zeroOrMore>
8597         <optional>
8598             <ref name="chart-stock-gain-marker"/>
8599         </optional>
8600         <optional>
8601             <ref name="chart-stock-loss-marker"/>
8602         </optional>
8603         <optional>
8604             <ref name="chart-stock-range-line"/>
8605         </optional>
8606         <optional>
8607             <ref name="chart-wall"/>
8608         </optional>
8609         <optional>
8610             <ref name="chart-floor"/>
8611         </optional>
8612     </element>
8613 </define>
8614 <define name="chart-plot-area-attlist" combine="interleave">
8615     <ref name="common-draw-position-attlist"/>
8616     <ref name="common-draw-size-attlist"/>
8617 </define>
8618 <define name="chart-plot-area-attlist" combine="interleave">
8619     <optional>
8620         <attribute name="chart:style-name">
8621             <ref name="styleNameRef"/>
8622         </attribute>
8623     </optional>
8624 </define>
8625 <define name="chart-plot-area-attlist" combine="interleave">
8626     <optional>
8627         <attribute name="table:cell-range-address">
8628             <ref name="cellRangeAddress"/>
8629         </attribute>
8630     </optional>
8631 </define>
8632 <define name="chart-plot-area-attlist" combine="interleave">
8633     <optional>
8634         <attribute name="chart:data-source-has-labels" a:defaultValue="none">
8635             <choice>
8636                 <value>none</value>
8637                 <value>row</value>
8638                 <value>column</value>
8639                 <value>both</value>
8640             </choice>
8641         </attribute>
8642     </optional>
8643 </define>
8644 <define name="chart-plot-area-attlist" combine="interleave">
8645     <ref name="dr3d-scene-attlist"/>
8646     <ref name="common-dr3d-transform-attlist"/>
8647 </define>
8648 <define name="chart-wall">
8649     <element name="chart:wall">
8650         <ref name="chart-wall-attlist"/>
8651         <empty/>
8652     </element>
8653 </define>
8654 <define name="chart-wall-attlist" combine="interleave">
8655     <optional>
8656         <attribute name="svg:width">
8657             <ref name="length"/>
8658         </attribute>
8659     </optional>
8660 </define>
8661 <define name="chart-wall-attlist" combine="interleave">
8662     <optional>
8663         <attribute name="chart:style-name">
8664             <ref name="styleNameRef"/>
8665         </attribute>
8666     </optional>
8667 </define>
8668 <define name="chart-floor">
8669     <element name="chart:floor">
8670         <ref name="chart-floor-attlist"/>
8671         <empty/>
8672     </element>
8673 </define>
8674 <define name="chart-floor-attlist" combine="interleave">
8675     <optional>
8676         <attribute name="svg:width">
8677             <ref name="length"/>
8678         </attribute>
8679     </optional>
8680 </define>
8681 <define name="chart-floor-attlist" combine="interleave">
8682     <optional>
8683         <attribute name="chart:style-name">
8684             <ref name="styleNameRef"/>
8685         </attribute>
8686     </optional>
8687 </define>
8688 <define name="chart-axis">
8689     <element name="chart:axis">
8690         <ref name="chart-axis-attlist"/>
8691         <optional>
8692             <ref name="chart-title"/>
8693         </optional>
8694         <optional>
8695             <ref name="chart-categories"/>
8696         </optional>
8697         <zeroOrMore>
8698             <ref name="chart-grid"/>
8699         </zeroOrMore>
8700     </element>
8701 </define>
8702 <define name="chart-axis-attlist" combine="interleave">
8703     <attribute name="chart:dimension">
8704         <choice>
8705             <value>x</value>
8706             <value>y</value>
8707             <value>z</value>
8708         </choice>
8709     </attribute>
8710 </define>
8711 <define name="chart-axis-attlist" combine="interleave">
8712     <optional>
8713         <attribute name="chart:name">
8714             <ref name="string"/>
8715         </attribute>
8716     </optional>
8717 </define>
8718 <define name="chart-axis-attlist" combine="interleave">
8719     <optional>
8720         <attribute name="chart:style-name">
8721             <ref name="styleNameRef"/>
8722         </attribute>
8723     </optional>
8724 </define>
8725 <define name="chart-grid">
8726     <element name="chart:grid">
8727         <ref name="chart-grid-attlist"/>
8728     </element>
8729 </define>
8730 <define name="chart-grid-attlist" combine="interleave">
8731     <optional>
8732         <attribute name="chart:class" a:defaultValue="major">
8733             <choice>
8734                 <value>major</value>
8735                 <value>minor</value>
8736             </choice>
8737         </attribute>
8738     </optional>
8739 </define>
8740 <define name="chart-grid-attlist" combine="interleave">
8741     <optional>
8742         <attribute name="chart:style-name">
8743             <ref name="styleNameRef"/>
8744         </attribute>
8745     </optional>
8746 </define>
8747 <define name="chart-series">
8748     <element name="chart:series">
8749         <ref name="chart-series-attlist"/>
8750         <zeroOrMore>
8751             <ref name="chart-domain"/>
8752         </zeroOrMore>
8753         <optional>
8754             <ref name="chart-mean-value"/>
8755         </optional>
8756         <optional>
8757             <ref name="chart-regression-curve"/>
8758         </optional>
8759         <optional>
8760             <ref name="chart-error-indicator"/>
8761         </optional>
8762         <zeroOrMore>
8763             <ref name="chart-data-point"/>
8764         </zeroOrMore>
8765     </element>
8766 </define>
8767 <define name="chart-series-attlist" combine="interleave">
8768     <optional>
8769         <attribute name="chart:values-cell-range-address">
8770             <ref name="cellRangeAddress"/>
8771         </attribute>
8772     </optional>
8773 </define>
8774 <define name="chart-series-attlist" combine="interleave">
8775     <optional>
8776         <attribute name="chart:label-cell-address">
8777             <ref name="cellAddress"/>
8778         </attribute>
8779     </optional>
8780 </define>
8781 <define name="chart-series-attlist" combine="interleave">
8782     <optional>
8783         <attribute name="chart:class">
8784             <ref name="namespacedToken"/>
8785         </attribute>
8786     </optional>
8787 </define>
8788 <define name="chart-series-attlist" combine="interleave">
8789     <optional>
8790         <attribute name="chart:attached-axis">
8791             <ref name="string"/>
8792         </attribute>
8793     </optional>
8794 </define>
8795 <define name="chart-series-attlist" combine="interleave">
8796     <optional>
8797         <attribute name="chart:style-name">
8798             <ref name="styleNameRef"/>
8799         </attribute>
8800     </optional>
8801 </define>
8802 <define name="chart-domain">
8803     <element name="chart:domain">
8804     <optional>
8805         <attribute name="table:cell-range-address">
8806             <ref name="cellRangeAddress"/>
8807         </attribute>
8808     </optional>
8809     </element>
8810 </define>
8811 <define name="chart-categories">
8812     <element name="chart:categories">
8813     <optional>
8814         <attribute name="table:cell-range-address">
8815             <ref name="cellRangeAddress"/>
8816         </attribute>
8817     </optional>
8818     </element>
8819 </define>
8820 <define name="chart-data-point">
8821     <element name="chart:data-point">
8822         <ref name="chart-data-point-attlist"/>
8823         <empty/>
8824     </element>
8825 </define>
8826 <define name="chart-data-point-attlist" combine="interleave">
8827     <optional>
8828         <attribute name="chart:repeated">
8829             <ref name="nonNegativeInteger"/>
8830         </attribute>
8831     </optional>
8832 </define>
8833 <define name="chart-data-point-attlist" combine="interleave">
8834     <optional>
8835         <attribute name="chart:style-name">
8836             <ref name="styleNameRef"/>
8837         </attribute>
8838     </optional>
8839 </define>
8840 
8841 <define name="chart-mean-value">
8842     <element name="chart:mean-value">
8843         <ref name="chart-mean-value-attlist"/>
8844         <empty/>
8845     </element>
8846 </define>
8847 <define name="chart-mean-value-attlist" combine="interleave">
8848     <optional>
8849         <attribute name="chart:style-name">
8850             <ref name="styleNameRef"/>
8851         </attribute>
8852     </optional>
8853 </define>
8854 <define name="chart-error-indicator">
8855     <element name="chart:error-indicator">
8856         <ref name="chart-error-indicator-attlist"/>
8857         <empty/>
8858     </element>
8859 </define>
8860 <define name="chart-error-indicator-attlist" combine="interleave">
8861     <optional>
8862         <attribute name="chart:style-name">
8863             <ref name="styleNameRef"/>
8864         </attribute>
8865     </optional>
8866 </define>
8867 <define name="chart-regression-curve">
8868     <element name="chart:regression-curve">
8869         <ref name="chart-regression-curve-attlist"/>
8870         <empty/>
8871     </element>
8872 </define>
8873 <define name="chart-regression-curve-attlist" combine="interleave">
8874     <optional>
8875         <attribute name="chart:style-name">
8876             <ref name="styleNameRef"/>
8877         </attribute>
8878     </optional>
8879 </define>
8880 <define name="chart-stock-gain-marker">
8881     <element name="chart:stock-gain-marker">
8882         <ref name="common-stock-marker-attlist"/>
8883     </element>
8884 </define>
8885 <define name="chart-stock-loss-marker">
8886     <element name="chart:stock-loss-marker">
8887         <ref name="common-stock-marker-attlist"/>
8888     </element>
8889 </define>
8890 <define name="chart-stock-range-line">
8891     <element name="chart:stock-range-line">
8892         <ref name="common-stock-marker-attlist"/>
8893     </element>
8894 </define>
8895 <define name="common-stock-marker-attlist">
8896     <optional>
8897         <attribute name="chart:style-name">
8898             <ref name="styleNameRef"/>
8899         </attribute>
8900     </optional>
8901 </define>
8902 <define name="office-forms">
8903     <optional>
8904         <element name="office:forms">
8905             <ref name="office-forms-attlist"/>
8906             <zeroOrMore>
8907                 <choice>
8908                     <ref name="form-form"/>
8909                     <ref name="xforms-model"/>
8910                 </choice>
8911             </zeroOrMore>
8912         </element>
8913     </optional>
8914 </define>
8915 <define name="office-forms-attlist" combine="interleave">
8916     <optional>
8917         <attribute name="form:automatic-focus" a:defaultValue="false">
8918             <ref name="boolean"/>
8919         </attribute>
8920     </optional>
8921 </define>
8922 <define name="office-forms-attlist" combine="interleave">
8923     <optional>
8924         <attribute name="form:apply-design-mode" a:defaultValue="true">
8925             <ref name="boolean"/>
8926         </attribute>
8927     </optional>
8928 </define>
8929 <define name="form-form">
8930     <element name="form:form">
8931         <ref name="common-form-control-attlist"/>
8932         <ref name="form-form-attlist"/>
8933         <optional>
8934             <ref name="form-properties"/>
8935         </optional>
8936         <optional>
8937             <ref name="office-event-listeners"/>
8938         </optional>
8939         <zeroOrMore>
8940             <choice>
8941                 <ref name="controls"/>
8942                 <ref name="form-form"/>
8943             </choice>
8944         </zeroOrMore>
8945         <optional>
8946             <ref name="form-connection-resource"/>
8947         </optional>
8948     </element>
8949 </define>
8950 <define name="form-form-attlist" combine="interleave">
8951     <optional>
8952         <attribute name="xlink:href">
8953             <ref name="anyURI"/>
8954         </attribute>
8955         <optional>
8956             <attribute name="xlink:type" a:defaultValue="simple">
8957                 <value>simple</value>
8958             </attribute>
8959         </optional>
8960         <optional>
8961             <attribute name="xlink:actuate" a:defaultValue="onRequest">
8962                 <value>onRequest</value>
8963             </attribute>
8964         </optional>
8965     </optional>
8966 </define>
8967 <define name="form-form-attlist" combine="interleave">
8968     <optional>
8969         <attribute name="office:target-frame" a:defaultValue="_blank">
8970             <ref name="targetFrameName"/>
8971         </attribute>
8972     </optional>
8973 </define>
8974 <define name="form-form-attlist" combine="interleave">
8975     <optional>
8976         <attribute name="form:method" a:defaultValue="get">
8977             <choice>
8978                 <value>get</value>
8979                 <value>post</value>
8980                 <ref name="string"/>
8981             </choice>
8982         </attribute>
8983     </optional>
8984 </define>
8985 <define name="form-form-attlist" combine="interleave">
8986     <optional>
8987         <attribute name="form:enctype" 
8988                     a:defaultValue="application/x-www-form-urlencoded">
8989             <ref name="string"/>
8990         </attribute>
8991     </optional>
8992 </define>
8993 <define name="form-form-attlist" combine="interleave">
8994     <optional>
8995         <attribute name="form:allow-deletes" a:defaultValue="true">
8996             <ref name="boolean"/>
8997         </attribute>
8998     </optional>
8999 </define>
9000 <define name="form-form-attlist" combine="interleave">
9001     <optional>
9002         <attribute name="form:allow-inserts" a:defaultValue="true">
9003             <ref name="boolean"/>
9004         </attribute>
9005     </optional>
9006 </define>
9007 <define name="form-form-attlist" combine="interleave">
9008     <optional>
9009         <attribute name="form:allow-updates" a:defaultValue="true">
9010             <ref name="boolean"/>
9011         </attribute>
9012     </optional>
9013 </define>
9014 <define name="form-form-attlist" combine="interleave">
9015     <optional>
9016         <attribute name="form:apply-filter" a:defaultValue="false">
9017             <ref name="boolean"/>
9018         </attribute>
9019     </optional>
9020 </define>
9021 <define name="form-form-attlist" combine="interleave">
9022     <optional>
9023         <attribute name="form:command-type" a:defaultValue="command">
9024             <choice>
9025                 <value>table</value>
9026                 <value>query</value>
9027                 <value>command</value>
9028             </choice>
9029         </attribute>
9030     </optional>
9031 </define>
9032 <define name="form-form-attlist" combine="interleave">
9033     <optional>
9034         <attribute name="form:command"/>
9035     </optional>
9036 </define>
9037 <define name="form-form-attlist" combine="interleave">
9038     <optional>
9039         <attribute name="form:datasource">
9040             <choice>
9041                 <ref name="anyURI"/>
9042                 <ref name="string"/>
9043             </choice>
9044         </attribute>
9045     </optional>
9046 </define>
9047 <define name="form-form-attlist" combine="interleave">
9048     <optional>
9049         <attribute name="form:master-fields">
9050             <ref name="string"/>
9051         </attribute>
9052     </optional>
9053 </define>
9054 <define name="form-form-attlist" combine="interleave">
9055     <optional>
9056         <attribute name="form:detail-fields">
9057             <ref name="string"/>
9058         </attribute>
9059     </optional>
9060 </define>
9061 <define name="form-form-attlist" combine="interleave">
9062     <optional>
9063         <attribute name="form:escape-processing" a:defaultValue="true">
9064             <ref name="boolean"/>
9065         </attribute>
9066     </optional>
9067 </define>
9068 <define name="form-form-attlist" combine="interleave">
9069     <optional>
9070         <attribute name="form:filter">
9071             <ref name="string"/>
9072         </attribute>
9073     </optional>
9074 </define>
9075 <define name="form-form-attlist" combine="interleave">
9076     <optional>
9077         <attribute name="form:ignore-result" a:defaultValue="false">
9078             <ref name="boolean"/>
9079         </attribute>
9080     </optional>
9081 </define>
9082 <define name="form-form-attlist" combine="interleave">
9083     <optional>
9084         <attribute name="form:navigation-mode">
9085             <ref name="navigation"/>
9086         </attribute>
9087     </optional>
9088 </define>
9089 
9090 <define name="navigation">
9091     <choice>
9092         <value>none</value>
9093         <value>current</value>
9094         <value>parent</value>
9095     </choice>
9096 </define>
9097 <define name="form-form-attlist" combine="interleave">
9098     <optional>
9099         <attribute name="form:order">
9100             <ref name="string"/>
9101         </attribute>
9102     </optional>
9103 </define>
9104 <define name="form-form-attlist" combine="interleave">
9105     <optional>
9106         <attribute name="form:tab-cycle">
9107             <ref name="tab-cycles"/>
9108         </attribute>
9109     </optional>
9110 </define>
9111 <define name="tab-cycles">
9112     <choice>
9113         <value>records</value>
9114         <value>current</value>
9115         <value>page</value>
9116     </choice>
9117 </define>
9118 <define name="form-connection-resource">
9119     <element name="form:connection-resource">
9120         <attribute name="xlink:href">
9121             <ref name="anyURI"/>
9122         </attribute>
9123         <empty/>
9124     </element>
9125 </define>
9126 <define name="xforms-model">
9127     <element name="xforms:model">
9128         <ref name="anyAttListOrElements"/>
9129     </element>
9130 </define>
9131 <define name="column-controls" combine="choice">
9132     <element name="form:text">
9133         <ref name="form-text-attlist"/>
9134         <ref name="common-form-control-content"/>
9135     </element>
9136 </define>
9137 <define name="controls" combine="choice">
9138     <ref name="column-controls"/>
9139 </define>
9140 <define name="form-text-attlist">
9141     <ref name="form-control-attlist"/>
9142     <ref name="common-current-value-attlist"/>
9143     <ref name="common-disabled-attlist"/>
9144     <ref name="common-maxlength-attlist"/>
9145     <ref name="common-printable-attlist"/>
9146     <ref name="common-readonly-attlist"/>
9147     <ref name="common-tab-attlist"/>
9148     <ref name="common-title-attlist"/>
9149     <ref name="common-value-attlist"/>
9150     <ref name="common-convert-empty-attlist"/>
9151     <ref name="common-data-field-attlist"/>
9152 </define>
9153 <define name="form-control-attlist">
9154     <ref name="common-form-control-attlist"/>
9155     <ref name="common-control-id-attlist"/>
9156     <ref name="xforms-bind-attlist"/>
9157 </define>
9158 <define name="common-form-control-content">
9159     <optional>
9160         <ref name="form-properties"/>
9161     </optional>
9162     <optional>
9163         <ref name="office-event-listeners"/>
9164     </optional>
9165 </define>
9166 <define name="column-controls" combine="choice">
9167     <element name="form:textarea">
9168         <ref name="form-textarea-attlist"/>
9169         <ref name="common-form-control-content"/>
9170         <zeroOrMore>
9171             <ref name="text-p"/>
9172         </zeroOrMore>
9173     </element>
9174 </define>
9175 <define name="form-textarea-attlist">
9176     <ref name="form-control-attlist"/>
9177     <ref name="common-current-value-attlist"/>
9178     <ref name="common-disabled-attlist"/>
9179     <ref name="common-maxlength-attlist"/>
9180     <ref name="common-printable-attlist"/>
9181     <ref name="common-readonly-attlist"/>
9182     <ref name="common-tab-attlist"/>
9183     <ref name="common-title-attlist"/>
9184     <ref name="common-value-attlist"/>
9185     <ref name="common-convert-empty-attlist"/>
9186     <ref name="common-data-field-attlist"/>
9187 </define>
9188 <define name="controls" combine="choice">
9189     <element name="form:password">
9190         <ref name="form-password-attlist"/>
9191         <ref name="common-form-control-content"/>
9192     </element>
9193 </define>
9194 <define name="form-password-attlist" combine="interleave">
9195     <ref name="form-control-attlist"/>
9196     <ref name="common-disabled-attlist"/>
9197     <ref name="common-maxlength-attlist"/>
9198     <ref name="common-printable-attlist"/>
9199     <ref name="common-tab-attlist"/>
9200     <ref name="common-title-attlist"/>
9201     <ref name="common-value-attlist"/>
9202     <ref name="common-convert-empty-attlist"/>
9203 </define>
9204 <define name="form-password-attlist" combine="interleave">
9205     <optional>
9206         <attribute name="form:echo-char" a:defaultValue="*">
9207             <ref name="character"/>
9208         </attribute>
9209     </optional>
9210 </define>
9211 <define name="controls" combine="choice">
9212     <element name="form:file">
9213         <ref name="form-file-attlist"/>
9214         <ref name="common-form-control-content"/>
9215     </element>
9216 </define>
9217 <define name="form-file-attlist" combine="interleave">
9218     <ref name="form-control-attlist"/>
9219     <ref name="common-current-value-attlist"/>
9220     <ref name="common-disabled-attlist"/>
9221     <ref name="common-maxlength-attlist"/>
9222     <ref name="common-printable-attlist"/>
9223     <ref name="common-readonly-attlist"/>
9224     <ref name="common-tab-attlist"/>
9225     <ref name="common-title-attlist"/>
9226     <ref name="common-value-attlist"/>
9227 </define>
9228 <define name="column-controls" combine="choice">
9229     <element name="form:formatted-text">
9230         <ref name="form-formatted-text-attlist"/>
9231         <ref name="common-form-control-content"/>
9232     </element>
9233 </define>
9234 <define name="form-formatted-text-attlist" combine="interleave">
9235     <ref name="form-control-attlist"/>
9236     <ref name="common-current-value-attlist"/>
9237     <ref name="common-disabled-attlist"/>
9238     <ref name="common-maxlength-attlist"/>
9239     <ref name="common-printable-attlist"/>
9240     <ref name="common-readonly-attlist"/>
9241     <ref name="common-tab-attlist"/>
9242     <ref name="common-title-attlist"/>
9243     <ref name="common-value-attlist"/>
9244     <ref name="common-convert-empty-attlist"/>
9245     <ref name="common-data-field-attlist"/>
9246 </define>
9247 <define name="form-formatted-text-attlist" combine="interleave">
9248     <optional>
9249         <attribute name="form:max-value">
9250             <ref name="string"/>
9251         </attribute>
9252     </optional>
9253 </define>
9254 <define name="form-formatted-text-attlist" combine="interleave">
9255     <optional>
9256         <attribute name="form:min-value">
9257             <ref name="string"/>
9258         </attribute>
9259     </optional>
9260 </define>
9261 <define name="form-formatted-text-attlist" combine="interleave">
9262     <optional>
9263         <attribute name="form:validation" a:defaultValue="false">
9264             <ref name="boolean"/>
9265         </attribute>
9266     </optional>
9267 </define>
9268 <define name="column-controls" combine="choice">
9269     <element name="form:number">
9270         <ref name="form-number-attlist"/>
9271         <ref name="common-numeric-control-attlist"/>
9272         <ref name="common-form-control-content"/>
9273     </element>
9274 </define>
9275 <define name="common-numeric-control-attlist">
9276     <ref name="form-control-attlist"/>
9277     <ref name="common-disabled-attlist"/>
9278     <ref name="common-maxlength-attlist"/>
9279     <ref name="common-printable-attlist"/>
9280     <ref name="common-readonly-attlist"/>
9281     <ref name="common-tab-attlist"/>
9282     <ref name="common-title-attlist"/>
9283     <ref name="common-convert-empty-attlist"/>
9284     <ref name="common-data-field-attlist"/>
9285 </define>
9286 <define name="form-number-attlist" combine="interleave">
9287     <optional>
9288         <attribute name="form:value">
9289             <ref name="double"/>
9290         </attribute>
9291     </optional>
9292 </define>
9293 <define name="form-number-attlist" combine="interleave">
9294     <optional>
9295         <attribute name="form:current-value">
9296             <ref name="double"/>
9297         </attribute>
9298     </optional>
9299 </define>
9300 <define name="form-number-attlist" combine="interleave">
9301     <optional>
9302         <attribute name="form:min-value">
9303             <ref name="double"/>
9304         </attribute>
9305     </optional>
9306 </define>
9307 <define name="form-number-attlist" combine="interleave">
9308     <optional>
9309         <attribute name="form:max-value">
9310             <ref name="double"/>
9311         </attribute>
9312     </optional>
9313 </define>
9314 <define name="column-controls" combine="choice">
9315     <element name="form:date">
9316         <ref name="form-date-attlist"/>
9317         <ref name="common-numeric-control-attlist"/>
9318         <ref name="common-form-control-content"/>
9319     </element>
9320 </define>
9321 <define name="controls" combine="choice">
9322     <element name="form:time">
9323         <ref name="form-time-attlist"/>
9324         <ref name="common-numeric-control-attlist"/>
9325         <ref name="common-form-control-content"/>
9326     </element>
9327 </define>
9328 <define name="form-date-attlist" combine="interleave">
9329     <optional>
9330         <attribute name="form:value">
9331             <ref name="date"/>
9332         </attribute>
9333     </optional>
9334 </define>
9335 <define name="form-time-attlist" combine="interleave">
9336     <optional>
9337         <attribute name="form:value">
9338             <ref name="time"/>
9339         </attribute>
9340     </optional>
9341 </define>
9342 <define name="form-date-attlist" combine="interleave">
9343     <optional>
9344         <attribute name="form:current-value">
9345             <ref name="date"/>
9346         </attribute>
9347     </optional>
9348 </define>
9349 <define name="form-time-attlist" combine="interleave">
9350     <optional>
9351         <attribute name="form:current-value">
9352             <ref name="time"/>
9353         </attribute>
9354     </optional>
9355 </define>
9356 <define name="form-date-attlist" combine="interleave">
9357     <optional>
9358         <attribute name="form:min-value">
9359             <ref name="date"/>
9360         </attribute>
9361     </optional>
9362 </define>
9363 <define name="form-time-attlist" combine="interleave">
9364     <optional>
9365         <attribute name="form:min-value">
9366             <ref name="time"/>
9367         </attribute>
9368     </optional>
9369 </define>
9370 <define name="form-date-attlist" combine="interleave">
9371     <optional>
9372         <attribute name="form:max-value">
9373             <ref name="date"/>
9374         </attribute>
9375     </optional>
9376 </define>
9377 <define name="form-time-attlist" combine="interleave">
9378     <optional>
9379         <attribute name="form:max-value">
9380             <ref name="time"/>
9381         </attribute>
9382     </optional>
9383 </define>
9384 <define name="controls" combine="choice">
9385     <element name="form:fixed-text">
9386         <ref name="form-fixed-text-attlist"/>
9387         <ref name="common-form-control-content"/>
9388     </element>
9389 </define>
9390 <define name="form-fixed-text-attlist" combine="interleave">
9391     <ref name="form-control-attlist"/>
9392     <ref name="for"/>
9393     <ref name="common-disabled-attlist"/>
9394     <ref name="label"/>
9395     <ref name="common-printable-attlist"/>
9396     <ref name="common-title-attlist"/>
9397 </define>
9398 <define name="form-fixed-text-attlist" combine="interleave">
9399     <optional>
9400         <attribute name="form:multi-line" a:defaultValue="false">
9401             <ref name="boolean"/>
9402         </attribute>
9403     </optional>
9404 </define>
9405 <define name="column-controls" combine="choice">
9406     <element name="form:combobox">
9407         <ref name="form-combobox-attlist"/>
9408         <ref name="common-form-control-content"/>
9409         <zeroOrMore>
9410             <ref name="form-item"/>
9411         </zeroOrMore>
9412     </element>
9413 </define>
9414 <define name="form-combobox-attlist" combine="interleave">
9415     <ref name="form-control-attlist"/>
9416     <ref name="common-current-value-attlist"/>
9417     <ref name="common-disabled-attlist"/>
9418     <ref name="dropdown"/>
9419     <ref name="common-maxlength-attlist"/>
9420     <ref name="common-printable-attlist"/>
9421     <ref name="common-readonly-attlist"/>
9422     <ref name="size"/>
9423     <ref name="common-tab-attlist"/>
9424     <ref name="common-title-attlist"/>
9425     <ref name="common-value-attlist"/>
9426     <ref name="common-convert-empty-attlist"/>
9427     <ref name="common-data-field-attlist"/>
9428     <ref name="list-source"/>
9429     <ref name="list-source-type"/>
9430 </define>
9431 <define name="form-combobox-attlist" combine="interleave">
9432     <optional>
9433         <attribute name="form:auto-complete">
9434             <ref name="boolean"/>
9435         </attribute>
9436     </optional>
9437 </define>
9438 <define name="form-item">
9439     <element name="form:item">
9440         <ref name="form-item-attlist"/>
9441         <text/>
9442     </element>
9443 </define>
9444 <define name="form-item-attlist" combine="interleave">
9445     <ref name="label"/>
9446 </define>
9447 <define name="column-controls" combine="choice">
9448     <element name="form:listbox">
9449         <ref name="form-listbox-attlist"/>
9450         <ref name="common-form-control-content"/>
9451         <zeroOrMore>
9452             <ref name="form-option"/>
9453         </zeroOrMore>
9454     </element>
9455 </define>
9456 <define name="form-listbox-attlist" combine="interleave">
9457     <ref name="form-control-attlist"/>
9458     <ref name="common-disabled-attlist"/>
9459     <ref name="dropdown"/>
9460     <ref name="common-printable-attlist"/>
9461     <ref name="size"/>
9462     <ref name="common-tab-attlist"/>
9463     <ref name="common-title-attlist"/>
9464     <ref name="bound-column"/>
9465     <ref name="common-data-field-attlist"/>
9466     <ref name="list-source"/>
9467     <ref name="list-source-type"/>
9468 </define>
9469 <define name="form-listbox-attlist" combine="interleave">
9470     <optional>
9471         <attribute name="form:multiple" a:defaultValue="false">
9472             <ref name="boolean"/>
9473         </attribute>
9474     </optional>
9475 </define>
9476 <define name="form-listbox-attlist" combine="interleave">
9477     <optional>
9478         <attribute name="form:xforms-list-source">
9479             <ref name="string"/>
9480         </attribute>
9481     </optional>
9482 </define>
9483 <define name="form-option">
9484     <element name="form:option">
9485         <ref name="form-option-attlist"/>
9486         <text/>
9487     </element>
9488 </define>
9489 <define name="form-option-attlist" combine="interleave">
9490     <ref name="current-selected"/>
9491     <ref name="selected"/>
9492     <ref name="label"/>
9493     <ref name="common-value-attlist"/>
9494 </define>
9495 <define name="controls" combine="choice">
9496     <element name="form:button">
9497         <ref name="form-button-attlist"/>
9498         <ref name="common-form-control-content"/>
9499     </element>
9500 </define>
9501 <define name="form-button-attlist" combine="interleave">
9502     <ref name="form-control-attlist"/>
9503     <ref name="button-type"/>
9504     <ref name="common-disabled-attlist"/>
9505     <ref name="label"/>
9506     <ref name="image-data"/>
9507     <ref name="common-printable-attlist"/>
9508     <ref name="common-tab-attlist"/>
9509     <ref name="target-frame"/>
9510     <ref name="target-location"/>
9511     <ref name="common-title-attlist"/>
9512     <ref name="common-value-attlist"/>
9513     <ref name="common-form-relative-image-position-attlist"/>
9514 </define>
9515 <define name="form-button-attlist" combine="interleave">
9516     <optional>
9517         <attribute name="form:default-button" a:defaultValue="false">
9518             <ref name="boolean"/>
9519         </attribute>
9520     </optional>
9521 </define>
9522 <define name="form-button-attlist" combine="interleave">
9523     <optional>
9524         <attribute name="form:toggle" a:default-value="false">
9525             <ref name="boolean"/>
9526         </attribute>
9527     </optional>
9528 </define>
9529 <define name="form-button-attlist" combine="interleave">
9530     <optional>
9531         <attribute name="form:focus-on-click">
9532             <ref name="boolean"/>
9533         </attribute>
9534     </optional>
9535 </define>
9536 <define name="form-button-attlist" combine="interleave">
9537     <optional>
9538         <attribute name="form:xforms-submission">
9539             <ref name="string"/>
9540         </attribute>
9541     </optional>
9542 </define>
9543 <define name="controls" combine="choice">
9544     <element name="form:image">
9545         <ref name="form-image-attlist"/>
9546         <ref name="common-form-control-content"/>
9547     </element>
9548 </define>
9549 <define name="form-image-attlist" combine="interleave">
9550     <ref name="form-control-attlist"/>
9551     <ref name="button-type"/>
9552     <ref name="common-disabled-attlist"/>
9553     <ref name="image-data"/>
9554     <ref name="common-printable-attlist"/>
9555     <ref name="common-tab-attlist"/>
9556     <ref name="target-frame"/>
9557     <ref name="target-location"/>
9558     <ref name="common-title-attlist"/>
9559     <ref name="common-value-attlist"/>
9560 </define>
9561 <define name="column-controls" combine="choice">
9562     <element name="form:checkbox">
9563         <ref name="form-checkbox-attlist"/>
9564         <ref name="common-form-control-content"/>
9565     </element>
9566 </define>
9567 <define name="form-checkbox-attlist" combine="interleave">
9568     <ref name="form-control-attlist"/>
9569     <ref name="common-disabled-attlist"/>
9570     <ref name="label"/>
9571     <ref name="common-printable-attlist"/>
9572     <ref name="common-tab-attlist"/>
9573     <ref name="common-title-attlist"/>
9574     <ref name="common-value-attlist"/>
9575     <ref name="common-data-field-attlist"/>
9576     <ref name="common-form-visual-effect-attlist"/>
9577     <ref name="common-form-relative-image-position-attlist"/>
9578 </define>
9579 <define name="states">
9580     <choice>
9581         <value>unchecked</value>
9582         <value>checked</value>
9583         <value>unknown</value>
9584     </choice>
9585 </define>
9586 <define name="form-checkbox-attlist" combine="interleave">
9587     <optional>
9588         <attribute name="form:current-state">
9589             <ref name="states"/>
9590         </attribute>
9591     </optional>
9592 </define>
9593 <define name="form-checkbox-attlist" combine="interleave">
9594     <optional>
9595         <attribute name="form:is-tristate" a:defaultValue="false">
9596             <ref name="boolean"/>
9597         </attribute>
9598     </optional>
9599 </define>
9600 <define name="form-checkbox-attlist" combine="interleave">
9601     <optional>
9602         <attribute name="form:state" a:defaultValue="unchecked">
9603             <ref name="states"/>
9604         </attribute>
9605     </optional>
9606 </define>
9607 <define name="controls" combine="choice">
9608     <element name="form:radio">
9609         <ref name="form-radio-attlist"/>
9610         <ref name="common-form-control-content"/>
9611     </element>
9612 </define>
9613 <define name="form-radio-attlist" combine="interleave">
9614     <ref name="form-control-attlist"/>
9615     <ref name="current-selected"/>
9616     <ref name="common-disabled-attlist"/>
9617     <ref name="label"/>
9618     <ref name="common-printable-attlist"/>
9619     <ref name="selected"/>
9620     <ref name="common-tab-attlist"/>
9621     <ref name="common-title-attlist"/>
9622     <ref name="common-value-attlist"/>
9623     <ref name="common-data-field-attlist"/>
9624     <ref name="common-form-visual-effect-attlist"/>
9625     <ref name="common-form-relative-image-position-attlist"/>
9626 </define>
9627 <define name="controls" combine="choice">
9628     <element name="form:frame">
9629         <ref name="form-frame-attlist"/>
9630         <ref name="common-form-control-content"/>
9631     </element>
9632 </define>
9633 <define name="form-frame-attlist" combine="interleave">
9634     <ref name="form-control-attlist"/>
9635     <ref name="common-disabled-attlist"/>
9636     <ref name="for"/>
9637     <ref name="label"/>
9638     <ref name="common-printable-attlist"/>
9639     <ref name="common-title-attlist"/>
9640 </define>
9641 <define name="controls" combine="choice">
9642     <element name="form:image-frame">
9643         <ref name="form-image-frame-attlist"/>
9644         <ref name="common-form-control-content"/>
9645     </element>
9646 </define>
9647 <define name="form-image-frame-attlist" combine="interleave">
9648     <ref name="form-control-attlist"/>
9649     <ref name="common-disabled-attlist"/>
9650     <ref name="image-data"/>
9651     <ref name="common-printable-attlist"/>
9652     <ref name="common-readonly-attlist"/>
9653     <ref name="common-title-attlist"/>
9654     <ref name="common-data-field-attlist"/>
9655 </define>
9656 <define name="controls" combine="choice">
9657     <element name="form:hidden">
9658         <ref name="form-hidden-attlist"/>
9659         <ref name="common-form-control-content"/>
9660     </element>
9661 </define>
9662 <define name="form-hidden-attlist" combine="interleave">
9663     <ref name="form-control-attlist"/>
9664     <ref name="common-value-attlist"/>
9665 </define>
9666 <define name="controls" combine="choice">
9667     <element name="form:grid">
9668         <ref name="form-grid-attlist"/>
9669         <ref name="common-form-control-content"/>
9670         <zeroOrMore>
9671             <ref name="form-column"/>
9672         </zeroOrMore>
9673     </element>
9674 </define>
9675 <define name="form-grid-attlist" combine="interleave">
9676     <ref name="form-control-attlist"/>
9677     <ref name="common-disabled-attlist"/>
9678     <ref name="common-printable-attlist"/>
9679     <ref name="common-tab-attlist"/>
9680     <ref name="common-title-attlist"/>
9681 </define>
9682 <define name="form-column">
9683     <element name="form:column">
9684         <ref name="form-column-attlist"/>
9685         <oneOrMore>
9686             <ref name="column-controls"/>
9687         </oneOrMore>
9688     </element>
9689 </define>
9690 <define name="form-column-attlist" combine="interleave">
9691     <ref name="common-form-control-attlist"/>
9692     <ref name="label"/>
9693     <ref name="text-style-name"/>
9694 </define>
9695 <define name="text-style-name">
9696     <optional>
9697         <attribute name="form:text-style-name">
9698             <ref name="styleNameRef"/>
9699         </attribute>
9700     </optional>
9701 </define>
9702 <define name="controls" combine="choice">
9703     <element name="form:value-range">
9704         <ref name="form-value-range-attlist"/>
9705         <ref name="common-form-control-content"/>
9706     </element>
9707 </define>
9708 <define name="form-value-range-attlist" combine="interleave">
9709     <ref name="form-control-attlist"/>
9710     <ref name="common-disabled-attlist"/>
9711     <ref name="common-printable-attlist"/>
9712     <ref name="common-tab-attlist"/>
9713     <ref name="common-title-attlist"/>
9714     <ref name="common-value-attlist"/>
9715 </define>
9716 <define name="form-value-range-attlist" combine="interleave">
9717     <optional>
9718         <attribute name="form:max-value">
9719             <ref name="string"/>
9720         </attribute>
9721     </optional>
9722 </define>
9723 <define name="form-value-range-attlist" combine="interleave">
9724     <optional>
9725         <attribute name="form:min-value">
9726             <ref name="string"/>
9727         </attribute>
9728     </optional>
9729 </define>
9730 <define name="form-value-range-attlist" combine="interleave">
9731     <optional>
9732         <attribute name="form:step-size" a:defaultName="1">
9733             <ref name="positiveInteger"/>
9734         </attribute>
9735     </optional>
9736 </define>
9737 <define name="form-value-range-attlist" combine="interleave">
9738     <optional>
9739         <attribute name="form:page-step-size">
9740             <ref name="positiveInteger"/>
9741         </attribute>
9742     </optional>
9743 </define>
9744 <define name="form-value-range-attlist" combine="interleave">
9745     <optional>
9746         <attribute name="form:delay-for-repeat">
9747             <ref name="duration"/>
9748         </attribute>
9749     </optional>
9750 </define>
9751 <define name="form-value-range-attlist" combine="interleave">
9752     <optional>
9753         <attribute name="form:orientation">
9754             <choice>
9755                 <value>horizontal</value>
9756                 <value>vertical</value>
9757             </choice>
9758         </attribute>
9759     </optional>
9760 </define>
9761 <define name="controls" combine="choice">
9762     <element name="form:generic-control">
9763         <ref name="form-generic-control-attlist"/>
9764         <ref name="common-form-control-content"/>
9765     </element>
9766 </define>
9767 <define name="form-generic-control-attlist" combine="interleave">
9768     <ref name="form-control-attlist"/>
9769 </define>
9770 <define name="common-form-control-attlist" combine="interleave">
9771     <optional>
9772         <attribute name="form:name">
9773             <ref name="string"/>
9774         </attribute>
9775     </optional>
9776 </define>
9777 <define name="common-form-control-attlist" combine="interleave">
9778     <optional>
9779         <attribute name="form:control-implementation">
9780             <ref name="namespacedToken"/>
9781         </attribute>
9782     </optional>
9783 </define>
9784 <define name="xforms-bind-attlist">
9785     <optional>
9786         <attribute name="xforms:bind">
9787             <ref name="string"/>
9788         </attribute>
9789     </optional>
9790 </define>
9791 <define name="types">
9792     <choice>
9793         <value>submit</value>
9794         <value>reset</value>
9795         <value>push</value>
9796         <value>url</value>
9797     </choice>
9798 </define>
9799 <define name="button-type">
9800     <optional>
9801         <attribute name="form:button-type" a:defaultValue="push">
9802             <ref name="types"/>
9803         </attribute>
9804     </optional>
9805 </define>
9806 <define name="common-control-id-attlist">
9807     <attribute name="form:id">
9808         <ref name="ID"/>
9809     </attribute>
9810 </define>
9811 <define name="current-selected">
9812     <optional>
9813         <attribute name="form:current-selected" a:defaultValue="false">
9814             <ref name="boolean"/>
9815         </attribute>
9816     </optional>
9817 </define>
9818 <define name="common-value-attlist">
9819     <optional>
9820         <attribute name="form:value">
9821             <ref name="string"/>
9822         </attribute>
9823     </optional>
9824 </define>
9825 <define name="common-current-value-attlist">
9826     <optional>
9827         <attribute name="form:current-value">
9828             <ref name="string"/>
9829         </attribute>
9830     </optional>
9831 </define>
9832 <define name="common-disabled-attlist">
9833     <optional>
9834         <attribute name="form:disabled" a:defaultValue="false">
9835             <ref name="boolean"/>
9836         </attribute>
9837     </optional>
9838 </define>
9839 <define name="dropdown">
9840     <optional>
9841         <attribute name="form:dropdown" a:defaultValue="false">
9842             <ref name="boolean"/>
9843         </attribute>
9844     </optional>
9845 </define>
9846 <define name="for">
9847     <optional>
9848         <attribute name="form:for">
9849             <ref name="string"/>
9850         </attribute>
9851     </optional>
9852 </define>
9853 <define name="image-data">
9854     <optional>
9855         <attribute name="form:image-data">
9856             <ref name="anyURI"/>
9857         </attribute>
9858     </optional>
9859 </define>
9860 <define name="label">
9861     <optional>
9862         <attribute name="form:label">
9863             <ref name="string"/>
9864         </attribute>
9865     </optional>
9866 </define>
9867 <define name="common-maxlength-attlist">
9868     <optional>
9869         <attribute name="form:max-length">
9870             <ref name="nonNegativeInteger"/>
9871         </attribute>
9872     </optional>
9873 </define>
9874 <define name="common-printable-attlist">
9875     <optional>
9876         <attribute name="form:printable" a:defaultValue="true">
9877             <ref name="boolean"/>
9878         </attribute>
9879     </optional>
9880 </define>
9881 <define name="common-readonly-attlist">
9882     <optional>
9883         <attribute name="form:readonly" a:defaultValue="false">
9884             <ref name="boolean"/>
9885         </attribute>
9886     </optional>
9887 </define>
9888 <define name="selected">
9889     <optional>
9890         <attribute name="form:selected" a:defaultValue="false">
9891             <ref name="boolean"/>
9892         </attribute>
9893     </optional>
9894 </define>
9895 <define name="size">
9896     <optional>
9897         <attribute name="form:size">
9898             <ref name="nonNegativeInteger"/>
9899         </attribute>
9900     </optional>
9901 </define>
9902 <define name="common-tab-attlist" combine="interleave">
9903     <optional>
9904         <attribute name="form:tab-index" a:defaultValue="0">
9905             <ref name="nonNegativeInteger"/>
9906         </attribute>
9907     </optional>
9908 </define>
9909 <define name="common-tab-attlist" combine="interleave">
9910     <optional>
9911         <attribute name="form:tab-stop" a:defaultValue="true">
9912             <ref name="boolean"/>
9913         </attribute>
9914     </optional>
9915 </define>
9916 <define name="target-frame">
9917     <optional>
9918         <attribute name="office:target-frame" a:defaultValue="_blank">
9919             <ref name="targetFrameName"/>
9920         </attribute>
9921     </optional>
9922 </define>
9923 <define name="target-location">
9924     <optional>
9925         <attribute name="xlink:href">
9926             <ref name="anyURI"/>
9927         </attribute>
9928     </optional>
9929 </define>
9930 <define name="common-title-attlist">
9931     <optional>
9932         <attribute name="form:title"/>
9933     </optional>
9934 </define>
9935 <define name="common-form-visual-effect-attlist" combine="interleave">
9936     <optional>
9937         <attribute name="form:visual-effect">
9938             <choice>
9939                 <value>flat</value>
9940                 <value>3d</value>
9941             </choice>
9942         </attribute>
9943     </optional>
9944 </define>
9945 <define name="common-form-relative-image-position-attlist"
9946         combine="interleave">
9947     <choice>
9948         <optional>
9949             <attribute name="form:image-position" a:defaultValue="center">
9950                 <value>center</value>
9951             </attribute>
9952         </optional>
9953         <group>
9954             <attribute name="form:image-position">
9955                 <choice>
9956                     <value>start</value>
9957                     <value>end</value>
9958                     <value>top</value>
9959                     <value>bottom</value>
9960                 </choice>
9961             </attribute>
9962             <optional>
9963                 <attribute name="form:image-align" a:defaultValue="center">
9964                     <choice>
9965                         <value>start</value>
9966                         <value>center</value>
9967                         <value>end</value>
9968                     </choice>
9969                 </attribute>
9970             </optional>
9971         </group>
9972     </choice>
9973 </define>
9974 <define name="bound-column">
9975     <optional>
9976         <attribute name="form:bound-column">
9977             <ref name="string"/>
9978         </attribute>
9979     </optional>
9980 </define>
9981 <define name="common-convert-empty-attlist">
9982     <optional>
9983         <attribute name="form:convert-empty-to-null" a:defaultValue="false">
9984             <ref name="boolean"/>
9985         </attribute>
9986     </optional>
9987 </define>
9988 <define name="common-data-field-attlist">
9989     <optional>
9990         <attribute name="form:data-field">
9991             <ref name="string"/>
9992         </attribute>
9993     </optional>
9994 </define>
9995 <define name="list-source">
9996     <optional>
9997         <attribute name="form:list-source">
9998             <ref name="string"/>
9999         </attribute>
10000     </optional>
10001 </define>
10002 <define name="list-source-type">
10003     <optional>
10004         <attribute name="form:list-source-type">
10005             <choice>
10006                 <value>table</value>
10007                 <value>query</value>
10008                 <value>sql</value>
10009                 <value>sql-pass-through</value>
10010                 <value>value-list</value>
10011                 <value>table-fields</value>
10012             </choice>
10013         </attribute>
10014     </optional>
10015 </define>
10016 <define name="form-properties">
10017     <element name="form:properties">
10018         <oneOrMore>
10019             <ref name="form-property"/>
10020         </oneOrMore>
10021     </element>
10022 </define>
10023 <define name="form-property" combine="choice">
10024     <element name="form:property">
10025         <ref name="form-property-name"/>
10026         <ref name="form-property-value-and-type-attlist"/>
10027     </element>
10028 </define>
10029 <define name="form-property-name" combine="interleave">
10030     <attribute name="form:property-name">
10031         <ref name="string"/>
10032     </attribute>
10033 </define>
10034 <define name="form-property-value-and-type-attlist" combine="interleave">
10035     <choice>
10036         <ref name="common-value-and-type-attlist"/>
10037         <attribute name="office:value-type">
10038             <value>void</value>
10039         </attribute>
10040     </choice>
10041 </define>
10042 <define name="form-property" combine="choice">
10043     <element name="form:list-property">
10044         <ref name="form-property-name"/>
10045         <ref name="form-property-type-and-value-list"/>
10046     </element>
10047 </define>
10048 <define name="form-property-type-and-value-list">
10049     <choice>
10050         <group>
10051             <attribute name="office:value-type">
10052                 <value>float</value>
10053             </attribute>
10054             <zeroOrMore>
10055                 <element name="form:list-value">
10056                     <attribute name="office:value">
10057                         <ref name="double"/>
10058                     </attribute>
10059                 </element>
10060             </zeroOrMore>
10061         </group>
10062         <group>
10063             <attribute name="office:value-type">
10064                 <value>percentage</value>
10065             </attribute>
10066             <zeroOrMore>
10067                 <element name="form:list-value">
10068                     <attribute name="office:value">
10069                         <ref name="double"/>
10070                     </attribute>
10071                 </element>
10072             </zeroOrMore>
10073         </group>
10074         <group>
10075             <attribute name="office:value-type">
10076                 <value>currency</value>
10077             </attribute>
10078             <zeroOrMore>
10079                 <element name="form:list-value">
10080                     <attribute name="office:value">
10081                         <ref name="double"/>
10082                     </attribute>
10083                     <optional>
10084                         <attribute name="office:currency">
10085                             <ref name="string"/>
10086                         </attribute>
10087                     </optional>
10088                 </element>
10089             </zeroOrMore>
10090         </group>
10091         <group>
10092             <attribute name="office:value-type">
10093                 <value>date</value>
10094             </attribute>
10095             <zeroOrMore>
10096                 <element name="form:list-value">
10097                     <attribute name="office:date-value">
10098                         <ref name="dateOrDateTime"/>
10099                     </attribute>
10100                 </element>
10101             </zeroOrMore>
10102         </group>
10103         <group>
10104             <attribute name="office:value-type">
10105                 <value>time</value>
10106             </attribute>
10107             <zeroOrMore>
10108                 <element name="form:list-value">
10109                     <attribute name="office:time-value">
10110                         <ref name="duration"/>
10111                     </attribute>
10112                 </element>
10113             </zeroOrMore>
10114         </group>
10115         <group>
10116             <attribute name="office:value-type">
10117                 <value>boolean</value>
10118             </attribute>
10119             <zeroOrMore>
10120                 <element name="form:list-value">
10121                     <attribute name="office:boolean-value">
10122                         <ref name="boolean"/>
10123                     </attribute>
10124                 </element>
10125             </zeroOrMore>
10126         </group>
10127         <group>
10128             <attribute name="office:value-type">
10129                 <value>string</value>
10130             </attribute>
10131             <zeroOrMore>
10132                 <element name="form:list-value">
10133                     <attribute name="office:string-value">
10134                         <ref name="string"/>
10135                     </attribute>
10136                 </element>
10137             </zeroOrMore>
10138         </group>
10139         <attribute name="office:value-type">
10140             <value>void</value>
10141         </attribute>
10142     </choice>
10143 </define>
10144 <define name="office-annotation">
10145     <element name="office:annotation">
10146         <ref name="office-annotation-attlist"/>
10147         <ref name="draw-caption-attlist"/>
10148         <ref name="common-draw-position-attlist"/>
10149         <ref name="common-draw-size-attlist"/>
10150         <ref name="common-draw-shape-with-text-and-styles-attlist"/>
10151         <optional>
10152             <ref name="dc-creator"/>
10153         </optional>
10154         <optional>
10155             <ref name="dc-date"/>
10156         </optional>
10157         <optional>
10158             <ref name="meta-date-string"/>
10159         </optional>
10160         <zeroOrMore>
10161             <choice>
10162                 <ref name="text-p"/>
10163                 <ref name="text-list"/>
10164             </choice>
10165         </zeroOrMore>
10166     </element>
10167 </define>
10168 <define name="office-annotation-attlist" combine="interleave">
10169     <optional>
10170         <attribute name="office:display">
10171             <ref name="boolean"/>
10172         </attribute>
10173     </optional>
10174 </define>
10175 <define name="meta-date-string">
10176     <element name="meta:date-string">
10177         <ref name="string"/>
10178     </element>
10179 </define>
10180 <define name="common-num-format-prefix-suffix-attlist" combine="interleave">
10181     <optional>
10182         <attribute name="style:num-prefix">
10183             <ref name="string"/>
10184         </attribute>
10185     </optional>
10186     <optional>
10187         <attribute name="style:num-suffix">
10188             <ref name="string"/>
10189         </attribute>
10190     </optional>
10191 </define>
10192 <define name="common-num-format-attlist" combine="interleave">
10193     <choice>
10194         <attribute name="style:num-format">
10195             <choice>
10196                 <value>1</value>
10197                 <value>i</value>
10198                 <value>I</value>
10199                 <ref name="string"/>
10200                 <empty/>
10201             </choice>
10202         </attribute>
10203         <group>
10204             <attribute name="style:num-format">
10205                 <choice>
10206                     <value>a</value>
10207                     <value>A</value>
10208                 </choice>
10209             </attribute>
10210             <ref name="style-num-letter-sync-attlist"/>
10211         </group>
10212         <empty/>
10213     </choice>
10214 </define>
10215 <define name="style-num-letter-sync-attlist" combine="interleave">
10216     <optional>
10217         <attribute name="style:num-letter-sync">
10218             <ref name="boolean"/>
10219         </attribute>
10220     </optional>
10221 </define>
10222 <define name="office-change-info">
10223     <element name="office:change-info">
10224         <ref name="dc-creator"/>
10225         <ref name="dc-date"/>
10226         <zeroOrMore>
10227             <ref name="text-p"/>
10228         </zeroOrMore>
10229     </element>
10230 </define>
10231 <define name="office-event-listeners">
10232     <element name="office:event-listeners">
10233         <zeroOrMore>
10234             <choice>
10235                 <ref name="script-event-listener"/>
10236                 <ref name="presentation-event-listener"/>
10237             </choice>
10238         </zeroOrMore>
10239     </element>
10240 </define>
10241 <define name="script-event-listener" combine="interleave">
10242     <element name="script:event-listener">
10243         <ref name="script-event-listener-attlist"/>
10244         <empty/>
10245     </element>
10246 </define>
10247 <define name="script-event-listener-attlist" combine="interleave">
10248     <attribute name="script:event-name">
10249         <ref name="string"/>
10250     </attribute>
10251 </define>
10252 <define name="script-event-listener-attlist" combine="interleave">
10253     <attribute name="script:language">
10254         <ref name="string"/>
10255     </attribute>
10256 </define>
10257 <define name="script-event-listener-attlist" combine="interleave">
10258     <choice>
10259         <attribute name="script:macro-name">
10260             <ref name="string"/>
10261         </attribute>
10262         <group>
10263             <attribute name="xlink:href">
10264                 <ref name="anyURI"/>
10265             </attribute>
10266             <optional>
10267                 <attribute name="xlink:type" a:defaultValue="simple">
10268                     <value>simple</value>
10269                 </attribute>
10270             </optional>
10271             <optional>
10272                 <attribute name="xlink:actuate" a:defaultValue="onRequest">
10273                     <value>onRequest</value>
10274                 </attribute>
10275             </optional>
10276         </group>
10277     </choice>
10278 </define>
10279 <define name="math-math">
10280     <element name="math:math">
10281         <ref name="mathMarkup"/>
10282     </element>
10283 </define>
10284 
10285 <!-- To avoid inclusion of the complete MathML schema, anything -->
10286 <!-- is allowed within a math:math top-level element            -->
10287 <define name="mathMarkup">
10288     <zeroOrMore>
10289         <choice>
10290             <attribute>
10291                 <anyName/>
10292             </attribute>
10293             <text/>
10294             <element>
10295                 <anyName/>
10296                 <ref name="mathMarkup"/>
10297             </element>
10298         </choice>
10299     </zeroOrMore>
10300 </define>
10301 <define name="text-dde-connection-decl">
10302     <element name="text:dde-connection-decl">
10303         <ref name="text-dde-connection-decl-attlist"/>
10304         <ref name="common-dde-connection-decl-attlist"/>
10305     </element>
10306 </define>
10307 <define name="text-dde-connection-decl-attlist" combine="interleave">
10308     <attribute name="office:name">
10309         <ref name="string"/>
10310     </attribute>
10311 </define>
10312 <define name="common-dde-connection-decl-attlist" combine="interleave">
10313     <attribute name="office:dde-application">
10314         <ref name="string"/>
10315     </attribute>
10316 </define>
10317 <define name="common-dde-connection-decl-attlist" combine="interleave">
10318     <attribute name="office:dde-topic">
10319         <ref name="string"/>
10320     </attribute>
10321 </define>
10322 <define name="common-dde-connection-decl-attlist" combine="interleave">
10323     <attribute name="office:dde-item">
10324         <ref name="string"/>
10325     </attribute>
10326 </define>
10327 <define name="common-dde-connection-decl-attlist" combine="interleave">
10328     <optional>
10329         <attribute name="office:automatic-update" a:defaultValue="true">
10330             <ref name="boolean"/>
10331         </attribute>
10332     </optional>
10333 </define>
10334 <define name="table-dde-link">
10335     <element name="table:dde-link">
10336         <ref name="office-dde-source"/>
10337         <ref name="table-table"/>
10338     </element>
10339 </define>
10340 <define name="office-dde-source">
10341     <element name="office:dde-source">
10342         <ref name="office-dde-source-attlist"/>
10343         <ref name="common-dde-connection-decl-attlist"/>
10344     </element>
10345 </define>
10346 <define name="office-dde-source-attlist" combine="interleave">
10347     <optional>
10348         <attribute name="office:name">
10349             <ref name="string"/>
10350         </attribute>
10351     </optional>
10352 </define>
10353 <define name="office-dde-source-attlist" combine="interleave">
10354     <optional>
10355         <attribute name="office:conversion-mode" 
10356                     a:defaultValue="into-default-style-data-style">
10357             <choice>
10358                 <value>into-default-style-data-style</value>
10359                 <value>into-english-number</value>
10360                 <value>keep-text</value>
10361             </choice>
10362         </attribute>
10363     </optional>
10364 </define>
10365 <define name="animation-element" combine="choice">
10366     <element name="anim:animate">
10367         <ref name="common-anim-target-attlist"/>
10368         <ref name="common-anim-named-target-attlist"/>
10369         <ref name="common-anim-values-attlist"/>
10370         <ref name="common-anim-spline-mode-attlist"/>
10371         <ref name="common-spline-anim-value-attlist"/>
10372         <ref name="common-repeat-timing-attlist"/>
10373         <ref name="common-fill-timing-attlist"/>
10374         <ref name="common-anim-add-accum-attlist"/>
10375     </element>
10376 </define>
10377 <define name="animation-element" combine="choice">
10378     <element name="anim:set">
10379         <ref name="common-anim-target-attlist"/>
10380         <ref name="common-anim-named-target-attlist"/>
10381         <ref name="common-anim-set-values-attlist"/>
10382         <ref name="common-fill-timing-attlist"/>
10383         <ref name="common-anim-add-accum-attlist"/>
10384     </element>
10385 </define>
10386 <define name="animation-element" combine="choice">
10387     <element name="anim:animateMotion">
10388         <ref name="anim-animate-motion-attlist"/>
10389         <ref name="common-anim-target-attlist"/>
10390         <ref name="common-anim-named-target-attlist"/>
10391         <ref name="common-anim-add-accum-attlist"/>
10392         <ref name="common-anim-values-attlist"/>
10393         <ref name="common-fill-timing-attlist"/>
10394         <ref name="common-spline-anim-value-attlist"/>
10395     </element>
10396 </define>
10397 <define name="anim-animate-motion-attlist" combine="interleave">
10398     <optional>
10399         <attribute name="svg:path">
10400             <ref name="pathData"/>
10401         </attribute>
10402     </optional>
10403 </define>
10404 <define name="anim-animate-motion-attlist" combine="interleave">
10405     <optional>
10406         <attribute name="svg:origin">
10407             <ref name="string"/>
10408         </attribute>
10409     </optional>
10410 </define>
10411 <define name="anim-animate-motion-attlist" combine="interleave">
10412     <optional>
10413         <attribute name="smil:calcMode" a:defaultValue="paced">   
10414             <choice>
10415                 <value>discrete</value>
10416                 <value>linear</value>
10417                 <value>paced</value>
10418                 <value>spline</value>
10419             </choice>
10420         </attribute>
10421     </optional>
10422 </define>
10423 <define name="animation-element" combine="choice">
10424     <element name="anim:animateColor">
10425         <ref name="common-anim-target-attlist"/>
10426         <ref name="common-anim-named-target-attlist"/>
10427         <ref name="common-anim-add-accum-attlist"/>
10428         <ref name="common-anim-values-attlist"/>
10429         <ref name="common-anim-spline-mode-attlist"/>
10430         <ref name="common-spline-anim-value-attlist"/>
10431         <ref name="anim-animate-color-attlist"/>
10432         <ref name="common-fill-timing-attlist"/>
10433     </element>
10434 </define>
10435 <define name="anim-animate-color-attlist" combine="interleave">
10436     <optional>
10437         <attribute name="anim:color-interpolation" a:defaultValue="rgb">
10438             <choice>
10439                 <value>rgb</value>
10440                 <value>hsl</value>
10441             </choice>
10442         </attribute>
10443     </optional>
10444 </define>
10445 <define name="anim-animate-color-attlist" combine="interleave">
10446     <optional>
10447         <attribute name="anim:color-interpolation-direction"     
10448                                    a:defaultValue="clockwise">
10449             <choice>
10450                 <value>clockwise</value>
10451                 <value>counter-clockwise</value>
10452             </choice>
10453         </attribute>
10454     </optional>
10455 </define>
10456 <define name="animation-element" combine="choice">
10457     <element name="anim:animateTransform">
10458         <ref name="common-anim-target-attlist"/>
10459         <ref name="common-anim-named-target-attlist"/>
10460         <ref name="common-anim-add-accum-attlist"/>
10461         <ref name="common-anim-values-attlist"/>
10462         <ref name="anim-animate-transform-attlist"/>
10463         <ref name="common-fill-timing-attlist"/>
10464     </element>
10465 </define>
10466 <define name="anim-animate-transform-attlist" combine="interleave">
10467     <attribute name="svg:type">
10468         <choice>
10469             <value>translate</value>
10470             <value>scale</value>
10471             <value>rotate</value>
10472             <value>skewX</value>
10473             <value>skewY</value> 
10474         </choice>
10475     </attribute>
10476 </define>
10477 <define name="animation-element" combine="choice">
10478     <element name="anim:transitionFilter">
10479         <ref name="common-anim-target-attlist"/>
10480         <ref name="common-anim-add-accum-attlist"/>
10481         <ref name="common-anim-values-attlist"/>
10482         <ref name="common-anim-spline-mode-attlist "/>
10483         <ref name="anim-transition-filter-attlist"/>
10484         <ref name="common-fill-timing-attlist"/>
10485     </element>
10486 </define>
10487 <define name="anim-transition-filter-attlist" combine="interleave">
10488     <attribute name="smil:type">
10489         <ref name="string"/>
10490     </attribute>
10491 </define>
10492 <define name="anim-transition-filter-attlist" combine="interleave">
10493     <optional>
10494         <attribute name="smil:subtype">
10495             <ref name="string"/>
10496         </attribute>
10497     </optional>
10498 </define>
10499 <define name="anim-transition-filter-attlist" combine="interleave">
10500     <optional>
10501         <attribute name="smil:direction" a:defaultValue="forward">
10502             <choice>
10503                 <value>forward</value>
10504                 <value>reverse</value>
10505             </choice>
10506         </attribute>
10507     </optional>
10508 </define>
10509 <define name="anim-transition-filter-attlist" combine="interleave">
10510     <optional>
10511         <attribute name="smil:fadeColor">
10512             <choice>
10513                 <value>forward</value>
10514                 <value>reverse</value>
10515             </choice>
10516         </attribute>
10517     </optional>
10518 </define>
10519 <define name="anim-transition-filter-attlist" combine="interleave">
10520     <optional>
10521         <attribute name="smil:mode" a:defaultValue="in">
10522             <choice>
10523                 <value>in</value>
10524                 <value>out</value>
10525             </choice>
10526         </attribute>
10527     </optional>
10528 </define>
10529 <define name="common-anim-attlist" combine="interleave">
10530     <optional>
10531         <attribute name="anim:id">
10532             <ref name="ID"/>
10533         </attribute>
10534     </optional>
10535 </define>
10536 <define name="common-anim-target-attlist" combine="interleave">
10537     <optional>
10538         <attribute name="smil:targetElement">
10539             <ref name="IDREF"/>
10540         </attribute>
10541     </optional>
10542 </define>
10543 <define name="common-anim-named-target-attlist" combine="interleave">
10544     <attribute name="smil:attributeName">
10545         <ref name="string"/>
10546     </attribute>
10547 </define>
10548 <define name="common-anim-target-attlist" combine="interleave">
10549     <optional>
10550         <attribute name="anim:sub-item">
10551             <ref name="string"/>
10552         </attribute>
10553     </optional>
10554 </define>
10555 <define name="common-anim-values-attlist" combine="interleave">
10556     <optional>
10557         <attribute name="smil:values">
10558             <ref name="string"/>
10559         </attribute>
10560     </optional>
10561 </define>
10562 <define name="common-anim-spline-mode-attlist" combine="interleave">
10563     <optional>
10564         <attribute name="smil:calcMode" a:defaultValue="discrete">   
10565             <choice>
10566                 <value>discrete</value>
10567                 <value>linear</value>
10568                 <value>paced</value>
10569                 <value>spline</value>
10570             </choice>
10571         </attribute>
10572     </optional>
10573 </define>
10574 <define name="common-spline-anim-value-attlist" combine="interleave">
10575     <optional>
10576         <attribute name="smil:keyTimes">
10577             <ref name="string"/>
10578         </attribute>
10579     </optional>
10580 </define>
10581 <define name="common-spline-anim-value-attlist" combine="interleave">
10582     <optional>
10583         <attribute name="smil:keySplines">
10584             <ref name="string"/>
10585         </attribute>
10586     </optional>
10587 </define>
10588 <define name="common-anim-add-accum-attlist" combine="interleave">
10589     <optional>
10590         <attribute name="smil:accumulate">
10591             <choice>
10592                 <value>none</value>
10593                 <value>sum</value>
10594             </choice>
10595         </attribute>
10596     </optional>
10597 </define>
10598 <define name="common-anim-add-accum-attlist" combine="interleave">
10599     <optional>
10600         <attribute name="smil:additive">
10601             <choice>
10602                 <value>replace</value>
10603                 <value>sum</value>
10604             </choice>
10605         </attribute>
10606     </optional>
10607 </define>
10608 <define name="common-anim-values-attlist" combine="interleave">
10609     <optional>
10610         <attribute name="anim:formula">
10611             <ref name="string"/>
10612         </attribute>
10613     </optional>
10614 </define>
10615 <define name="common-anim-set-values-attlist" combine="interleave">
10616     <optional>
10617         <attribute name="smil:to">
10618             <ref name="string"/>
10619         </attribute>
10620     </optional>
10621 </define>
10622 
10623 <define name="common-anim-values-attlist" combine="interleave">
10624     <ref name="common-anim-set-values-attlist"/>
10625     <optional>
10626         <attribute name="smil:from">
10627             <ref name="string"/>
10628         </attribute>
10629     </optional>
10630     <optional>
10631         <attribute name="smil:by">
10632             <ref name="string"/>
10633         </attribute>
10634     </optional>
10635 </define>
10636 <define name="common-begin-end-timing-attlist" combine="interleave">
10637     <optional>
10638         <attribute name="smil:begin">
10639             <ref name="string"/>
10640         </attribute>
10641     </optional>
10642 </define>
10643 <define name="common-begin-end-timing-attlist" combine="interleave">
10644     <optional>
10645         <attribute name="smil:end">
10646             <ref name="string"/>
10647         </attribute>
10648     </optional>
10649 </define>
10650 <define name="common-dur-timing-attlist" combine="interleave">
10651     <optional>
10652         <attribute name="smil:dur">
10653             <ref name="string"/>
10654         </attribute>
10655     </optional>
10656 </define>
10657 <define name="common-endsync-timing-attlist" combine="interleave">
10658     <optional>
10659         <attribute name="smil:endsync">
10660             <choice>
10661                 <value>first</value>
10662                 <value>last</value>
10663                 <value>all</value>
10664                 <value>media</value>
10665             </choice>
10666         </attribute>
10667     </optional>
10668 </define>
10669 <define name="common-repeat-timing-attlist" combine="interleave">
10670     <optional>
10671         <attribute name="smil:repeatDur">
10672             <ref name="string"/>
10673         </attribute>
10674         <attribute name="smil:repeatCount">
10675             <ref name="nonNegativeInteger"/>
10676         </attribute>
10677     </optional>
10678 </define>
10679 <define name="common-fill-timing-attlist" combine="interleave">
10680     <optional>
10681         <attribute name="smil:fill">
10682             <choice>
10683                 <value>remove</value>
10684                 <value>freeze</value>
10685                 <value>hold</value>
10686                 <value>auto</value>
10687                 <value>default</value>
10688                 <value>transition</value>
10689             </choice>
10690         </attribute>
10691     </optional>
10692 </define>
10693 <define name="common-fill-default-attlist" combine="interleave">
10694     <optional>
10695         <attribute name="smil:fillDefault">
10696             <choice>
10697                 <value>remove</value>
10698                 <value>freeze</value>
10699                 <value>hold</value>
10700                 <value>transition</value>
10701                 <value>auto</value>
10702                 <value>inherit</value>
10703             </choice>
10704         </attribute>
10705     </optional>
10706 </define>
10707 <define name="common-restart-timing-attlist" combine="interleave">
10708     <optional>
10709         <attribute name="smil:restart" a:defaultValue="default">
10710             <choice>
10711                 <value>never</value>
10712                 <value>always</value>
10713                 <value>whenNotActive</value>
10714                 <value>default</value>
10715             </choice>
10716         </attribute>
10717     </optional>
10718 </define>
10719 <define name="common-restart-default-attlist" combine="interleave">
10720     <optional>
10721         <attribute name="smil:restartDefault" a:defaultValue="inherit">
10722             <choice>
10723                 <value>never</value>
10724                 <value>always</value>
10725                 <value>whenNotActive</value>
10726                 <value>inherit</value>
10727             </choice>
10728         </attribute>
10729     </optional>
10730 </define>
10731 <define name="common-time-manip-attlist" combine="interleave">
10732     <optional>    
10733         <attribute name="smil:accelerate" a:defaultValue="0.0">
10734             <ref name="double"/>
10735         </attribute>
10736     </optional>
10737 </define>
10738 <define name="common-time-manip-attlist" combine="interleave">
10739     <optional>
10740         <attribute name="smil:decelerate" a:defaultValue="0.0">
10741             <ref name="double"/>
10742         </attribute>
10743     </optional>
10744 </define>
10745 <define name="common-time-manip-attlist" combine="interleave">
10746     <optional>
10747         <attribute name="smil:autoReverse" a:defaultValue="false">
10748             <ref name="boolean"/>
10749         </attribute>
10750     </optional>
10751 </define>
10752 <define name="animation-element" combine="choice">
10753     <element name="anim:par">
10754         <ref name="common-anim-attlist"/>
10755         <ref name="common-timing-attlist"/>
10756         <ref name="common-endsync-timing-attlist"/>
10757         <zeroOrMore>
10758             <ref name="animation-element"/>
10759         </zeroOrMore>
10760     </element>
10761 </define>
10762 
10763 <define name="common-basic-timing-attlist" combine="interleave">
10764    <ref name="common-begin-end-timing-attlist"/>
10765    <ref name="common-dur-timing-attlist"/>
10766    <ref name="common-repeat-timing-attlist"/>
10767 </define>
10768 
10769 <define name="common-timing-attlist" combine="interleave">
10770    <ref name="common-basic-timing-attlist"/>
10771    <ref name="common-restart-timing-attlist"/>
10772    <ref name="common-restart-default-attlist"/>
10773    <ref name="common-fill-timing-attlist"/>
10774    <ref name="common-fill-default-attlist"/>
10775    <ref name="common-time-manip-attlist"/>
10776 </define>
10777 <define name="animation-element" combine="choice">
10778     <element name="anim:seq">
10779         <ref name="common-anim-attlist"/>
10780         <ref name="common-endsync-timing-attlist"/>
10781         <ref name="common-timing-attlist"/>
10782     </element>
10783 </define>
10784 <define name="animation-element" combine="choice">
10785     <element name="anim:iterate">
10786         <ref name="common-anim-attlist"/>
10787         <ref name="anin-iterate-attlist"/>
10788         <ref name="common-timing-attlist"/>
10789         <ref name="common-endsync-timing-attlist"/>
10790         <zeroOrMore>
10791             <ref name="animation-element"/>
10792         </zeroOrMore>
10793     </element>
10794 </define>
10795 <define name="anin-iterate-attlist" combine="interleave">
10796     <optional>
10797         <attribute name="smil:targetElement">
10798             <ref name="IDREF"/>
10799         </attribute>
10800     </optional>
10801 </define>
10802 <define name="anin-iterate-attlist" combine="interleave">
10803     <optional>
10804         <attribute name="anim:iterate-type">
10805             <ref name="string"/>
10806         </attribute>
10807     </optional>
10808 </define>
10809 <define name="anin-iterate-attlist" combine="interleave">
10810     <optional>
10811         <attribute name="anim:iterate-interval">
10812             <ref name="duration"/>
10813         </attribute>
10814     </optional>
10815 </define>
10816 <define name="animation-element" combine="choice">
10817     <element name="anim:audio">
10818         <ref name="common-anim-attlist"/>
10819         <ref name="anim-audio-attlist"/>
10820         <ref name="common-basic-timing-attlist"/>
10821     </element>
10822 </define>
10823 <define name="anim-audio-attlist" combine="interleave">
10824     <optional>
10825         <attribute name="xlink:href">
10826             <ref name="anyURI"/>
10827         </attribute>
10828     </optional>
10829 </define>
10830 <define name="anim-audio-attlist" combine="interleave">
10831     <optional>
10832         <attribute name="anim:audio-level">
10833             <ref name="double"/>
10834         </attribute>
10835     </optional>
10836 </define>
10837 <define name="animation-element" combine="choice">
10838     <element name="anim:command">
10839         <ref name="common-anim-attlist"/>
10840         <ref name="anim-command-attlist"/>
10841         <ref name="common-begin-end-timing-attlist"/>
10842         <ref name="common-anim-target-attlist"/>
10843         <zeroOrMore>
10844             <element name="anim:param">
10845                 <attribute name="anim:name"/>
10846                 <attribute name="anim:value"/>
10847             </element>
10848         </zeroOrMore>
10849     </element>
10850 </define>
10851 <define name="anim-command-attlist" combine="interleave">
10852     <attribute name="anim:command">
10853         <ref name="string"/>
10854     </attribute>
10855 </define>
10856 <define name="style-style">
10857     <element name="style:style">
10858         <ref name="style-style-attlist"/>
10859         <ref name="style-style-content"/>
10860         <zeroOrMore>
10861             <ref name="style-map"/>
10862         </zeroOrMore>
10863     </element>
10864 </define>
10865 <define name="style-style-attlist" combine="interleave">
10866     <attribute name="style:name">
10867         <ref name="styleName"/>
10868     </attribute>
10869 </define>
10870 <define name="style-style-attlist" combine="interleave">
10871     <optional>
10872         <attribute name="style:display-name">
10873             <ref name="string"/>
10874         </attribute>
10875     </optional>
10876 </define>
10877 <define name="style-style-attlist" combine="interleave">
10878     <optional>
10879         <attribute name="style:parent-style-name">
10880             <ref name="styleNameRef"/>
10881         </attribute>
10882     </optional>
10883 </define>
10884 <define name="style-style-attlist" combine="interleave">
10885     <optional>
10886         <attribute name="style:next-style-name">
10887             <ref name="styleNameRef"/>
10888         </attribute>
10889     </optional>
10890 </define>
10891 <define name="style-style-attlist" combine="interleave">
10892     <optional>
10893         <attribute name="style:list-style-name">
10894             <choice>
10895                 <ref name="styleName"/>
10896                 <empty/>
10897             </choice>
10898         </attribute>
10899     </optional>
10900 </define>
10901 <define name="style-style-attlist" combine="interleave">
10902     <optional>
10903         <attribute name="style:master-page-name">
10904             <ref name="styleNameRef"/>
10905         </attribute>
10906     </optional>
10907 </define>
10908 <define name="style-style-attlist" combine="interleave">
10909     <optional>
10910         <attribute name="style:auto-update" a:defaultValue="false">
10911             <ref name="boolean"/>
10912         </attribute>
10913     </optional>
10914 </define>
10915 <define name="style-style-attlist" combine="interleave">
10916     <optional>
10917         <attribute name="style:data-style-name">
10918             <ref name="styleNameRef"/>
10919         </attribute>
10920     </optional>
10921 </define>
10922 <define name="style-style-attlist" combine="interleave">
10923     <optional>
10924         <attribute name="style:class">
10925             <ref name="string"/>
10926         </attribute>
10927     </optional>
10928 </define>
10929 <define name="style-style-attlist" combine="interleave">
10930     <optional>
10931         <attribute name="style:default-outline-level">
10932             <ref name="positiveInteger"/>
10933         </attribute>
10934     </optional>
10935 </define>
10936 <define name="style-map">
10937     <element name="style:map">
10938         <ref name="style-map-attlist"/>
10939         <empty/>
10940     </element>
10941 </define>
10942 <define name="style-map-attlist" combine="interleave">
10943     <attribute name="style:condition">
10944         <ref name="string"/>
10945     </attribute>
10946 </define>
10947 <define name="style-map-attlist" combine="interleave">
10948     <attribute name="style:apply-style-name">
10949         <ref name="styleNameRef"/>
10950     </attribute>
10951 </define>
10952 <define name="style-map-attlist" combine="interleave">
10953     <optional>
10954         <attribute name="style:base-cell-address">
10955             <ref name="cellAddress"/>
10956         </attribute>
10957     </optional>
10958 </define>
10959 <define name="style-default-style">
10960     <element name="style:default-style">
10961         <ref name="style-style-content"/>
10962     </element>
10963 </define>
10964 <define name="style-page-layout">
10965     <element name="style:page-layout">
10966         <ref name="style-page-layout-attlist"/>
10967         <optional>
10968             <ref name="style-page-layout-properties"/>
10969         </optional>
10970         <optional>
10971             <ref name="style-header-style"/>
10972         </optional>
10973         <optional>
10974             <ref name="style-footer-style"/>
10975         </optional>
10976     </element>
10977 </define>
10978 <define name="style-page-layout-attlist" combine="interleave">
10979     <attribute name="style:name">
10980         <ref name="styleName"/>
10981     </attribute>
10982 </define>
10983 <define name="style-page-layout-attlist" combine="interleave">
10984     <optional>
10985         <attribute name="style:page-usage" a:defaultValue="all">
10986             <choice>
10987                 <value>all</value>
10988                 <value>left</value>
10989                 <value>right</value>
10990                 <value>mirrored</value>
10991             </choice>
10992         </attribute>
10993     </optional>
10994 </define>
10995 <define name="style-header-style">
10996     <element name="style:header-style">
10997         <optional>
10998             <ref name="style-header-footer-properties"/>
10999         </optional>
11000     </element>
11001 </define>
11002 <define name="style-footer-style">
11003     <element name="style:footer-style">
11004         <optional>
11005             <ref name="style-header-footer-properties"/>
11006         </optional>
11007     </element>
11008 </define>
11009 <define name="style-master-page">
11010     <element name="style:master-page">
11011         <ref name="style-master-page-attlist"/>
11012         <optional>
11013             <ref name="style-header"/>
11014             <optional>
11015                 <ref name="style-header-left"/>
11016             </optional>
11017         </optional>
11018         <optional>
11019             <ref name="style-footer"/>
11020             <optional>
11021                 <ref name="style-footer-left"/>
11022             </optional>
11023         </optional>
11024         <optional>
11025             <ref name="office-forms"/>
11026         </optional>
11027         <zeroOrMore>
11028             <ref name="style-style"/>
11029         </zeroOrMore>
11030         <zeroOrMore>
11031             <ref name="shape"/>
11032         </zeroOrMore>
11033         <optional>
11034             <ref name="presentation-notes"/>
11035         </optional>
11036     </element>
11037 </define>
11038 <define name="style-master-page-attlist" combine="interleave">
11039     <attribute name="style:name">
11040         <ref name="styleName"/>
11041     </attribute>
11042 </define>
11043 <define name="style-master-page-attlist" combine="interleave">
11044     <optional>
11045         <attribute name="style:display-name">
11046             <ref name="string"/>
11047         </attribute>
11048     </optional>
11049 </define>
11050 <define name="style-master-page-attlist" combine="interleave">
11051     <attribute name="style:page-layout-name">
11052         <ref name="styleNameRef"/>
11053     </attribute>
11054 </define>
11055 <define name="style-master-page-attlist" combine="interleave">
11056     <optional>
11057         <attribute name="draw:style-name">
11058             <ref name="styleNameRef"/>
11059         </attribute>
11060     </optional>
11061 </define>
11062 <define name="style-master-page-attlist" combine="interleave">
11063     <optional>
11064         <attribute name="style:next-style-name">
11065             <ref name="styleNameRef"/>
11066         </attribute>
11067     </optional>
11068 </define>
11069 <define name="style-header">
11070     <element name="style:header">
11071         <ref name="common-style-header-footer-attlist"/>
11072         <ref name="header-footer-content"/>
11073     </element>
11074 </define>
11075 <define name="style-footer">
11076     <element name="style:footer">
11077         <ref name="common-style-header-footer-attlist"/>
11078         <ref name="header-footer-content"/>
11079     </element>
11080 </define>
11081 <define name="style-header-left">
11082     <element name="style:header-left">
11083         <ref name="common-style-header-footer-attlist"/>
11084         <ref name="header-footer-content"/>
11085     </element>
11086 </define>
11087 <define name="style-footer-left">
11088     <element name="style:footer-left">
11089         <ref name="common-style-header-footer-attlist"/>
11090         <ref name="header-footer-content"/>
11091     </element>
11092 </define>
11093 <define name="header-footer-content">
11094     <choice>
11095         <group>
11096             <ref name="text-decls"/>
11097             <zeroOrMore>
11098                 <choice>
11099                     <ref name="text-h"/>
11100                     <ref name="text-p"/>
11101                     <ref name="text-list"/>
11102                     <ref name="table-table"/>
11103                     <ref name="text-section"/>
11104                     <ref name="text-table-of-content"/>
11105                     <ref name="text-illustration-index"/>
11106                     <ref name="text-table-index"/>
11107                     <ref name="text-object-index"/>
11108                     <ref name="text-user-index"/>
11109                     <ref name="text-alphabetical-index"/>
11110                     <ref name="text-bibliography"/>
11111                     <ref name="text-index-title"/>
11112                     <ref name="change-marks"/>
11113                 </choice>
11114             </zeroOrMore>
11115         </group>
11116         <group>
11117             <optional>
11118                 <ref name="style-region-left"/>
11119             </optional>
11120             <optional>
11121                 <ref name="style-region-center"/>
11122             </optional>
11123             <optional>
11124                 <ref name="style-region-right"/>
11125             </optional>
11126         </group>
11127     </choice>
11128 </define>
11129 <define name="common-style-header-footer-attlist" combine="interleave">
11130     <optional>
11131         <attribute name="style:display" a:defaultValue="true">
11132             <ref name="boolean"/>
11133         </attribute>
11134     </optional>
11135 </define>
11136 <define name="style-region-left">
11137     <element name="style:region-left">
11138         <ref name="region-content"/>
11139     </element>
11140 </define>
11141 <define name="style-region-center">
11142     <element name="style:region-center">
11143         <ref name="region-content"/>
11144     </element>
11145 </define>
11146 <define name="style-region-right">
11147     <element name="style:region-right">
11148         <ref name="region-content"/>
11149     </element>
11150 </define>
11151 
11152 <define name="region-content">
11153     <zeroOrMore>
11154         <ref name="text-p"/>
11155     </zeroOrMore>
11156 </define>
11157 <define name="presentation-notes">
11158     <element name="presentation:notes">
11159         <ref name="common-presentation-header-footer-attlist"/>
11160         <ref name="presentation-notes-attlist"/>
11161         <zeroOrMore>
11162             <ref name="shape"/>
11163         </zeroOrMore>
11164     </element>
11165 </define>
11166 <define name="presentation-notes-attlist" combine="interleave">
11167     <optional>
11168         <attribute name="style:page-layout-name">
11169             <ref name="styleNameRef"/>
11170         </attribute>
11171     </optional>
11172 </define>
11173 <define name="presentation-notes-attlist" combine="interleave">
11174     <optional>
11175         <attribute name="draw:style-name">
11176             <ref name="styleNameRef"/>
11177         </attribute>
11178     </optional>
11179 </define>
11180 <define name="table-table-template">
11181     <element name="table:table-template">
11182         <ref name="table-table-template-attlist"/>
11183         <optional>
11184             <ref name="table-first-row"/>
11185         </optional>
11186         <optional>
11187             <ref name="table-last-row"/>
11188         </optional>
11189         <optional>
11190             <ref name="table-first-column"/>
11191         </optional>
11192         <optional>
11193             <ref name="table-last-column"/>
11194         </optional>
11195         <choice>
11196             <ref name="table-body"/>
11197             <group>
11198                 <ref name="table-even-rows"/>
11199                 <ref name="table-odd-rows"/>
11200             </group>
11201             <group>
11202                 <ref name="table-even-columns"/>
11203                 <ref name="table-odd-columns"/>
11204             </group>
11205         </choice>
11206     </element>
11207 </define>
11208 <define name="table-table-template-attlist" combine="interleave">
11209     <attribute name="text:name">
11210         <ref name="string"/>
11211     </attribute>
11212 </define>
11213 <define name="table-table-template-attlist" combine="interleave">
11214     <attribute name="text:first-row-start-column">
11215         <ref name="rowOrCol"/>
11216     </attribute>
11217 </define>
11218 
11219 <define name="table-table-template-attlist" combine="interleave">
11220     <attribute name="text:first-row-end-column">
11221         <ref name="rowOrCol"/>
11222     </attribute>
11223 </define>
11224 
11225 <define name="table-table-template-attlist" combine="interleave">
11226     <attribute name="text:last-row-start-column">
11227         <ref name="rowOrCol"/>
11228     </attribute>
11229 </define>
11230 
11231 <define name="table-table-template-attlist" combine="interleave">
11232     <attribute name="text:last-row-end-column">
11233         <ref name="rowOrCol"/>
11234     </attribute>
11235 </define>
11236 
11237 <define name="rowOrCol">
11238     <choice>
11239         <value>row</value>
11240         <value>column</value>
11241     </choice>
11242 </define>
11243 <define name="table-first-row">
11244     <element name="table:first-row">
11245         <ref name="common-table-template-attlist"/>
11246         <empty/>
11247     </element>
11248 </define>
11249 
11250 <define name="table-last-row">
11251     <element name="table:last-row">
11252         <ref name="common-table-template-attlist"/>
11253         <empty/>
11254     </element>
11255 </define>
11256 
11257 <define name="table-first-column">
11258     <element name="table:first-column">
11259         <ref name="common-table-template-attlist"/>
11260         <empty/>
11261     </element>
11262 </define>
11263 
11264 <define name="table-last-column">
11265     <element name="table:last-column">
11266         <ref name="common-table-template-attlist"/>
11267         <empty/>
11268     </element>
11269 </define>
11270 
11271 <define name="table-body">
11272     <element name="table:body">
11273         <ref name="common-table-template-attlist"/>
11274         <empty/>
11275     </element>
11276 </define>
11277 
11278 <define name="table-even-rows">
11279     <element name="table:even-rows">
11280         <ref name="common-table-template-attlist"/>
11281         <empty/>
11282     </element>
11283 </define>
11284 
11285 <define name="table-odd-rows">
11286     <element name="table:odd-rows">
11287         <ref name="common-table-template-attlist"/>
11288         <empty/>
11289     </element>
11290 </define>
11291 
11292 <define name="table-even-columns">
11293     <element name="table:even-columns">
11294         <ref name="common-table-template-attlist"/>
11295         <empty/>
11296     </element>
11297 </define>
11298 
11299 <define name="table-odd-columns">
11300     <element name="table:odd-columns">
11301         <ref name="common-table-template-attlist"/>
11302         <empty/>
11303     </element>
11304 </define>
11305 
11306 <define name="common-table-template-attlist" combine="interleave">
11307     <attribute name="text:style-name">
11308         <ref name="styleNameRef"/>
11309     </attribute>
11310 </define>
11311 <define name="style-font-face">
11312     <element name="style:font-face">
11313         <ref name="style-font-face-attlist"/>
11314         <optional>
11315             <ref name="svg-font-face-src"/>
11316         </optional>
11317         <optional>
11318             <ref name="svg-definition-src"/>
11319         </optional>
11320     </element>
11321 </define>
11322 <define name="style-font-face-attlist" combine="interleave">
11323     <optional>
11324         <attribute name="svg:font-family">
11325             <ref name="string"/>
11326         </attribute>
11327     </optional>
11328     <optional>
11329         <attribute name="svg:font-style">
11330             <ref name="fontStyle"/>
11331         </attribute>
11332     </optional>
11333     <optional>
11334         <attribute name="svg:font-variant">
11335             <ref name="fontVariant"/>
11336         </attribute>
11337     </optional>
11338     <optional>
11339         <attribute name="svg:font-weight">
11340             <ref name="fontWeight"/>
11341         </attribute>
11342     </optional>
11343     <optional>
11344         <attribute name="svg:font-stretch">
11345             <choice>
11346                 <value>normal</value>
11347                 <value>ultra-condensed</value>
11348                 <value>extra-condensed</value>
11349                 <value>condensed</value>
11350                 <value>semi-condensed</value>
11351                 <value>semi-expanded</value>
11352                 <value>expanded</value>
11353                 <value>extra-expanded</value>
11354                 <value>ultra-expanded</value>
11355             </choice>
11356         </attribute>
11357     </optional>
11358     <optional>
11359         <attribute name="svg:font-size">
11360             <ref name="positiveLength"/>
11361         </attribute>
11362     </optional>
11363     <optional>
11364         <attribute name="svg:unicode-range"/>
11365     </optional>
11366     <optional>
11367         <attribute name="svg:units-per-em">
11368             <ref name="integer"/>
11369         </attribute>
11370     </optional>
11371     <optional>
11372         <attribute name="svg:panose-1"/>
11373     </optional>
11374     <optional>
11375         <attribute name="svg:stemv">
11376             <ref name="integer"/>
11377         </attribute>
11378     </optional>
11379     <optional>
11380         <attribute name="svg:stemh">
11381             <ref name="integer"/>
11382         </attribute>
11383     </optional>
11384     <optional>
11385         <attribute name="svg:slope">
11386             <ref name="integer"/>
11387         </attribute>
11388         </optional>
11389     <optional>
11390         <attribute name="svg:cap-height">
11391             <ref name="integer"/>
11392         </attribute>
11393     </optional>
11394     <optional>
11395         <attribute name="svg:x-height">
11396             <ref name="integer"/>
11397         </attribute>
11398     </optional>
11399     <optional>
11400         <attribute name="svg:accent-height">
11401             <ref name="integer"/>
11402         </attribute>
11403     </optional>
11404     <optional>
11405         <attribute name="svg:ascent">
11406             <ref name="integer"/>
11407         </attribute>
11408     </optional>
11409     <optional>
11410         <attribute name="svg:descent">
11411             <ref name="integer"/>
11412         </attribute>
11413     </optional>
11414     <optional>
11415         <attribute name="svg:widths"/>
11416     </optional>
11417     <optional>
11418         <attribute name="svg:bbox"/>
11419     </optional>
11420     <optional>
11421         <attribute name="svg:ideographic">
11422             <ref name="integer"/>
11423         </attribute>
11424     </optional>
11425     <optional>
11426         <attribute name="svg:alphabetic">
11427             <ref name="integer"/>
11428         </attribute>
11429     </optional>
11430     <optional>
11431         <attribute name="svg:mathematical">
11432             <ref name="integer"/>
11433         </attribute>
11434     </optional>
11435     <optional>
11436         <attribute name="svg:hanging">
11437             <ref name="integer"/>
11438         </attribute>
11439     </optional>
11440     <optional>
11441         <attribute name="svg:v-ideographic">
11442             <ref name="integer"/>
11443         </attribute>
11444     </optional>
11445     <optional>
11446         <attribute name="svg:v-alphabetic">
11447             <ref name="integer"/>
11448         </attribute>
11449     </optional>
11450     <optional>
11451         <attribute name="svg:v-mathematical">
11452             <ref name="integer"/>
11453         </attribute>
11454     </optional>
11455     <optional>
11456         <attribute name="svg:v-hanging">
11457             <ref name="integer"/>
11458         </attribute>
11459     </optional>
11460     <optional>
11461         <attribute name="svg:underline-position">
11462             <ref name="integer"/>
11463         </attribute>
11464     </optional>
11465     <optional>
11466         <attribute name="svg:underline-thickness">
11467             <ref name="integer"/>
11468         </attribute>
11469     </optional>
11470     <optional>
11471         <attribute name="svg:strikethrough-position">
11472             <ref name="integer"/>
11473         </attribute>
11474     </optional>
11475     <optional>
11476         <attribute name="svg:strikethrough-thickness">
11477             <ref name="integer"/>
11478         </attribute>
11479     </optional>
11480     <optional>
11481         <attribute name="svg:overline-position">
11482             <ref name="integer"/>
11483         </attribute>
11484         </optional>
11485     <optional>
11486         <attribute name="svg:overline-thickness">
11487             <ref name="integer"/>
11488         </attribute>
11489     </optional>
11490 </define>
11491 
11492 <define name="svg-font-face-src">
11493     <element name="svg:font-face-src">
11494         <oneOrMore>
11495             <choice>
11496                 <ref name="svg-font-face-uri"/>
11497                 <ref name="svg-font-face-name"/>
11498             </choice>
11499         </oneOrMore>
11500     </element>
11501 </define>
11502 
11503 <define name="svg-font-face-uri">
11504     <element name="svg:font-face-uri">
11505         <ref name="common-svg-font-face-xlink-attlist"/>
11506         <zeroOrMore>
11507             <ref name="svg-font-face-format"/>
11508         </zeroOrMore>
11509     </element>
11510 </define>
11511 
11512 <define name="svg-font-face-format">
11513     <element name="svg:font-face-format">
11514         <optional>
11515             <attribute name="svg:string"/>
11516         </optional>
11517         <empty/>
11518     </element>
11519 </define>
11520 <define name="svg-font-face-name">
11521     <element name="svg:font-face-name">
11522         <optional>
11523             <attribute name="name"/>
11524         </optional>
11525         <empty/>
11526     </element>
11527 </define>
11528 
11529 <define name="svg-definition-src">
11530     <element name="svg:definition-src">
11531         <ref name="common-svg-font-face-xlink-attlist"/>
11532     <empty/>
11533     </element>
11534 </define>
11535 
11536 <define name="common-svg-font-face-xlink-attlist" combine="interleave">
11537     <attribute name="xlink:href">
11538         <ref name="anyURI"/>
11539     </attribute>
11540     <optional>
11541         <attribute name="xlink:type" a:defaultValue="simple">
11542             <value>simple</value>
11543         </attribute>
11544     </optional>
11545     <optional>
11546         <attribute name="xlink:actuate" a:defaultValue="onRequest">
11547             <value>onRequest</value>
11548         </attribute>
11549     </optional>
11550 </define>
11551 <define name="style-font-face-attlist" combine="interleave">
11552     <attribute name="style:name">
11553         <ref name="string"/>
11554     </attribute>
11555 </define>
11556 <define name="style-font-face-attlist" combine="interleave">
11557     <optional>
11558         <attribute name="style:font-adornments">
11559             <ref name="string"/>
11560         </attribute>
11561     </optional>
11562 </define>
11563 <define name="style-font-face-attlist" combine="interleave">
11564     <optional>
11565         <attribute name="style:font-family-generic">
11566             <ref name="fontFamilyGeneric"/>
11567         </attribute>
11568     </optional>
11569 </define>
11570 <define name="style-font-face-attlist" combine="interleave">
11571     <optional>
11572         <attribute name="style:font-pitch">
11573             <ref name="fontPitch"/>
11574         </attribute>
11575     </optional>
11576 </define>
11577 
11578 <define name="style-font-face-attlist" combine="interleave">
11579     <optional>
11580         <attribute name="style:font-charset">
11581             <ref name="textEncoding"/>
11582         </attribute>
11583     </optional>
11584 </define>
11585 <define name="number-number-style">
11586     <element name="number:number-style">
11587         <ref name="common-data-style-attlist"/>
11588         <optional>
11589             <ref name="style-text-properties"/>
11590         </optional>
11591         <optional>
11592             <ref name="number-text"/>
11593         </optional>
11594         <optional>
11595             <ref name="any-number"/>
11596             <optional>
11597                 <ref name="number-text"/>
11598             </optional>
11599         </optional>
11600         <zeroOrMore>
11601             <ref name="style-map"/>
11602         </zeroOrMore>
11603     </element>
11604 </define>
11605 
11606 <define name="any-number">
11607     <choice>
11608         <ref name="number-number"/>
11609         <ref name="number-scientific-number"/>
11610         <ref name="number-fraction"/>
11611     </choice>
11612 </define>
11613 <define name="number-number">
11614     <element name="number:number">
11615         <ref name="number-number-attlist"/>
11616         <ref name="common-decimal-places-attlist"/>
11617         <ref name="common-number-attlist"/>
11618         <zeroOrMore>
11619             <ref name="number-embedded-text"/>
11620         </zeroOrMore>
11621     </element>
11622 </define>
11623 <define name="number-number-attlist" combine="interleave">
11624     <optional>
11625         <attribute name="number:decimal-replacement"/>
11626     </optional>
11627 </define>
11628 <define name="number-number-attlist" combine="interleave">
11629     <optional>
11630         <attribute name="number:display-factor" a:defaultValue="1">
11631             <ref name="double"/>
11632         </attribute>
11633     </optional>
11634 </define>
11635 <define name="number-embedded-text">
11636     <element name="number:embedded-text">
11637         <ref name="number-embedded-text-attlist"/>
11638         <text/>
11639     </element>
11640 </define>
11641 <define name="number-embedded-text-attlist" combine="interleave">
11642     <attribute name="number:position">
11643         <ref name="integer"/>
11644     </attribute>
11645 </define>
11646 <define name="number-scientific-number">
11647     <element name="number:scientific-number">
11648         <ref name="number-scientific-number-attlist"/>
11649         <ref name="common-decimal-places-attlist"/>
11650         <ref name="common-number-attlist"/>
11651         <empty/>
11652     </element>
11653 </define>
11654 <define name="number-scientific-number-attlist" combine="interleave">
11655     <optional>
11656         <attribute name="number:min-exponent-digits">
11657             <ref name="integer"/>
11658         </attribute>
11659     </optional>
11660 </define>
11661 <define name="number-fraction">
11662     <element name="number:fraction">
11663         <ref name="number-fraction-attlist"/>
11664         <ref name="common-number-attlist"/>
11665         <empty/>
11666     </element>
11667 </define>
11668 <define name="number-fraction-attlist" combine="interleave">
11669     <optional>
11670         <attribute name="number:min-numerator-digits">
11671             <ref name="integer"/>
11672         </attribute>
11673     </optional>
11674 </define>
11675 <define name="number-fraction-attlist" combine="interleave">
11676     <optional>
11677         <attribute name="number:min-denominator-digits">
11678             <ref name="integer"/>
11679         </attribute>
11680     </optional>
11681 </define>
11682 <define name="number-fraction-attlist" combine="interleave">
11683     <optional>
11684         <attribute name="number:denominator-value">
11685             <ref name="integer"/>
11686         </attribute>
11687     </optional>
11688 </define>
11689 <define name="number-currency-style">
11690     <element name="number:currency-style">
11691         <ref name="common-data-style-attlist"/>
11692         <ref name="common-auto-reorder-attlist"/>
11693         <optional>
11694             <ref name="style-text-properties"/>
11695         </optional>
11696         <optional>
11697             <ref name="number-text"/>
11698         </optional>
11699         <optional>
11700             <choice>
11701                 <group>
11702                     <ref name="number-and-text"/>
11703                     <optional>
11704                         <ref name="currency-symbol-and-text"/>
11705                     </optional>
11706                 </group>
11707                 <group>
11708                     <ref name="currency-symbol-and-text"/>
11709                     <optional>
11710                         <ref name="number-and-text"/>
11711                     </optional>
11712                 </group>
11713             </choice>
11714         </optional>
11715         <zeroOrMore>
11716             <ref name="style-map"/>
11717         </zeroOrMore>
11718     </element>
11719 </define>
11720 
11721 <define name="currency-symbol-and-text">
11722     <ref name="number-currency-symbol"/>
11723     <optional>
11724         <ref name="number-text"/>
11725     </optional>
11726 </define>
11727 <define name="number-and-text">
11728     <ref name="number-number"/>
11729     <optional>
11730         <ref name="number-text"/>
11731     </optional>
11732 </define>
11733 <define name="number-currency-symbol">
11734     <element name="number:currency-symbol">
11735         <ref name="number-currency-symbol-attlist"/>
11736         <text/>
11737     </element>
11738 </define>
11739 <define name="number-currency-symbol-attlist" combine="interleave">
11740     <optional>
11741         <attribute name="number:language">
11742             <ref name="languageCode"/>
11743         </attribute>
11744     </optional>
11745     <optional>
11746         <attribute name="number:country">
11747             <ref name="countryCode"/>
11748         </attribute>
11749     </optional>
11750 </define>
11751 <define name="number-percentage-style">
11752     <element name="number:percentage-style">
11753         <ref name="common-data-style-attlist"/>
11754         <optional>
11755             <ref name="style-text-properties"/>
11756         </optional>
11757         <optional>
11758             <ref name="number-text"/>
11759         </optional>
11760         <optional>
11761             <ref name="number-and-text"/>
11762         </optional>
11763         <zeroOrMore>
11764             <ref name="style-map"/>
11765         </zeroOrMore>
11766     </element>
11767 </define>
11768 <define name="number-date-style">
11769     <element name="number:date-style">
11770         <ref name="common-data-style-attlist"/>
11771         <ref name="common-auto-reorder-attlist"/>
11772         <ref name="common-format-source-attlist"/>
11773         <optional>
11774             <ref name="style-text-properties"/>
11775         </optional>
11776         <!-- This DTD does not reflect the fact that some elements must not -->
11777         <!-- occur more than once. -->
11778         <optional>
11779             <ref name="number-text"/>
11780         </optional>
11781         <oneOrMore>
11782             <ref name="any-date"/>
11783             <optional>
11784                 <ref name="number-text"/>
11785             </optional>
11786         </oneOrMore>
11787         <zeroOrMore>
11788             <ref name="style-map"/>
11789         </zeroOrMore>
11790     </element>
11791 </define>
11792 
11793 <define name="any-date">
11794     <choice>
11795         <ref name="number-day"/>
11796         <ref name="number-month"/>
11797         <ref name="number-year"/>
11798         <ref name="number-era"/>
11799         <ref name="number-day-of-week"/>
11800         <ref name="number-week-of-year"/>
11801         <ref name="number-quarter"/>
11802         <ref name="number-hours"/>
11803         <ref name="number-am-pm"/>
11804         <ref name="number-minutes"/>
11805         <ref name="number-seconds"/>
11806     </choice>
11807 </define>
11808 <define name="number-day">
11809     <element name="number:day">
11810         <ref name="number-day-attlist"/>
11811         <ref name="common-calendar-attlist"/>
11812         <empty/>
11813     </element>
11814 </define>
11815 <define name="number-day-attlist" combine="interleave">
11816     <optional>
11817         <attribute name="number:style" a:defaultValue="short">
11818             <choice>
11819                 <value>short</value>
11820                 <value>long</value>
11821             </choice>
11822         </attribute>
11823     </optional>
11824 </define>
11825 <define name="number-month">
11826     <element name="number:month">
11827         <ref name="number-month-attlist"/>
11828         <ref name="common-calendar-attlist"/>
11829         <empty/>
11830     </element>
11831 </define>
11832 <define name="number-month-attlist" combine="interleave">
11833     <optional>
11834         <attribute name="number:textual" a:defaultValue="false">
11835             <ref name="boolean"/>
11836         </attribute>
11837     </optional>
11838 </define>
11839 <define name="number-month-attlist" combine="interleave">
11840     <optional>
11841         <attribute name="number:possessive-form" a:defaultValue="false">
11842             <ref name="boolean"/>
11843         </attribute>
11844     </optional>
11845 </define>
11846 <define name="number-month-attlist" combine="interleave">
11847     <optional>
11848         <attribute name="number:style" a:defaultValue="short">
11849             <choice>
11850                 <value>short</value>
11851                 <value>long</value>
11852             </choice>
11853         </attribute>
11854     </optional>
11855 </define>
11856 <define name="number-year">
11857     <element name="number:year">
11858         <ref name="number-year-attlist"/>
11859         <ref name="common-calendar-attlist"/>
11860         <empty/>
11861     </element>
11862 </define>
11863 <define name="number-year-attlist" combine="interleave">
11864     <optional>
11865         <attribute name="number:style" a:defaultValue="short">
11866             <choice>
11867                 <value>short</value>
11868                 <value>long</value>
11869             </choice>
11870         </attribute>
11871     </optional>
11872 </define>
11873 <define name="number-era">
11874     <element name="number:era">
11875         <ref name="number-era-attlist"/>
11876         <ref name="common-calendar-attlist"/>
11877         <empty/>
11878     </element>
11879 </define>
11880 <define name="number-era-attlist" combine="interleave">
11881     <optional>
11882         <attribute name="number:style" a:defaultValue="short">
11883             <choice>
11884                 <value>short</value>
11885                 <value>long</value>
11886             </choice>
11887         </attribute>
11888     </optional>
11889 </define>
11890 <define name="number-day-of-week">
11891     <element name="number:day-of-week">
11892         <ref name="number-day-of-week-attlist"/>
11893         <ref name="common-calendar-attlist"/>
11894         <empty/>
11895     </element>
11896 </define>
11897 <define name="number-day-of-week-attlist" combine="interleave">
11898     <optional>
11899         <attribute name="number:style" a:defaultValue="short">
11900             <choice>
11901                 <value>short</value>
11902                 <value>long</value>
11903             </choice>
11904         </attribute>
11905     </optional>
11906 </define>
11907 <define name="number-week-of-year">
11908     <element name="number:week-of-year">
11909         <ref name="common-calendar-attlist"/>
11910         <empty/>
11911     </element>
11912 </define>
11913 <define name="number-quarter">
11914     <element name="number:quarter">
11915         <ref name="number-quarter-attlist"/>
11916         <ref name="common-calendar-attlist"/>
11917         <empty/>
11918     </element>
11919 </define>
11920 <define name="number-quarter-attlist" combine="interleave">
11921     <optional>
11922         <attribute name="number:style" a:defaultValue="short">
11923             <choice>
11924                 <value>short</value>
11925                 <value>long</value>
11926             </choice>
11927         </attribute>
11928     </optional>
11929 </define>
11930 <define name="number-time-style">
11931     <element name="number:time-style">
11932         <ref name="number-time-style-attlist"/>
11933         <ref name="common-data-style-attlist"/>
11934         <ref name="common-format-source-attlist"/>
11935         <optional>
11936             <ref name="style-text-properties"/>
11937         </optional>
11938         <!-- This DTD does not reflect the fact that some elements must not -->
11939         <!-- occur more than once. -->
11940         <optional>
11941             <ref name="number-text"/>
11942         </optional>
11943         <oneOrMore>
11944             <ref name="any-time"/>
11945             <optional>
11946                 <ref name="number-text"/>
11947             </optional>
11948         </oneOrMore>
11949         <zeroOrMore>
11950             <ref name="style-map"/>
11951         </zeroOrMore>
11952     </element>
11953 </define>
11954 
11955 <define name="any-time">
11956     <choice>
11957         <ref name="number-hours"/>
11958         <ref name="number-am-pm"/>
11959         <ref name="number-minutes"/>
11960         <ref name="number-seconds"/>
11961     </choice>
11962 </define>
11963 <define name="number-time-style-attlist" combine="interleave">
11964     <optional>
11965         <attribute name="number:truncate-on-overflow" a:defaultValue="true">
11966             <ref name="boolean"/>
11967         </attribute>
11968     </optional>
11969 </define>
11970 <define name="number-hours">
11971     <element name="number:hours">
11972         <ref name="number-hours-attlist"/>
11973         <empty/>
11974     </element>
11975 </define>
11976 <define name="number-hours-attlist" combine="interleave">
11977     <optional>
11978         <attribute name="number:style" a:defaultValue="short">
11979             <choice>
11980                 <value>short</value>
11981                 <value>long</value>
11982             </choice>
11983         </attribute>
11984     </optional>
11985 </define>
11986 <define name="number-minutes">
11987     <element name="number:minutes">
11988         <ref name="number-minutes-attlist"/>
11989         <empty/>
11990     </element>
11991 </define>
11992 <define name="number-minutes-attlist" combine="interleave">
11993     <optional>
11994         <attribute name="number:style" a:defaultValue="short">
11995             <choice>
11996                 <value>short</value>
11997                 <value>long</value>
11998             </choice>
11999         </attribute>
12000     </optional>
12001 </define>
12002 <define name="number-seconds">
12003     <element name="number:seconds">
12004         <ref name="number-seconds-attlist"/>
12005         <empty/>
12006     </element>
12007 </define>
12008 <define name="number-seconds-attlist" combine="interleave">
12009     <optional>
12010         <attribute name="number:style" a:defaultValue="short">
12011             <choice>
12012                 <value>short</value>
12013                 <value>long</value>
12014             </choice>
12015         </attribute>
12016     </optional>
12017 </define>
12018 <define name="number-seconds-attlist" combine="interleave">
12019     <optional>
12020         <attribute name="number:decimal-places" a:defaultValue="0">
12021             <ref name="integer"/>
12022         </attribute>
12023     </optional>
12024 </define>
12025 <define name="number-am-pm">
12026     <element name="number:am-pm">
12027         <empty/>
12028     </element>
12029 </define>
12030 <define name="number-boolean-style">
12031     <element name="number:boolean-style">
12032         <ref name="common-data-style-attlist"/>
12033         <optional>
12034             <ref name="style-text-properties"/>
12035         </optional>
12036         <optional>
12037             <ref name="number-text"/>
12038         </optional>
12039         <optional>
12040             <ref name="number-boolean"/>
12041             <optional>
12042                 <ref name="number-text"/>
12043             </optional>
12044         </optional>
12045         <zeroOrMore>
12046             <ref name="style-map"/>
12047         </zeroOrMore>
12048     </element>
12049 </define>
12050 <define name="number-boolean">
12051     <element name="number:boolean">
12052         <empty/>
12053     </element>
12054 </define>
12055 <define name="number-text-style">
12056     <element name="number:text-style">
12057         <ref name="common-data-style-attlist"/>
12058         <optional>
12059             <ref name="style-text-properties"/>
12060         </optional>
12061         <optional>
12062             <ref name="number-text"/>
12063         </optional>
12064         <zeroOrMore>
12065             <ref name="number-text-content"/>
12066             <optional>
12067                 <ref name="number-text"/>
12068             </optional>
12069         </zeroOrMore>
12070         <zeroOrMore>
12071             <ref name="style-map"/>
12072         </zeroOrMore>
12073     </element>
12074 </define>
12075 <define name="number-text">
12076     <element name="number:text">
12077         <text/>
12078     </element>
12079 </define>
12080 <define name="number-text-content">
12081     <element name="number:text-content">
12082         <empty/>
12083     </element>
12084 </define>
12085 <define name="common-data-style-attlist" combine="interleave">
12086     <attribute name="style:name">
12087         <ref name="styleName"/>
12088     </attribute>
12089 </define>
12090 <define name="style-data-style-attlist" combine="interleave">
12091     <optional>
12092         <attribute name="style:display-name">
12093             <ref name="string"/>
12094         </attribute>
12095     </optional>
12096 </define>
12097 <define name="common-data-style-attlist" combine="interleave">
12098     <optional>
12099         <attribute name="number:language">
12100             <ref name="languageCode"/>
12101         </attribute>
12102     </optional>
12103 </define>
12104 <define name="common-data-style-attlist" combine="interleave">
12105     <optional>
12106         <attribute name="number:country">
12107             <ref name="countryCode"/>
12108         </attribute>
12109     </optional>
12110 </define>
12111 <define name="common-data-style-attlist" combine="interleave">
12112     <optional>
12113         <attribute name="number:title"/>
12114     </optional>
12115 </define>
12116 <define name="common-data-style-attlist" combine="interleave">
12117     <optional>
12118         <attribute name="style:volatile">
12119             <ref name="boolean"/>
12120         </attribute>
12121     </optional>
12122 </define>
12123 <define name="common-auto-reorder-attlist" combine="interleave">
12124     <optional>
12125         <attribute name="number:automatic-order" a:defaultValue="false">
12126             <ref name="boolean"/>
12127         </attribute>
12128     </optional>
12129 </define>
12130 <define name="common-format-source-attlist">
12131     <optional>
12132         <attribute name="number:format-source" a:defaultValue="fixed">
12133             <choice>
12134                 <value>fixed</value>
12135                 <value>language</value>
12136             </choice>
12137         </attribute>
12138     </optional>
12139 </define>
12140 <define name="common-data-style-attlist" combine="interleave">
12141     <optional>
12142         <attribute name="number:transliteration-format" a:defaultValue="1">
12143             <ref name="string"/>
12144         </attribute>
12145     </optional>
12146 </define>
12147 <define name="common-data-style-attlist" combine="interleave">
12148     <optional>
12149         <attribute name="number:transliteration-language">
12150             <ref name="countryCode"/>
12151         </attribute>
12152     </optional>
12153 </define>
12154 <define name="common-data-style-attlist" combine="interleave">
12155     <optional>
12156         <attribute name="number:transliteration-country">
12157             <ref name="countryCode"/>
12158         </attribute>
12159     </optional>
12160 </define>
12161 <define name="common-data-style-attlist" combine="interleave">
12162     <optional>
12163         <attribute name="number:transliteration-style" a:defaultValue="short">
12164             <choice>
12165                 <value>short</value>
12166                 <value>medium</value>
12167                 <value>long</value>
12168             </choice>
12169         </attribute>
12170     </optional>
12171 </define>
12172 <define name="common-decimal-places-attlist">
12173     <optional>
12174         <attribute name="number:decimal-places">
12175             <ref name="integer"/>
12176         </attribute>
12177     </optional>
12178 </define>
12179 <define name="common-number-attlist" combine="interleave">
12180     <optional>
12181         <attribute name="number:min-integer-digits">
12182             <ref name="integer"/>
12183         </attribute>
12184     </optional>
12185 </define>
12186 <define name="common-number-attlist" combine="interleave">
12187     <optional>
12188         <attribute name="number:grouping" a:defaultValue="false">
12189             <ref name="boolean"/>
12190         </attribute>
12191     </optional>
12192 </define>
12193 <define name="common-calendar-attlist" combine="interleave">
12194     <optional>
12195         <attribute name="number:calendar">
12196             <choice>
12197                 <value>gregorian</value>
12198                 <value>gengou</value>
12199                 <value>ROC</value>
12200                 <value>hanja_yoil</value>
12201                 <value>hanja</value>
12202                 <value>hijri</value>
12203                 <value>jewish</value>
12204                 <value>buddhist</value>
12205                 <ref name="string"/>
12206             </choice>
12207         </attribute>
12208     </optional>
12209 </define>
12210 <define name="style-style-content" combine="choice">
12211     <group>
12212         <attribute name="style:family">
12213             <value>text</value>
12214         </attribute>
12215         <optional>
12216             <ref name="style-text-properties"/>
12217         </optional>
12218     </group>
12219 </define>
12220 <define name="style-style-content" combine="choice">
12221     <group>
12222         <attribute name="style:family">
12223             <value>paragraph</value>
12224         </attribute>
12225         <optional>
12226             <ref name="style-paragraph-properties"/>
12227         </optional>
12228         <optional>
12229             <ref name="style-text-properties"/>
12230         </optional>
12231     </group>
12232 </define>
12233 <define name="style-style-content" combine="choice">
12234     <group>
12235         <attribute name="style:family">
12236             <value>section</value>
12237         </attribute>
12238         <optional>
12239             <ref name="style-section-properties"/>
12240         </optional>
12241     </group>
12242 </define>
12243 <define name="style-style-content" combine="choice">
12244     <group>
12245         <attribute name="style:family">
12246             <value>ruby</value>
12247         </attribute>
12248         <optional>
12249             <ref name="style-ruby-properties"/>
12250         </optional>
12251     </group>
12252 </define>
12253 <define name="text-linenumbering-configuration">
12254     <element name="text:linenumbering-configuration">
12255         <ref name="text-linenumbering-configuration-attlist"/>
12256         <optional>
12257             <ref name="text-linenumbering-separator"/>
12258         </optional>
12259     </element>
12260 </define>
12261 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12262     <optional>
12263         <attribute name="text:number-lines" a:defaultValue="true">
12264             <ref name="boolean"/>
12265         </attribute>
12266     </optional>
12267 </define>
12268 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12269     <optional>
12270         <ref name="common-num-format-attlist"/>
12271     </optional>
12272 </define>
12273 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12274     <optional>
12275         <attribute name="text:style-name">
12276             <ref name="styleNameRef"/>
12277         </attribute>
12278     </optional>
12279 </define>
12280 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12281     <optional>
12282         <attribute name="text:increment">
12283             <ref name="nonNegativeInteger"/>
12284         </attribute>
12285     </optional>
12286 </define>
12287 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12288     <optional>
12289         <attribute name="text:number-position" a:defaultValue="left">
12290             <choice>
12291                 <value>left</value>
12292                 <value>rigth</value>
12293                 <value>inner</value>
12294                 <value>outer</value>
12295             </choice>
12296         </attribute>
12297     </optional>
12298 </define>
12299 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12300     <optional>
12301         <attribute name="text:offset">
12302             <ref name="nonNegativeLength"/>
12303         </attribute>
12304     </optional>
12305 </define>
12306 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12307     <optional>
12308         <attribute name="text:count-empty-lines" a:defaultValue="true">
12309             <ref name="boolean"/>
12310         </attribute>
12311     </optional>
12312 </define>
12313 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12314     <optional>
12315         <attribute name="text:count-in-text-boxes" a:defaultValue="false">
12316             <ref name="boolean"/>
12317         </attribute>
12318     </optional>
12319 </define>
12320 <define name="text-linenumbering-configuration-attlist" combine="interleave">
12321     <optional>
12322         <attribute name="text:restart-on-page" a:defaultValue="false">
12323             <ref name="boolean"/>
12324         </attribute>
12325     </optional>
12326 </define>
12327 <define name="text-linenumbering-separator">
12328     <element name="text:linenumbering-separator">
12329         <optional>
12330             <attribute name="text:increment">
12331                 <ref name="nonNegativeInteger"/>
12332             </attribute>
12333         </optional>
12334         <text/>
12335     </element>
12336 </define>
12337 <define name="text-notes-configuration">
12338     <element name="text:notes-configuration">
12339         <ref name="text-notes-configuration-content"/>
12340     </element>
12341 </define>
12342 <define name="text-notes-configuration-content" combine="interleave">
12343     <ref name="text-note-class"/>
12344 </define>
12345 <define name="text-notes-configuration-content" combine="interleave">
12346     <optional>
12347         <attribute name="text:citation-style-name">
12348             <ref name="styleNameRef"/>
12349         </attribute>
12350     </optional>
12351 </define>
12352 <define name="text-notes-configuration-content" combine="interleave">
12353     <optional>
12354         <attribute name="text:citation-body-style-name">
12355             <ref name="styleNameRef"/>
12356         </attribute>
12357     </optional>
12358 </define>
12359 <define name="text-notes-configuration-content" combine="interleave">
12360     <optional>
12361         <attribute name="text:default-style-name">
12362             <ref name="styleNameRef"/>
12363         </attribute>
12364     </optional>
12365 </define>
12366 <define name="text-notes-configuration-content" combine="interleave">
12367     <optional>
12368         <attribute name="text:master-page-name">
12369             <ref name="styleNameRef"/>
12370         </attribute>
12371     </optional>
12372 </define>
12373 <define name="text-notes-configuration-content" combine="interleave">
12374     <optional>
12375         <attribute name="text:start-value">
12376             <ref name="nonNegativeInteger"/>
12377         </attribute>
12378     </optional>
12379 </define>
12380 <define name="text-notes-configuration-content" combine="interleave">
12381     <ref name="common-num-format-prefix-suffix-attlist"/>
12382     <optional>
12383         <ref name="common-num-format-attlist"/>
12384     </optional>
12385 </define>
12386 <define name="text-notes-configuration-content" combine="interleave">
12387     <optional>
12388         <attribute name="text:start-numbering-at">
12389             <choice>
12390                 <value>document</value>
12391                 <value>chapter</value>
12392                 <value>page</value>
12393             </choice>
12394         </attribute>
12395     </optional>
12396 </define>
12397 <define name="text-notes-configuration-content" combine="interleave">
12398     <optional>
12399         <attribute name="text:footnotes-position">
12400             <choice>
12401                 <value>text</value>
12402                 <value>page</value>
12403                 <value>section</value>
12404                 <value>document</value>
12405             </choice>
12406         </attribute>
12407     </optional>
12408 </define>
12409 <define name="text-notes-configuration-content" combine="interleave">
12410     <optional>
12411         <element name="text:note-continuation-notice-forward">
12412             <text/>
12413         </element>
12414     </optional>
12415 </define>
12416 <define name="text-notes-configuration-content" combine="interleave">
12417     <optional>
12418         <element name="text:note-continuation-notice-backward">
12419             <text/>
12420         </element>
12421     </optional>
12422 </define>
12423 <define name="text-bibliography-configuration">
12424     <element name="text:bibliography-configuration">
12425         <ref name="text-bibliography-configuration-attlist"/>
12426         <zeroOrMore>
12427             <ref name="text-sort-key"/>
12428         </zeroOrMore>
12429     </element>
12430 </define>
12431 <define name="text-bibliography-configuration-attlist" combine="interleave">
12432     <optional>
12433         <attribute name="text:prefix">
12434             <ref name="string"/>
12435         </attribute>
12436     </optional>
12437     <optional>
12438         <attribute name="text:suffix">
12439             <ref name="string"/>
12440         </attribute>
12441     </optional>
12442 </define>
12443 <define name="text-bibliography-configuration-attlist" combine="interleave">
12444     <optional>
12445         <attribute name="text:numbered-entries" a:defaultValue="false">
12446             <ref name="boolean"/>
12447         </attribute>
12448     </optional>
12449 </define>
12450 <define name="text-bibliography-configuration-attlist" combine="interleave">
12451     <optional>
12452         <attribute name="text:sort-by-position" a:defaultValue="true">
12453             <ref name="boolean"/>
12454         </attribute>
12455     </optional>
12456     <optional>
12457         <attribute name="fo:language">
12458             <ref name="languageCode"/>
12459         </attribute>
12460     </optional>
12461     <optional>
12462         <attribute name="fo:country">
12463             <ref name="countryCode"/>
12464         </attribute>
12465     </optional>
12466     <optional>
12467         <attribute name="text:sort-algorithm">
12468             <ref name="string"/>
12469         </attribute>
12470     </optional>
12471 </define>
12472 <define name="text-sort-key">
12473     <element name="text:sort-key">
12474         <ref name="text-sort-key-attlist"/>
12475         <empty/>
12476     </element>
12477 </define>
12478 
12479 <define name="text-sort-key-attlist" combine="interleave">
12480     <attribute name="text:key">
12481         <choice>
12482             <value>address</value>
12483             <value>annote</value>
12484             <value>author</value>
12485             <value>bibliography-type</value>
12486             <value>booktitle</value>
12487             <value>chapter</value>
12488             <value>custom1</value>
12489             <value>custom2</value>
12490             <value>custom3</value>
12491             <value>custom4</value>
12492             <value>custom5</value>
12493             <value>edition</value>
12494             <value>editor</value>
12495             <value>howpublished</value>
12496             <value>identifier</value>
12497             <value>institution</value>
12498             <value>isbn</value>
12499             <value>issn</value>
12500             <value>journal</value>
12501             <value>month</value>
12502             <value>note</value>
12503             <value>number</value>
12504             <value>organizations</value>
12505             <value>pages</value>
12506             <value>publisher</value>
12507             <value>report-type</value>
12508             <value>school</value>
12509             <value>series</value>
12510             <value>title</value>
12511             <value>url</value>
12512             <value>volume</value>
12513             <value>year</value>
12514         </choice>
12515     </attribute>
12516     <optional>
12517         <attribute name="text:sort-ascending" a:defaultValue="true">
12518             <ref name="boolean"/>
12519         </attribute>
12520     </optional>
12521 </define>
12522 <define name="text-list-style">
12523     <element name="text:list-style">
12524         <ref name="text-list-style-attr"/>
12525         <zeroOrMore>
12526             <ref name="text-list-style-content"/>
12527         </zeroOrMore>
12528     </element>
12529 </define>
12530 <define name="text-list-style-attr" combine="interleave">
12531     <attribute name="style:name">
12532         <ref name="styleName"/>
12533     </attribute>
12534 </define>
12535 <define name="text-list-style-attr" combine="interleave">
12536     <optional>
12537         <attribute name="style:display-name">
12538             <ref name="string"/>
12539         </attribute>
12540     </optional>
12541 </define>
12542 <define name="text-list-style-attr" combine="interleave">
12543     <optional>
12544         <attribute name="text:consecutive-numbering" a:defaultValue="false">
12545             <ref name="boolean"/>
12546         </attribute>
12547     </optional>
12548 </define>
12549 <define name="text-list-level-style-attr">
12550     <attribute name="text:level">
12551         <ref name="positiveInteger"/>
12552     </attribute>
12553 </define>
12554 <define name="text-list-style-content" combine="choice">
12555     <element name="text:list-level-style-number">
12556         <ref name="text-list-level-style-attr"/>
12557         <ref name="text-list-level-style-number-attr"/>
12558         <optional>
12559             <ref name="style-list-level-properties"/>
12560         </optional>
12561         <optional>
12562             <ref name="style-text-properties"/>
12563         </optional>
12564     </element>
12565 </define>
12566 <define name="text-list-level-style-number-attr" combine="interleave">
12567     <optional>
12568         <attribute name="text:style-name">
12569             <ref name="styleNameRef"/>
12570         </attribute>
12571     </optional>
12572 </define>
12573 <define name="text-list-level-style-number-attr" combine="interleave">
12574     <ref name="common-num-format-attlist"/>
12575     <ref name="common-num-format-prefix-suffix-attlist"/>
12576 </define>
12577 <define name="text-list-level-style-number-attr" combine="interleave">
12578     <optional>
12579         <attribute name="text:display-levels" a:defaultValue="1">
12580             <ref name="positiveInteger"/>
12581         </attribute>
12582     </optional>
12583 </define>
12584 <define name="text-list-level-style-number-attr" combine="interleave">
12585     <optional>
12586         <attribute name="text:start-value" a:defaultValue="1">
12587             <ref name="positiveInteger"/>
12588         </attribute>
12589     </optional>
12590 </define>
12591 <define name="text-list-style-content" combine="choice">
12592     <element name="text:list-level-style-bullet">
12593         <ref name="text-list-level-style-attr"/>
12594         <ref name="text-list-level-style-bullet-attr"/>
12595         <optional>
12596             <ref name="style-list-level-properties"/>
12597         </optional>
12598         <optional>
12599             <ref name="style-text-properties"/>
12600         </optional>
12601     </element>
12602 </define>
12603 <define name="text-list-level-style-bullet-attr" combine="interleave">
12604     <optional>
12605         <attribute name="text:style-name">
12606             <ref name="styleNameRef"/>
12607         </attribute>
12608     </optional>
12609 </define>
12610 <define name="text-list-level-style-bullet-attr" combine="interleave">
12611     <attribute name="text:bullet-char">
12612         <ref name="character"/>
12613     </attribute>
12614 </define>
12615 <define name="text-list-level-style-bullet-attr" combine="interleave">
12616     <ref name="common-num-format-prefix-suffix-attlist"/>
12617 </define>
12618 <define name="text-list-level-style-bullet-attr" combine="interleave">
12619     <optional>
12620         <attribute name="text:bullet-relative-size">
12621             <ref name="percent"/>
12622         </attribute>
12623     </optional>
12624 </define>
12625 <define name="text-list-style-content" combine="choice">
12626     <element name="text:list-level-style-image">
12627         <ref name="text-list-level-style-attr"/>
12628         <ref name="text-list-level-style-image-attr"/>
12629         <optional>
12630             <ref name="style-list-level-properties"/>
12631         </optional>
12632     </element>
12633 </define>
12634 <define name="text-list-level-style-image-attr" combine="interleave">
12635     <choice>
12636         <ref name="common-draw-data-attlist"/>
12637         <ref name="office-binary-data"/>
12638     </choice>
12639 </define>
12640 <define name="text-outline-style">
12641     <element name="text:outline-style">
12642         <oneOrMore>
12643             <ref name="text-outline-level-style"/>
12644         </oneOrMore>
12645     </element>
12646 </define>
12647 <define name="text-outline-level-style">
12648     <element name="text:outline-level-style">
12649         <ref name="text-outline-level-style-attlist"/>
12650         <optional>
12651             <ref name="style-list-level-properties"/>
12652         </optional>
12653         <optional>
12654             <ref name="style-text-properties"/>
12655         </optional>
12656     </element>
12657 </define>
12658 <define name="text-outline-level-style-attlist" combine="interleave">
12659     <attribute name="text:level">
12660         <ref name="positiveInteger"/>
12661     </attribute>
12662 </define>
12663 <define name="text-outline-level-style-attlist" combine="interleave">
12664     <optional>
12665         <attribute name="text:style-name">
12666             <ref name="styleNameRef"/>
12667         </attribute>
12668     </optional>
12669 </define>
12670 <define name="text-outline-level-style-attlist" combine="interleave">
12671     <ref name="common-num-format-attlist"/>
12672     <ref name="common-num-format-prefix-suffix-attlist"/>
12673 </define>
12674 <define name="text-outline-level-style-attlist" combine="interleave">
12675     <optional>
12676         <attribute name="text:display-levels" a:defaultValue="1">
12677             <ref name="positiveInteger"/>
12678         </attribute>
12679     </optional>
12680 </define>
12681 <define name="text-outline-level-style-attlist" combine="interleave">
12682     <optional>
12683         <attribute name="text:start-value" a:defaultValue="1">
12684             <ref name="positiveInteger"/>
12685         </attribute>
12686     </optional>
12687 </define>
12688 <define name="style-style-content" combine="choice">
12689     <group>
12690         <attribute name="style:family">
12691             <value>table</value>
12692         </attribute>
12693         <optional>
12694             <ref name="style-table-properties"/>
12695         </optional>
12696     </group>
12697 </define>
12698 <define name="style-style-content" combine="choice">
12699     <group>
12700         <attribute name="style:family">
12701             <value>table-column</value>
12702         </attribute>
12703         <optional>
12704             <ref name="style-table-column-properties"/>
12705         </optional>
12706     </group>
12707 </define>
12708 <define name="style-style-content" combine="choice">
12709     <group>
12710         <attribute name="style:family">
12711             <value>table-row</value>
12712         </attribute>
12713         <optional>
12714             <ref name="style-table-row-properties"/>
12715         </optional>
12716     </group>
12717 </define>
12718 <define name="style-style-content" combine="choice">
12719     <group>
12720         <attribute name="style:family">
12721             <value>table-cell</value>
12722         </attribute>
12723         <optional>
12724             <ref name="style-table-cell-properties"/>
12725         </optional>
12726         <optional>
12727             <ref name="style-paragraph-properties"/>
12728         </optional>
12729         <optional>
12730             <ref name="style-text-properties"/>
12731         </optional>
12732     </group>
12733 </define>
12734 <define name="style-style-content" combine="choice">
12735     <group>
12736         <attribute name="style:family">
12737             <choice>
12738                 <value>graphic</value>
12739                 <value>presentation</value>
12740             </choice>
12741         </attribute>
12742         <optional>
12743             <ref name="style-graphic-properties"/>
12744         </optional>
12745         <optional>
12746             <ref name="style-paragraph-properties"/>
12747         </optional>
12748         <optional>
12749             <ref name="style-text-properties"/>
12750         </optional>
12751     </group>
12752 </define>
12753 
12754 <define name="style-graphic-properties">
12755     <element name="style:graphic-properties">
12756         <ref name="style-graphic-properties-content"/>
12757     </element>
12758 </define>
12759 
12760 <define name="style-graphic-properties-content">
12761     <ref name="style-properties-content"/>
12762 </define>
12763 
12764 <define name="style-graphic-properties-content-strict">
12765     <ref name="style-graphic-properties-attlist"/>
12766     <ref name="style-graphic-fill-properties-attlist"/>
12767     <ref name="style-graphic-properties-elements"/>
12768 </define>
12769 
12770 <define name=" style-graphic-properties-elements">
12771     <empty/>
12772 </define>
12773 <define name="style-style-content" combine="choice">
12774     <group>
12775         <attribute name="style:family">
12776             <value>drawing-page</value>
12777         </attribute>
12778         <optional>
12779             <ref name="style-drawing-page-properties"/>
12780         </optional>
12781     </group>
12782 </define>
12783 
12784 <define name="style-drawing-page-properties">
12785     <element name="style:drawing-page-properties">
12786         <ref name="style-drawing-page-properties-content"/>
12787     </element>
12788 </define>
12789 
12790 <define name="style-drawing-page-properties-content">
12791     <ref name="style-properties-content"/>
12792 </define>
12793 
12794 <define name="style-drawing-page-properties-content-strict">
12795     <ref name="style-graphic-fill-properties-attlist"/>
12796     <ref name="style-drawing-page-properties-attlist"/>
12797     <ref name="style-drawing-page-properties-elements"/>
12798 </define>
12799 <define name="draw-gradient">
12800     <element name="draw:gradient">
12801         <ref name="common-draw-gradient-attlist"/>
12802         <ref name="draw-gradient-attlist"/>
12803         <empty/>
12804     </element>
12805 </define>
12806 <define name="common-draw-gradient-attlist" combine="interleave">
12807     <optional>
12808         <attribute name="draw:name">
12809             <ref name="styleName"/>
12810         </attribute>
12811     </optional>
12812 </define>
12813 <define name="common-draw-gradient-attlist" combine="interleave">
12814     <optional>
12815         <attribute name="draw:display-name">
12816             <ref name="string"/>
12817         </attribute>
12818     </optional>
12819 </define>
12820 <define name="common-draw-gradient-attlist" combine="interleave">
12821     <attribute name="draw:style">
12822         <ref name="gradient-style"/>
12823     </attribute>
12824 </define>
12825 <define name="gradient-style">
12826     <choice>
12827         <value>linear</value>
12828         <value>axial</value>
12829         <value>radial</value>
12830         <value>ellipsoid</value>
12831         <value>square</value>
12832         <value>rectangular</value>
12833     </choice>
12834 </define>
12835 <define name="common-draw-gradient-attlist" combine="interleave">
12836     <optional>
12837         <attribute name="draw:cx">
12838             <ref name="percent"/>
12839         </attribute>
12840     </optional>
12841     <optional>
12842         <attribute name="draw:cy">
12843             <ref name="percent"/>
12844         </attribute>
12845     </optional>
12846 </define>
12847 <define name="draw-gradient-attlist" combine="interleave">
12848     <optional>
12849         <attribute name="draw:start-color">
12850             <ref name="color"/>
12851         </attribute>
12852     </optional>
12853     <optional>
12854         <attribute name="draw:end-color">
12855             <ref name="color"/>
12856         </attribute>
12857     </optional>
12858 </define>
12859 <define name="draw-gradient-attlist" combine="interleave">
12860     <optional>
12861         <attribute name="draw:start-intensity">
12862             <ref name="percent"/>
12863         </attribute>
12864     </optional>
12865     <optional>
12866         <attribute name="draw:end-intensity">
12867             <ref name="percent"/>
12868         </attribute>
12869     </optional>
12870 </define>
12871 <define name="common-draw-gradient-attlist" combine="interleave">
12872     <optional>
12873         <attribute name="draw:angle">
12874             <ref name="integer"/>
12875         </attribute>
12876     </optional>
12877 </define>
12878 <define name="common-draw-gradient-attlist" combine="interleave">
12879     <optional>
12880         <attribute name="draw:border">
12881             <ref name="percent"/>
12882         </attribute>
12883     </optional>
12884 </define>
12885 <define name="svg-linearGradient">
12886     <element name="svg:linearGradient">
12887         <ref name="common-svg-gradient-attlist"/>
12888         <optional>
12889             <attribute name="svg:x1" a:defaultValue="0%">
12890                 <choice>
12891                     <ref name="coordinate"/>
12892                     <ref name="percent"/>
12893                 </choice>                
12894             </attribute>
12895         </optional>
12896         <optional>
12897             <attribute name="svg:y1" a:defaultValue="0%">
12898                 <choice>
12899                     <ref name="coordinate"/>
12900                     <ref name="percent"/>
12901                 </choice>                
12902             </attribute>
12903         </optional>
12904         <optional>
12905             <attribute name="svg:x2" a:defaultValue="100%">
12906                 <choice>
12907                     <ref name="coordinate"/>
12908                     <ref name="percent"/>
12909                 </choice>                
12910             </attribute>
12911         </optional>
12912         <optional>
12913             <attribute name="svg:y2" a:defaultValue="100%">
12914                 <choice>
12915                     <ref name="coordinate"/>
12916                     <ref name="percent"/>
12917                 </choice>                
12918             </attribute>
12919         </optional>
12920         <zeroOrMore>
12921             <ref name="svg-stop"/>
12922         </zeroOrMore>
12923     </element>
12924 </define>
12925 
12926 <define name="svg-radialGradient">
12927     <element name="svg:radialGradient">
12928         <ref name="common-svg-gradient-attlist"/>
12929         <optional>
12930             <attribute name="svg:cx" a:defaultValue="50%">
12931                 <choice>
12932                     <ref name="coordinate"/>
12933                     <ref name="percent"/>
12934                 </choice>                
12935             </attribute>
12936         </optional>
12937         <optional>
12938             <attribute name="svg:cy" a:defaultValue="50%">
12939                 <choice>
12940                     <ref name="coordinate"/>
12941                     <ref name="percent"/>
12942                 </choice>                
12943             </attribute>
12944         </optional>
12945         <optional>
12946             <attribute name="svg:r" a:defaultValue="50%">
12947                 <choice>
12948                     <ref name="coordinate"/>
12949                     <ref name="percent"/>
12950                 </choice>                
12951             </attribute>
12952         </optional>
12953         <optional>
12954             <attribute name="svg:fx">
12955                 <choice>
12956                     <ref name="coordinate"/>
12957                     <ref name="percent"/>
12958                 </choice>                
12959             </attribute>
12960         </optional>
12961         <optional>
12962             <attribute name="svg:fy">
12963                 <choice>
12964                     <ref name="coordinate"/>
12965                     <ref name="percent"/>
12966                 </choice>                
12967             </attribute>
12968         </optional>
12969         <zeroOrMore>
12970             <ref name="svg-stop"/>
12971         </zeroOrMore>
12972     </element>
12973 </define>
12974 
12975 <define name="svg-stop">
12976     <element name="svg:stop">
12977         <attribute name="svg:offset">
12978             <choice>
12979                 <ref name="double"/>
12980                 <ref name="percent"/>
12981             </choice>
12982         </attribute>
12983         <optional>
12984             <attribute name="svg:stop-color">
12985                 <ref name="color"/>
12986             </attribute>
12987         </optional>
12988         <optional>
12989             <attribute name="svg:stop-opacity">
12990                 <ref name="double"/>
12991             </attribute>
12992         </optional>
12993     </element>
12994 </define>
12995 
12996 <define name="common-svg-gradient-attlist" combine="interleave">
12997     <optional>
12998         <attribute name="svg:gradientUnits" a:defaultValue="objectBoundingBox">
12999             <value>objectBoundingBox</value>
13000         </attribute>
13001     </optional>
13002     <optional>
13003         <attribute name="svg:gradientTransform">
13004             <ref name="string"/>
13005         </attribute>
13006     </optional>
13007     <optional>
13008         <attribute name="svg:spreadMethod" a:defaultValue="pad">
13009             <choice>
13010                 <value>pad</value>
13011                 <value>reflect</value>
13012                 <value>repeat</value>
13013             </choice>
13014         </attribute>
13015     </optional>
13016 </define>
13017 <define name="common-svg-gradient-attlist" combine="interleave">
13018     <attribute name="draw:name">
13019         <ref name="styleName"/>
13020     </attribute>
13021 </define>
13022 <define name="common-svg-gradient-attlist" combine="interleave">
13023     <optional>
13024         <attribute name="draw:display-name">
13025             <ref name="string"/>
13026         </attribute>
13027     </optional>
13028 </define>
13029 <define name="draw-hatch">
13030     <element name="draw:hatch">
13031         <ref name="draw-hatch-attlist"/>
13032         <empty/>
13033     </element>
13034 </define>
13035 <define name="draw-hatch-attlist" combine="interleave">
13036     <attribute name="draw:name">
13037         <ref name="styleName"/>
13038     </attribute>
13039 </define>
13040 <define name="draw-hatch-attlist" combine="interleave">
13041     <optional>
13042         <attribute name="draw:display-name">
13043             <ref name="string"/>
13044         </attribute>
13045     </optional>
13046 </define>
13047 <define name="draw-hatch-attlist" combine="interleave">
13048     <attribute name="draw:style">
13049         <choice>
13050             <value>single</value>
13051             <value>double</value>
13052             <value>triple</value>
13053         </choice>
13054     </attribute>
13055 </define>
13056 <define name="draw-hatch-attlist" combine="interleave">
13057     <optional>
13058         <attribute name="draw:color">
13059             <ref name="color"/>
13060         </attribute>
13061     </optional>
13062 </define>
13063 <define name="draw-hatch-attlist" combine="interleave">
13064     <optional>
13065         <attribute name="draw:distance">
13066             <ref name="length"/>
13067         </attribute>
13068     </optional>
13069 </define>
13070 <define name="draw-hatch-attlist" combine="interleave">
13071     <optional>
13072         <attribute name="draw:rotation">
13073             <ref name="integer"/>
13074         </attribute>
13075     </optional>
13076 </define>
13077 <define name="draw-fill-image">
13078     <element name="draw:fill-image">
13079         <ref name="draw-fill-image-attlist"/>
13080         <attribute name="xlink:href">
13081             <ref name="anyURI"/>
13082         </attribute>
13083         <optional>
13084             <attribute name="xlink:type" a:defaultValue="simple">
13085                 <choice>
13086                     <value>simple</value>
13087                 </choice>
13088             </attribute>
13089         </optional>
13090         <optional>
13091             <attribute name="xlink:show" a:defaultValue="embed">
13092                 <choice>
13093                     <value>embed</value>
13094                 </choice>
13095             </attribute>
13096         </optional>
13097         <optional>
13098             <attribute name="xlink:actuate" a:defaultValue="onLoad">
13099                 <choice>
13100                     <value>onLoad</value>
13101                 </choice>
13102             </attribute>
13103         </optional>
13104         <empty/>
13105     </element>
13106 </define>
13107 <define name="draw-fill-image-attlist" combine="interleave">
13108     <attribute name="draw:name">
13109         <ref name="styleName"/>
13110     </attribute>
13111 </define>
13112 <define name="draw-fill-image-attlist" combine="interleave">
13113     <optional>
13114         <attribute name="draw:display-name">
13115             <ref name="string"/>
13116         </attribute>
13117     </optional>
13118 </define>
13119 <define name="draw-fill-image-attlist" combine="interleave">
13120     <optional>
13121         <attribute name="svg:width">
13122             <ref name="length"/>
13123         </attribute>
13124     </optional>
13125     <optional>
13126         <attribute name="svg:height">
13127             <ref name="length"/>
13128         </attribute>
13129     </optional>
13130 </define>
13131 <define name="draw-opacity">
13132     <element name="draw:opacity">
13133         <ref name="common-draw-gradient-attlist"/>
13134         <ref name="draw-opacity-attlist"/>
13135         <empty/>
13136     </element>
13137 </define>
13138 <define name="draw-opacity-attlist" combine="interleave">
13139     <optional>
13140         <attribute name="draw:start">
13141             <ref name="percent"/>
13142         </attribute>
13143     </optional>
13144     <optional>
13145         <attribute name="draw:end">
13146             <ref name="percent"/>
13147         </attribute>
13148     </optional>
13149 </define>
13150 <define name="draw-marker">
13151     <element name="draw:marker">
13152         <ref name="draw-marker-attlist"/>
13153         <ref name="common-draw-viewbox-attlist"/>
13154         <ref name="common-draw-path-data-attlist"/>
13155         <empty/>
13156     </element>
13157 </define>
13158 <define name="draw-marker-attlist" combine="interleave">
13159     <attribute name="draw:name">
13160         <ref name="styleName"/>
13161     </attribute>
13162 </define>
13163 <define name="draw-marker-attlist" combine="interleave">
13164     <optional>
13165         <attribute name="draw:display-name">
13166             <ref name="string"/>
13167         </attribute>
13168     </optional>
13169 </define>
13170 <define name="draw-stroke-dash">
13171     <element name="draw:stroke-dash">
13172         <ref name="draw-stroke-dash-attlist"/>
13173         <empty/>
13174     </element>
13175 </define>
13176 <define name="draw-stroke-dash-attlist" combine="interleave">
13177     <attribute name="draw:name">
13178         <ref name="styleName"/>
13179     </attribute>
13180 </define>
13181 <define name="draw-stroke-dash-attlist" combine="interleave">
13182     <optional>
13183         <attribute name="draw:display-name">
13184             <ref name="string"/>
13185         </attribute>
13186     </optional>
13187 </define>
13188 <define name="draw-stroke-dash-attlist" combine="interleave">
13189     <optional>
13190         <attribute name="draw:style">
13191             <choice>
13192                 <value>rect</value>
13193                 <value>round</value>
13194             </choice>
13195         </attribute>
13196     </optional>
13197 </define>
13198 <define name="draw-stroke-dash-attlist" combine="interleave">
13199     <optional>
13200         <attribute name="draw:dots1">
13201             <ref name="integer"/>
13202         </attribute>
13203     </optional>
13204     <optional>
13205         <attribute name="draw:dots1-length">
13206             <ref name="length"/>
13207         </attribute>
13208     </optional>
13209     <optional>
13210         <attribute name="draw:dots2">
13211             <ref name="integer"/>
13212         </attribute>
13213     </optional>
13214     <optional>
13215         <attribute name="draw:dots2-length">
13216             <ref name="length"/>
13217         </attribute>
13218     </optional>
13219 </define>
13220 <define name="draw-stroke-dash-attlist" combine="interleave">
13221     <optional>
13222         <attribute name="draw:distance">
13223             <ref name="length"/>
13224         </attribute>
13225     </optional>
13226 </define>
13227 <define name="style-presentation-page-layout">
13228     <element name="style:presentation-page-layout">
13229         <attribute name="style:name">
13230             <ref name="styleName"/>
13231         </attribute>
13232         <optional>
13233             <attribute name="style:display-name">
13234                 <ref name="string"/>
13235             </attribute>
13236         </optional>
13237         <zeroOrMore>
13238             <ref name="presentation-placeholder"/>
13239         </zeroOrMore>
13240     </element>
13241 </define>
13242 <define name="presentation-placeholder">
13243     <element name="presentation:placeholder">
13244         <attribute name="presentation:object">
13245             <ref name="presentation-classes"/>
13246         </attribute>
13247         <attribute name="svg:x">
13248             <choice>
13249                 <ref name="coordinate"/>
13250                 <ref name="percent"/>
13251             </choice>
13252         </attribute>
13253         <attribute name="svg:y">
13254             <choice>
13255                 <ref name="coordinate"/>
13256                 <ref name="percent"/>
13257             </choice>
13258         </attribute>
13259         <attribute name="svg:width">
13260             <choice>
13261                 <ref name="length"/>
13262                 <ref name="percent"/>
13263             </choice>
13264         </attribute>
13265         <attribute name="svg:height">
13266             <choice>
13267                 <ref name="length"/>
13268                 <ref name="percent"/>
13269             </choice>
13270         </attribute>
13271         <empty/>
13272     </element>
13273 </define>
13274 <define name="style-style-content" combine="choice">
13275     <group>
13276         <attribute name="style:family">
13277             <value>chart</value>
13278         </attribute>
13279         <optional>
13280             <ref name="style-chart-properties"/>
13281         </optional>
13282         <optional>
13283             <ref name="style-graphic-properties"/>
13284         </optional>
13285         <optional>
13286             <ref name="style-paragraph-properties"/>
13287         </optional>
13288         <optional>
13289             <ref name="style-text-properties"/>
13290         </optional>
13291     </group>
13292 </define>
13293 <define name="style-properties-content">
13294     <ref name="anyAttListOrElements"/>
13295 </define>
13296 <define name="style-page-layout-properties">
13297     <element name="style:page-layout-properties">
13298         <ref name="style-page-layout-properties-content"/>
13299     </element>
13300 </define>
13301 
13302 <define name="style-page-layout-properties-content">
13303     <ref name="style-properties-content"/>
13304 </define>
13305 
13306 <define name="style-page-layout-properties-content-strict">
13307     <ref name="style-page-layout-properties-attlist"/>
13308     <ref name="style-page-layout-properties-elements"/>
13309 </define>
13310 <define name="style-page-layout-properties-attlist" combine="interleave">
13311     <optional>
13312         <attribute name="fo:page-width">
13313             <ref name="length"/>
13314         </attribute>
13315     </optional>
13316     <optional>
13317         <attribute name="fo:page-height">
13318             <ref name="length"/>
13319         </attribute>
13320     </optional>
13321 </define>
13322 <define name="style-page-layout-properties-attlist" combine="interleave">
13323     <optional>
13324         <ref name="common-num-format-attlist"/>
13325     </optional>
13326     <ref name="common-num-format-prefix-suffix-attlist"/>
13327 </define>
13328 <define name="style-page-layout-properties-attlist" combine="interleave">
13329     <optional>
13330         <attribute name="style:paper-tray-name">
13331             <choice>
13332                 <value>default</value>
13333                 <ref name="string"/>
13334             </choice>
13335         </attribute>
13336     </optional>
13337 </define>
13338 <define name="style-page-layout-properties-attlist" combine="interleave">
13339     <optional>
13340         <attribute name="style:print-orientation">
13341             <choice>
13342                 <value>portrait</value>
13343                 <value>landscape</value>
13344             </choice>
13345         </attribute>
13346     </optional>
13347 </define>
13348 <define name="style-page-layout-properties-attlist" combine="interleave">
13349     <ref name="common-horizontal-margin-attlist"/>
13350     <ref name="common-vertical-margin-attlist"/>
13351     <ref name="common-margin-attlist"/>
13352 </define>
13353 <define name="style-page-layout-properties-attlist" combine="interleave">
13354     <ref name="common-border-attlist"/>
13355 </define>
13356 <define name="style-page-layout-properties-attlist" combine="interleave">
13357     <ref name="common-border-line-width-attlist"/>
13358 </define>
13359 <define name="style-page-layout-properties-attlist" combine="interleave">
13360     <ref name="common-padding-attlist"/>
13361 </define>
13362 <define name="style-page-layout-properties-attlist" combine="interleave">
13363     <ref name="common-shadow-attlist"/>
13364 </define>
13365 <define name="style-page-layout-properties-attlist" combine="interleave">
13366     <ref name="common-background-color-attlist"/>
13367 </define>
13368 <define name="style-page-layout-properties-elements" combine="interleave">
13369     <ref name="style-background-image"/>
13370 </define>
13371 <define name="style-page-layout-properties-elements" combine="interleave">
13372     <ref name="style-columns"/>
13373 </define>
13374 <define name="style-page-layout-properties-attlist" combine="interleave">
13375     <optional>
13376         <attribute name="style:register-truth-ref-style-name">
13377             <ref name="styleNameRef"/>
13378         </attribute>
13379     </optional>
13380 </define>
13381 <define name="style-page-layout-properties-attlist" combine="interleave">
13382     <optional>
13383         <attribute name="style:print">
13384             <list>
13385                 <zeroOrMore>
13386                     <choice>
13387                         <value>headers</value>
13388                         <value>grid</value>
13389                         <value>annotations</value>
13390                         <value>objects</value>
13391                         <value>charts</value>
13392                         <value>drawings</value>
13393                         <value>formulas</value>
13394                         <value>zero-values</value>
13395                     </choice>
13396                 </zeroOrMore>
13397             </list>
13398         </attribute>
13399     </optional>
13400 </define>
13401 <define name="style-page-layout-properties-attlist" combine="interleave">
13402     <optional>
13403         <attribute name="style:print-page-order">
13404             <choice>
13405                 <value>ttb</value>
13406                 <value>ltr</value>
13407             </choice>
13408         </attribute>
13409     </optional>
13410 </define>
13411 <define name="style-page-layout-properties-attlist" combine="interleave">
13412     <optional>
13413         <attribute name="style:first-page-number">
13414             <choice>
13415                 <ref name="positiveInteger"/>
13416                 <value>continue</value>
13417             </choice>
13418         </attribute>
13419     </optional>
13420 </define>
13421 <define name="style-page-layout-properties-attlist" combine="interleave">
13422     <optional>
13423         <attribute name="style:scale-to">
13424             <ref name="percent"/>
13425         </attribute>
13426     </optional>
13427     <optional>
13428         <attribute name="style:scale-to-pages">
13429             <ref name="positiveInteger"/>
13430         </attribute>
13431     </optional>
13432 </define>
13433 <define name="style-page-layout-properties-attlist" combine="interleave">
13434     <optional>
13435         <attribute name="style:table-centering">
13436             <choice>
13437                 <value>horizontal</value>
13438                 <value>vertical</value>
13439                 <value>both</value>
13440                 <value>none</value>
13441             </choice>
13442         </attribute>
13443     </optional>
13444 </define>
13445 <define name="style-page-layout-properties-attlist" combine="interleave">
13446     <optional>
13447         <attribute name="style:footnote-max-height">
13448             <ref name="length"/>
13449         </attribute>
13450     </optional>
13451 </define>
13452 <define name="style-page-layout-properties-attlist" combine="interleave">
13453     <ref name="common-writing-mode-attlist"/>
13454 </define>
13455 <define name="style-page-layout-properties-elements" combine="interleave">
13456     <ref name="style-footnote-sep"/>
13457 </define>
13458 
13459 <define name="style-footnote-sep">
13460     <optional>
13461         <element name="style:footnote-sep">
13462             <ref name="style-footnote-sep-attlist"/>
13463             <empty/>
13464         </element>
13465     </optional>
13466 </define>
13467 <define name="style-footnote-sep-attlist" combine="interleave">
13468     <optional>
13469         <attribute name="style:width">
13470             <ref name="length"/>
13471         </attribute>
13472     </optional>
13473     <optional>
13474         <attribute name="style:rel-width">
13475             <ref name="percent"/>
13476         </attribute>
13477     </optional>
13478     <optional>
13479         <attribute name="style:color">
13480             <ref name="color"/>
13481         </attribute>
13482     </optional>
13483     <optional>
13484         <attribute name="style:line-style">
13485             <ref name="lineStyle"/>
13486         </attribute>
13487     </optional>
13488     <optional>
13489         <attribute name="style:adjustment" a:defaultValue="left">
13490             <choice>
13491                 <value>left</value>
13492                 <value>center</value>
13493                 <value>right</value>
13494             </choice>
13495         </attribute>
13496     </optional>
13497     <optional>
13498         <attribute name="style:distance-before-sep">
13499             <ref name="length"/>
13500         </attribute>
13501     </optional>
13502     <optional>
13503         <attribute name="style:distance-after-sep">
13504             <ref name="length"/>
13505         </attribute>
13506     </optional>
13507 </define>
13508 <define name="style-page-layout-properties-attlist" combine="interleave">
13509     <optional>
13510         <attribute name="style:layout-grid-mode">
13511             <choice>
13512                 <value>none</value>
13513                 <value>line</value>
13514                 <value>both</value>
13515             </choice>
13516         </attribute>
13517     </optional>
13518 </define>
13519 <define name="style-page-layout-properties-attlist" combine="interleave">
13520     <optional>
13521         <attribute name="style:layout-grid-base-height">
13522             <ref name="length"/>
13523         </attribute>
13524     </optional>
13525 </define>
13526 <define name="style-page-layout-properties-attlist" combine="interleave">
13527     <optional>
13528         <attribute name="style:layout-grid-ruby-height">
13529             <ref name="length"/>
13530         </attribute>
13531     </optional>
13532 </define>
13533 <define name="style-page-layout-properties-attlist" combine="interleave">
13534     <optional>
13535         <attribute name="style:layout-grid-lines">
13536             <ref name="positiveInteger"/>
13537         </attribute>
13538     </optional>
13539 </define>
13540 <define name="style-page-layout-properties-attlist" combine="interleave">
13541     <optional>
13542         <attribute name="style:layout-grid-color">
13543             <ref name="color"/>
13544         </attribute>
13545     </optional>
13546 </define>
13547 <define name="style-page-layout-properties-attlist" combine="interleave">
13548     <optional>
13549         <attribute name="style:layout-grid-ruby-below">
13550             <ref name="boolean"/>
13551         </attribute>
13552     </optional>
13553 </define>
13554 <define name="style-page-layout-properties-attlist" combine="interleave">
13555     <optional>
13556         <attribute name="style:layout-grid-print">
13557             <ref name="boolean"/>
13558         </attribute>
13559     </optional>
13560 </define>
13561 <define name="style-page-layout-properties-attlist" combine="interleave">
13562     <optional>
13563         <attribute name="style:layout-grid-display">
13564             <ref name="boolean"/>
13565         </attribute>
13566     </optional>
13567 </define>
13568 <define name="style-header-footer-properties">
13569     <element name="style:header-footer-properties">
13570         <ref name="style-header-footer-properties-content"/>
13571     </element>
13572 </define>
13573 
13574 <define name="style-header-footer-properties-content">
13575     <ref name="style-properties-content"/>
13576 </define>
13577 
13578 <define name="style-header-footer-properties-content-strict">
13579         <ref name="style-header-footer-properties-attlist"/>
13580         <ref name="style-header-footer-properties-elements"/>
13581 </define>
13582 <define name="style-header-footer-properties-attlist" combine="interleave">
13583     <optional>
13584         <attribute name="svg:height">
13585             <ref name="length"/>
13586         </attribute>
13587     </optional>
13588     <optional>
13589         <attribute name="fo:min-height">
13590             <ref name="length"/>
13591         </attribute>
13592     </optional>
13593 </define>
13594 <define name="style-header-footer-properties-attlist" combine="interleave">
13595     <ref name="common-horizontal-margin-attlist"/>
13596     <ref name="common-vertical-margin-attlist"/>
13597     <ref name="common-margin-attlist"/>
13598 </define>
13599 <define name="style-header-footer-properties-attlist" combine="interleave">
13600     <ref name="common-border-attlist"/>
13601 </define>
13602 <define name="style-header-footer-properties-attlist" combine="interleave">
13603     <ref name="common-border-line-width-attlist"/>
13604 </define>
13605 <define name="style-header-footer-properties-attlist" combine="interleave">
13606     <ref name="common-padding-attlist"/>
13607 </define>
13608 <define name="style-header-footer-properties-attlist" combine="interleave">
13609     <ref name="common-background-color-attlist"/>
13610 </define>
13611 <define name="style-header-footer-properties-elements" combine="interleave">
13612     <ref name="style-background-image"/>
13613 </define>
13614 <define name="style-header-footer-properties-attlist" combine="interleave">
13615     <ref name="common-shadow-attlist"/>
13616 </define>
13617 <define name="style-header-footer-attlist" combine="interleave">
13618     <optional>
13619         <attribute name="style:dynamic-spacing">
13620             <ref name="boolean"/>
13621         </attribute>
13622     </optional>
13623 </define>
13624 <define name="style-text-properties">
13625     <element name="style:text-properties">
13626         <ref name="style-text-properties-content"/>
13627     </element>
13628 </define>
13629 
13630 <define name="style-text-properties-content">
13631     <ref name="style-properties-content"/>
13632 </define>
13633 
13634 <define name="style-text-properties-content-strict">
13635     <ref name="style-text-properties-attlist"/>
13636     <ref name="style-text-properties-elements"/>
13637 </define>
13638 
13639 <define name="style-text-properties-elements">
13640     <empty/>
13641 </define>
13642 <define name="style-text-properties-attlist" combine="interleave">
13643     <optional>
13644         <attribute name="fo:font-variant">
13645             <ref name="fontVariant"/>
13646         </attribute>
13647     </optional>
13648 </define>
13649 
13650 <define name="fontVariant">
13651     <choice>
13652         <value>normal</value>
13653         <value>small-caps</value>
13654     </choice>
13655 </define>
13656 <define name="style-text-properties-attlist" combine="interleave">
13657     <optional>
13658         <attribute name="fo:text-transform">
13659             <choice>
13660                 <value>none</value>
13661                 <value>lowercase</value>
13662                 <value>uppercase</value>
13663                 <value>capitalize</value>
13664             </choice>
13665         </attribute>
13666     </optional>
13667 </define>
13668 <define name="style-text-properties-attlist" combine="interleave">
13669     <optional>
13670             <attribute name="fo:color">
13671             <ref name="color"/>
13672         </attribute>
13673     </optional>
13674 </define>
13675 <define name="style-text-properties-attlist" combine="interleave">
13676     <optional>
13677         <attribute name="style:use-window-font-color">
13678             <ref name="boolean"/>
13679         </attribute>
13680     </optional>
13681 </define>
13682 <define name="style-text-properties-attlist" combine="interleave">
13683     <optional>
13684         <attribute name="style:text-outline">
13685             <ref name="boolean"/>
13686         </attribute>
13687     </optional>
13688 </define>
13689 <define name="style-text-properties-attlist" combine="interleave">
13690     <optional>
13691         <attribute name="style:text-line-through-type">
13692             <ref name="lineType"/>
13693         </attribute>
13694     </optional>
13695 </define>
13696 <define name="style-text-properties-attlist" combine="interleave">
13697     <optional>
13698         <attribute name="style:text-line-through-style">
13699             <ref name="lineStyle"/>
13700         </attribute>
13701     </optional>
13702 </define>
13703 <define name="style-text-properties-attlist" combine="interleave">
13704     <optional>
13705         <attribute name="style:text-line-through-width">
13706             <ref name="lineWidth"/>
13707         </attribute>
13708     </optional>
13709 </define>
13710 <define name="style-text-properties-attlist" combine="interleave">
13711     <optional>
13712         <attribute name="style:text-line-through-color">
13713             <choice>
13714                 <value>font-color</value>
13715                 <ref name="color"/>
13716             </choice>
13717         </attribute>
13718     </optional>
13719 </define>
13720 <define name="style-text-properties-attlist" combine="interleave">
13721     <optional>
13722         <attribute name="style:text-line-through-text">
13723             <ref name="string"/>
13724         </attribute>
13725     </optional>
13726 </define>
13727 <define name="style-text-properties-attlist" combine="interleave">
13728     <optional>
13729         <attribute name="style:text-line-through-text-style">
13730             <ref name="styleNameRef"/>
13731         </attribute>
13732     </optional>
13733 </define>
13734 <define name="style-text-properties-attlist" combine="interleave">
13735     <optional>
13736         <attribute name="style:text-position">
13737             <list>
13738                 <choice>
13739                     <ref name="percent"/>
13740                     <value>super</value>
13741                     <value>sub</value>
13742                 </choice>
13743                 <optional>
13744                     <ref name="percent"/>
13745                 </optional>
13746             </list>
13747         </attribute>
13748     </optional>
13749 </define>
13750 <define name="style-text-properties-attlist" combine="interleave">
13751     <optional>
13752         <attribute name="style:font-name">
13753             <ref name="string"/>
13754         </attribute>
13755     </optional>
13756     <optional>
13757         <attribute name="style:font-name-asian">
13758             <ref name="string"/>
13759         </attribute>
13760     </optional>
13761     <optional>
13762         <attribute name="style:font-name-complex">
13763             <ref name="string"/>
13764         </attribute>
13765     </optional>
13766 </define>
13767 <define name="style-text-properties-attlist" combine="interleave">
13768     <optional>
13769         <attribute name="fo:font-family">
13770             <ref name="string"/>
13771         </attribute>
13772     </optional>
13773     <optional>
13774         <attribute name="style:font-family-asian">
13775             <ref name="string"/>
13776         </attribute>
13777     </optional>
13778     <optional>
13779         <attribute name="style:font-family-complex">
13780             <ref name="string"/>
13781         </attribute>
13782     </optional>
13783 </define>
13784 <define name="style-text-properties-attlist" combine="interleave">
13785     <optional>
13786         <attribute name="style:font-family-generic">
13787             <ref name="fontFamilyGeneric"/>
13788         </attribute>
13789     </optional>
13790     <optional>
13791         <attribute name="style:font-family-generic-asian">
13792             <ref name="fontFamilyGeneric"/>
13793         </attribute>
13794     </optional>
13795     <optional>
13796         <attribute name="style:font-family-generic-complex">
13797             <ref name="fontFamilyGeneric"/>
13798         </attribute>
13799     </optional>
13800 </define>
13801 
13802 <define name="fontFamilyGeneric">
13803     <choice>
13804         <value>roman</value>
13805         <value>swiss</value>
13806         <value>modern</value>
13807         <value>decorative</value>
13808         <value>script</value>
13809         <value>system</value>
13810     </choice>
13811 </define>
13812 <define name="style-text-properties-attlist" combine="interleave">
13813     <optional>
13814         <attribute name="style:font-style-name">
13815             <ref name="string"/>
13816         </attribute>
13817     </optional>
13818     <optional>
13819         <attribute name="style:font-style-name-asian">
13820             <ref name="string"/>
13821         </attribute>
13822     </optional>
13823     <optional>
13824         <attribute name="style:font-style-name-complex">
13825             <ref name="string"/>
13826         </attribute>
13827     </optional>
13828 </define>
13829 <define name="style-text-properties-attlist" combine="interleave">
13830     <optional>
13831         <attribute name="style:font-pitch">
13832             <ref name="fontPitch"/>
13833         </attribute>
13834     </optional>
13835     <optional>
13836         <attribute name="style:font-pitch-asian">
13837             <ref name="fontPitch"/>
13838         </attribute>
13839     </optional>
13840     <optional>
13841         <attribute name="style:font-pitch-complex">
13842             <ref name="fontPitch"/>
13843         </attribute>
13844     </optional>
13845 </define>
13846 
13847 <define name="fontPitch">
13848     <choice>
13849         <value>fixed</value>
13850         <value>variable</value>
13851     </choice>
13852 </define>
13853 <define name="style-text-properties-attlist" combine="interleave">
13854     <optional>
13855         <attribute name="style:font-charset">
13856             <ref name="textEncoding"/>
13857         </attribute>
13858     </optional>
13859 </define>
13860 
13861 <define name="textEncoding">
13862     <data type="string">
13863         <param name="pattern">[A-Za-z][A-Za-z0-9._\-]*</param>
13864     </data>
13865 </define>
13866 <define name="style-text-properties-attlist" combine="interleave">
13867     <optional>
13868         <attribute name="fo:font-size">
13869             <choice>
13870                 <ref name="positiveLength"/>
13871                 <ref name="percent"/>
13872             </choice>
13873         </attribute>
13874     </optional>
13875     <optional>
13876         <attribute name="style:font-size-asian">
13877             <choice>
13878                 <ref name="positiveLength"/>
13879                 <ref name="percent"/>
13880             </choice>
13881         </attribute>
13882     </optional>
13883     <optional>
13884         <attribute name="style:font-size-complex">
13885             <choice>
13886                 <ref name="positiveLength"/>
13887                 <ref name="percent"/>
13888             </choice>
13889         </attribute>
13890     </optional>
13891 </define>
13892 <define name="style-text-properties-attlist" combine="interleave">
13893     <optional>
13894         <attribute name="style:font-size-rel">
13895             <ref name="length"/>
13896         </attribute>
13897     </optional>
13898     <optional>
13899         <attribute name="style:font-size-rel-asian">
13900             <ref name="length"/>
13901         </attribute>
13902     </optional>
13903     <optional>
13904         <attribute name="style:font-size-rel-complex">
13905             <ref name="length"/>
13906         </attribute>
13907     </optional>
13908 </define>
13909 <define name="style-text-properties-attlist" combine="interleave">
13910     <optional>
13911         <attribute name="style:script-type">
13912             <choice>
13913                 <value>latin</value>
13914                 <value>asian</value>
13915                 <value>complex</value>
13916                 <value>ignore</value>
13917             </choice>
13918         </attribute>
13919     </optional>
13920 </define>
13921 <define name="style-text-properties-attlist" combine="interleave">
13922     <optional>
13923         <attribute name="fo:letter-spacing">
13924             <choice>
13925                 <ref name="length"/>
13926                 <value>normal</value>
13927             </choice>
13928         </attribute>
13929     </optional>
13930 </define>
13931 <define name="style-text-properties-attlist" combine="interleave">
13932     <optional>
13933         <attribute name="fo:language">
13934             <ref name="languageCode"/>
13935         </attribute>
13936     </optional>
13937     <optional>
13938         <attribute name="style:language-asian">
13939             <ref name="languageCode"/>
13940         </attribute>
13941     </optional>
13942     <optional>
13943         <attribute name="style:language-complex">
13944             <ref name="languageCode"/>
13945         </attribute>
13946     </optional>
13947 </define>
13948 <define name="style-text-properties-attlist" combine="interleave">
13949     <optional>
13950         <attribute name="fo:country">
13951             <ref name="countryCode"/>
13952         </attribute>
13953     </optional>
13954     <optional>
13955         <attribute name="style:country-asian">
13956             <ref name="countryCode"/>
13957         </attribute>
13958     </optional>
13959     <optional>
13960         <attribute name="style:country-complex">
13961             <ref name="countryCode"/>
13962         </attribute>
13963     </optional>
13964 </define>
13965 <define name="style-text-properties-attlist" combine="interleave">
13966     <optional>
13967         <attribute name="fo:font-style">
13968             <ref name="fontStyle"/>
13969         </attribute>
13970     </optional>
13971     <optional>
13972         <attribute name="style:font-style-asian">
13973             <ref name="fontStyle"/>
13974         </attribute>
13975     </optional>
13976     <optional>
13977         <attribute name="style:font-style-complex">
13978             <ref name="fontStyle"/>
13979         </attribute>
13980     </optional>
13981 </define>
13982 
13983 <define name="fontStyle">
13984     <choice>
13985         <value>normal</value>
13986         <value>italic</value>
13987         <value>oblique</value>
13988     </choice>
13989 </define>
13990 <define name="style-text-properties-attlist" combine="interleave">
13991     <optional>
13992         <attribute name="style:font-relief">
13993             <choice>
13994             <value>none</value>
13995                 <value>embossed</value>
13996                 <value>engraved</value>
13997             </choice>
13998         </attribute>
13999     </optional>
14000 </define>
14001 <define name="style-text-properties-attlist" combine="interleave">
14002     <optional>
14003         <attribute name="fo:text-shadow">
14004             <ref name="shadowType"/>
14005         </attribute>
14006     </optional>
14007 </define>
14008 
14009 <define name="shadowType">
14010     <choice>
14011         <value>none</value>
14012         <!-- The follwing string must match an XSL shadow decl -->
14013         <ref name="string"/>
14014     </choice>
14015 </define>
14016 <define name="style-text-properties-attlist" combine="interleave">
14017     <optional>
14018         <attribute name="style:text-underline-type">
14019             <ref name="lineType"/>
14020         </attribute>
14021     </optional>
14022 </define>
14023 
14024 <define name="lineType">
14025     <choice>
14026         <value>none</value>
14027         <value>single</value>
14028         <value>double</value>
14029     </choice>
14030 </define>
14031 <define name="style-text-properties-attlist" combine="interleave">
14032     <optional>
14033         <attribute name="style:text-underline-style">
14034             <ref name="lineStyle"/>
14035         </attribute>
14036     </optional>
14037 </define>
14038 
14039 <define name="lineStyle">
14040     <choice>
14041         <value>none</value>
14042         <value>solid</value>
14043         <value>dotted</value>
14044         <value>dash</value>
14045         <value>long-dash</value>
14046         <value>dot-dash</value>
14047         <value>dot-dot-dash</value>
14048         <value>wave</value>
14049     </choice>
14050 </define>
14051 <define name="style-text-properties-attlist" combine="interleave">
14052     <optional>
14053         <attribute name="style:text-underline-width">
14054             <ref name="lineWidth"/>
14055         </attribute>
14056     </optional>
14057 </define>
14058 
14059 <define name="lineWidth">
14060     <choice>
14061         <value>auto</value>
14062         <value>normal</value>
14063         <value>bold</value>
14064         <value>thin</value>
14065         <value>dash</value>
14066         <value>medium</value>
14067         <value>thick</value>
14068         <ref name="positiveInteger"/>
14069         <ref name="percent"/>
14070         <ref name="positiveLength"/>
14071     </choice>
14072 </define>
14073 <define name="style-text-properties-attlist" combine="interleave">
14074     <optional>
14075         <attribute name="style:text-underline-color">
14076             <choice>
14077                 <value>font-color</value>
14078                 <ref name="color"/>
14079             </choice>
14080         </attribute>
14081     </optional>
14082 </define>
14083 <define name="style-text-properties-attlist" combine="interleave">
14084     <optional>
14085         <attribute name="fo:font-weight">
14086             <ref name="fontWeight"/>
14087         </attribute>
14088     </optional>
14089     <optional>
14090         <attribute name="style:font-weight-asian">
14091             <ref name="fontWeight"/>
14092         </attribute>
14093     </optional>
14094     <optional>
14095         <attribute name="style:font-weight-complex">
14096             <ref name="fontWeight"/>
14097         </attribute>
14098     </optional>
14099 </define>
14100 
14101 <define name="fontWeight">
14102     <choice>
14103         <value>normal</value>
14104         <value>bold</value>
14105         <value>100</value>
14106         <value>200</value>
14107         <value>300</value>
14108         <value>400</value>
14109         <value>500</value>
14110         <value>600</value>
14111         <value>700</value>
14112         <value>800</value>
14113         <value>900</value>
14114     </choice>
14115 </define>
14116 <define name="style-text-properties-attlist" combine="interleave">
14117     <optional>
14118         <attribute name="style:text-underline-mode">
14119             <ref name="lineMode"/>
14120         </attribute>
14121     </optional>
14122 </define>
14123 
14124 <define name="lineMode">
14125     <choice>
14126         <value>continuous</value>
14127         <value>skip-white-space</value>
14128     </choice>
14129 </define>
14130 <define name="style-text-properties-attlist" combine="interleave">
14131     <optional>
14132         <attribute name="style:text-line-through-mode">
14133             <ref name="lineMode"/>
14134         </attribute>
14135     </optional>
14136 </define>
14137 <define name="style-text-properties-attlist" combine="interleave">
14138     <optional>
14139         <attribute name="style:letter-kerning">
14140             <ref name="boolean"/>
14141         </attribute>
14142     </optional>
14143 </define>
14144 <define name="style-text-properties-attlist" combine="interleave">
14145     <optional>
14146         <attribute name="style:text-blinking">
14147             <ref name="boolean"/>
14148         </attribute>
14149     </optional>
14150 </define>
14151 <define name="style-text-properties-attlist" combine="interleave">
14152     <ref name="common-background-color-attlist"/>
14153 </define>
14154 <define name="style-text-properties-attlist" combine="interleave">
14155     <optional>
14156         <attribute name="style:text-combine">
14157             <choice>
14158                 <value>none</value>
14159                 <value>letters</value>
14160                 <value>lines</value>
14161             </choice>
14162         </attribute>
14163     </optional>
14164 </define>
14165 <define name="style-text-properties-attlist" combine="interleave">
14166     <optional>
14167         <attribute name="style:text-combine-start-char">
14168             <ref name="character"/>
14169         </attribute>
14170     </optional>
14171     <optional>
14172         <attribute name="style:text-combine-end-char">
14173             <ref name="character"/>
14174         </attribute>
14175     </optional>
14176 </define>
14177 <define name="style-text-properties-attlist" combine="interleave">
14178     <optional>
14179         <attribute name="style:text-emphasize">
14180             <choice>
14181                 <value>none</value>
14182                 <list>
14183                     <choice>
14184                         <value>none</value>
14185                         <value>accent</value>
14186                         <value>dot</value>
14187                         <value>circle</value>
14188                         <value>disc</value>
14189                     </choice>
14190                     <choice>
14191                         <value>above</value>
14192                         <value>below</value>
14193                     </choice>
14194                 </list>
14195             </choice>
14196         </attribute>
14197     </optional>
14198 </define>
14199 <define name="style-text-properties-attlist" combine="interleave">
14200     <optional>
14201         <attribute name="style:text-scale">
14202             <ref name="percent"/>
14203         </attribute>
14204     </optional>
14205 </define>
14206 <define name="style-text-properties-attlist" combine="interleave">
14207     <optional>
14208         <attribute name="style:text-rotation-angle">
14209             <ref name="integer"/>
14210         </attribute>
14211     </optional>
14212 </define>
14213 <define name="style-text-properties-attlist" combine="interleave">
14214     <optional>
14215         <attribute name="style:text-rotation-scale">
14216             <choice>
14217                 <value>fixed</value>
14218                 <value>line-height</value>
14219             </choice>
14220         </attribute>
14221     </optional>
14222 </define>
14223 <define name="style-text-properties-attlist" combine="interleave">
14224     <optional>
14225         <attribute name="fo:hyphenate">
14226             <ref name="boolean"/>
14227         </attribute>
14228     </optional>
14229 </define>
14230 <define name="style-text-properties-attlist" combine="interleave">
14231     <optional>
14232         <attribute name="fo:hyphenation-remain-char-count">
14233             <ref name="positiveInteger"/>
14234         </attribute>
14235     </optional>
14236 </define>
14237 <define name="style-text-properties-attlist" combine="interleave">
14238     <optional>
14239         <attribute name="fo:hyphenation-push-char-count">
14240             <ref name="positiveInteger"/>
14241         </attribute>
14242     </optional>
14243 </define>
14244 <define name="style-text-properties-attlist" combine="interleave">
14245     <choice>
14246         <attribute name="text:display">
14247             <value>true</value>
14248         </attribute>
14249         <attribute name="text:display">
14250             <value>none</value>
14251         </attribute>
14252         <group>
14253             <attribute name="text:display">
14254                 <value>condition</value>
14255             </attribute>
14256             <attribute name="text:condition">
14257                 <value>none</value>
14258             </attribute>
14259         </group>
14260         <empty/>
14261     </choice>
14262 </define>
14263 <define name="style-paragraph-properties">
14264     <element name="style:paragraph-properties">
14265         <ref name="style-paragraph-properties-content"/>
14266     </element>
14267 </define>
14268 
14269 <define name="style-paragraph-properties-content">
14270     <ref name="style-properties-content"/>
14271 </define>
14272 
14273 <define name="style-paragraph-properties-content-strict">
14274     <ref name="style-paragraph-properties-attlist"/>
14275     <ref name="style-paragraph-properties-elements"/>
14276 </define>
14277 <define name="style-paragraph-properties-attlist" combine="interleave">
14278     <optional>
14279         <attribute name="fo:line-height">
14280             <choice>
14281                 <value>normal</value>
14282                 <ref name="nonNegativeLength"/>
14283                 <ref name="percent"/>
14284             </choice>
14285         </attribute>
14286     </optional>
14287 </define>
14288 <define name="style-paragraph-properties-attlist" combine="interleave">
14289     <optional>
14290         <attribute name="style:line-height-at-least">
14291             <ref name="nonNegativeLength"/>
14292         </attribute>
14293     </optional>
14294 </define>
14295 <define name="style-paragraph-properties-attlist" combine="interleave">
14296     <optional>
14297         <attribute name="style:line-spacing">
14298             <ref name="length"/>
14299         </attribute>
14300     </optional>
14301 </define>
14302 <define name="style-paragraph-properties-attlist" combine="interleave">
14303     <optional>
14304         <attribute name="style:font-independent-line-spacing">
14305             <ref name="boolean"/>
14306         </attribute>
14307     </optional>
14308 </define>
14309 <define name="style-paragraph-properties-attlist" combine="interleave">
14310     <ref name="common-text-align"/>
14311 </define>
14312 
14313 <define name="common-text-align">
14314     <optional>
14315         <attribute name="fo:text-align">
14316             <choice>
14317                 <value>start</value>
14318                 <value>end</value>
14319                 <value>left</value>
14320                 <value>right</value>
14321                 <value>center</value>
14322                 <value>justify</value>
14323             </choice>
14324         </attribute>
14325     </optional>
14326 </define>
14327 <define name="style-paragraph-properties-attlist" combine="interleave">
14328     <optional>
14329         <attribute name="fo:text-align-last">
14330             <choice>
14331                 <value>start</value>
14332                 <value>center</value>
14333                 <value>justify</value>
14334             </choice>
14335         </attribute>
14336     </optional>
14337 </define>
14338 <define name="style-paragraph-properties-attlist" combine="interleave">
14339     <optional>
14340         <attribute name="style:justify-single-word">
14341             <ref name="boolean"/>
14342         </attribute>
14343     </optional>
14344 </define>
14345 <define name="style-paragraph-properties-attlist" combine="interleave">
14346     <optional>
14347         <attribute name="fo:keep-together">
14348             <choice>
14349                 <value>auto</value>
14350                 <value>always</value>
14351             </choice>
14352         </attribute>
14353     </optional>
14354 </define>
14355 <define name="style-paragraph-properties-attlist" combine="interleave">
14356     <optional>
14357         <attribute name="fo:widows">
14358             <ref name="nonNegativeInteger"/>
14359         </attribute>
14360     </optional>
14361 </define>
14362 <define name="style-paragraph-properties-attlist" combine="interleave">
14363     <optional>
14364         <attribute name="fo:orphans">
14365             <ref name="nonNegativeInteger"/>
14366         </attribute>
14367     </optional>
14368 </define>
14369 <define name="style-paragraph-properties-elements" combine="interleave">
14370     <ref name="style-tab-stops"/>
14371 </define>
14372 
14373 <define name="style-tab-stops">
14374     <optional>
14375         <element name="style:tab-stops">
14376             <zeroOrMore>
14377                 <ref name="style-tab-stop"/>
14378             </zeroOrMore>
14379         </element>
14380     </optional>
14381 </define>
14382 
14383 <define name="style-tab-stop">
14384     <element name="style:tab-stop">
14385         <ref name="style-tab-stop-attlist"/>
14386         <empty/>
14387     </element>
14388 </define>
14389 <define name="style-tab-stop-attlist" combine="interleave">
14390     <attribute name="style:position">
14391         <ref name="nonNegativeLength"/>
14392     </attribute>
14393 </define>
14394 <define name="style-tab-stop-attlist" combine="interleave">
14395     <choice>
14396         <optional>
14397             <attribute name="style:type" a:defaultValue="left">
14398                 <choice>
14399                     <value>left</value>
14400                     <value>center</value>
14401                     <value>right</value>
14402                 </choice>
14403             </attribute>
14404         </optional>
14405         <group>
14406             <attribute name="style:type">
14407                 <value>char</value>
14408             </attribute>
14409             <ref name="style-tab-stop-char-attlist"/>
14410         </group>
14411     </choice>
14412 </define>
14413 <define name="style-tab-stop-char-attlist" combine="interleave">
14414     <attribute name="style:char">
14415         <ref name="character"/>
14416     </attribute>
14417 </define>
14418 <define name="style-tab-stop-attlist" combine="interleave">
14419     <optional>
14420         <attribute name="style:leader-type">
14421             <ref name="lineType"/>
14422         </attribute>
14423     </optional>
14424 </define>
14425 <define name="style-tab-stop-attlist" combine="interleave">
14426     <optional>
14427         <attribute name="style:leader-style">
14428             <ref name="lineStyle"/>
14429         </attribute>
14430     </optional>
14431 </define>
14432 <define name="style-tab-stop-attlist" combine="interleave">
14433     <optional>
14434         <attribute name="style:leader-width">
14435             <ref name="lineWidth"/>
14436         </attribute>
14437     </optional>
14438 </define>
14439 <define name="style-tab-stop-attlist" combine="interleave">
14440     <optional>
14441         <attribute name="style:leader-color">
14442             <choice>
14443                 <value>font-color</value>
14444                 <ref name="color"/>
14445             </choice>
14446         </attribute>
14447     </optional>
14448 </define>
14449 <define name="style-tab-stop-attlist" combine="interleave">
14450     <optional>
14451         <attribute name="style:leader-text" a:defaultValue=" ">
14452             <ref name="string"/>
14453         </attribute>
14454     </optional>
14455 </define>
14456 <define name="style-tab-stop-attlist" combine="interleave">
14457     <optional>
14458         <attribute name="style:leader-text-style">
14459             <ref name="styleNameRef"/>
14460         </attribute>
14461     </optional>
14462 </define>
14463 <define name="style-paragraph-properties-attlist" combine="interleave">
14464     <optional>
14465         <attribute name="style:tab-stop-distance">
14466             <ref name="nonNegativeLength"/>
14467         </attribute>
14468     </optional>
14469 </define>
14470 <define name="style-paragraph-properties-attlist" combine="interleave">
14471     <optional>
14472         <attribute name="fo:hyphenation-keep">
14473             <choice>
14474                 <value>auto</value>
14475                 <value>page</value>
14476             </choice>
14477         </attribute>
14478     </optional>
14479 </define>
14480 <define name="style-paragraph-properties-attlist" combine="interleave">
14481     <optional>
14482         <attribute name="fo:hyphenation-ladder-count">
14483             <choice>
14484                 <value>no-limit</value>
14485                 <ref name="positiveInteger"/>
14486             </choice>
14487         </attribute>
14488     </optional>
14489 </define>
14490 <define name="style-paragraph-properties-elements" combine="interleave">
14491     <ref name="style-drop-cap"/>
14492 </define>
14493 
14494 <define name="style-drop-cap">
14495     <optional>
14496         <element name="style:drop-cap">
14497             <ref name="style-drop-cap-attlist"/>
14498             <empty/>
14499         </element>
14500     </optional>
14501 </define>
14502 <define name="style-drop-cap-attlist" combine="interleave">
14503     <optional>
14504         <attribute name="style:length" a:defaultValue="1">
14505             <choice>
14506                 <value>word</value>
14507                 <ref name="positiveInteger"/>
14508             </choice>
14509         </attribute>
14510     </optional>
14511 </define>
14512 <define name="style-drop-cap-attlist" combine="interleave">
14513     <optional>
14514         <attribute name="style:lines" a:defaultValue="1">
14515             <ref name="positiveInteger"/>
14516         </attribute>
14517     </optional>
14518 </define>
14519 <define name="style-drop-cap-attlist" combine="interleave">
14520     <optional>
14521         <attribute name="style:distance" a:defaultValue="0cm">
14522             <ref name="length"/>
14523         </attribute>
14524     </optional>
14525 </define>
14526 <define name="style-drop-cap-attlist" combine="interleave">
14527     <optional>
14528         <attribute name="style:style-name">
14529             <ref name="styleNameRef"/>
14530         </attribute>
14531     </optional>
14532 </define>
14533 <define name="style-paragraph-properties-attlist" combine="interleave">
14534         <optional>
14535             <attribute name="style:register-true">
14536                 <ref name="boolean"/>
14537             </attribute>
14538         </optional>
14539     </define>
14540 <define name="style-paragraph-properties-attlist" combine="interleave">
14541     <ref name="common-horizontal-margin-attlist"/>
14542 </define>
14543 
14544 <define name="common-horizontal-margin-attlist">
14545     <optional>
14546         <attribute name="fo:margin-left">
14547             <choice>
14548                 <ref name="length"/>
14549                 <ref name="percent"/>
14550             </choice>
14551         </attribute>
14552     </optional>
14553     <optional>
14554         <attribute name="fo:margin-right">
14555             <choice>
14556                 <ref name="length"/>
14557                 <ref name="percent"/>
14558             </choice>
14559         </attribute>
14560     </optional>
14561 </define>
14562 <define name="style-paragraph-properties-attlist" combine="interleave">
14563     <optional>
14564         <attribute name="fo:text-indent">
14565             <choice>
14566                 <ref name="length"/>
14567                 <ref name="percent"/>
14568             </choice>
14569         </attribute>
14570     </optional>
14571 </define>
14572 <define name="style-paragraph-properties-attlist" combine="interleave">
14573     <optional>
14574         <attribute name="style:auto-text-indent">
14575             <ref name="boolean"/>
14576         </attribute>
14577     </optional>
14578 </define>
14579 <define name="style-paragraph-properties-attlist" combine="interleave">
14580     <ref name="common-vertical-margin-attlist"/>
14581 </define>
14582 
14583 <define name="common-vertical-margin-attlist">
14584     <optional>
14585         <attribute name="fo:margin-top">
14586             <choice>
14587                 <ref name="nonNegativeLength"/>
14588                 <ref name="percent"/>
14589             </choice>
14590         </attribute>
14591     </optional>
14592     <optional>
14593         <attribute name="fo:margin-bottom">
14594             <choice>
14595                 <ref name="nonNegativeLength"/>
14596                 <ref name="percent"/>
14597             </choice>
14598         </attribute>
14599     </optional>
14600 </define>
14601 <define name="style-paragraph-properties-attlist" combine="interleave">
14602     <ref name="common-margin-attlist"/>
14603 </define>
14604 
14605 <define name="common-margin-attlist">
14606     <optional>
14607         <attribute name="fo:margin">
14608             <choice>
14609                 <ref name="nonNegativeLength"/>
14610                 <ref name="percent"/>
14611             </choice>
14612         </attribute>
14613     </optional>
14614 </define>
14615 <define name="style-paragraph-properties-attlist" combine="interleave">
14616     <ref name="common-break-attlist"/>
14617 </define>
14618 
14619 <define name="common-break-attlist">
14620     <optional>
14621         <attribute name="fo:break-before">
14622             <choice>
14623                 <value>auto</value>
14624                 <value>column</value>
14625                 <value>page</value>
14626             </choice>
14627         </attribute>
14628     </optional>
14629     <optional>
14630         <attribute name="fo:break-after">
14631             <choice>
14632                 <value>auto</value>
14633                 <value>column</value>
14634                 <value>page</value>
14635             </choice>
14636         </attribute>
14637     </optional>
14638 </define>
14639 <define name="style-paragraph-properties-attlist" combine="interleave">
14640     <ref name="common-background-color-attlist"/>
14641 </define>
14642 
14643 <define name="common-background-color-attlist">
14644     <optional>
14645         <attribute name="fo:background-color">
14646             <choice>
14647                 <value>transparent</value>
14648                 <ref name="color"/>
14649             </choice>
14650         </attribute>
14651     </optional>
14652 </define>
14653 <define name="style-paragraph-properties-elements" combine="interleave">
14654     <ref name="style-background-image"/>
14655 </define>
14656 
14657 <define name="style-background-image">
14658     <optional>
14659         <element name="style:background-image">
14660             <ref name="style-background-image-attlist"/>
14661             <choice>
14662                 <ref name="common-draw-data-attlist"/>
14663                 <ref name="office-binary-data"/>
14664                 <empty/>
14665             </choice>
14666         </element>
14667     </optional>
14668 </define>
14669 <define name="style-background-image-attlist" combine="interleave">
14670     <optional>
14671         <attribute name="style:repeat" a:defaultValue="repeat">
14672             <choice>
14673                 <value>no-repeat</value>
14674                 <value>repeat</value>
14675                 <value>stretch</value>
14676             </choice>
14677         </attribute>
14678     </optional>
14679 </define>
14680 <define name="style-background-image-attlist" combine="interleave">
14681     <optional>
14682         <attribute name="style:position" a:defaultValue="center">
14683             <choice>
14684                 <value>left</value>
14685                 <value>center</value>
14686                 <value>right</value>
14687                 <value>top</value>
14688                 <value>bottom</value>
14689                 <list>
14690                     <ref name="horiBackPos"/>
14691                     <ref name="vertBackPos"/>
14692                 </list>
14693                 <list>
14694                     <ref name="vertBackPos"/>
14695                     <ref name="horiBackPos"/>
14696                 </list>
14697             </choice>
14698         </attribute>
14699     </optional>
14700 </define>
14701 
14702 <define name="horiBackPos">
14703     <choice>
14704         <value>left</value>
14705         <value>center</value>
14706         <value>right</value>
14707     </choice>
14708 </define>
14709 <define name="vertBackPos">
14710     <choice>
14711         <value>top</value>
14712         <value>center</value>
14713         <value>bottom</value>
14714     </choice>
14715 </define>
14716 <define name="style-background-image-attlist" combine="interleave">
14717     <optional>
14718         <attribute name="style:filter-name">
14719             <ref name="string"/>
14720         </attribute>
14721     </optional>
14722 </define>
14723 <define name="style-background-image-attlist" combine="interleave">
14724     <optional>
14725         <attribute name="draw:opacity">
14726             <ref name="percent"/>
14727         </attribute>
14728     </optional>
14729 </define>
14730 <define name="style-paragraph-properties-attlist" combine="interleave">
14731     <ref name="common-border-attlist"/>
14732 </define>
14733 
14734 <define name="common-border-attlist">
14735     <optional>
14736         <attribute name="fo:border">
14737             <ref name="string"/>
14738         </attribute>
14739     </optional>
14740     <optional>
14741         <attribute name="fo:border-top">
14742             <ref name="string"/>
14743         </attribute>
14744     </optional>
14745     <optional>
14746         <attribute name="fo:border-bottom">
14747             <ref name="string"/>
14748         </attribute>
14749     </optional>
14750     <optional>
14751         <attribute name="fo:border-left">
14752             <ref name="string"/>
14753         </attribute>
14754     </optional>
14755     <optional>
14756         <attribute name="fo:border-right">
14757             <ref name="string"/>
14758         </attribute>
14759     </optional>
14760 </define>
14761 <define name="style-paragraph-properties-attlist" combine="interleave">
14762     <ref name="common-border-line-width-attlist"/>
14763 </define>
14764 
14765 <define name="common-border-line-width-attlist">
14766     <optional>
14767         <attribute name="style:border-line-width">
14768             <ref name="borderWidths"/>
14769         </attribute>
14770     </optional>
14771     <optional>
14772         <attribute name="style:border-line-width-top">
14773             <ref name="borderWidths"/>
14774         </attribute>
14775     </optional>
14776     <optional>
14777         <attribute name="style:border-line-width-bottom">
14778             <ref name="borderWidths"/>
14779         </attribute>
14780     </optional>
14781     <optional>
14782         <attribute name="style:border-line-width-left">
14783             <ref name="borderWidths"/>
14784         </attribute>
14785     </optional>
14786     <optional>
14787         <attribute name="style:border-line-width-right">
14788             <ref name="borderWidths"/>
14789         </attribute>
14790     </optional>
14791 </define>
14792 
14793 <define name="borderWidths">
14794     <list>
14795         <ref name="positiveLength"/>
14796         <ref name="positiveLength"/>
14797         <ref name="positiveLength"/>
14798     </list>
14799 </define>
14800 <define name="style-paragraph-properties-attlist" combine="interleave">
14801     <ref name="common-padding-attlist"/>
14802 </define>
14803 
14804 <define name="common-padding-attlist">
14805     <optional>
14806         <attribute name="fo:padding">
14807             <ref name="nonNegativeLength"/>
14808         </attribute>
14809     </optional>
14810     <optional>
14811         <attribute name="fo:padding-top">
14812             <ref name="nonNegativeLength"/>
14813         </attribute>
14814     </optional>
14815     <optional>
14816         <attribute name="fo:padding-bottom">
14817             <ref name="nonNegativeLength"/>
14818         </attribute>
14819     </optional>
14820     <optional>
14821         <attribute name="fo:padding-left">
14822             <ref name="nonNegativeLength"/>
14823         </attribute>
14824     </optional>
14825     <optional>
14826         <attribute name="fo:padding-right">
14827             <ref name="nonNegativeLength"/>
14828         </attribute>
14829     </optional>
14830 </define>
14831 <define name="style-paragraph-properties-attlist" combine="interleave">
14832     <ref name="common-shadow-attlist"/>
14833 </define>
14834 
14835 <define name="common-shadow-attlist">
14836     <optional>
14837         <attribute name="style:shadow">
14838             <ref name="shadowType"/>
14839         </attribute>
14840     </optional>
14841 </define>
14842 <define name="style-paragraph-properties-attlist" combine="interleave">
14843     <ref name="common-keep-with-next-attlist"/>
14844 </define>
14845 
14846 <define name="common-keep-with-next-attlist">
14847     <optional>
14848         <attribute name="fo:keep-with-next">
14849             <choice>
14850                 <value>auto</value>
14851                 <value>always</value>
14852             </choice>
14853         </attribute>
14854     </optional>
14855 </define>
14856 <define name="style-paragraph-properties-attlist" combine="interleave">
14857     <optional>
14858         <attribute name="text:number-lines" a:defaultValue="false">
14859             <ref name="boolean"/>
14860         </attribute>
14861     </optional>
14862 </define>
14863 <define name="style-paragraph-properties-attlist" combine="interleave">
14864     <optional>
14865         <attribute name="text:line-number">
14866             <ref name="nonNegativeInteger"/>
14867         </attribute>
14868     </optional>
14869 </define>
14870 <define name="style-paragraph-properties-attlist" combine="interleave">
14871     <optional>
14872         <attribute name="style:text-autospace">
14873             <choice>
14874                 <value>none</value>
14875                 <value>ideograph-alpha</value>
14876             </choice>
14877         </attribute>
14878     </optional>
14879 </define>
14880 <define name="style-paragraph-properties-attlist" combine="interleave">
14881     <optional>
14882         <attribute name="style:punctuation-wrap">
14883             <choice>
14884                 <value>simple</value>
14885                 <value>hanging</value>
14886             </choice>
14887         </attribute>
14888     </optional>
14889 </define>
14890 <define name="style-paragraph-properties-attlist" combine="interleave">
14891     <optional>
14892         <attribute name="style:line-break">
14893             <choice>
14894                 <value>normal</value>
14895                 <value>strict</value>
14896             </choice>
14897         </attribute>
14898     </optional>
14899 </define>
14900 <define name="style-paragraph-properties-attlist" combine="interleave">
14901     <optional>
14902         <attribute name="style:vertical-align" a:defaultValue="auto">
14903             <choice>
14904                 <value>top</value>
14905                 <value>middle</value>
14906                 <value>bottom</value>
14907                 <value>auto</value>
14908             </choice>
14909         </attribute>
14910     </optional>
14911 </define>
14912 <define name="style-paragraph-properties-attlist" combine="interleave">
14913     <ref name="common-writing-mode-attlist"/>
14914 </define>
14915 
14916 <define name="common-writing-mode-attlist">
14917     <optional>
14918         <attribute name="style:writing-mode">
14919             <choice>
14920                 <value>lr-tb</value>
14921                 <value>rl-tb</value>
14922                 <value>tb-rl</value>
14923                 <value>tb-lr</value>
14924                 <value>lr</value>
14925                 <value>rl</value>
14926                 <value>tb</value>
14927                 <value>page</value>
14928             </choice>
14929         </attribute>
14930     </optional>
14931 </define>
14932 <define name="style-paragraph-properties-attlist" combine="interleave">
14933     <optional>
14934         <attribute name="style:writing-mode-automatic">
14935             <ref name="boolean"/>
14936         </attribute>
14937     </optional>
14938 </define>
14939 <define name="style-paragraph-properties-attlist" combine="interleave">
14940     <optional>
14941         <attribute name="style:snap-to-layout-grid">
14942             <ref name="boolean"/>
14943         </attribute>
14944     </optional>
14945 </define>
14946 <define name="style-paragraph-properties-attlist" combine="interleave">
14947     <ref name="common-page-number-attlist"/>
14948 </define>
14949 
14950 <define name="common-page-number-attlist">
14951     <optional>
14952         <attribute name="style:page-number">
14953             <ref name="positiveInteger"/>
14954         </attribute>
14955     </optional>
14956 </define>
14957 <define name="style-paragraph-properties-attlist" combine="interleave">
14958     <optional>
14959         <attribute name="style:background-transparency">
14960             <ref name="percent"/>
14961         </attribute>
14962     </optional>
14963 </define>
14964 <define name="style-ruby-properties">
14965     <element name="style:ruby-properties">
14966         <ref name="style-ruby-properties-content"/>
14967     </element>
14968 </define>
14969 
14970 <define name="style-ruby-properties-content">
14971     <ref name="style-properties-content"/>
14972 </define>
14973 
14974 <define name="style-ruby-properties-content-strict">
14975     <ref name="style-ruby-properties-attlist"/>
14976     <ref name="style-ruby-properties-elements"/>
14977 </define>
14978 
14979 <define name="style-ruby-properties-elements">
14980     <empty/>
14981 </define>
14982 <define name="style-ruby-properties-attlist" combine="interleave">
14983     <optional>
14984         <attribute name="style:ruby-position">
14985             <choice>
14986                 <value>above</value>
14987                 <value>below</value>
14988             </choice>
14989         </attribute>
14990     </optional>
14991 </define>
14992 <define name="style-ruby-properties-attlist" combine="interleave">
14993     <optional>
14994         <attribute name="style:ruby-align">
14995             <choice>
14996                 <value>left</value>
14997                 <value>center</value>
14998                 <value>right</value>
14999                 <value>distribute-letter</value>
15000                 <value>distribute-space</value>
15001             </choice>
15002         </attribute>
15003     </optional>
15004 </define>
15005 <define name="style-section-properties">
15006     <element name="style:section-properties">
15007         <ref name="style-section-properties-content"/>
15008     </element>
15009 </define>
15010 
15011 <define name="style-section-properties-content">
15012     <ref name="style-properties-content"/>
15013 </define>
15014 
15015 <define name="style-section-properties-content-strict">
15016     <ref name="style-section-properties-attlist"/>
15017     <ref name="style-section-properties-elements"/>
15018 </define>
15019 <define name="style-section-properties-attlist" combine="interleave">
15020     <ref name="common-background-color-attlist"/>
15021 </define>
15022 <define name="style-section-properties-elements" combine="interleave">
15023     <ref name="style-background-image"/>
15024 </define>
15025 <define name="style-section-properties-attlist" combine="interleave">
15026     <ref name="common-horizontal-margin-attlist"/>
15027 </define>
15028 <define name="style-section-properties-elements" combine="interleave">
15029     <ref name="style-columns"/>
15030 </define>
15031 
15032 <define name="style-columns">
15033     <optional>
15034         <element name="style:columns">
15035             <ref name="style-columns-attlist"/>
15036             <optional>
15037                 <ref name="style-column-sep"/>
15038             </optional>
15039             <zeroOrMore>
15040                 <ref name="style-column"/>
15041             </zeroOrMore>
15042         </element>
15043     </optional>
15044 </define>
15045 <define name="style-columns-attlist" combine="interleave">
15046     <attribute name="fo:column-count">
15047         <ref name="positiveInteger"/>
15048     </attribute>
15049 </define>
15050 <define name="style-columns-attlist" combine="interleave">
15051     <optional>
15052         <attribute name="fo:column-gap">
15053             <ref name="length"/>
15054         </attribute>
15055     </optional>
15056 </define>
15057 <define name="style-column">
15058     <element name="style:column">
15059         <ref name="style-column-attlist"/>
15060     </element>
15061 </define>
15062 <define name="style-column-attlist" combine="interleave">
15063     <attribute name="style:rel-width">
15064         <ref name="relativeLength"/>
15065     </attribute>
15066 </define>
15067 <define name="style-column-attlist" combine="interleave">
15068     <optional>
15069         <attribute name="fo:start-indent" a:defaultValue="0cm">
15070             <ref name="length"/>
15071         </attribute>
15072     </optional>
15073 </define>
15074 <define name="style-column-attlist" combine="interleave">
15075     <optional>
15076         <attribute name="fo:end-indent" a:defaultValue="0cm">
15077             <ref name="length"/>
15078         </attribute>
15079     </optional>
15080 </define>
15081 <define name="style-column-attlist" combine="interleave">
15082     <optional>
15083         <attribute name="fo:space-before" a:defaultValue="0cm">
15084             <ref name="length"/>
15085         </attribute>
15086     </optional>
15087 </define>
15088 <define name="style-column-attlist" combine="interleave">
15089     <optional>
15090         <attribute name="fo:space-after" a:defaultValue="0cm">
15091             <ref name="length"/>
15092         </attribute>
15093     </optional>
15094 </define>
15095 <define name="style-column-sep">
15096     <element name="style:column-sep">
15097         <ref name="style-column-sep-attlist"/>
15098     </element>
15099 </define>
15100 <define name="style-column-sep-attlist" combine="interleave">
15101     <optional>
15102         <attribute name="style:style" a:defaultValue="solid">
15103             <choice>
15104                 <value>none</value>
15105                 <value>solid</value>
15106                 <value>dotted</value>
15107                 <value>dashed</value>
15108                 <value>dot-dashed</value>
15109             </choice>
15110         </attribute>
15111     </optional>
15112 </define>
15113 <define name="style-column-sep-attlist" combine="interleave">
15114     <attribute name="style:width">
15115         <ref name="length"/>
15116     </attribute>
15117 </define>
15118 <define name="style-column-sep-attlist" combine="interleave">
15119     <optional>
15120         <attribute name="style:height" a:defaultValue="100%">
15121             <ref name="percent"/>
15122         </attribute>
15123     </optional>
15124 </define>
15125 <define name="style-column-sep-attlist" combine="interleave">
15126     <optional>
15127         <attribute name="style:vertical-align" a:defaultValue="top">
15128             <choice>
15129                 <value>top</value>
15130                 <value>middle</value>
15131                 <value>bottom</value>
15132             </choice>
15133         </attribute>
15134     </optional>
15135 </define>
15136 <define name="style-column-sep-attlist" combine="interleave">
15137     <optional>
15138         <attribute name="style:color" a:defaultValue="#000000">
15139             <ref name="color"/>
15140         </attribute>
15141     </optional>
15142 </define>
15143 <define name="style-section-properties-attlist" combine="interleave">
15144     <optional>
15145         <attribute name="style:protect" a:defaultValue="false">
15146             <ref name="boolean"/>
15147         </attribute>
15148     </optional>
15149 </define>
15150 <define name="style-section-properties-attlist" combine="interleave">
15151     <optional>
15152         <attribute name="text:dont-balance-text-columns">
15153             <ref name="boolean"/>
15154         </attribute>
15155     </optional>
15156 </define>
15157 <define name="style-section-properties-attlist" combine="interleave">
15158     <ref name="common-writing-mode-attlist"/>
15159 </define>
15160 <define name="style-section-properties-elements" combine="interleave">
15161     <zeroOrMore>
15162         <ref name="text-notes-configuration"/>
15163     </zeroOrMore>
15164 </define>
15165 <define name="style-table-properties">
15166     <element name="style:table-properties">
15167         <ref name="style-table-properties-content"/>
15168     </element>
15169 </define>
15170 
15171 <define name="style-table-properties-content">
15172     <ref name="style-properties-content"/>
15173 </define>
15174 
15175 <define name="style-table-properties-content-strict">
15176     <ref name="style-table-properties-attlist"/>
15177     <ref name="style-table-properties-elements"/>
15178 </define>
15179 <define name="style-table-properties-attlist" combine="interleave">
15180     <optional>
15181         <attribute name="style:width">
15182             <ref name="positiveLength"/>
15183         </attribute>
15184     </optional>
15185     <optional>
15186         <attribute name="style:rel-width">
15187             <ref name="percent"/>
15188         </attribute>
15189     </optional>
15190 </define>
15191 <define name="style-table-properties-attlist" combine="interleave">
15192     <optional>
15193         <attribute name="table:align">
15194             <choice>
15195                 <value>left</value>
15196                 <value>center</value>
15197                 <value>right</value>
15198                 <value>margins</value>
15199             </choice>
15200         </attribute>
15201     </optional>
15202 </define>
15203 <define name="style-table-properties-attlist" combine="interleave">
15204     <ref name="common-horizontal-margin-attlist"/>
15205 </define>
15206 <define name="style-table-properties-attlist" combine="interleave">
15207     <ref name="common-vertical-margin-attlist"/>
15208 </define>
15209 <define name="style-table-properties-attlist" combine="interleave">
15210     <ref name="common-margin-attlist"/>
15211 </define>
15212 <define name="style-table-properties-attlist" combine="interleave">
15213     <ref name="common-page-number-attlist"/>
15214 </define>
15215 <define name="style-table-properties-attlist" combine="interleave">
15216     <ref name="common-break-attlist"/>
15217 </define>
15218 <define name="style-table-properties-attlist" combine="interleave">
15219     <ref name="common-background-color-attlist"/>
15220 </define>
15221 <define name="style-table-properties-elements" combine="interleave">
15222     <ref name="style-background-image"/>
15223 </define>
15224 <define name="style-table-properties-attlist" combine="interleave">
15225     <ref name="common-shadow-attlist"/>
15226 </define>
15227 <define name="style-table-properties-attlist" combine="interleave">
15228     <ref name="common-keep-with-next-attlist"/>
15229 </define>
15230 <define name="style-table-properties-attlist" combine="interleave">
15231     <optional>
15232         <attribute name="style:may-break-between-rows">
15233             <ref name="boolean"/>
15234         </attribute>
15235     </optional>
15236 </define>
15237 <define name="style-table-properties-attlist" combine="interleave">
15238     <optional>
15239         <attribute name="table:border-model">
15240             <choice>
15241                 <value>collapsing</value>
15242                 <value>separating</value>
15243             </choice>
15244         </attribute>
15245     </optional>
15246 </define>
15247 <define name="style-table-properties-attlist" combine="interleave">
15248     <ref name="common-writing-mode-attlist"/>
15249 </define>
15250 <define name="style-table-properties-attlist" combine="interleave">
15251     <optional>
15252         <attribute name="table:display">
15253             <ref name="boolean"/>
15254         </attribute>
15255     </optional>
15256 </define>
15257 <define name="style-table-column-properties">
15258     <element name="style:table-column-properties">
15259         <ref name="style-table-column-properties-content"/>
15260     </element>
15261 </define>
15262 
15263 <define name="style-table-column-properties-content">
15264     <ref name="style-properties-content"/>
15265 </define>
15266 
15267 <define name="style-table-column-properties-content-strict">
15268     <ref name="style-table-column-properties-attlist"/>
15269     <ref name="style-table-column-properties-elements"/>
15270 </define>
15271 
15272 <define name="style-table-column-properties-elements">
15273     <empty/>
15274 </define>
15275 <define name="style-table-column-properties-attlist" combine="interleave">
15276     <optional>
15277         <attribute name="style:column-width">
15278             <ref name="positiveLength"/>
15279         </attribute>
15280     </optional>
15281     <optional>
15282         <attribute name="style:rel-column-width">
15283             <ref name="relativeLength"/>
15284         </attribute>
15285     </optional>
15286 </define>
15287 <define name="style-table-column-properties-attlist" combine="interleave">
15288     <optional>
15289         <attribute name="style:use-optimal-column-width">
15290             <ref name="boolean"/>
15291         </attribute>
15292     </optional>
15293 </define>
15294 <define name="style-table-column-properties-attlist" combine="interleave">
15295     <ref name="common-break-attlist"/>
15296 </define>
15297 <define name="style-table-row-properties">
15298     <element name="style:table-row-properties">
15299         <ref name="style-table-row-properties-content"/>
15300     </element>
15301 </define>
15302 
15303 <define name="style-table-row-properties-content">
15304     <ref name="style-properties-content"/>
15305 </define>
15306 
15307 <define name="style-table-row-properties-content-strict">
15308     <ref name="style-table-row-properties-attlist"/>
15309     <ref name="style-table-row-properties-elements"/>
15310 </define>
15311 <define name="style-table-row-properties-attlist" combine="interleave">
15312     <optional>
15313         <attribute name="style:row-height">
15314             <ref name="positiveLength"/>
15315         </attribute>
15316     </optional>
15317     <optional>
15318         <attribute name="style:min-row-height">
15319             <ref name="nonNegativeLength"/>
15320         </attribute>
15321     </optional>
15322 </define>
15323 <define name="style-table-row-properties-attlist" combine="interleave">
15324     <optional>
15325         <attribute name="style:use-optimal-row-height">
15326             <ref name="boolean"/>
15327         </attribute>
15328     </optional>
15329 </define>
15330 <define name="style-table-row-properties-attlist" combine="interleave">
15331     <ref name="common-background-color-attlist"/>
15332 </define>
15333 <define name="style-table-row-properties-elements" combine="interleave">
15334     <ref name="style-background-image"/>
15335 </define>
15336 <define name="style-table-row-properties-attlist" combine="interleave">
15337     <ref name="common-break-attlist"/>
15338 </define>
15339 <define name="style-table-row-properties-attlist" combine="interleave">
15340     <optional>
15341         <attribute name="fo:keep-together">
15342             <choice>
15343                 <value>auto</value>
15344                 <value>always</value>
15345             </choice>
15346         </attribute>
15347     </optional>
15348 </define>
15349 <define name="style-table-cell-properties">
15350     <element name="style:table-cell-properties">
15351         <ref name="style-table-cell-properties-content"/>
15352     </element>
15353 </define>
15354 
15355 <define name="style-table-cell-properties-content">
15356     <ref name="style-properties-content"/>
15357 </define>
15358 
15359 <define name="style-table-cell-properties-content-strict">
15360     <ref name="style-table-cell-properties-attlist"/>
15361     <ref name="style-table-cell-properties-elements"/>
15362 </define>
15363 <define name="style-table-cell-properties-attlist" combine="interleave">
15364     <optional>
15365         <attribute name="style:vertical-align">
15366             <choice>
15367                 <value>top</value>
15368                 <value>middle</value>
15369                 <value>bottom</value>
15370                 <value>automatic</value>
15371             </choice>
15372             </attribute>
15373     </optional>
15374 </define>
15375 <define name="style-table-cell-properties-attlist" combine="interleave">
15376     <optional>
15377         <attribute name="style:text-align-source">
15378             <choice>
15379                 <value>fix</value>
15380                 <value>value-type</value>
15381             </choice>
15382         </attribute>
15383     </optional>
15384 </define>
15385 <define name="style-table-cell-properties-attlist" combine="interleave">
15386     <ref name="common-style-direction-attlist"/>
15387 </define>
15388 
15389 <define name="common-style-direction-attlist">
15390     <optional>
15391         <attribute name="style:direction">
15392             <choice>
15393                 <value>ltr</value>
15394                 <value>ttb</value>
15395             </choice>
15396         </attribute>
15397     </optional>
15398 </define>
15399 <define name="style-table-cell-properties-attlist" combine="interleave">
15400     <optional>
15401         <attribute name="style:glyph-orientation-vertical">
15402             <choice>
15403                 <value>auto</value>
15404                 <value>0</value>
15405             </choice>
15406         </attribute>
15407     </optional>
15408 </define>
15409 <define name="style-table-cell-properties-attlist" combine="interleave">
15410     <ref name="common-shadow-attlist"/>
15411 </define>
15412 <define name="style-table-cell-properties-attlist" combine="interleave">
15413     <ref name="common-background-color-attlist"/>
15414 </define>
15415 <define name="style-table-cell-properties-elements" combine="interleave">
15416     <ref name="style-background-image"/>
15417 </define>
15418 <define name="style-table-cell-properties-attlist" combine="interleave">
15419     <ref name="common-border-attlist"/>
15420 </define>
15421 <define name="style-table-cell-properties-attlist" combine="interleave">
15422     <optional>
15423         <attribute name="style:diagonal-tl-br">
15424             <ref name="string"/>
15425         </attribute>
15426     </optional>
15427     <optional>
15428         <attribute name="style:diagonal-tl-br-widths">
15429             <ref name="borderWidths"/>
15430         </attribute>
15431     </optional>
15432     <optional>
15433         <attribute name="style:diagonal-bl-tr">
15434             <ref name="string"/>
15435         </attribute>
15436     </optional>
15437     <optional>
15438         <attribute name="style:diagonal-bl-tr-widths">
15439             <ref name="borderWidths"/>
15440         </attribute>
15441     </optional>
15442 </define>
15443 <define name="style-table-cell-properties-attlist" combine="interleave">
15444     <ref name="common-border-line-width-attlist"/>
15445 </define>
15446 <define name="style-table-cell-properties-attlist" combine="interleave">
15447     <ref name="common-padding-attlist"/>
15448 </define>
15449 <define name="style-table-cell-properties-attlist" combine="interleave">
15450     <optional>
15451         <attribute name="fo:wrap-option">
15452             <choice>
15453                 <value>no-wrap</value>
15454                 <value>wrap</value>
15455             </choice>
15456         </attribute>
15457     </optional>
15458 </define>
15459 <define name="style-table-cell-properties-attlist" combine="interleave">
15460     <ref name="common-rotation-angle-attlist"/>
15461 </define>
15462 
15463 <define name="common-rotation-angle-attlist">
15464     <optional>
15465         <attribute name="style:rotation-angle">
15466             <ref name="nonNegativeInteger"/>
15467         </attribute>
15468     </optional>
15469 </define>
15470 <define name="style-table-cell-properties-attlist" combine="interleave">
15471     <optional>
15472         <attribute name="style:rotation-align">
15473             <choice>
15474                 <value>none</value>
15475                 <value>bottom</value>
15476                 <value>top</value>
15477                 <value>center</value>
15478             </choice>
15479         </attribute>
15480     </optional>
15481 </define>
15482 <define name="style-table-cell-properties-attlist" combine="interleave">
15483     <optional>
15484         <attribute name="style:cell-protect">
15485             <choice>
15486                 <value>none</value>
15487                 <value>hidden-and-protected</value>
15488                 <list>
15489                     <oneOrMore>
15490                         <choice>
15491                             <value>protected</value>
15492                             <value>formula-hidden</value>
15493                         </choice>
15494                     </oneOrMore>
15495                 </list>
15496             </choice>
15497         </attribute>
15498     </optional>
15499 </define>
15500 <define name="style-table-cell-properties-attlist" combine="interleave">
15501     <optional>
15502         <attribute name="style:print-content">
15503             <ref name="boolean"/>
15504         </attribute>
15505     </optional>
15506 </define>
15507 <define name="style-table-cell-properties-attlist" combine="interleave">
15508     <optional>
15509         <attribute name="style:decimal-places">
15510             <ref name="nonNegativeInteger"/>
15511         </attribute>
15512     </optional>
15513 </define>
15514 <define name="style-table-cell-properties-attlist" combine="interleave">
15515     <optional>
15516         <attribute name="style:repeat-content">
15517             <ref name="boolean"/>
15518         </attribute>
15519     </optional>
15520 </define>
15521 <define name="style-table-cell-properties-attlist" combine="interleave">
15522     <optional>
15523         <attribute name="style:shrink-to-fit">
15524             <ref name="boolean"/>
15525         </attribute>
15526     </optional>
15527 </define>
15528 <define name="style-list-level-properties">
15529     <element name="style:list-level-properties">
15530         <ref name="style-list-level-properties-content"/>
15531     </element>
15532 </define>
15533 
15534 <define name="style-list-level-properties-content">
15535     <ref name="style-properties-content"/>
15536 </define>
15537 
15538 <define name="style-list-level-properties-content-strict">
15539     <ref name="style-list-level-properties-attlist"/>
15540     <ref name="style-list-level-properties-elements"/>
15541 </define>
15542 
15543 <define name="style-list-level-properties-elements">
15544     <empty/>
15545 </define>
15546 <define name="style-list-level-properties-attlist" combine="interleave">
15547     <ref name="common-text-align"/>
15548 </define>
15549 <define name="style-list-level-properties-attlist" combine="interleave">
15550     <optional>
15551         <attribute name="text:space-before">
15552             <ref name="nonNegativeLength"/>
15553         </attribute>
15554     </optional>
15555 </define>
15556 <define name="style-list-level-properties-attlist" combine="interleave">
15557     <optional>
15558         <attribute name="text:min-label-width">
15559             <ref name="nonNegativeLength"/>
15560         </attribute>
15561     </optional>
15562 </define>
15563 <define name="style-list-level-properties-attlist" combine="interleave">
15564     <optional>
15565         <attribute name="text:min-label-distance">
15566             <ref name="nonNegativeLength"/>
15567         </attribute>
15568     </optional>
15569 </define>
15570 <define name="style-list-level-properties-attlist" combine="interleave">
15571     <optional>
15572         <attribute name="style:font-name">
15573             <ref name="string"/>
15574         </attribute>
15575     </optional>
15576 </define>
15577 <define name="style-list-level-properties-attlist" combine="interleave">
15578     <optional>
15579         <attribute name="fo:width">
15580             <ref name="positiveLength"/>
15581         </attribute>
15582     </optional>
15583     <optional>
15584         <attribute name="fo:height">
15585             <ref name="positiveLength"/>
15586         </attribute>
15587     </optional>
15588 </define>
15589 <define name="style-list-level-properties-attlist" combine="interleave">
15590     <ref name="common-vertical-rel-attlist"/>
15591     <ref name="common-vertical-pos-attlist"/>
15592 </define>
15593 <define name="style-graphic-properties-attlist" combine="interleave">
15594     <optional>
15595         <attribute name="draw:stroke">
15596             <choice>
15597                 <value>none</value>
15598                 <value>dash</value>
15599                 <value>solid</value>
15600             </choice>
15601         </attribute>
15602     </optional>
15603 </define>
15604 <define name="style-graphic-properties-attlist" combine="interleave">
15605     <optional>
15606         <attribute name="draw:stroke-dash">
15607             <ref name="styleNameRef"/>
15608         </attribute>
15609     </optional>
15610 </define>
15611 <define name="style-graphic-properties-attlist" combine="interleave">
15612     <optional>
15613         <attribute name="draw:stroke-dash-names">
15614             <ref name="styleNameRefs"/>
15615         </attribute>
15616     </optional>
15617 </define>
15618 <define name="style-graphic-properties-attlist" combine="interleave">
15619     <optional>
15620         <attribute name="svg:stroke-width">
15621             <ref name="length"/>
15622         </attribute>
15623     </optional>
15624 </define>
15625 <define name="style-graphic-properties-attlist" combine="interleave">
15626     <optional>
15627         <attribute name="svg:stroke-color">
15628             <ref name="color"/>
15629         </attribute>
15630     </optional>
15631 </define>
15632 <define name="style-graphic-properties-attlist" combine="interleave">
15633     <optional>
15634         <attribute name="draw:marker-start">
15635             <ref name="styleNameRef"/>
15636         </attribute>
15637     </optional>
15638 </define>
15639 <define name="style-graphic-properties-attlist" combine="interleave">
15640     <optional>
15641         <attribute name="draw:marker-end">
15642             <ref name="styleNameRef"/>
15643         </attribute>
15644     </optional>
15645 </define>
15646 <define name="style-graphic-properties-attlist" combine="interleave">
15647     <optional>
15648         <attribute name="draw:marker-start-width">
15649             <ref name="length"/>
15650         </attribute>
15651     </optional>
15652 </define>
15653 <define name="style-graphic-properties-attlist" combine="interleave">
15654     <optional>
15655         <attribute name="draw:marker-end-width">
15656             <ref name="length"/>
15657         </attribute>
15658     </optional>
15659 </define>
15660 <define name="style-graphic-properties-attlist" combine="interleave">
15661     <optional>
15662         <attribute name="draw:marker-start-center">
15663             <ref name="boolean"/>
15664         </attribute>
15665     </optional>
15666 </define>
15667 <define name="style-graphic-properties-attlist" combine="interleave">
15668     <optional>
15669         <attribute name="draw:marker-end-center">
15670             <ref name="boolean"/>
15671         </attribute>
15672     </optional>
15673 </define>
15674 <define name="style-graphic-properties-attlist" combine="interleave">
15675     <optional>
15676         <attribute name="svg:stroke-opacity">
15677             <choice>
15678                 <data type="double">
15679                     <param name="minInclusive">0</param>
15680                     <param name="maxInclusive">1</param>
15681                 </data>
15682                 <ref name="percent"/>
15683             </choice>
15684         </attribute>
15685     </optional>
15686 </define>
15687 <define name="style-graphic-properties-attlist" combine="interleave">
15688     <optional>
15689         <attribute name="draw:stroke-linejoin">
15690             <choice>
15691                 <value>miter</value>
15692                 <value>round</value>
15693                 <value>bevel</value>
15694                 <value>middle</value>
15695                 <value>none</value>
15696                 <value>inherit</value>
15697             </choice>
15698         </attribute>
15699     </optional>
15700 </define>
15701 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15702     <optional>
15703         <attribute name="draw:fill">
15704             <choice>
15705                 <value>none</value>
15706                 <value>solid</value>
15707                 <value>bitmap</value>
15708                 <value>gradient</value>
15709                 <value>hatch</value>
15710             </choice>
15711         </attribute>
15712     </optional>
15713 </define>
15714 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15715     <optional>
15716         <attribute name="draw:fill-color">
15717             <ref name="color"/>
15718         </attribute>
15719     </optional>
15720 </define>
15721 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15722     <optional>
15723         <attribute name="draw:secondary-fill-color">
15724             <ref name="color"/>
15725         </attribute>
15726     </optional>
15727 </define>
15728 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15729     <optional>
15730         <attribute name="draw:fill-gradient-name">
15731             <ref name="styleNameRef"/>
15732         </attribute>
15733     </optional>
15734 </define>
15735 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15736     <optional>
15737         <attribute name="draw:gradient-step-count">
15738             <ref name="nonNegativeInteger"/>
15739         </attribute>
15740     </optional>
15741 </define>
15742 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15743     <optional>
15744         <attribute name="draw:fill-hatch-name">
15745             <ref name="styleNameRef"/>
15746         </attribute>
15747     </optional>
15748 </define>
15749 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15750     <optional>
15751         <attribute name="draw:fill-hatch-solid">
15752             <ref name="boolean"/>
15753         </attribute>
15754     </optional>
15755 </define>
15756 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15757     <optional>
15758         <attribute name="draw:fill-image-name">
15759             <ref name="styleNameRef"/>
15760         </attribute>
15761     </optional>
15762 </define>
15763 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15764     <optional>
15765         <attribute name="style:repeat">
15766             <choice>
15767                 <value>no-repeat</value>
15768                 <value>repeat</value>
15769                 <value>stretch</value>
15770             </choice>
15771         </attribute>
15772     </optional>
15773 </define>
15774 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15775     <optional>
15776         <attribute name="draw:fill-image-width">
15777             <choice>
15778                 <ref name="length"/>
15779                 <ref name="percent"/>
15780             </choice>
15781         </attribute>
15782     </optional>
15783     <optional>
15784         <attribute name="draw:fill-image-height">
15785             <choice>
15786                 <ref name="length"/>
15787                 <ref name="percent"/>
15788             </choice>
15789         </attribute>
15790     </optional>
15791 </define>
15792 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15793     <optional>
15794         <attribute name="draw:fill-image-ref-point-x">
15795             <ref name="percent"/>
15796         </attribute>
15797     </optional>
15798     <optional>
15799         <attribute name="draw:fill-image-ref-point-y">
15800             <ref name="percent"/>
15801         </attribute>
15802     </optional>
15803     <optional>
15804         <attribute name="draw:fill-image-ref-point">
15805             <choice>
15806                 <value>top-left</value>
15807                 <value>top</value>
15808                 <value>top-right</value>
15809                 <value>left</value>
15810                 <value>center</value>
15811                 <value>right</value>
15812                 <value>bottom-left</value>
15813                 <value>bottom</value>
15814                 <value>bottom-right</value>
15815             </choice>
15816         </attribute>
15817     </optional>
15818 </define>
15819 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15820     <optional>
15821         <attribute name="draw:tile-repeat-offset"/>
15822     </optional>
15823 </define>
15824 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15825     <optional>
15826         <attribute name="draw:opacity">
15827             <ref name="percent"/>
15828         </attribute>
15829     </optional>
15830 </define>
15831 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15832     <optional>
15833         <attribute name="draw:opacity-name">
15834             <ref name="styleNameRef"/>
15835         </attribute>
15836     </optional>
15837 </define>
15838 <define name="style-graphic-fill-properties-attlist" combine="interleave">
15839     <optional>
15840         <attribute name="svg:fill-rule">
15841             <choice>
15842                 <value>nonzero</value>
15843                 <value>evenodd</value>
15844             </choice>
15845         </attribute>
15846     </optional>
15847 </define>
15848 <define name="style-graphic-properties-attlist" combine="interleave">
15849     <optional>
15850         <attribute name="draw:symbol-color">
15851             <ref name="color"/>
15852         </attribute>
15853     </optional>
15854 </define>
15855 <define name="style-graphic-properties-attlist" combine="interleave">
15856     <optional>
15857         <attribute name="text:animation">
15858             <choice>
15859                 <value>none</value>
15860                 <value>scroll</value>
15861                 <value>alternate</value>
15862                 <value>slide</value>
15863             </choice>
15864         </attribute>
15865     </optional>
15866 </define>
15867 <define name="style-graphic-properties-attlist" combine="interleave">
15868     <optional>
15869         <attribute name="text:animation-direction">
15870             <choice>
15871                 <value>left</value>
15872                 <value>right</value>
15873                 <value>up</value>
15874                 <value>down</value>
15875             </choice>
15876         </attribute>
15877     </optional>
15878 </define>
15879 <define name="style-graphic-properties-attlist" combine="interleave">
15880     <optional>
15881         <attribute name="text:animation-start-inside">
15882             <ref name="boolean"/>
15883         </attribute>
15884     </optional>
15885 </define>
15886 <define name="style-graphic-properties-attlist" combine="interleave">
15887     <optional>
15888         <attribute name="text:animation-stop-inside">
15889             <ref name="boolean"/>
15890         </attribute>
15891     </optional>
15892 </define>
15893 <define name="style-graphic-properties-attlist" combine="interleave">
15894     <optional>
15895         <attribute name="text:animation-repeat">
15896             <ref name="nonNegativeInteger"/>
15897         </attribute>
15898     </optional>
15899 </define>
15900 <define name="style-graphic-properties-attlist" combine="interleave">
15901     <optional>
15902         <attribute name="text:animation-delay">
15903             <ref name="duration"/>
15904         </attribute>
15905     </optional>
15906 </define>
15907 <define name="style-graphic-properties-attlist" combine="interleave">
15908     <optional>
15909         <attribute name="text:animation-steps">
15910             <ref name="length"/>
15911         </attribute>
15912     </optional>
15913 </define>
15914 <define name="style-graphic-properties-attlist" combine="interleave">
15915     <optional>
15916         <attribute name="draw:auto-grow-width">
15917             <ref name="boolean"/>
15918         </attribute>
15919     </optional>
15920     <optional>
15921         <attribute name="draw:auto-grow-height">
15922             <ref name="boolean"/>
15923         </attribute>
15924     </optional>
15925 </define>
15926 <define name="style-graphic-properties-attlist" combine="interleave">
15927     <optional>
15928         <attribute name="draw:fit-to-size">
15929             <ref name="boolean"/>
15930         </attribute>
15931     </optional>
15932 </define>
15933 <define name="style-graphic-properties-attlist" combine="interleave">
15934     <optional>
15935         <attribute name="draw:fit-to-contour">
15936             <ref name="boolean"/>
15937         </attribute>
15938     </optional>
15939 </define>
15940 <define name="style-graphic-properties-attlist" combine="interleave">
15941     <optional>
15942         <attribute name="draw:textarea-vertical-align">
15943             <choice>
15944                 <value>top</value>
15945                 <value>middle</value>
15946                 <value>bottom</value>
15947                 <value>justify</value>
15948             </choice>
15949         </attribute>
15950     </optional>
15951 </define>
15952 <define name="style-graphic-properties-attlist" combine="interleave">
15953     <optional>
15954         <attribute name="draw:textarea-horizontal-align">
15955             <choice>
15956                 <value>left</value>
15957                 <value>center</value>
15958                 <value>right</value>
15959                 <value>justify</value>
15960             </choice>
15961         </attribute>
15962     </optional>
15963 </define>
15964 <define name="style-graphic-properties-attlist" combine="interleave">
15965     <optional>
15966         <attribute name="fo:wrap-option">
15967             <choice>
15968                 <value>no-wrap</value>
15969                 <value>wrap</value>
15970             </choice>
15971         </attribute>
15972     </optional>
15973 </define>
15974 <define name="style-graphic-properties-elements" combine="interleave">
15975     <optional>
15976         <ref name="text-list-style"/>
15977     </optional>
15978 </define>
15979 <define name="style-graphic-properties-attlist" combine="interleave">
15980     <optional>
15981         <attribute name="draw:color-mode">
15982             <choice>
15983                 <value>greyscale</value>
15984                 <value>mono</value>
15985                 <value>watermark</value>
15986                 <value>standard</value>
15987             </choice>
15988         </attribute>
15989     </optional>
15990 </define>
15991 <define name="style-graphic-properties-attlist" combine="interleave">
15992     <optional>
15993         <attribute name="draw:color-inversion">
15994             <ref name="boolean"/>
15995         </attribute>
15996     </optional>
15997 </define>
15998 <define name="style-graphic-properties-attlist" combine="interleave">
15999     <optional>
16000         <attribute name="draw:luminance">
16001             <ref name="percent"/>
16002         </attribute>
16003     </optional>
16004 </define>
16005 <define name="style-graphic-properties-attlist" combine="interleave">
16006     <optional>
16007         <attribute name="draw:contrast">
16008             <ref name="percent"/>
16009         </attribute>
16010     </optional>
16011 </define>
16012 <define name="style-graphic-properties-attlist" combine="interleave">
16013     <optional>
16014         <attribute name="draw:gamma">
16015             <ref name="percent"/>
16016         </attribute>
16017     </optional>
16018 </define>
16019 <define name="style-graphic-properties-attlist" combine="interleave">
16020     <optional>
16021         <attribute name="draw:red">
16022             <ref name="percent"/>
16023         </attribute>
16024     </optional>
16025 </define>
16026 <define name="style-graphic-properties-attlist" combine="interleave">
16027     <optional>
16028         <attribute name="draw:green">
16029             <ref name="percent"/>
16030         </attribute>
16031     </optional>
16032 </define>
16033 <define name="style-graphic-properties-attlist" combine="interleave">
16034     <optional>
16035         <attribute name="draw:blue">
16036             <ref name="percent"/>
16037         </attribute>
16038     </optional>
16039 </define>
16040 <define name="style-graphic-properties-attlist" combine="interleave">
16041     <optional>
16042         <attribute name="draw:image-opacity">
16043             <ref name="percent"/>
16044         </attribute>
16045     </optional>
16046 </define>
16047 <define name="style-graphic-properties-attlist" combine="interleave">
16048     <optional>
16049         <attribute name="draw:shadow">
16050             <choice>
16051                 <value>visible</value>
16052                 <value>hidden</value>
16053             </choice>
16054         </attribute>
16055     </optional>
16056 </define>
16057 <define name="style-graphic-properties-attlist" combine="interleave">
16058     <optional>
16059         <attribute name="draw:shadow-offset-x">
16060             <ref name="length"/>
16061         </attribute>
16062     </optional>
16063     <optional>
16064         <attribute name="draw:shadow-offset-y">
16065             <ref name="length"/>
16066         </attribute>
16067     </optional>
16068 </define>
16069 <define name="style-graphic-properties-attlist" combine="interleave">
16070     <optional>
16071         <attribute name="draw:shadow-color">
16072             <ref name="color"/>
16073         </attribute>
16074     </optional>
16075 </define>
16076 <define name="style-graphic-properties-attlist" combine="interleave">
16077     <optional>
16078         <attribute name="draw:shadow-opacity">
16079             <ref name="percent"/>
16080         </attribute>
16081     </optional>
16082 </define>
16083 <define name="style-graphic-properties-attlist" combine="interleave">
16084     <optional>
16085         <attribute name="draw:start-line-spacing-horizontal">
16086             <ref name="distance"/>
16087         </attribute>
16088     </optional>
16089     <optional>
16090         <attribute name="draw:start-line-spacing-vertical">
16091             <ref name="distance"/>
16092         </attribute>
16093     </optional>
16094 </define>
16095 <define name="style-graphic-properties-attlist" combine="interleave">
16096     <optional>
16097         <attribute name="draw:end-line-spacing-horizontal">
16098             <ref name="distance"/>
16099         </attribute>
16100     </optional>
16101     <optional>
16102         <attribute name="draw:end-line-spacing-vertical">
16103             <ref name="distance"/>
16104         </attribute>
16105     </optional>
16106 </define>
16107 <define name="style-graphic-properties-attlist" combine="interleave">
16108     <optional>
16109         <attribute name="draw:line-distance">
16110             <ref name="distance"/>
16111         </attribute>
16112     </optional>
16113 </define>
16114 <define name="style-graphic-properties-attlist" combine="interleave">
16115     <optional>
16116         <attribute name="draw:guide-overhang">
16117             <ref name="length"/>
16118         </attribute>
16119     </optional>
16120 </define>
16121 <define name="style-graphic-properties-attlist" combine="interleave">
16122     <optional>
16123         <attribute name="draw:guide-distance">
16124             <ref name="distance"/>
16125         </attribute>
16126     </optional>
16127 </define>
16128 <define name="style-graphic-properties-attlist" combine="interleave">
16129     <optional>
16130         <attribute name="draw:start-guide">
16131             <ref name="length"/>
16132         </attribute>
16133     </optional>
16134 </define>
16135 <define name="style-graphic-properties-attlist" combine="interleave">
16136     <optional>
16137         <attribute name="draw:end-guide">
16138             <ref name="length"/>
16139         </attribute>
16140     </optional>
16141 </define>
16142 <define name="style-graphic-properties-attlist" combine="interleave">
16143     <optional>
16144         <attribute name="draw:placing">
16145             <choice>
16146                 <value>below</value>
16147                 <value>above</value>
16148             </choice>
16149         </attribute>
16150     </optional>
16151 </define>
16152 <define name="style-graphic-properties-attlist" combine="interleave">
16153     <optional>
16154         <attribute name="draw:parallel">
16155             <ref name="boolean"/>
16156         </attribute>
16157     </optional>
16158 </define>
16159 <define name="style-graphic-properties-attlist" combine="interleave">
16160     <optional>
16161         <attribute name="draw:measure-align">
16162             <choice>
16163                 <value>automatic</value>
16164                 <value>left-outside</value>
16165                 <value>inside</value>
16166                 <value>right-outside</value>
16167             </choice>
16168         </attribute>
16169     </optional>
16170     <optional>
16171         <attribute name="draw:measure-vertical-align">
16172             <choice>
16173                 <value>automatic</value>
16174                 <value>above</value>
16175                 <value>below</value>
16176                 <value>center</value>
16177             </choice>
16178         </attribute>
16179     </optional>
16180 </define>
16181 <define name="style-graphic-properties-attlist" combine="interleave">
16182     <optional>
16183         <attribute name="draw:unit">
16184             <choice>
16185                 <value>automatic</value>
16186                 <value>mm</value>
16187                 <value>cm</value>
16188                 <value>m</value>
16189                 <value>km</value>
16190                 <value>pt</value>
16191                 <value>pc</value>
16192                 <value>inch</value>
16193                 <value>ft</value>
16194                 <value>mi</value>
16195             </choice>
16196         </attribute>
16197     </optional>
16198 </define>
16199 <define name="style-graphic-properties-attlist" combine="interleave">
16200     <optional>
16201         <attribute name="draw:show-unit">
16202             <ref name="boolean"/>
16203         </attribute>
16204     </optional>
16205 </define>
16206 <define name="style-graphic-properties-attlist" combine="interleave">
16207     <optional>
16208         <attribute name="draw:decimal-places">
16209             <ref name="nonNegativeInteger"/>
16210         </attribute>
16211     </optional>
16212 </define>
16213 <define name="style-graphic-properties-attlist" combine="interleave">
16214     <optional>
16215         <attribute name="draw:caption-type">
16216             <choice>
16217                 <value>straight-line</value>
16218                 <value>angled-line</value>
16219                 <value>angled-connector-line</value>
16220             </choice>
16221         </attribute>
16222     </optional>
16223 </define>
16224 <define name="style-graphic-properties-attlist" combine="interleave">
16225     <optional>
16226         <attribute name="draw:caption-angle-type">
16227             <choice>
16228                 <value>fixed</value>
16229                 <value>free</value>
16230             </choice>
16231         </attribute>
16232     </optional>
16233 </define>
16234 <define name="style-graphic-properties-attlist" combine="interleave">
16235     <optional>
16236         <attribute name="draw:caption-angle">
16237             <ref name="nonNegativeInteger"/>
16238         </attribute>
16239     </optional>
16240 </define>
16241 <define name="style-graphic-properties-attlist" combine="interleave">
16242     <optional>
16243         <attribute name="draw:caption-gap">
16244             <ref name="distance"/>
16245         </attribute>
16246     </optional>
16247 </define>
16248 <define name="style-graphic-properties-attlist" combine="interleave">
16249     <optional>
16250         <attribute name="draw:caption-escape-direction">
16251             <choice>
16252                 <value>horizontal</value>
16253                 <value>vertical</value>
16254                 <value>auto</value>
16255             </choice>
16256         </attribute>
16257     </optional>
16258 </define>
16259 <define name="style-graphic-properties-attlist" combine="interleave">
16260     <optional>
16261         <attribute name="draw:caption-escape">
16262             <choice>
16263                 <ref name="length"/>
16264                 <ref name="percent"/>
16265             </choice>
16266         </attribute>
16267     </optional>
16268 </define>
16269 <define name="style-graphic-properties-attlist" combine="interleave">
16270     <optional>
16271         <attribute name="draw:caption-line-length">
16272             <ref name="length"/>
16273         </attribute>
16274     </optional>
16275 </define>
16276 <define name="style-graphic-properties-attlist" combine="interleave">
16277     <optional>
16278         <attribute name="draw:caption-fit-line-length">
16279             <ref name="boolean"/>
16280         </attribute>
16281     </optional>
16282 </define>
16283 <define name="style-graphic-properties-attlist" combine="interleave">
16284     <optional>
16285         <attribute name="dr3d:horizontal-segments">
16286             <ref name="nonNegativeInteger"/>
16287         </attribute>
16288     </optional>
16289 </define>
16290 <define name="style-graphic-properties-attlist" combine="interleave">
16291     <optional>
16292         <attribute name="dr3d:vertical-segments">
16293             <ref name="nonNegativeInteger"/>
16294         </attribute>
16295     </optional>
16296 </define>
16297 <define name="style-graphic-properties-attlist" combine="interleave">
16298     <optional>
16299         <attribute name="dr3d:edge-rounding">
16300             <ref name="percent"/>
16301         </attribute>
16302     </optional>
16303 </define>
16304 <define name="style-graphic-properties-attlist" combine="interleave">
16305     <optional>
16306         <attribute name="dr3d:edge-rounding-mode">
16307             <choice>
16308                 <value>correct</value>
16309                 <value>attractive</value>
16310             </choice>
16311         </attribute>
16312     </optional>
16313 </define>
16314 <define name="style-graphic-properties-attlist" combine="interleave">
16315     <optional>
16316         <attribute name="dr3d:back-scale">
16317             <ref name="percent"/>
16318         </attribute>
16319     </optional>
16320 </define>
16321 <define name="style-graphic-properties-attlist" combine="interleave">
16322     <optional>
16323         <attribute name="dr3d:depth">
16324             <ref name="length"/>
16325         </attribute>
16326     </optional>
16327 </define>
16328 <define name="style-graphic-properties-attlist" combine="interleave">
16329     <optional>
16330         <attribute name="dr3d:backface-culling">
16331             <choice>
16332                 <value>enabled</value>
16333                 <value>disabled</value>
16334             </choice>
16335         </attribute>
16336     </optional>
16337 </define>
16338 <define name="style-graphic-properties-attlist" combine="interleave">
16339     <optional>
16340         <attribute name="dr3d:end-angle">
16341             <ref name="nonNegativeInteger"/>
16342         </attribute>
16343     </optional>
16344 </define>
16345 <define name="style-graphic-properties-attlist" combine="interleave">
16346     <optional>
16347         <attribute name="dr3d:close-front">
16348             <ref name="boolean"/>
16349         </attribute>
16350     </optional>
16351 </define>
16352 <define name="style-graphic-properties-attlist" combine="interleave">
16353     <optional>
16354         <attribute name="dr3d:close-back">
16355             <ref name="boolean"/>
16356         </attribute>
16357     </optional>
16358 </define>
16359 <define name="style-graphic-properties-attlist" combine="interleave">
16360     <optional>
16361         <attribute name="dr3d:lighting-mode">
16362             <choice>
16363                 <value>standard</value>
16364                 <value>double-sided</value>
16365             </choice>
16366         </attribute>
16367     </optional>
16368 </define>
16369 <define name="style-graphic-properties-attlist" combine="interleave">
16370     <optional>
16371         <attribute name="dr3d:normals-kind">
16372             <choice>
16373                 <value>object</value>
16374                 <value>flat</value>
16375                 <value>sphere</value>
16376             </choice>
16377         </attribute>
16378     </optional>
16379 </define>
16380 <define name="style-graphic-properties-attlist" combine="interleave">
16381     <optional>
16382         <attribute name="dr3d:normals-direction">
16383             <choice>
16384                 <value>normal</value>
16385                 <value>inverse</value>
16386             </choice>
16387         </attribute>
16388     </optional>
16389 </define>
16390 <define name="style-graphic-properties-attlist" combine="interleave">
16391     <optional>
16392         <attribute name="dr3d:texture-generation-mode-x">
16393             <choice>
16394                 <value>object</value>
16395                 <value>parallel</value>
16396                 <value>sphere</value>
16397             </choice>
16398         </attribute>
16399     </optional>
16400     <optional>
16401         <attribute name="dr3d:texture-generation-mode-y">
16402             <choice>
16403                 <value>object</value>
16404                 <value>parallel</value>
16405                 <value>sphere</value>
16406             </choice>
16407         </attribute>
16408     </optional>
16409 </define>
16410 <define name="style-graphic-properties-attlist" combine="interleave">
16411     <optional>
16412         <attribute name="dr3d:texture-kind">
16413             <choice>
16414                 <value>luminance</value>
16415                 <value>intesity</value>
16416                 <value>color</value>
16417             </choice>
16418         </attribute>
16419     </optional>
16420 </define>
16421 <define name="style-graphic-properties-attlist" combine="interleave">
16422     <optional>
16423         <attribute name="dr3d:texture-filter">
16424             <choice>
16425                 <value>enabled</value>
16426                 <value>disabled</value>
16427             </choice>
16428         </attribute>
16429     </optional>
16430 </define>
16431 <define name="style-graphic-properties-attlist" combine="interleave">
16432     <optional>
16433         <attribute name="dr3d:texture-mode">
16434             <choice>
16435                 <value>replace</value>
16436                 <value>modulate</value>
16437                 <value>blend</value>
16438             </choice>
16439         </attribute>
16440     </optional>
16441 </define>
16442 <define name="style-graphic-properties-attlist" combine="interleave">
16443     <optional>
16444         <attribute name="dr3d:ambient-color">
16445             <ref name="color"/>
16446         </attribute>
16447     </optional>
16448     <optional>
16449         <attribute name="dr3d:emissive-color">
16450             <ref name="color"/>
16451         </attribute>
16452     </optional>
16453     <optional>
16454         <attribute name="dr3d:specular-color">
16455             <ref name="color"/>
16456         </attribute>
16457     </optional>
16458     <optional>
16459         <attribute name="dr3d:diffuse-color">
16460             <ref name="color"/>
16461         </attribute>
16462     </optional>
16463 </define>
16464 <define name="style-graphic-properties-attlist" combine="interleave">
16465     <optional>
16466         <attribute name="dr3d:shininess">
16467             <ref name="percent"/>
16468         </attribute>
16469     </optional>
16470 </define>
16471 <define name="style-graphic-properties-attlist" combine="interleave">
16472     <optional>
16473         <attribute name="dr3d:shadow">
16474             <choice>
16475                 <value>visible</value>
16476                 <value>hidden</value>
16477             </choice>
16478         </attribute>
16479     </optional>
16480 </define>
16481 <define name="style-graphic-properties-attlist" combine="interleave">
16482     <ref name="common-draw-rel-size-attlist"/>
16483     <optional>
16484         <attribute name="fo:min-width">
16485             <choice>
16486                 <ref name="length"/>
16487                 <ref name="percent"/>
16488             </choice>
16489         </attribute>
16490     </optional>
16491 </define>
16492 <define name="style-graphic-properties-attlist" combine="interleave">
16493     <optional>
16494         <attribute name="fo:min-height">
16495             <choice>
16496                 <ref name="length"/>
16497                 <ref name="percent"/>
16498             </choice>
16499         </attribute>
16500     </optional>
16501 </define>
16502 <define name="style-graphic-properties-attlist" combine="interleave">
16503     <optional>
16504         <attribute name="fo:max-height">
16505             <choice>
16506                 <ref name="length"/>
16507                 <ref name="percent"/>
16508             </choice>
16509         </attribute>
16510     </optional>
16511     <optional>
16512         <attribute name="fo:max-width">
16513             <choice>
16514                 <ref name="length"/>
16515                 <ref name="percent"/>
16516             </choice>
16517         </attribute>
16518     </optional>
16519 </define>
16520 <define name="style-graphic-properties-attlist" combine="interleave">
16521     <ref name="common-horizontal-margin-attlist"/>
16522 </define>
16523 <define name="style-graphic-properties-attlist" combine="interleave">
16524     <ref name="common-vertical-margin-attlist"/>
16525 </define>
16526 <define name="style-graphic-properties-attlist" combine="interleave">
16527     <ref name="common-margin-attlist"/>
16528 </define>
16529 <define name="style-graphic-properties-attlist" combine="interleave">
16530     <optional>
16531         <attribute name="style:print-content">
16532             <ref name="boolean"/>
16533         </attribute>
16534     </optional>
16535 </define>
16536 <define name="style-graphic-properties-attlist" combine="interleave">
16537     <optional>
16538         <attribute name="style:protect">
16539             <choice>
16540                 <value>none</value>
16541                 <list>
16542                     <oneOrMore>
16543                         <choice>
16544                             <value>content</value>
16545                             <value>position</value>
16546                             <value>size</value>
16547                         </choice>
16548                     </oneOrMore>
16549                 </list>
16550             </choice>
16551         </attribute>
16552     </optional>
16553 </define>
16554 <define name="style-graphic-properties-attlist" combine="interleave">
16555     <optional>
16556         <attribute name="style:horizontal-pos">
16557             <choice>
16558                 <value>left</value>
16559                 <value>center</value>
16560                 <value>right</value>
16561                 <value>from-left</value>
16562                 <value>inside</value>
16563                 <value>outside</value>
16564                 <value>from-inside</value>
16565             </choice>
16566         </attribute>
16567     </optional>
16568     <optional>
16569         <attribute name="svg:x">
16570             <ref name="coordinate"/>
16571         </attribute>
16572     </optional>
16573 </define>
16574 <define name="style-graphic-properties-attlist" combine="interleave">
16575     <optional>
16576         <attribute name="style:horizontal-rel">
16577             <choice>
16578                     <value>page</value>
16579                 <value>page-content</value>
16580                 <value>page-start-margin</value>
16581                 <value>page-end-margin</value>
16582                 <value>frame</value>
16583                 <value>frame-content</value>
16584                 <value>frame-start-margin</value>
16585                 <value>frame-end-margin</value>
16586                 <value>paragraph</value>
16587                 <value>paragraph-content</value>
16588                 <value>paragraph-start-margin</value>
16589                 <value>paragraph-end-margin</value>
16590                 <value>char</value>
16591             </choice>
16592         </attribute>
16593     </optional>
16594 </define>
16595 <define name="style-graphic-properties-attlist" combine="interleave">
16596     <ref name="common-vertical-pos-attlist"/>
16597 </define>
16598 
16599 <define name="common-vertical-pos-attlist">
16600     <optional>
16601         <attribute name="style:vertical-pos">
16602             <choice>
16603                 <value>top</value>
16604                 <value>middle</value>
16605                 <value>bottom</value>
16606                 <value>from-top</value>
16607                 <value>below</value>
16608             </choice>
16609         </attribute>
16610     </optional>
16611     <optional>
16612         <attribute name="svg:y">
16613             <ref name="coordinate"/>
16614         </attribute>
16615     </optional>
16616 </define>
16617 <define name="style-graphic-properties-attlist" combine="interleave">
16618     <ref name="common-vertical-rel-attlist"/>
16619 </define>
16620 
16621 <define name="common-vertical-rel-attlist">
16622     <optional>
16623         <attribute name="style:vertical-rel">
16624             <choice>
16625                 <value>page</value>
16626                 <value>page-content</value>
16627                 <value>frame</value>
16628                 <value>frame-content</value>
16629                 <value>paragraph</value>
16630                 <value>paragraph-content</value>
16631                 <value>char</value>
16632                 <value>line</value>
16633                 <value>baseline</value>
16634                 <value>text</value>
16635             </choice>
16636         </attribute>
16637     </optional>
16638 </define>
16639 <define name="style-graphic-properties-attlist" combine="interleave">
16640     <ref name="common-text-anchor-attlist"/>
16641 </define>
16642 <define name="style-graphic-properties-attlist" combine="interleave">
16643     <ref name="common-border-attlist"/>
16644 </define>
16645 <define name="style-graphic-properties-attlist" combine="interleave">
16646     <ref name="common-border-line-width-attlist"/>
16647 </define>
16648 <define name="style-graphic-properties-attlist" combine="interleave">
16649     <ref name="common-padding-attlist"/>
16650 </define>
16651 <define name="style-graphic-properties-attlist" combine="interleave">
16652     <ref name="common-shadow-attlist"/>
16653 </define>
16654 <define name="style-graphic-properties-attlist" combine="interleave">
16655     <ref name="common-background-color-attlist"/>
16656 </define>
16657 <define name="style-graphic-properties-elements" combine="interleave">
16658     <ref name="style-background-image"/>
16659 </define>
16660 <define name="style-graphic-properties-elements" combine="interleave">
16661     <ref name="style-columns"/>
16662 </define>
16663 <define name="style-graphic-properties-attlist" combine="interleave">
16664     <optional>
16665         <attribute name="style:editable">
16666             <ref name="boolean"/>
16667         </attribute>
16668     </optional>
16669 </define>
16670 <define name="style-graphic-properties-attlist" combine="interleave">
16671     <optional>
16672         <attribute name="style:wrap">
16673             <choice>
16674                 <value>none</value>
16675                 <value>left</value>
16676                 <value>right</value>
16677                 <value>parallel</value>
16678                 <value>dynamic</value>
16679                 <value>run-through</value>
16680                 <value>biggest</value>
16681             </choice>
16682         </attribute>
16683     </optional>
16684 </define>
16685 <define name="style-graphic-properties-attlist" combine="interleave">
16686     <optional>
16687         <attribute name="style:wrap-dynamic-treshold">
16688             <ref name="nonNegativeLength"/>
16689         </attribute>
16690     </optional>
16691 </define>
16692 <define name="style-graphic-properties-attlist" combine="interleave">
16693     <optional>
16694         <attribute name="style:number-wrapped-paragraphs">
16695             <choice>
16696                 <value>no-limit</value>
16697                 <ref name="positiveInteger"/>
16698             </choice>
16699         </attribute>
16700     </optional>
16701 </define>
16702 <define name="style-graphic-properties-attlist" combine="interleave">
16703     <optional>
16704         <attribute name="style:wrap-contour">
16705             <ref name="boolean"/>
16706         </attribute>
16707     </optional>
16708 </define>
16709 <define name="style-graphic-properties-attlist" combine="interleave">
16710     <optional>
16711         <attribute name="style:wrap-contour-mode">
16712             <choice>
16713                 <value>full</value>
16714                 <value>outside</value>
16715             </choice>
16716         </attribute>
16717     </optional>
16718 </define>
16719 <define name="style-graphic-properties-attlist" combine="interleave">
16720     <optional>
16721         <attribute name="style:run-through">
16722             <choice>
16723                 <value>foreground</value>
16724                 <value>background</value>
16725             </choice>
16726         </attribute>
16727     </optional>
16728 </define>
16729 <define name="style-graphic-properties-attlist" combine="interleave">
16730     <optional>
16731         <attribute name="style:flow-with-text">
16732             <ref name="boolean"/>
16733         </attribute>
16734     </optional>
16735 </define>
16736 <define name="style-graphic-properties-attlist" combine="interleave">
16737     <optional>
16738         <attribute name="style:overflow-behavior">
16739             <choice>
16740                 <value>clip</value>
16741                 <value>auto-create-new-frame</value>
16742             </choice>
16743         </attribute>
16744     </optional>
16745 </define>
16746 <define name="style-graphic-properties-attlist" combine="interleave">
16747     <optional>
16748         <attribute name="style:mirror">
16749             <choice>
16750                 <value>none</value>
16751                 <value>vertical</value>
16752                 <ref name="horizontal-mirror"/>
16753                 <list>
16754                     <value>vertical</value>
16755                     <ref name="horizontal-mirror"/>
16756                 </list>
16757                 <list>
16758                     <ref name="horizontal-mirror"/>
16759                     <value>vertical</value>
16760                 </list>
16761             </choice>
16762         </attribute>
16763     </optional>
16764 </define>
16765 
16766 <define name="horizontal-mirror">
16767     <choice>
16768         <value>horizontal</value>
16769         <value>horizontal-on-odd</value>
16770         <value>horizontal-on-even</value>
16771     </choice>
16772 </define>
16773 <define name="style-graphic-properties-attlist" combine="interleave">
16774     <optional>
16775         <attribute name="fo:clip">
16776             <!-- The attribute value must match the one XSL's clip -->
16777             <ref name="string"/>
16778         </attribute>
16779     </optional>
16780 </define>
16781 <define name="style-graphic-properties-attlist" combine="interleave">
16782     <optional>
16783         <attribute name="draw:wrap-influence-on-position"
16784                     a:defaultValue="iterative">
16785             <choice>
16786                 <value>iterative</value>
16787                 <value>once-concurrent</value>
16788                 <value>once-successive</value>
16789             </choice>
16790         </attribute>
16791     </optional>
16792 </define>
16793 <define name="style-graphic-properties-attlist" combine="interleave">
16794     <optional>
16795         <attribute name="draw:frame-display-scrollbar">
16796             <ref name="boolean"/>
16797         </attribute>
16798     </optional>
16799 </define>
16800 <define name="style-graphic-properties-attlist" combine="interleave">
16801     <optional>
16802         <attribute name="draw:frame-display-border">
16803             <ref name="boolean"/>
16804         </attribute>
16805     </optional>
16806 </define>
16807 <define name="style-graphic-properties-attlist" combine="interleave">
16808     <optional>
16809         <attribute name="draw:frame-margin-horizontal">
16810             <ref name="nonNegativePixelLength"/>
16811         </attribute>
16812     </optional>
16813     <optional>
16814         <attribute name="draw:frame-margin-vertical">
16815             <ref name="nonNegativePixelLength"/>
16816         </attribute>
16817     </optional>
16818 </define>
16819 
16820 <define name="nonNegativePixelLength">
16821     <data type="string">
16822         <param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)(px)</param>
16823     </data>
16824 </define>
16825 <define name="style-graphic-properties-attlist" combine="interleave">
16826     <optional>
16827         <attribute name="draw:visible-area-left">
16828             <ref name="nonNegativeLength"/>
16829         </attribute>
16830     </optional>
16831     <optional>
16832         <attribute name="draw:visible-area-top">
16833             <ref name="nonNegativeLength"/>
16834         </attribute>
16835     </optional>
16836     <optional>
16837         <attribute name="draw:visible-area-width">
16838             <ref name="positiveLength"/>
16839         </attribute>
16840     </optional>
16841     <optional>
16842         <attribute name="draw:visible-area-height">
16843             <ref name="positiveLength"/>
16844         </attribute>
16845     </optional>
16846 </define>
16847 <define name="style-graphic-properties-attlist" combine="interleave">
16848     <optional>
16849         <attribute name="draw:ole-draw-aspect">
16850             <ref name="nonNegativeInteger"/>
16851         </attribute>
16852     </optional>
16853 </define>
16854 <define name="style-chart-properties">
16855     <element name="style:chart-properties">
16856         <ref name="style-chart-properties-content"/>
16857     </element>
16858 </define>
16859 
16860 <define name="style-chart-properties-content">
16861     <ref name="style-properties-content"/>
16862 </define>
16863 
16864 <define name="style-chart-properties-content-strict">
16865     <ref name="style-chart-properties-attlist"/>
16866     <ref name="style-chart-properties-elements"/>
16867 </define>
16868 
16869 <define name="style-chart-properties-elements">
16870     <empty/>
16871 </define>
16872 <define name="style-chart-properties-attlist" combine="interleave">
16873     <optional>
16874         <attribute name="chart:scale-text" a:defaultValue="true">
16875             <ref name="boolean"/>
16876         </attribute>
16877     </optional>
16878 </define>
16879 <define name="style-chart-properties-attlist" combine="interleave">
16880     <optional>
16881         <attribute name="chart:three-dimensional">
16882             <ref name="boolean"/>
16883         </attribute>
16884     </optional>
16885 </define>
16886 <define name="style-chart-properties-attlist" combine="interleave">
16887     <optional>
16888         <attribute name="chart:deep">
16889             <ref name="boolean"/>
16890         </attribute>
16891     </optional>
16892 </define>
16893 <define name="style-chart-properties-attlist" combine="interleave">
16894     <choice>
16895         <attribute name="chart:symbol-type">
16896             <value>none</value>
16897         </attribute>
16898         <attribute name="chart:symbol-type">
16899             <value>automatic</value>
16900         </attribute>
16901         <group>
16902             <attribute name="chart:symbol-type">
16903                 <value>named-symbol</value>
16904             </attribute>
16905             <attribute name="chart:symbol-name">
16906                 <choice>
16907                     <value>square</value>
16908                     <value>diamond</value>
16909                     <value>arrow-down</value>
16910                     <value>arrow-up</value>
16911                     <value>arrow-right</value>
16912                     <value>arrow-left</value>
16913                     <value>bow-tie</value>
16914                     <value>hourglass</value>
16915                     <value>circle</value>
16916                     <value>star</value>
16917                     <value>x</value>
16918                     <value>plus</value>
16919                     <value>asterisk</value>
16920                     <value>horizontal-bar</value>
16921                     <value>vertical-bar</value>
16922                 </choice>
16923             </attribute>
16924         </group>
16925         <group>
16926             <attribute name="chart:symbol-type">
16927                 <value>image</value>
16928             </attribute>
16929             <element name="chart:symbol-image">
16930                 <attribute name="xlink:href">
16931                     <ref name="anyURI"/>
16932                 </attribute>
16933             </element>
16934         </group>
16935         <empty/>
16936     </choice>
16937 </define>
16938 <define name="style-chart-properties-attlist" combine="interleave">
16939     <optional>
16940         <attribute name="chart:symbol-width">
16941             <ref name="nonNegativeLength"/>
16942         </attribute>
16943     </optional>
16944     <optional>
16945         <attribute name="chart:symbol-height">
16946             <ref name="nonNegativeLength"/>
16947         </attribute>
16948     </optional>
16949 </define>
16950 <define name="style-chart-properties-attlist" combine="interleave">
16951     <optional>
16952         <attribute name="chart:vertical" a:defaultValue="false">
16953             <ref name="boolean"/>
16954         </attribute>
16955     </optional>
16956 </define>
16957 <define name="style-chart-properties-attlist" combine="interleave">
16958     <optional>
16959         <attribute name="chart:connect-bars" a:defaultValue="false">
16960             <ref name="boolean"/>
16961         </attribute>
16962     </optional>
16963 </define>
16964 <define name="style-chart-properties-attlist" combine="interleave">
16965     <optional>
16966         <attribute name="chart:gap-width">
16967             <ref name="integer"/>
16968         </attribute>
16969     </optional>
16970     <optional>
16971         <attribute name="chart:overlap">
16972             <ref name="integer"/>
16973         </attribute>
16974     </optional>
16975 </define>
16976 <define name="style-chart-properties-attlist" combine="interleave">
16977     <optional>
16978         <attribute name="chart:japanese-candle-stick"
16979                     a:defaultValue="false">
16980             <ref name="boolean"/>
16981         </attribute>
16982     </optional>
16983 </define>
16984 <define name="style-chart-properties-attlist" combine="interleave">
16985     <optional>
16986         <attribute name="chart:interpolation" a:defaultValue="none">
16987             <choice>
16988                 <value>none</value>
16989                 <value>cubic-spline</value>
16990                 <value>b-spline</value>
16991             </choice>
16992         </attribute>
16993     </optional>
16994     <optional>
16995         <attribute name="chart:spline-order" a:defaultValue="2">
16996             <ref name="positiveInteger"/>
16997         </attribute>
16998     </optional>
16999     <optional>
17000         <attribute name="chart:spline-resolution" a:defaultValue="20">
17001             <ref name="positiveInteger"/>
17002         </attribute>
17003     </optional>
17004 </define>
17005 <define name="style-chart-properties-attlist" combine="interleave">
17006     <optional>
17007         <attribute name="chart:pie-offset" a:defaultValue="0">
17008             <ref name="nonNegativeInteger"/>
17009         </attribute>
17010     </optional>
17011 </define>
17012 <define name="style-chart-properties-attlist" combine="interleave">
17013     <optional>
17014         <attribute name="chart:lines" a:defaultValue="false">
17015             <ref name="boolean"/>
17016         </attribute>
17017     </optional>
17018 </define>
17019 <define name="style-chart-properties-attlist" combine="interleave">
17020     <optional>
17021         <attribute name="chart:solid-type" a:defaultValue="cuboid">
17022             <choice>
17023                 <value>cuboid</value>
17024                 <value>cylinder</value>
17025                 <value>cone</value>
17026                 <value>pyramid</value>
17027             </choice>
17028         </attribute>
17029     </optional>
17030 </define>
17031 <define name="style-chart-properties-attlist" combine="interleave">
17032     <optional>
17033         <attribute name="chart:stacked" a:defaultValue="false">
17034             <ref name="boolean"/>
17035         </attribute>
17036     </optional>
17037     <optional>
17038         <attribute name="chart:percentage" a:defaultValue="false">
17039             <ref name="boolean"/>
17040         </attribute>
17041     </optional>
17042 </define>
17043 <define name="style-chart-properties-attlist" combine="interleave">
17044     <optional>
17045         <attribute name="chart:link-data-style-to-source">
17046             <ref name="boolean"/>
17047         </attribute>
17048     </optional>
17049 </define>
17050 <define name="style-chart-properties-attlist" combine="interleave">
17051     <optional>
17052         <attribute name="chart:visible">
17053             <ref name="boolean"/>
17054         </attribute>
17055     </optional>
17056 </define>
17057 <define name="style-chart-properties-attlist" combine="interleave">
17058     <optional>
17059         <attribute name="chart:logarithmic">
17060             <ref name="boolean"/>
17061         </attribute>
17062     </optional>
17063 </define>
17064 <define name="style-chart-properties-attlist" combine="interleave">
17065     <optional>
17066         <attribute name="chart:maximum">
17067             <ref name="double"/>
17068         </attribute>
17069     </optional>
17070     <optional>
17071         <attribute name="chart:minimum">
17072             <ref name="double"/>
17073         </attribute>
17074     </optional>
17075     <optional>
17076         <attribute name="chart:origin">
17077             <ref name="double"/>
17078         </attribute>
17079     </optional>
17080     <optional>
17081         <attribute name="chart:interval-major">
17082             <ref name="double"/>
17083         </attribute>
17084     </optional>
17085     <optional>
17086         <attribute name="chart:interval-minor">
17087             <ref name="positiveInteger"/>
17088         </attribute>
17089     </optional>
17090 </define>
17091 <define name="style-chart-properties-attlist" combine="interleave">
17092     <optional>
17093         <attribute name="chart:tick-marks-major-inner">
17094             <ref name="boolean"/>
17095         </attribute>
17096     </optional>
17097     <optional>
17098         <attribute name="chart:tick-marks-major-outer">
17099             <ref name="boolean"/>
17100         </attribute>
17101     </optional>
17102     <optional>
17103         <attribute name="chart:tick-marks-minor-inner">
17104             <ref name="boolean"/>
17105         </attribute>
17106     </optional>
17107     <optional>
17108         <attribute name="chart:tick-marks-minor-outer">
17109             <ref name="boolean"/>
17110         </attribute>
17111     </optional>
17112 </define>
17113 <define name="style-chart-properties-attlist" combine="interleave">
17114     <optional>
17115         <attribute name="chart:display-label">
17116             <ref name="boolean"/>
17117         </attribute>
17118     </optional>
17119     <optional>
17120         <attribute name="chart:text-overlap">
17121             <ref name="boolean"/>
17122         </attribute>
17123     </optional>
17124     <optional>
17125         <attribute name="text:line-break">
17126             <ref name="boolean"/>
17127         </attribute>
17128     </optional>
17129     <optional>
17130         <attribute name="chart:label-arrangement"
17131                    a:defaultValue="side-by-side">
17132             <choice>
17133                 <value>side-by-side</value>
17134                 <value>stagger-even</value>
17135                 <value>stagger-odd</value>
17136             </choice>
17137         </attribute>
17138     </optional>
17139 </define>
17140 <define name="style-chart-properties-attlist" combine="interleave">
17141     <ref name="common-style-direction-attlist"/>
17142 </define>
17143 <define name="style-chart-properties-attlist" combine="interleave">
17144     <ref name="common-rotation-angle-attlist"/>
17145 </define>
17146 <define name="style-chart-properties-attlist" combine="interleave">
17147     <optional>
17148         <attribute name="chart:data-label-number">
17149             <choice>
17150                 <value>none</value>
17151                 <value>value</value>
17152                 <value>percentage</value>
17153             </choice>
17154         </attribute>
17155     </optional>
17156 </define>
17157 <define name="style-chart-properties-attlist" combine="interleave">
17158     <optional>
17159         <attribute name="chart:data-label-text">
17160             <ref name="boolean"/>
17161         </attribute>
17162     </optional>
17163 </define>
17164 <define name="style-chart-properties-attlist" combine="interleave">
17165     <optional>
17166         <attribute name="chart:data-label-symbol">
17167             <ref name="boolean"/>
17168         </attribute>
17169     </optional>
17170 </define>
17171 <define name="style-chart-properties-attlist" combine="interleave">
17172     <optional>
17173         <attribute name="chart:mean-value">
17174             <ref name="boolean"/>
17175         </attribute>
17176     </optional>
17177 </define>
17178 <define name="style-chart-properties-attlist" combine="interleave">
17179     <optional>
17180         <attribute name="chart:error-category" a:defaultValue="none">
17181             <choice>
17182                 <value>none</value>
17183                 <value>variance</value>
17184                 <value>standard-deviation</value>
17185                 <value>percentage</value>
17186                 <value>error-margin</value>
17187                 <value>constant</value>
17188             </choice>
17189         </attribute>
17190     </optional>
17191 </define>
17192 <define name="style-chart-properties-attlist" combine="interleave">
17193     <optional>
17194         <attribute name="chart:error-percentage">
17195             <ref name="double"/>
17196         </attribute>
17197     </optional>
17198 </define>
17199 <define name="style-chart-properties-attlist" combine="interleave">
17200     <optional>
17201         <attribute name="chart:error-margin">
17202             <ref name="double"/>
17203         </attribute>
17204     </optional>
17205 </define>
17206 <define name="style-chart-properties-attlist" combine="interleave">
17207     <optional>
17208         <attribute name="chart:error-lower-limit">
17209             <ref name="double"/>
17210         </attribute>
17211     </optional>
17212     <optional>
17213         <attribute name="chart:error-upper-limit">
17214             <ref name="double"/>
17215         </attribute>
17216     </optional>
17217 </define>
17218 <define name="style-chart-properties-attlist" combine="interleave">
17219     <optional>
17220         <attribute name="chart:error-upper-indicator">
17221             <ref name="boolean"/>
17222         </attribute>
17223     </optional>
17224     <optional>
17225         <attribute name="chart:error-lower-indicator">
17226             <ref name="boolean"/>
17227         </attribute>
17228     </optional>
17229 </define>
17230 <define name="style-chart-properties-attlist" combine="interleave">
17231     <optional>
17232         <attribute name="chart:series-source" a:defaultValue="columns">
17233             <choice>
17234                 <value>columns</value>
17235                 <value>rows</value>
17236             </choice>
17237         </attribute>
17238     </optional>
17239 </define>
17240 <define name="style-chart-properties-attlist" combine="interleave">
17241     <optional>
17242         <attribute name="chart:regression-type" a:defaultValue="none">
17243             <choice>
17244                 <value>none</value>
17245                 <value>linear</value>
17246                 <value>logarithmic</value>
17247                 <value>exponential</value>
17248                 <value>power</value>
17249             </choice>
17250         </attribute>
17251     </optional>
17252 </define>
17253 <define name="style-drawing-page-properties-attlist"
17254         combine="interleave">
17255     <optional>
17256         <attribute name="presentation:transition-type">
17257             <choice>
17258                 <value>manual</value>
17259                 <value>automatic</value>
17260                 <value>semi-automatic</value>
17261             </choice>
17262         </attribute>
17263     </optional>
17264 </define>
17265 <define name="style-drawing-page-properties-attlist"
17266          combine="interleave">
17267     <optional>
17268         <attribute name="presentation:transition-style">
17269             <choice>
17270                 <value>none</value>
17271                 <value>fade-from-left</value>
17272                 <value>fade-from-top</value>
17273                 <value>fade-from-right</value>
17274                 <value>fade-from-bottom</value>
17275                 <value>fade-from-upperleft</value>
17276                 <value>fade-from-upperright</value>
17277                 <value>fade-from-lowerleft</value>
17278                 <value>fade-from-lowerright</value>
17279                 <value>move-from-left</value>
17280                 <value>move-from-top</value>
17281                 <value>move-from-right</value>
17282                 <value>move-from-bottom</value>
17283                 <value>move-from-upperleft</value>
17284                 <value>move-from-upperright</value>
17285                 <value>move-from-lowerleft</value>
17286                 <value>move-from-lowerright</value>
17287                 <value>uncover-to-left</value>
17288                 <value>uncover-to-top</value>
17289                 <value>uncover-to-right</value>    
17290                 <value>uncover-to-bottom</value>
17291                 <value>uncover-to-upperleft</value>
17292                 <value>uncover-to-upperright</value>
17293                 <value>uncover-to-lowerleft</value>
17294                 <value>uncover-to-lowerright</value>
17295                 <value>fade-to-center</value>
17296                 <value>fade-from-center</value>
17297                 <value>vertical-stripes</value>
17298                 <value>horizontal-stripes</value>
17299                 <value>clockwise</value>
17300                 <value>counterclockwise</value>
17301                 <value>open-vertical</value>
17302                 <value>open-horizontal</value>
17303                 <value>close-vertical</value>
17304                 <value>close-horizontal</value>
17305                 <value>wavyline-from-left</value>
17306                 <value>wavyline-from-top</value>
17307                 <value>wavyline-from-right</value>
17308                 <value>wavyline-from-bottom</value>
17309                 <value>spiralin-left</value>
17310                 <value>spiralin-right</value>
17311                 <value>spiralout-left</value>
17312                 <value>spiralout-right</value>
17313                 <value>roll-from-top</value>
17314                 <value>roll-from-left</value>
17315                 <value>roll-from-right</value>
17316                 <value>roll-from-bottom</value>
17317                 <value>stretch-from-left</value>
17318                 <value>stretch-from-top</value>
17319                 <value>stretch-from-right</value>
17320                 <value>stretch-from-bottom</value>
17321 
17322                 <value>vertical-lines</value>
17323                 <value>horizontal-lines</value>
17324                 <value>dissolve</value>
17325                 <value>random</value>
17326                 <value>vertical-checkerboard</value>
17327                 <value>horizontal-checkerboard</value>
17328                 <value>interlocking-horizontal-left</value>
17329                 <value>interlocking-horizontal-right</value>
17330                 <value>interlocking-vertical-top</value>
17331                 <value>interlocking-vertical-bottom</value>
17332                 <value>fly-away</value>
17333                 <value>open</value>
17334                 <value>close</value>
17335                 <value>melt</value>
17336             </choice>
17337         </attribute>
17338     </optional>
17339 </define>
17340 <define name="style-drawing-page-properties-attlist"
17341         combine="interleave">
17342     <optional>
17343         <attribute name="presentation:transition-speed">
17344             <ref name="presentationSpeeds"/>
17345         </attribute>
17346     </optional>
17347 </define>
17348 <define name="style-drawing-page-properties-attlist " combine="interleave">
17349     <optional>
17350         <attribute name="smil:type">
17351             <ref name="string"/>
17352         </attribute>
17353     </optional>
17354 </define>
17355 <define name="style-drawing-page-properties-attlist" combine="interleave">
17356     <optional>
17357         <attribute name="smil:subtype">
17358             <ref name="string"/>
17359         </attribute>
17360     </optional>
17361 </define>
17362 <define name="style-drawing-page-properties-attlist" combine="interleave">
17363     <optional>
17364         <attribute name="smil:direction" a:defaultValue="forward">
17365             <choice>
17366                 <value>forward</value>
17367                 <value>reverse</value>
17368             </choice>
17369         </attribute>
17370     </optional>
17371 </define>
17372 <define name="style-drawing-page-properties-attlist" combine="interleave">
17373     <optional>
17374         <attribute name="smil:fadeColor">
17375             <choice>
17376                 <value>forward</value>
17377                 <value>reverse</value>
17378             </choice>
17379         </attribute>
17380     </optional>
17381 </define>
17382 <define name="style-drawing-page-properties-attlist"
17383         combine="interleave">
17384     <optional>
17385         <attribute name="presentation:duration">
17386             <ref name="duration"/>
17387         </attribute>
17388     </optional>
17389 </define>
17390 <define name="style-drawing-page-properties-attlist"
17391          combine="interleave">
17392     <optional>
17393         <attribute name="presentation:visibility">
17394             <choice>
17395                 <value>visible</value>
17396                 <value>hidden</value>
17397             </choice>
17398         </attribute>
17399     </optional>
17400 </define>
17401 <define name="style-drawing-page-properties-elements"
17402          combine="interleave">
17403     <optional>
17404         <ref name="presentation-sound"/>
17405     </optional>
17406 </define>
17407 <define name="style-drawing-page-properties-attlist"
17408          combine="interleave">
17409     <optional>
17410         <attribute name="draw:background-size">
17411             <choice>
17412                 <value>full</value>
17413                 <value>border</value>
17414             </choice>
17415         </attribute>
17416     </optional>
17417 </define>
17418 <define name="style-drawing-page-properties-attlist"
17419          combine="interleave">
17420     <optional>
17421         <attribute name="presentation:background-objects-visible">
17422             <ref name="boolean"/>
17423         </attribute>
17424     </optional>
17425 </define>
17426 <define name="style-drawing-page-properties-attlist"
17427          combine="interleave">
17428     <optional>
17429         <attribute name="presentation:background-visible">
17430             <ref name="boolean"/>
17431         </attribute>
17432     </optional>
17433 </define>
17434 <define name="style-drawing-page-properties-attlist" combine="interleave">
17435     <optional>
17436         <attribute name="presentation:display-header">
17437             <ref name="boolean"/>
17438         </attribute>
17439     </optional>
17440 </define>
17441 <define name="style-drawing-page-properties-attlist" combine="interleave">
17442     <optional>
17443         <attribute name="presentation:display-footer">
17444             <ref name="boolean"/>
17445         </attribute>
17446     </optional>
17447 </define>
17448 <define name="style-drawing-page-properties-attlist" combine="interleave">
17449     <optional>
17450         <attribute name="presentation:display-page-number">
17451             <ref name="boolean"/>
17452         </attribute>
17453     </optional>
17454 </define>
17455 <define name="style-drawing-page-properties-attlist" combine="interleave">
17456     <optional>
17457         <attribute name="presentation:display-date-time">
17458             <ref name="boolean"/>
17459         </attribute>
17460     </optional>
17461 </define>
17462 <define name="string">
17463     <data type="string"/>
17464 </define>
17465 <define name="date">
17466     <data type="date"/>
17467 </define>
17468 <define name="time">
17469     <data type="time"/>
17470 </define>
17471 <define name="dateTime">
17472     <data type="dateTime"/>
17473 </define>
17474 <define name="duration">
17475     <data type="duration"/>
17476 </define>
17477 <define name="integer">
17478     <data type="integer"/>
17479 </define>
17480 <define name="nonNegativeInteger">
17481     <data type="nonNegativeInteger"/>
17482 </define>
17483 <define name="positiveInteger">
17484     <data type="positiveInteger"/>
17485 </define>
17486 <define name="double">
17487     <data type="double"/>
17488 </define>
17489 <define name="anyURI">
17490     <data type="anyURI"/>
17491 </define>
17492 <define name="base64Binary">
17493     <data type="base64Binary"/>
17494 </define>
17495 <define name="ID">
17496     <data type="ID"/>
17497 </define>
17498 <define name="IDREF">
17499     <data type="IDREF"/>
17500 </define>
17501 <define name="boolean">
17502     <choice>
17503         <value>true</value>
17504         <value>false</value>
17505     </choice>
17506 </define>
17507 <define name="dateOrDateTime">
17508     <choice>
17509         <data type="date"/>
17510         <data type="dateTime"/>
17511     </choice>
17512 </define>
17513 <define name="timeOrDateTime">
17514     <choice>
17515         <data type="time"/>
17516         <data type="dateTime"/>
17517     </choice>
17518 </define>
17519 <define name="language">
17520     <data type="token">
17521         <param name="pattern">[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*</param>
17522     </data>
17523 </define>
17524 <define name="countryCode">
17525     <data type="token">
17526         <param name="pattern">[A-Za-z0-9]{1,8}</param>
17527     </data>
17528 </define>
17529 <define name="languageCode">
17530     <data type="token">
17531         <param name="pattern">[A-Za-z]{1,8}</param>
17532     </data>
17533 </define>
17534 <define name="character">
17535     <data type="string">
17536         <param name="length">1</param>
17537     </data>
17538 </define>
17539 <define name="length">
17540     <data type="string">
17541         <param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
17542 
17543     </data>
17544 </define>
17545 <define name="nonNegativeLength">
17546     <data type="string">
17547         <param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
17548 
17549     </data>
17550 </define>
17551 <define name="positiveLength">
17552     <data type="string">
17553         <!-- A zero value is not allowed here -->
17554         <param name="pattern">([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))</param>
17555 
17556     </data>
17557 </define>
17558 <define name="percent">
17559     <data type="string">
17560         <param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)%</param>
17561     </data>
17562 </define>
17563 <define name="relativeLength">
17564     <data type="string">
17565         <param name="pattern">[0-9]+\*</param>
17566     </data>
17567 </define>
17568 <define name="coordinate">
17569     <ref name="length"/>
17570 </define>
17571 <define name="distance">
17572     <ref name="length"/>
17573 </define>
17574 <define name="color">
17575     <data type="string">
17576         <param name="pattern">#[0-9a-fA-F]{6}</param>
17577     </data>
17578 </define>
17579 <define name="styleName">
17580     <data type="NCName"/>
17581 </define>
17582 <define name="styleNameRef">
17583     <choice>
17584         <data type="NCName"/>
17585         <empty/>
17586     </choice>
17587 </define>
17588 <define name="styleNameRefs">
17589     <list>
17590         <zeroOrMore>
17591             <data type="NCName"/>
17592         </zeroOrMore>
17593     </list>
17594 </define>
17595 <define name="variableName">
17596     <data type="string"/>
17597 </define>
17598 <define name="formula">
17599     <!-- A formula should start with a namespace prefix, -->
17600     <!-- but has no restrictions-->
17601     <data type="string"/>
17602 </define>
17603 
17604 <define name="targetFrameName">
17605     <choice>
17606         <value>_self</value>
17607         <value>_blank</value>
17608         <value>_parent</value>
17609         <value>_top</value>
17610         <ref name="string"/>
17611     </choice>
17612 </define>
17613 
17614 <define name="valueType">
17615     <choice>
17616         <value>float</value>
17617         <value>time</value>
17618         <value>date</value>
17619         <value>percentage</value>
17620         <value>currency</value>
17621         <value>boolean</value>
17622         <value>string</value>
17623     </choice>
17624 </define>
17625 
17626 <define name="points">
17627     <data type="string">
17628         <param name="pattern">-?[0-9]+,-?[0-9]+([ ]+-?[0-9]+,-?[0-9]+)*</param>
17629     </data>
17630 </define>
17631 <define name="pathData">
17632     <data type="string"/>
17633 </define>
17634 
17635 <define name="vector3D">
17636     <data type="string">
17637         <param name="pattern">\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)([ ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)){2}[ ]*\)</param>
17638 
17639     </data>
17640 </define>
17641 
17642 <define name="namespacedToken">
17643     <data type="string">
17644         <param name="pattern">[0-9a-zA-Z_]+:[0-9a-zA-Z._\-]+</param>
17645     </data>
17646 </define>
17647 <define name="anyAttListOrElements">
17648     <zeroOrMore>
17649         <attribute>
17650             <anyName/>
17651             <text/>
17652         </attribute>
17653     </zeroOrMore>
17654     <ref name="anyElements"/>
17655 </define>
17656 <define name="anyElements">
17657     <zeroOrMore>
17658         <element>
17659             <anyName/>
17660             <mixed>
17661                 <ref name="anyAttListOrElements"/>
17662             </mixed>
17663         </element>
17664     </zeroOrMore>
17665 </define>
17666 </grammar>