1 # Open Document Format for Office Applications (OpenDocument) Version 1.2
2 # Committee Specification (CS) 01, 17 March 2011
5 # Copyright (c) OASIS Open 2002-2011. All Rights Reserved.
7 # All capitalized terms in the following text have the meanings assigned to them
8 # in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The
9 # full Policy may be found at the OASIS website.
11 # This document and translations of it may be copied and furnished to others, and
12 # derivative works that comment on or otherwise explain it or assist in its
13 # implementation may be prepared, copied, published, and distributed, in whole or
14 # in part, without restriction of any kind, provided that the above copyright
15 # notice and this section are included on all such copies and derivative works.
16 # However, this document itself may not be modified in any way, including by
17 # removing the copyright notice or references to OASIS, except as needed for the
18 # purpose of developing any document or deliverable produced by an OASIS
19 # Technical Committee (in which case the rules applicable to copyrights, as set
20 # forth in the OASIS IPR Policy, must be followed) or as required to translate it
21 # into languages other than English.
23 # The limited permissions granted above are perpetual and will not be revoked by
24 # OASIS or its successors or assigns.
26 # This document and the information contained herein is provided on an "AS IS"
27 # basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
28 # LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
29 # INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
30 # FITNESS FOR A PARTICULAR PURPOSE.
32 namespace anim = "urn:oasis:names:tc:opendocument:xmlns:animation:1.0"
33 namespace chart = "urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
34 namespace config = "urn:oasis:names:tc:opendocument:xmlns:config:1.0"
35 namespace db = "urn:oasis:names:tc:opendocument:xmlns:database:1.0"
36 namespace dc = "http://purl.org/dc/elements/1.1/"
37 namespace dr3d = "urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
38 namespace draw = "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
40 "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
41 namespace form = "urn:oasis:names:tc:opendocument:xmlns:form:1.0"
42 namespace grddl = "http://www.w3.org/2003/g/data-view#"
43 namespace math = "http://www.w3.org/1998/Math/MathML"
44 namespace meta = "urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
45 namespace number = "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
46 namespace office = "urn:oasis:names:tc:opendocument:xmlns:office:1.0"
47 namespace presentation =
48 "urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
49 namespace script = "urn:oasis:names:tc:opendocument:xmlns:script:1.0"
51 "urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"
52 namespace style = "urn:oasis:names:tc:opendocument:xmlns:style:1.0"
54 "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
55 namespace table = "urn:oasis:names:tc:opendocument:xmlns:table:1.0"
56 namespace text = "urn:oasis:names:tc:opendocument:xmlns:text:1.0"
57 namespace xforms = "http://www.w3.org/2002/xforms"
58 namespace xhtml = "http://www.w3.org/1999/xhtml"
59 namespace xlink = "http://www.w3.org/1999/xlink"
61 office-process-content = attribute office:process-content { boolean }?
64 | office-document-content
65 | office-document-styles
66 | office-document-meta
67 | office-document-settings
69 element office:document {
70 office-document-attrs,
71 office-document-common-attrs,
75 office-font-face-decls,
77 office-automatic-styles,
81 office-document-content =
82 element office:document-content {
83 office-document-common-attrs,
85 office-font-face-decls,
86 office-automatic-styles,
89 office-document-styles =
90 element office:document-styles {
91 office-document-common-attrs,
92 office-font-face-decls,
94 office-automatic-styles,
97 office-document-meta =
98 element office:document-meta {
99 office-document-common-attrs, office-meta
101 office-document-settings =
102 element office:document-settings {
103 office-document-common-attrs, office-settings
105 office-document-common-attrs =
106 attribute office:version { "1.2" }
107 & attribute grddl:transformation {
110 office-document-attrs = attribute office:mimetype { \string }
111 office-meta = element office:meta { office-meta-content-strict }?
112 office-meta-content-strict = office-meta-data*
113 office-body = element office:body { office-body-content }
114 office-body-content =
115 element office:text {
117 office-text-content-prelude,
118 office-text-content-main,
119 office-text-content-epilogue
121 | element office:drawing {
122 office-drawing-attlist,
123 office-drawing-content-prelude,
124 office-drawing-content-main,
125 office-drawing-content-epilogue
127 | element office:presentation {
128 office-presentation-attlist,
129 office-presentation-content-prelude,
130 office-presentation-content-main,
131 office-presentation-content-epilogue
133 | element office:spreadsheet {
134 office-spreadsheet-attlist,
135 office-spreadsheet-content-prelude,
136 office-spreadsheet-content-main,
137 office-spreadsheet-content-epilogue
139 | element office:chart {
140 office-chart-attlist,
141 office-chart-content-prelude,
142 office-chart-content-main,
143 office-chart-content-epilogue
145 | element office:image {
146 office-image-attlist,
147 office-image-content-prelude,
148 office-image-content-main,
149 office-image-content-epilogue
152 office-text-content-prelude =
153 office-forms, text-tracked-changes, text-decls, table-decls
154 office-text-content-main =
156 | (text-page-sequence, (shape)*)
161 | text-numbered-paragraph
164 | text-soft-page-break
165 | text-table-of-content
166 | text-illustration-index
170 | text-alphabetical-index
174 office-text-content-epilogue = table-functions
175 office-text-attlist =
176 attribute text:global { boolean }?
177 & attribute text:use-soft-page-breaks { boolean }?
178 office-drawing-attlist = empty
179 office-drawing-content-prelude = text-decls, table-decls
180 office-drawing-content-main = draw-page*
181 office-drawing-content-epilogue = table-functions
182 office-presentation-attlist = empty
183 office-presentation-content-prelude =
184 text-decls, table-decls, presentation-decls
185 office-presentation-content-main = draw-page*
186 office-presentation-content-epilogue =
187 presentation-settings, table-functions
188 office-spreadsheet-content-prelude =
189 table-tracked-changes?, text-decls, table-decls
191 table-calculation-settings?,
192 table-content-validations?,
194 office-spreadsheet-content-main = table-table*
195 office-spreadsheet-content-epilogue = table-functions
197 table-named-expressions?,
198 table-database-ranges?,
199 table-data-pilot-tables?,
200 table-consolidation?,
202 office-chart-attlist = empty
203 office-chart-content-prelude = text-decls, table-decls
204 office-chart-content-main = chart-chart
205 office-chart-content-epilogue = table-functions
206 office-image-attlist = empty
207 office-image-content-prelude = empty
208 office-image-content-main = draw-frame
209 office-image-content-epilogue = empty
210 office-settings = element office:settings { config-config-item-set+ }?
211 config-config-item-set =
212 element config:config-item-set {
213 config-config-item-set-attlist, config-items
217 | config-config-item-set
218 | config-config-item-map-named
219 | config-config-item-map-indexed)+
220 config-config-item-set-attlist = attribute config:name { \string }
222 element config:config-item { config-config-item-attlist, text }
223 config-config-item-attlist =
224 attribute config:name { \string }
225 & attribute config:type {
235 config-config-item-map-indexed =
236 element config:config-item-map-indexed {
237 config-config-item-map-indexed-attlist,
238 config-config-item-map-entry+
240 config-config-item-map-indexed-attlist =
241 attribute config:name { \string }
242 config-config-item-map-entry =
243 element config:config-item-map-entry {
244 config-config-item-map-entry-attlist, config-items
246 config-config-item-map-entry-attlist =
247 attribute config:name { \string }?
248 config-config-item-map-named =
249 element config:config-item-map-named {
250 config-config-item-map-named-attlist, config-config-item-map-entry+
252 config-config-item-map-named-attlist = attribute config:name { \string }
254 element office:scripts { office-script*, office-event-listeners? }?
256 element office:script {
257 office-script-attlist,
258 mixed { anyElements }
260 office-script-attlist = attribute script:language { \string }
261 office-font-face-decls =
262 element office:font-face-decls { style-font-face* }?
264 element office:styles {
266 & style-default-style*
267 & style-default-page-layout?
268 & text-outline-style?
269 & text-notes-configuration*
270 & text-bibliography-configuration?
271 & text-linenumbering-configuration?
273 & svg-linearGradient*
274 & svg-radialGradient*
280 & style-presentation-page-layout*
281 & table-table-template*
283 office-automatic-styles =
284 element office:automatic-styles { styles & style-page-layout* }?
285 office-master-styles =
286 element office:master-styles {
287 style-master-page* & style-handout-master? & draw-layer-set?
292 & number-number-style*
293 & number-currency-style*
294 & number-percentage-style*
297 & number-boolean-style*
300 element meta:generator { \string }
301 | element dc:title { \string }
302 | element dc:description { \string }
303 | element dc:subject { \string }
304 | element meta:keyword { \string }
305 | element meta:initial-creator { \string }
307 | element meta:printed-by { \string }
308 | element meta:creation-date { dateTime }
310 | element meta:print-date { dateTime }
311 | element meta:template {
312 attribute xlink:type { "simple" },
313 attribute xlink:href { anyIRI },
314 attribute xlink:actuate { "onRequest" }?,
315 attribute xlink:title { \string }?,
316 attribute meta:date { dateTime }?
318 | element meta:auto-reload {
319 (attribute xlink:type { "simple" },
320 attribute xlink:href { anyIRI },
321 attribute xlink:show { "replace" }?,
322 attribute xlink:actuate { "onLoad" }?)?,
323 attribute meta:delay { duration }?
325 | element meta:hyperlink-behaviour {
326 attribute office:target-frame-name { targetFrameName }?,
327 attribute xlink:show { "new" | "replace" }?
329 | element dc:language { language }
330 | element meta:editing-cycles { nonNegativeInteger }
331 | element meta:editing-duration { duration }
332 | element meta:document-statistic {
333 attribute meta:page-count { nonNegativeInteger }?,
334 attribute meta:table-count { nonNegativeInteger }?,
335 attribute meta:draw-count { nonNegativeInteger }?,
336 attribute meta:image-count { nonNegativeInteger }?,
337 attribute meta:ole-object-count { nonNegativeInteger }?,
338 attribute meta:object-count { nonNegativeInteger }?,
339 attribute meta:paragraph-count { nonNegativeInteger }?,
340 attribute meta:word-count { nonNegativeInteger }?,
341 attribute meta:character-count { nonNegativeInteger }?,
342 attribute meta:frame-count { nonNegativeInteger }?,
343 attribute meta:sentence-count { nonNegativeInteger }?,
344 attribute meta:syllable-count { nonNegativeInteger }?,
345 attribute meta:non-whitespace-character-count {
348 attribute meta:row-count { nonNegativeInteger }?,
349 attribute meta:cell-count { nonNegativeInteger }?
351 | element meta:user-defined {
352 attribute meta:name { \string },
353 ((attribute meta:value-type { "float" },
355 | (attribute meta:value-type { "date" },
357 | (attribute meta:value-type { "time" },
359 | (attribute meta:value-type { "boolean" },
361 | (attribute meta:value-type { "string" },
365 dc-creator = element dc:creator { \string }
366 dc-date = element dc:date { dateTime }
372 paragraph-content-or-hyperlink*
375 attribute text:outline-level { positiveInteger }
376 & attribute text:restart-numbering { boolean }?
377 & attribute text:start-value { nonNegativeInteger }?
378 & attribute text:is-list-header { boolean }?
379 text-number = element text:number { \string }
381 element text:p { paragraph-attrs, paragraph-content-or-hyperlink* }
383 attribute text:style-name { styleNameRef }?
384 & attribute text:class-names { styleNameRefs }?
385 & attribute text:cond-style-name { styleNameRef }?
387 attribute text:id { NCName }?)?
388 & common-in-content-meta-attlist?
389 text-page-sequence = element text:page-sequence { text-page+ }
390 text-page = element text:page { text-page-attlist, empty }
391 text-page-attlist = attribute text:master-page-name { styleNameRef }
394 text-list-attr, text-list-header?, text-list-item*
397 attribute text:style-name { styleNameRef }?
398 & attribute text:continue-numbering { boolean }?
399 & attribute text:continue-list { IDREF }?
402 element text:list-item { text-list-item-attr, text-list-item-content }
403 text-list-item-content =
404 text-number?, (text-p | text-h | text-list | text-soft-page-break)*
405 text-list-item-attr =
406 attribute text:start-value { nonNegativeInteger }?
407 & attribute text:style-override { styleNameRef }?
410 element text:list-header {
411 text-list-header-attr, text-list-item-content
413 text-list-header-attr = xml-id?
414 text-numbered-paragraph =
415 element text:numbered-paragraph {
416 text-numbered-paragraph-attr, text-number?, (text-p | text-h)
418 text-numbered-paragraph-attr =
419 attribute text:list-id { NCName }
420 & attribute text:level { positiveInteger }?
421 & (attribute text:style-name { styleNameRef },
422 attribute text:continue-numbering { boolean },
423 attribute text:start-value { nonNegativeInteger })?
426 element text:section {
427 text-section-attlist,
428 (text-section-source | text-section-source-dde | empty),
431 text-section-attlist =
432 common-section-attlist
433 & (attribute text:display { "true" | "none" }
434 | (attribute text:display { "condition" },
435 attribute text:condition { \string })
437 common-section-attlist =
438 attribute text:style-name { styleNameRef }?
439 & attribute text:name { \string }
440 & attribute text:protected { boolean }?
441 & attribute text:protection-key { \string }?
442 & attribute text:protection-key-digest-algorithm { anyIRI }?
444 text-section-source =
445 element text:section-source { text-section-source-attr }
446 text-section-source-attr =
447 (attribute xlink:type { "simple" },
448 attribute xlink:href { anyIRI },
449 attribute xlink:show { "embed" }?)?
450 & attribute text:section-name { \string }?
451 & attribute text:filter-name { \string }?
452 text-section-source-dde = office-dde-source
453 text-tracked-changes =
454 element text:tracked-changes {
455 text-tracked-changes-attr, text-changed-region*
457 text-tracked-changes-attr = attribute text:track-changes { boolean }?
458 text-changed-region =
459 element text:changed-region {
460 text-changed-region-attr, text-changed-region-content
462 text-changed-region-attr =
464 attribute text:id { NCName }?
465 text-changed-region-content =
466 element text:insertion { office-change-info }
467 | element text:deletion { office-change-info, text-content* }
468 | element text:format-change { office-change-info }
470 element text:change { change-mark-attr }
471 | element text:change-start { change-mark-attr }
472 | element text:change-end { change-mark-attr }
473 change-mark-attr = attribute text:change-id { IDREF }
474 text-soft-page-break = element text:soft-page-break { empty }
476 element text:variable-decls { text-variable-decl* }?,
477 element text:sequence-decls { text-sequence-decl* }?,
478 element text:user-field-decls { text-user-field-decl* }?,
479 element text:dde-connection-decls { text-dde-connection-decl* }?,
480 text-alphabetical-index-auto-mark-file?
481 paragraph-content-or-hyperlink = paragraph-content | text-a
485 attribute text:c { nonNegativeInteger }?
487 | element text:tab { text-tab-attr }
488 | element text:line-break { empty }
489 | text-soft-page-break
490 | element text:span {
491 attribute text:style-name { styleNameRef }?,
492 attribute text:class-names { styleNameRefs }?,
493 paragraph-content-or-hyperlink*
495 | element text:meta {
496 text-meta-attlist, paragraph-content-or-hyperlink*
498 | (text-bookmark | text-bookmark-start | text-bookmark-end)
499 | element text:reference-mark {
500 attribute text:name { \string }
502 | (element text:reference-mark-start {
503 attribute text:name { \string }
505 | element text:reference-mark-end {
506 attribute text:name { \string }
508 | element text:note {
510 attribute text:id { \string }?,
511 element text:note-citation {
512 attribute text:label { \string }?,
515 element text:note-body { text-content* }
517 | element text:ruby {
518 attribute text:style-name { styleNameRef }?,
519 element text:ruby-base { paragraph-content-or-hyperlink* },
520 element text:ruby-text {
521 attribute text:style-name { styleNameRef }?,
525 | (office-annotation | office-annotation-end)
528 | element text:date { text-date-attlist, text }
529 | element text:time { text-time-attlist, text }
530 | element text:page-number { text-page-number-attlist, text }
531 | element text:page-continuation {
532 text-page-continuation-attlist, text
534 | element text:sender-firstname { common-field-fixed-attlist, text }
535 | element text:sender-lastname { common-field-fixed-attlist, text }
536 | element text:sender-initials { common-field-fixed-attlist, text }
537 | element text:sender-title { common-field-fixed-attlist, text }
538 | element text:sender-position { common-field-fixed-attlist, text }
539 | element text:sender-email { common-field-fixed-attlist, text }
540 | element text:sender-phone-private {
541 common-field-fixed-attlist, text
543 | element text:sender-fax { common-field-fixed-attlist, text }
544 | element text:sender-company { common-field-fixed-attlist, text }
545 | element text:sender-phone-work { common-field-fixed-attlist, text }
546 | element text:sender-street { common-field-fixed-attlist, text }
547 | element text:sender-city { common-field-fixed-attlist, text }
548 | element text:sender-postal-code { common-field-fixed-attlist, text }
549 | element text:sender-country { common-field-fixed-attlist, text }
550 | element text:sender-state-or-province {
551 common-field-fixed-attlist, text
553 | element text:author-name { common-field-fixed-attlist, text }
554 | element text:author-initials { common-field-fixed-attlist, text }
555 | element text:chapter { text-chapter-attlist, text }
556 | element text:file-name { text-file-name-attlist, text }
557 | element text:template-name { text-template-name-attlist, text }
558 | element text:sheet-name { text }
559 | element text:variable-set {
560 (common-field-name-attlist
561 & common-field-formula-attlist
562 & common-value-and-type-attlist
563 & common-field-display-value-none-attlist
564 & common-field-data-style-name-attlist),
567 | element text:variable-get {
568 (common-field-name-attlist
569 & common-field-display-value-formula-attlist
570 & common-field-data-style-name-attlist),
573 | element text:variable-input {
574 (common-field-name-attlist
575 & common-field-description-attlist
576 & common-value-type-attlist
577 & common-field-display-value-none-attlist
578 & common-field-data-style-name-attlist),
581 | element text:user-field-get {
582 (common-field-name-attlist
583 & common-field-display-value-formula-none-attlist
584 & common-field-data-style-name-attlist),
587 | element text:user-field-input {
588 (common-field-name-attlist
589 & common-field-description-attlist
590 & common-field-data-style-name-attlist),
593 | element text:sequence {
594 (common-field-name-attlist
595 & common-field-formula-attlist
596 & common-field-num-format-attlist
597 & text-sequence-ref-name),
600 | element text:expression {
601 (common-field-formula-attlist
602 & common-value-and-type-attlist?
603 & common-field-display-value-formula-attlist
604 & common-field-data-style-name-attlist),
607 | element text:text-input { common-field-description-attlist, text }
608 | element text:initial-creator { common-field-fixed-attlist, text }
609 | element text:creation-date {
610 (common-field-fixed-attlist
611 & common-field-data-style-name-attlist
612 & attribute text:date-value { dateOrDateTime }?),
615 | element text:creation-time {
616 (common-field-fixed-attlist
617 & common-field-data-style-name-attlist
618 & attribute text:time-value { timeOrDateTime }?),
621 | element text:description { common-field-fixed-attlist, text }
622 | element text:user-defined {
623 (common-field-fixed-attlist
624 & attribute text:name { \string }
625 & common-field-data-style-name-attlist
626 & attribute office:value { double }?
627 & attribute office:date-value { dateOrDateTime }?
628 & attribute office:time-value { duration }?
629 & attribute office:boolean-value { boolean }?
630 & attribute office:string-value { \string }?),
633 | element text:print-time {
634 (common-field-fixed-attlist
635 & common-field-data-style-name-attlist
636 & attribute text:time-value { time }?),
639 | element text:print-date {
640 (common-field-fixed-attlist
641 & common-field-data-style-name-attlist
642 & attribute text:date-value { date }?),
645 | element text:printed-by { common-field-fixed-attlist, text }
646 | element text:title { common-field-fixed-attlist, text }
647 | element text:subject { common-field-fixed-attlist, text }
648 | element text:keywords { common-field-fixed-attlist, text }
649 | element text:editing-cycles { common-field-fixed-attlist, text }
650 | element text:editing-duration {
651 (common-field-fixed-attlist
652 & common-field-data-style-name-attlist
653 & attribute text:duration { duration }?),
656 | element text:modification-time {
657 (common-field-fixed-attlist
658 & common-field-data-style-name-attlist
659 & attribute text:time-value { time }?),
662 | element text:modification-date {
663 (common-field-fixed-attlist
664 & common-field-data-style-name-attlist
665 & attribute text:date-value { date }?),
668 | element text:creator { common-field-fixed-attlist, text }
669 | element text:page-count
670 | text:paragraph-count
672 | text:character-count
675 | text:object-count {
676 common-field-num-format-attlist, text
678 | element text:database-display {
679 text-database-display-attlist, text
681 | element text:database-next { text-database-next-attlist }
682 | element text:database-row-select {
683 text-database-row-select-attlist
685 | element text:database-row-number {
686 (common-field-database-table
687 & common-field-num-format-attlist
688 & attribute text:value { nonNegativeInteger }?),
691 | element text:database-name { common-field-database-table, text }
692 | element text:page-variable-set {
693 text-set-page-variable-attlist, text
695 | element text:page-variable-get {
696 text-get-page-variable-attlist, text
698 | element text:placeholder { text-placeholder-attlist, text }
699 | element text:conditional-text {
700 text-conditional-text-attlist, text
702 | element text:hidden-text { text-hidden-text-attlist, text }
703 | element text:reference-ref | text:bookmark-ref {
704 text-common-ref-content & text-bookmark-ref-content
706 | element text:note-ref {
707 text-common-ref-content & text-note-ref-content
709 | element text:sequence-ref {
710 text-common-ref-content & text-sequence-ref-content
712 | element text:script {
713 ((attribute xlink:type { "simple" },
714 attribute xlink:href { anyIRI })
716 & attribute script:language { \string }?
718 | element text:execute-macro {
719 attribute text:name { \string }?,
720 office-event-listeners?,
723 | element text:hidden-paragraph {
724 text-hidden-paragraph-attlist, text
726 | element text:dde-connection {
727 attribute text:connection-name { \string },
730 | element text:measure {
731 attribute text:kind { "value" | "unit" | "gap" },
734 | element text:table-formula {
735 (common-field-formula-attlist
736 & common-field-display-value-formula-attlist
737 & common-field-data-style-name-attlist),
740 | element text:meta-field {
741 text-meta-field-attlist, paragraph-content-or-hyperlink*
743 | element text:toc-mark-start { text-toc-mark-start-attrs }
744 | element text:toc-mark-end { text-id }
745 | element text:toc-mark {
746 attribute text:string-value { \string },
749 | element text:user-index-mark-start {
750 text-id, text-outline-level, text-index-name
752 | element text:user-index-mark-end { text-id }
753 | element text:user-index-mark {
754 attribute text:string-value { \string },
758 | element text:alphabetical-index-mark-start {
759 text-id, text-alphabetical-index-mark-attrs
761 | element text:alphabetical-index-mark-end { text-id }
762 | element text:alphabetical-index-mark {
763 attribute text:string-value { \string },
764 text-alphabetical-index-mark-attrs
766 | element text:bibliography-mark {
767 attribute text:bibliography-type { text-bibliography-types },
768 attribute text:identifier
798 | text:issn { \string }*,
801 | element presentation:header { empty }
802 | element presentation:footer { empty }
803 | element presentation:date-time { empty }
804 text-tab-attr = attribute text:tab-ref { nonNegativeInteger }?
807 text-a-attlist, office-event-listeners?, paragraph-content*
810 attribute office:name { \string }?
811 & attribute office:title { \string }?
812 & attribute xlink:type { "simple" }
813 & attribute xlink:href { anyIRI }
814 & attribute xlink:actuate { "onRequest" }?
815 & attribute office:target-frame-name { targetFrameName }?
816 & attribute xlink:show { "new" | "replace" }?
817 & attribute text:style-name { styleNameRef }?
818 & attribute text:visited-style-name { styleNameRef }?
819 text-meta-attlist = common-in-content-meta-attlist? & xml-id?
820 text-bookmark = element text:bookmark { text-bookmark-attlist, empty }
821 text-bookmark-start =
822 element text:bookmark-start { text-bookmark-start-attlist, empty }
824 element text:bookmark-end { text-bookmark-end-attlist, empty }
825 text-bookmark-attlist =
826 attribute text:name { \string }
828 text-bookmark-start-attlist =
829 attribute text:name { \string }
831 & common-in-content-meta-attlist?
832 text-bookmark-end-attlist = attribute text:name { \string }
833 text-note-class = attribute text:note-class { "footnote" | "endnote" }
835 (common-field-fixed-attlist & common-field-data-style-name-attlist)
836 & attribute text:date-value { dateOrDateTime }?
837 & attribute text:date-adjust { duration }?
839 (common-field-fixed-attlist & common-field-data-style-name-attlist)
840 & attribute text:time-value { timeOrDateTime }?
841 & attribute text:time-adjust { duration }?
842 text-page-number-attlist =
843 (common-field-num-format-attlist & common-field-fixed-attlist)
844 & attribute text:page-adjust { integer }?
845 & attribute text:select-page { "previous" | "current" | "next" }?
846 text-page-continuation-attlist =
847 attribute text:select-page { "previous" | "next" }
848 & attribute text:string-value { \string }?
849 text-chapter-attlist =
850 attribute text:display {
854 | "plain-number-and-name"
857 & attribute text:outline-level { nonNegativeInteger }
858 text-file-name-attlist =
859 attribute text:display {
860 "full" | "path" | "name" | "name-and-extension"
862 & common-field-fixed-attlist
863 text-template-name-attlist =
864 attribute text:display {
865 "full" | "path" | "name" | "name-and-extension" | "area" | "title"
868 element text:variable-decl {
869 common-field-name-attlist, common-value-type-attlist
871 text-user-field-decl =
872 element text:user-field-decl {
873 common-field-name-attlist,
874 common-field-formula-attlist?,
875 common-value-and-type-attlist
878 element text:sequence-decl { text-sequence-decl-attlist }
879 text-sequence-decl-attlist =
880 common-field-name-attlist
881 & attribute text:display-outline-level { nonNegativeInteger }
882 & attribute text:separation-character { character }?
883 text-sequence-ref-name = attribute text:ref-name { \string }?
884 common-field-database-table =
885 common-field-database-table-attlist, common-field-database-name
886 common-field-database-name =
887 attribute text:database-name { \string }?
888 | form-connection-resource
889 common-field-database-table-attlist =
890 attribute text:table-name { \string }
891 & attribute text:table-type { "table" | "query" | "command" }?
892 text-database-display-attlist =
893 common-field-database-table
894 & common-field-data-style-name-attlist
895 & attribute text:column-name { \string }
896 text-database-next-attlist =
897 common-field-database-table
898 & attribute text:condition { \string }?
899 text-database-row-select-attlist =
900 common-field-database-table
901 & attribute text:condition { \string }?
902 & attribute text:row-number { nonNegativeInteger }?
903 text-set-page-variable-attlist =
904 attribute text:active { boolean }?
905 & attribute text:page-adjust { integer }?
906 text-get-page-variable-attlist = common-field-num-format-attlist
907 text-placeholder-attlist =
908 attribute text:placeholder-type {
909 "text" | "table" | "text-box" | "image" | "object"
911 & common-field-description-attlist
912 text-conditional-text-attlist =
913 attribute text:condition { \string }
914 & attribute text:string-value-if-true { \string }
915 & attribute text:string-value-if-false { \string }
916 & attribute text:current-value { boolean }?
917 text-hidden-text-attlist =
918 attribute text:condition { \string }
919 & attribute text:string-value { \string }
920 & attribute text:is-hidden { boolean }?
921 text-common-ref-content =
923 & attribute text:ref-name { \string }?
924 text-bookmark-ref-content =
925 attribute text:reference-format {
926 common-ref-format-values
927 | "number-no-superior"
928 | "number-all-superior"
931 text-note-ref-content =
932 attribute text:reference-format { common-ref-format-values }?
934 text-sequence-ref-content =
935 attribute text:reference-format {
936 common-ref-format-values
937 | "category-and-value"
941 common-ref-format-values = "page" | "chapter" | "direction" | "text"
942 text-hidden-paragraph-attlist =
943 attribute text:condition { \string }
944 & attribute text:is-hidden { boolean }?
945 text-meta-field-attlist = xml-id & common-field-data-style-name-attlist
946 common-value-type-attlist = attribute office:value-type { valueType }
947 common-value-and-type-attlist =
948 (attribute office:value-type { "float" },
949 attribute office:value { double })
950 | (attribute office:value-type { "percentage" },
951 attribute office:value { double })
952 | (attribute office:value-type { "currency" },
953 attribute office:value { double },
954 attribute office:currency { \string }?)
955 | (attribute office:value-type { "date" },
956 attribute office:date-value { dateOrDateTime })
957 | (attribute office:value-type { "time" },
958 attribute office:time-value { duration })
959 | (attribute office:value-type { "boolean" },
960 attribute office:boolean-value { boolean })
961 | (attribute office:value-type { "string" },
962 attribute office:string-value { \string }?)
963 common-field-fixed-attlist = attribute text:fixed { boolean }?
964 common-field-name-attlist = attribute text:name { variableName }
965 common-field-description-attlist =
966 attribute text:description { \string }?
967 common-field-display-value-none-attlist =
968 attribute text:display { "value" | "none" }?
969 common-field-display-value-formula-none-attlist =
970 attribute text:display { "value" | "formula" | "none" }?
971 common-field-display-value-formula-attlist =
972 attribute text:display { "value" | "formula" }?
973 common-field-formula-attlist = attribute text:formula { \string }?
974 common-field-data-style-name-attlist =
975 attribute style:data-style-name { styleNameRef }?
976 common-field-num-format-attlist = common-num-format-attlist?
977 text-toc-mark-start-attrs = text-id, text-outline-level
978 text-outline-level = attribute text:outline-level { positiveInteger }?
979 text-id = attribute text:id { \string }
980 text-index-name = attribute text:index-name { \string }
981 text-alphabetical-index-mark-attrs =
982 attribute text:key1 { \string }?
983 & attribute text:key2 { \string }?
984 & attribute text:string-value-phonetic { \string }?
985 & attribute text:key1-phonetic { \string }?
986 & attribute text:key2-phonetic { \string }?
987 & attribute text:main-entry { boolean }?
988 text-bibliography-types =
1011 text-index-body = element text:index-body { index-content-main* }
1012 index-content-main = text-content | text-index-title
1014 element text:index-title {
1015 common-section-attlist, index-content-main*
1017 text-table-of-content =
1018 element text:table-of-content {
1019 common-section-attlist,
1020 text-table-of-content-source,
1023 text-table-of-content-source =
1024 element text:table-of-content-source {
1025 text-table-of-content-source-attlist,
1026 text-index-title-template?,
1027 text-table-of-content-entry-template*,
1028 text-index-source-styles*
1030 text-table-of-content-source-attlist =
1031 attribute text:outline-level { positiveInteger }?
1032 & attribute text:use-outline-level { boolean }?
1033 & attribute text:use-index-marks { boolean }?
1034 & attribute text:use-index-source-styles { boolean }?
1035 & attribute text:index-scope { "document" | "chapter" }?
1036 & attribute text:relative-tab-stop-position { boolean }?
1037 text-table-of-content-entry-template =
1038 element text:table-of-content-entry-template {
1039 text-table-of-content-entry-template-attlist,
1040 text-table-of-content-children*
1042 text-table-of-content-children =
1043 text-index-entry-chapter
1044 | text-index-entry-page-number
1045 | text-index-entry-text
1046 | text-index-entry-span
1047 | text-index-entry-tab-stop
1048 | text-index-entry-link-start
1049 | text-index-entry-link-end
1050 text-table-of-content-entry-template-attlist =
1051 attribute text:outline-level { positiveInteger }
1052 & attribute text:style-name { styleNameRef }
1053 text-illustration-index =
1054 element text:illustration-index {
1055 common-section-attlist,
1056 text-illustration-index-source,
1059 text-illustration-index-source =
1060 element text:illustration-index-source {
1061 text-illustration-index-source-attrs,
1062 text-index-title-template?,
1063 text-illustration-index-entry-template?
1065 text-illustration-index-source-attrs =
1066 text-index-scope-attr
1067 & text-relative-tab-stop-position-attr
1068 & attribute text:use-caption { boolean }?
1069 & attribute text:caption-sequence-name { \string }?
1070 & attribute text:caption-sequence-format {
1071 "text" | "category-and-value" | "caption"
1073 text-index-scope-attr =
1074 attribute text:index-scope { "document" | "chapter" }?
1075 text-relative-tab-stop-position-attr =
1076 attribute text:relative-tab-stop-position { boolean }?
1077 text-illustration-index-entry-template =
1078 element text:illustration-index-entry-template {
1079 text-illustration-index-entry-content
1081 text-illustration-index-entry-content =
1082 text-illustration-index-entry-template-attrs,
1083 (text-index-entry-chapter
1084 | text-index-entry-page-number
1085 | text-index-entry-text
1086 | text-index-entry-span
1087 | text-index-entry-tab-stop)*
1088 text-illustration-index-entry-template-attrs =
1089 attribute text:style-name { styleNameRef }
1091 element text:table-index {
1092 common-section-attlist, text-table-index-source, text-index-body
1094 text-table-index-source =
1095 element text:table-index-source {
1096 text-illustration-index-source-attrs,
1097 text-index-title-template?,
1098 text-table-index-entry-template?
1100 text-table-index-entry-template =
1101 element text:table-index-entry-template {
1102 text-illustration-index-entry-content
1105 element text:object-index {
1106 common-section-attlist, text-object-index-source, text-index-body
1108 text-object-index-source =
1109 element text:object-index-source {
1110 text-object-index-source-attrs,
1111 text-index-title-template?,
1112 text-object-index-entry-template?
1114 text-object-index-source-attrs =
1115 text-index-scope-attr
1116 & text-relative-tab-stop-position-attr
1117 & attribute text:use-spreadsheet-objects { boolean }?
1118 & attribute text:use-math-objects { boolean }?
1119 & attribute text:use-draw-objects { boolean }?
1120 & attribute text:use-chart-objects { boolean }?
1121 & attribute text:use-other-objects { boolean }?
1122 text-object-index-entry-template =
1123 element text:object-index-entry-template {
1124 text-illustration-index-entry-content
1127 element text:user-index {
1128 common-section-attlist, text-user-index-source, text-index-body
1130 text-user-index-source =
1131 element text:user-index-source {
1132 text-user-index-source-attr,
1133 text-index-title-template?,
1134 text-user-index-entry-template*,
1135 text-index-source-styles*
1137 text-user-index-source-attr =
1138 text-index-scope-attr
1139 & text-relative-tab-stop-position-attr
1140 & attribute text:use-index-marks { boolean }?
1141 & attribute text:use-index-source-styles { boolean }?
1142 & attribute text:use-graphics { boolean }?
1143 & attribute text:use-tables { boolean }?
1144 & attribute text:use-floating-frames { boolean }?
1145 & attribute text:use-objects { boolean }?
1146 & attribute text:copy-outline-levels { boolean }?
1147 & attribute text:index-name { \string }
1148 text-user-index-entry-template =
1149 element text:user-index-entry-template {
1150 text-user-index-entry-template-attrs,
1151 (text-index-entry-chapter
1152 | text-index-entry-page-number
1153 | text-index-entry-text
1154 | text-index-entry-span
1155 | text-index-entry-tab-stop)*
1157 text-user-index-entry-template-attrs =
1158 attribute text:outline-level { positiveInteger }
1159 & attribute text:style-name { styleNameRef }
1160 text-alphabetical-index =
1161 element text:alphabetical-index {
1162 common-section-attlist,
1163 text-alphabetical-index-source,
1166 text-alphabetical-index-source =
1167 element text:alphabetical-index-source {
1168 text-alphabetical-index-source-attrs,
1169 text-index-title-template?,
1170 text-alphabetical-index-entry-template*
1172 text-alphabetical-index-source-attrs =
1173 text-index-scope-attr
1174 & text-relative-tab-stop-position-attr
1175 & attribute text:ignore-case { boolean }?
1176 & attribute text:main-entry-style-name { styleNameRef }?
1177 & attribute text:alphabetical-separators { boolean }?
1178 & attribute text:combine-entries { boolean }?
1179 & attribute text:combine-entries-with-dash { boolean }?
1180 & attribute text:combine-entries-with-pp { boolean }?
1181 & attribute text:use-keys-as-entries { boolean }?
1182 & attribute text:capitalize-entries { boolean }?
1183 & attribute text:comma-separated { boolean }?
1184 & attribute fo:language { languageCode }?
1185 & attribute fo:country { countryCode }?
1186 & attribute fo:script { scriptCode }?
1187 & attribute style:rfc-language-tag { language }?
1188 & attribute text:sort-algorithm { \string }?
1189 text-alphabetical-index-auto-mark-file =
1190 element text:alphabetical-index-auto-mark-file {
1191 attribute xlink:type { "simple" },
1192 attribute xlink:href { anyIRI }
1194 text-alphabetical-index-entry-template =
1195 element text:alphabetical-index-entry-template {
1196 text-alphabetical-index-entry-template-attrs,
1197 (text-index-entry-chapter
1198 | text-index-entry-page-number
1199 | text-index-entry-text
1200 | text-index-entry-span
1201 | text-index-entry-tab-stop)*
1203 text-alphabetical-index-entry-template-attrs =
1204 attribute text:outline-level { "1" | "2" | "3" | "separator" }
1205 & attribute text:style-name { styleNameRef }
1207 element text:bibliography {
1208 common-section-attlist, text-bibliography-source, text-index-body
1210 text-bibliography-source =
1211 element text:bibliography-source {
1212 text-index-title-template?, text-bibliography-entry-template*
1214 text-bibliography-entry-template =
1215 element text:bibliography-entry-template {
1216 text-bibliography-entry-template-attrs,
1217 (text-index-entry-span
1218 | text-index-entry-tab-stop
1219 | text-index-entry-bibliography)*
1221 text-bibliography-entry-template-attrs =
1222 attribute text:bibliography-type { text-bibliography-types }
1223 & attribute text:style-name { styleNameRef }
1224 text-index-source-styles =
1225 element text:index-source-styles {
1226 attribute text:outline-level { positiveInteger },
1227 text-index-source-style*
1229 text-index-source-style =
1230 element text:index-source-style {
1231 attribute text:style-name { styleName },
1234 text-index-title-template =
1235 element text:index-title-template {
1236 attribute text:style-name { styleNameRef }?,
1239 text-index-entry-chapter =
1240 element text:index-entry-chapter {
1241 attribute text:style-name { styleNameRef }?,
1242 text-index-entry-chapter-attrs
1244 text-index-entry-chapter-attrs =
1245 attribute text:display {
1250 | "plain-number-and-name"
1252 & attribute text:outline-level { positiveInteger }?
1253 text-index-entry-text =
1254 element text:index-entry-text {
1255 attribute text:style-name { styleNameRef }?
1257 text-index-entry-page-number =
1258 element text:index-entry-page-number {
1259 attribute text:style-name { styleNameRef }?
1261 text-index-entry-span =
1262 element text:index-entry-span {
1263 attribute text:style-name { styleNameRef }?,
1266 text-index-entry-bibliography =
1267 element text:index-entry-bibliography {
1268 text-index-entry-bibliography-attrs
1270 text-index-entry-bibliography-attrs =
1271 attribute text:style-name { styleNameRef }?
1272 & attribute text:bibliography-data-field {
1276 | "bibliography-type"
1306 text-index-entry-tab-stop =
1307 element text:index-entry-tab-stop {
1308 attribute text:style-name { styleNameRef }?,
1309 text-index-entry-tab-stop-attrs
1311 text-index-entry-tab-stop-attrs =
1312 attribute style:leader-char { character }?
1313 & (attribute style:type { "right" }
1314 | (attribute style:type { "left" },
1315 attribute style:position { length }))
1316 text-index-entry-link-start =
1317 element text:index-entry-link-start {
1318 attribute text:style-name { styleNameRef }?
1320 text-index-entry-link-end =
1321 element text:index-entry-link-end {
1322 attribute text:style-name { styleNameRef }?
1325 element table:table {
1326 table-table-attlist,
1329 table-table-source?,
1334 table-columns-and-groups,
1335 table-rows-and-groups,
1336 table-named-expressions?
1338 table-columns-and-groups =
1339 (table-table-column-group | table-columns-no-group)+
1340 table-columns-no-group =
1341 (table-columns, (table-table-header-columns, table-columns?)?)
1342 | (table-table-header-columns, table-columns?)
1343 table-columns = table-table-columns | table-table-column+
1344 table-rows-and-groups = (table-table-row-group | table-rows-no-group)+
1345 table-rows-no-group =
1346 (table-rows, (table-table-header-rows, table-rows?)?)
1347 | (table-table-header-rows, table-rows?)
1349 table-table-rows | (text-soft-page-break?, table-table-row)+
1350 table-table-attlist =
1351 attribute table:name { \string }?
1352 & attribute table:style-name { styleNameRef }?
1353 & attribute table:template-name { \string }?
1354 & attribute table:use-first-row-styles { boolean }?
1355 & attribute table:use-last-row-styles { boolean }?
1356 & attribute table:use-first-column-styles { boolean }?
1357 & attribute table:use-last-column-styles { boolean }?
1358 & attribute table:use-banding-rows-styles { boolean }?
1359 & attribute table:use-banding-columns-styles { boolean }?
1360 & attribute table:protected { boolean }?
1361 & attribute table:protection-key { \string }?
1362 & attribute table:protection-key-digest-algorithm { anyIRI }?
1363 & attribute table:print { boolean }?
1364 & attribute table:print-ranges { cellRangeAddressList }?
1366 & attribute table:is-sub-table { boolean }?
1367 table-title = element table:title { text }
1368 table-desc = element table:desc { text }
1370 element table:table-row {
1371 table-table-row-attlist,
1372 (table-table-cell | table-covered-table-cell)+
1374 table-table-row-attlist =
1375 attribute table:number-rows-repeated { positiveInteger }?
1376 & attribute table:style-name { styleNameRef }?
1377 & attribute table:default-cell-style-name { styleNameRef }?
1378 & attribute table:visibility { table-visibility-value }?
1380 table-visibility-value = "visible" | "collapse" | "filter"
1382 element table:table-cell {
1383 table-table-cell-attlist,
1384 table-table-cell-attlist-extra,
1385 table-table-cell-content
1387 table-covered-table-cell =
1388 element table:covered-table-cell {
1389 table-table-cell-attlist, table-table-cell-content
1391 table-table-cell-content =
1392 table-cell-range-source?,
1396 table-table-cell-attlist =
1397 attribute table:number-columns-repeated { positiveInteger }?
1398 & attribute table:style-name { styleNameRef }?
1399 & attribute table:content-validation-name { \string }?
1400 & attribute table:formula { \string }?
1401 & common-value-and-type-attlist?
1402 & attribute table:protect { boolean }?
1403 & attribute table:protected { boolean }?
1405 & common-in-content-meta-attlist?
1406 table-table-cell-attlist-extra =
1407 attribute table:number-columns-spanned { positiveInteger }?
1408 & attribute table:number-rows-spanned { positiveInteger }?
1409 & attribute table:number-matrix-columns-spanned { positiveInteger }?
1410 & attribute table:number-matrix-rows-spanned { positiveInteger }?
1411 table-table-column =
1412 element table:table-column { table-table-column-attlist, empty }
1413 table-table-column-attlist =
1414 attribute table:number-columns-repeated { positiveInteger }?
1415 & attribute table:style-name { styleNameRef }?
1416 & attribute table:visibility { table-visibility-value }?
1417 & attribute table:default-cell-style-name { styleNameRef }?
1419 table-table-header-columns =
1420 element table:table-header-columns { table-table-column+ }
1421 table-table-columns =
1422 element table:table-columns { table-table-column+ }
1423 table-table-column-group =
1424 element table:table-column-group {
1425 table-table-column-group-attlist, table-columns-and-groups
1427 table-table-column-group-attlist = attribute table:display { boolean }?
1428 table-table-header-rows =
1429 element table:table-header-rows {
1430 (text-soft-page-break?, table-table-row)+
1433 element table:table-rows { (text-soft-page-break?, table-table-row)+ }
1434 table-table-row-group =
1435 element table:table-row-group {
1436 table-table-row-group-attlist, table-rows-and-groups
1438 table-table-row-group-attlist = attribute table:display { boolean }?
1441 pattern = "($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+"
1446 "($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+(:($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+)?"
1450 "($?([^\. ']+|'([^']|'')+'))?\.$?[0-9]+:($?([^\. ']+|'([^']|'')+'))?\.$?[0-9]+"
1454 "($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+:($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+"
1456 cellRangeAddressList =
1459 'Value is a space separated list of "cellRangeAddress" patterns'
1461 table-table-source =
1462 element table:table-source {
1463 table-table-source-attlist, table-linked-source-attlist, empty
1465 table-table-source-attlist =
1466 attribute table:mode { "copy-all" | "copy-results-only" }?
1467 & attribute table:table-name { \string }?
1468 table-linked-source-attlist =
1469 attribute xlink:type { "simple" }
1470 & attribute xlink:href { anyIRI }
1471 & attribute xlink:actuate { "onRequest" }?
1472 & attribute table:filter-name { \string }?
1473 & attribute table:filter-options { \string }?
1474 & attribute table:refresh-delay { duration }?
1476 element table:scenario { table-scenario-attlist, empty }
1477 table-scenario-attlist =
1478 attribute table:scenario-ranges { cellRangeAddressList }
1479 & attribute table:is-active { boolean }
1480 & attribute table:display-border { boolean }?
1481 & attribute table:border-color { color }?
1482 & attribute table:copy-back { boolean }?
1483 & attribute table:copy-styles { boolean }?
1484 & attribute table:copy-formulas { boolean }?
1485 & attribute table:comment { \string }?
1486 & attribute table:protected { boolean }?
1487 table-shapes = element table:shapes { shape+ }
1488 table-cell-range-source =
1489 element table:cell-range-source {
1490 table-table-cell-range-source-attlist,
1491 table-linked-source-attlist,
1494 table-table-cell-range-source-attlist =
1495 attribute table:name { \string }
1496 & attribute table:last-column-spanned { positiveInteger }
1497 & attribute table:last-row-spanned { positiveInteger }
1499 element table:detective { table-highlighted-range*, table-operation* }
1501 element table:operation { table-operation-attlist, empty }
1502 table-operation-attlist =
1503 attribute table:name {
1505 | "remove-dependents"
1506 | "trace-precedents"
1507 | "remove-precedents"
1510 & attribute table:index { nonNegativeInteger }
1511 table-highlighted-range =
1512 element table:highlighted-range {
1513 (table-highlighted-range-attlist
1514 | table-highlighted-range-attlist-invalid),
1517 table-highlighted-range-attlist =
1518 attribute table:cell-range-address { cellRangeAddress }?
1519 & attribute table:direction {
1520 "from-another-table" | "to-another-table" | "from-same-table"
1522 & attribute table:contains-error { boolean }?
1523 table-highlighted-range-attlist-invalid =
1524 attribute table:marked-invalid { boolean }
1525 office-spreadsheet-attlist =
1526 attribute table:structure-protected { boolean }?,
1527 attribute table:protection-key { \string }?,
1528 attribute table:protection-key-digest-algorithm { anyIRI }?
1529 table-calculation-settings =
1530 element table:calculation-settings {
1531 table-calculation-setting-attlist,
1535 table-calculation-setting-attlist =
1536 attribute table:case-sensitive { boolean }?
1537 & attribute table:precision-as-shown { boolean }?
1538 & attribute table:search-criteria-must-apply-to-whole-cell {
1541 & attribute table:automatic-find-labels { boolean }?
1542 & attribute table:use-regular-expressions { boolean }?
1543 & attribute table:use-wildcards { boolean }?
1544 & attribute table:null-year { positiveInteger }?
1546 element table:null-date {
1547 attribute table:value-type { "date" }?,
1548 attribute table:date-value { date }?,
1552 element table:iteration {
1553 attribute table:status { "enable" | "disable" }?,
1554 attribute table:steps { positiveInteger }?,
1555 attribute table:maximum-difference { double }?,
1558 table-content-validations =
1559 element table:content-validations { table-content-validation+ }
1560 table-content-validation =
1561 element table:content-validation {
1562 table-validation-attlist,
1563 table-help-message?,
1564 (table-error-message | (table-error-macro, office-event-listeners))?
1566 table-validation-attlist =
1567 attribute table:name { \string }
1568 & attribute table:condition { \string }?
1569 & attribute table:base-cell-address { cellAddress }?
1570 & attribute table:allow-empty-cell { boolean }?
1571 & attribute table:display-list {
1572 "none" | "unsorted" | "sort-ascending"
1574 table-help-message =
1575 element table:help-message {
1576 attribute table:title { \string }?,
1577 attribute table:display { boolean }?,
1580 table-error-message =
1581 element table:error-message {
1582 attribute table:title { \string }?,
1583 attribute table:display { boolean }?,
1584 attribute table:message-type {
1585 "stop" | "warning" | "information"
1590 element table:error-macro {
1591 attribute table:execute { boolean }?
1593 table-label-ranges = element table:label-ranges { table-label-range* }
1595 element table:label-range { table-label-range-attlist, empty }
1596 table-label-range-attlist =
1597 attribute table:label-cell-range-address { cellRangeAddress }
1598 & attribute table:data-cell-range-address { cellRangeAddress }
1599 & attribute table:orientation { "column" | "row" }
1600 table-named-expressions =
1601 element table:named-expressions {
1602 (table-named-range | table-named-expression)*
1605 element table:named-range { table-named-range-attlist, empty }
1606 table-named-range-attlist =
1607 attribute table:name { \string },
1608 attribute table:cell-range-address { cellRangeAddress },
1609 attribute table:base-cell-address { cellAddress }?,
1610 attribute table:range-usable-as {
1613 ("print-range" | "filter" | "repeat-row" | "repeat-column")+
1616 table-named-expression =
1617 element table:named-expression {
1618 table-named-expression-attlist, empty
1620 table-named-expression-attlist =
1621 attribute table:name { \string },
1622 attribute table:expression { \string },
1623 attribute table:base-cell-address { cellAddress }?
1624 table-database-ranges =
1625 element table:database-ranges { table-database-range* }
1626 table-database-range =
1627 element table:database-range {
1628 table-database-range-attlist,
1629 (table-database-source-sql
1630 | table-database-source-table
1631 | table-database-source-query)?,
1634 table-subtotal-rules?
1636 table-database-range-attlist =
1637 attribute table:name { \string }?
1638 & attribute table:is-selection { boolean }?
1639 & attribute table:on-update-keep-styles { boolean }?
1640 & attribute table:on-update-keep-size { boolean }?
1641 & attribute table:has-persistent-data { boolean }?
1642 & attribute table:orientation { "column" | "row" }?
1643 & attribute table:contains-header { boolean }?
1644 & attribute table:display-filter-buttons { boolean }?
1645 & attribute table:target-range-address { cellRangeAddress }
1646 & attribute table:refresh-delay { boolean }?
1647 table-database-source-sql =
1648 element table:database-source-sql {
1649 table-database-source-sql-attlist, empty
1651 table-database-source-sql-attlist =
1652 attribute table:database-name { \string }
1653 & attribute table:sql-statement { \string }
1654 & attribute table:parse-sql-statement { boolean }?
1655 table-database-source-query =
1656 element table:database-source-table {
1657 table-database-source-table-attlist, empty
1659 table-database-source-table-attlist =
1660 attribute table:database-name { \string }
1661 & attribute table:database-table-name { \string }
1662 table-database-source-table =
1663 element table:database-source-query {
1664 table-database-source-query-attlist, empty
1666 table-database-source-query-attlist =
1667 attribute table:database-name { \string }
1668 & attribute table:query-name { \string }
1669 table-sort = element table:sort { table-sort-attlist, table-sort-by+ }
1670 table-sort-attlist =
1671 attribute table:bind-styles-to-content { boolean }?
1672 & attribute table:target-range-address { cellRangeAddress }?
1673 & attribute table:case-sensitive { boolean }?
1674 & attribute table:language { languageCode }?
1675 & attribute table:country { countryCode }?
1676 & attribute table:script { scriptCode }?
1677 & attribute table:rfc-language-tag { language }?
1678 & attribute table:algorithm { \string }?
1679 & attribute table:embedded-number-behavior {
1680 "alpha-numeric" | "integer" | "double"
1682 table-sort-by = element table:sort-by { table-sort-by-attlist, empty }
1683 table-sort-by-attlist =
1684 attribute table:field-number { nonNegativeInteger }
1685 & attribute table:data-type {
1686 "text" | "number" | "automatic" | \string
1688 & attribute table:order { "ascending" | "descending" }?
1689 table-subtotal-rules =
1690 element table:subtotal-rules {
1691 table-subtotal-rules-attlist,
1693 table-subtotal-rule*
1695 table-subtotal-rules-attlist =
1696 attribute table:bind-styles-to-content { boolean }?
1697 & attribute table:case-sensitive { boolean }?
1698 & attribute table:page-breaks-on-group-change { boolean }?
1700 element table:sort-groups { table-sort-groups-attlist, empty }
1701 table-sort-groups-attlist =
1702 attribute table:data-type {
1703 "text" | "number" | "automatic" | \string
1705 & attribute table:order { "ascending" | "descending" }?
1706 table-subtotal-rule =
1707 element table:subtotal-rule {
1708 table-subtotal-rule-attlist, table-subtotal-field*
1710 table-subtotal-rule-attlist =
1711 attribute table:group-by-field-number { nonNegativeInteger }
1712 table-subtotal-field =
1713 element table:subtotal-field { table-subtotal-field-attlist, empty }
1714 table-subtotal-field-attlist =
1715 attribute table:field-number { nonNegativeInteger }
1716 & attribute table:function {
1731 element table:filter {
1732 table-filter-attlist,
1733 (table-filter-condition | table-filter-and | table-filter-or)
1735 table-filter-attlist =
1736 attribute table:target-range-address { cellRangeAddress }?
1737 & attribute table:condition-source { "self" | "cell-range" }?
1738 & attribute table:condition-source-range-address { cellRangeAddress }?
1739 & attribute table:display-duplicates { boolean }?
1741 element table:filter-and {
1742 (table-filter-or | table-filter-condition)+
1745 element table:filter-or {
1746 (table-filter-and | table-filter-condition)+
1748 table-filter-condition =
1749 element table:filter-condition {
1750 table-filter-condition-attlist, table-filter-set-item*
1752 table-filter-condition-attlist =
1753 attribute table:field-number { nonNegativeInteger }
1754 & attribute table:value { \string | double }
1755 & attribute table:operator { \string }
1756 & attribute table:case-sensitive { \string }?
1757 & attribute table:data-type { "text" | "number" }?
1758 table-filter-set-item =
1759 element table:filter-set-item {
1760 attribute table:value { \string },
1763 table-data-pilot-tables =
1764 element table:data-pilot-tables { table-data-pilot-table* }
1765 table-data-pilot-table =
1766 element table:data-pilot-table {
1767 table-data-pilot-table-attlist,
1768 (table-database-source-sql
1769 | table-database-source-table
1770 | table-database-source-query
1771 | table-source-service
1772 | table-source-cell-range)?,
1773 table-data-pilot-field+
1775 table-data-pilot-table-attlist =
1776 attribute table:name { \string }
1777 & attribute table:application-data { \string }?
1778 & attribute table:grand-total { "none" | "row" | "column" | "both" }?
1779 & attribute table:ignore-empty-rows { boolean }?
1780 & attribute table:identify-categories { boolean }?
1781 & attribute table:target-range-address { cellRangeAddress }
1782 & attribute table:buttons { cellRangeAddressList }?
1783 & attribute table:show-filter-button { boolean }?
1784 & attribute table:drill-down-on-double-click { boolean }?
1785 table-source-cell-range =
1786 element table:source-cell-range {
1787 table-source-cell-range-attlist, table-filter?
1789 table-source-cell-range-attlist =
1790 attribute table:cell-range-address { cellRangeAddress }
1791 table-source-service =
1792 element table:source-service { table-source-service-attlist, empty }
1793 table-source-service-attlist =
1794 attribute table:name { \string }
1795 & attribute table:source-name { \string }
1796 & attribute table:object-name { \string }
1797 & attribute table:user-name { \string }?
1798 & attribute table:password { \string }?
1799 table-data-pilot-field =
1800 element table:data-pilot-field {
1801 table-data-pilot-field-attlist,
1802 table-data-pilot-level?,
1803 table-data-pilot-field-reference?,
1804 table-data-pilot-groups?
1806 table-data-pilot-field-attlist =
1807 attribute table:source-field-name { \string }
1808 & (attribute table:orientation {
1809 "row" | "column" | "data" | "hidden"
1811 | (attribute table:orientation { "page" },
1812 attribute table:selected-page { \string }))
1813 & attribute table:is-data-layout-field { \string }?
1814 & attribute table:function {
1829 & attribute table:used-hierarchy { integer }?
1830 table-data-pilot-level =
1831 element table:data-pilot-level {
1832 table-data-pilot-level-attlist,
1833 table-data-pilot-subtotals?,
1834 table-data-pilot-members?,
1835 table-data-pilot-display-info?,
1836 table-data-pilot-sort-info?,
1837 table-data-pilot-layout-info?
1839 table-data-pilot-level-attlist = attribute table:show-empty { boolean }?
1840 table-data-pilot-subtotals =
1841 element table:data-pilot-subtotals { table-data-pilot-subtotal* }
1842 table-data-pilot-subtotal =
1843 element table:data-pilot-subtotal {
1844 table-data-pilot-subtotal-attlist, empty
1846 table-data-pilot-subtotal-attlist =
1847 attribute table:function {
1862 table-data-pilot-members =
1863 element table:data-pilot-members { table-data-pilot-member* }
1864 table-data-pilot-member =
1865 element table:data-pilot-member {
1866 table-data-pilot-member-attlist, empty
1868 table-data-pilot-member-attlist =
1869 attribute table:name { \string }
1870 & attribute table:display { boolean }?
1871 & attribute table:show-details { boolean }?
1872 table-data-pilot-display-info =
1873 element table:data-pilot-display-info {
1874 table-data-pilot-display-info-attlist, empty
1876 table-data-pilot-display-info-attlist =
1877 attribute table:enabled { boolean }
1878 & attribute table:data-field { \string }
1879 & attribute table:member-count { nonNegativeInteger }
1880 & attribute table:display-member-mode { "from-top" | "from-bottom" }
1881 table-data-pilot-sort-info =
1882 element table:data-pilot-sort-info {
1883 table-data-pilot-sort-info-attlist, empty
1885 table-data-pilot-sort-info-attlist =
1886 ((attribute table:sort-mode { "data" },
1887 attribute table:data-field { \string })
1888 | attribute table:sort-mode { "none" | "manual" | "name" })
1889 & attribute table:order { "ascending" | "descending" }
1890 table-data-pilot-layout-info =
1891 element table:data-pilot-layout-info {
1892 table-data-pilot-layout-info-attlist, empty
1894 table-data-pilot-layout-info-attlist =
1895 attribute table:layout-mode {
1897 | "outline-subtotals-top"
1898 | "outline-subtotals-bottom"
1900 & attribute table:add-empty-lines { boolean }
1901 table-data-pilot-field-reference =
1902 element table:data-pilot-field-reference {
1903 table-data-pilot-field-reference-attlist
1905 table-data-pilot-field-reference-attlist =
1906 attribute table:field-name { \string }
1907 & ((attribute table:member-type { "named" },
1908 attribute table:member-name { \string })
1909 | attribute table:member-type { "previous" | "next" })
1910 & attribute table:type {
1912 | "member-difference"
1913 | "member-percentage"
1914 | "member-percentage-difference"
1917 | "column-percentage"
1918 | "total-percentage"
1921 table-data-pilot-groups =
1922 element table:data-pilot-groups {
1923 table-data-pilot-groups-attlist, table-data-pilot-group+
1925 table-data-pilot-groups-attlist =
1926 attribute table:source-field-name { \string }
1927 & (attribute table:date-start { dateOrDateTime | "auto" }
1928 | attribute table:start { double | "auto" })
1929 & (attribute table:date-end { dateOrDateTime | "auto" }
1930 | attribute table:end { double | "auto" })
1931 & attribute table:step { double }
1932 & attribute table:grouped-by {
1941 table-data-pilot-group =
1942 element table:data-pilot-group {
1943 table-data-pilot-group-attlist, table-data-pilot-group-member+
1945 table-data-pilot-group-attlist = attribute table:name { \string }
1946 table-data-pilot-group-member =
1947 element table:data-pilot-group-member {
1948 table-data-pilot-group-member-attlist
1950 table-data-pilot-group-member-attlist = attribute table:name { \string }
1951 table-consolidation =
1952 element table:consolidation { table-consolidation-attlist, empty }
1953 table-consolidation-attlist =
1954 attribute table:function {
1968 & attribute table:source-cell-range-addresses { cellRangeAddressList }
1969 & attribute table:target-cell-address { cellAddress }
1970 & attribute table:use-labels { "none" | "row" | "column" | "both" }?
1971 & attribute table:link-to-source-data { boolean }?
1972 table-dde-links = element table:dde-links { table-dde-link+ }
1973 table-tracked-changes =
1974 element table:tracked-changes {
1975 table-tracked-changes-attlist,
1976 (table-cell-content-change
1981 table-tracked-changes-attlist =
1982 attribute table:track-changes { boolean }?
1984 element table:insertion {
1985 table-insertion-attlist,
1986 common-table-change-attlist,
1988 table-dependencies?,
1991 table-insertion-attlist =
1992 attribute table:type { "row" | "column" | "table" }
1993 & attribute table:position { integer }
1994 & attribute table:count { positiveInteger }?
1995 & attribute table:table { integer }?
1996 table-dependencies = element table:dependencies { table-dependency+ }
1998 element table:dependency {
1999 attribute table:id { \string },
2003 element table:deletions {
2004 (table-cell-content-deletion | table-change-deletion)+
2006 table-cell-content-deletion =
2007 element table:cell-content-deletion {
2008 attribute table:id { \string }?,
2009 table-cell-address?,
2010 table-change-track-table-cell?
2012 table-change-deletion =
2013 element table:change-deletion {
2014 attribute table:id { \string }?,
2018 element table:deletion {
2019 table-deletion-attlist,
2020 common-table-change-attlist,
2022 table-dependencies?,
2026 table-deletion-attlist =
2027 attribute table:type { "row" | "column" | "table" }
2028 & attribute table:position { integer }
2029 & attribute table:table { integer }?
2030 & attribute table:multi-deletion-spanned { integer }?
2032 element table:cut-offs {
2033 table-movement-cut-off+
2034 | (table-insertion-cut-off, table-movement-cut-off*)
2036 table-insertion-cut-off =
2037 element table:insertion-cut-off {
2038 table-insertion-cut-off-attlist, empty
2040 table-insertion-cut-off-attlist =
2041 attribute table:id { \string }
2042 & attribute table:position { integer }
2043 table-movement-cut-off =
2044 element table:movement-cut-off {
2045 table-movement-cut-off-attlist, empty
2047 table-movement-cut-off-attlist =
2048 attribute table:position { integer }
2049 | (attribute table:start-position { integer },
2050 attribute table:end-position { integer })
2052 element table:movement {
2053 common-table-change-attlist,
2054 table-source-range-address,
2055 table-target-range-address,
2057 table-dependencies?,
2060 table-source-range-address =
2061 element table:source-range-address {
2062 common-table-range-attlist, empty
2064 table-target-range-address =
2065 element table:target-range-address {
2066 common-table-range-attlist, empty
2068 common-table-range-attlist =
2069 common-table-cell-address-attlist
2070 | common-table-cell-range-address-attlist
2071 common-table-cell-address-attlist =
2072 attribute table:column { integer },
2073 attribute table:row { integer },
2074 attribute table:table { integer }
2075 common-table-cell-range-address-attlist =
2076 attribute table:start-column { integer },
2077 attribute table:start-row { integer },
2078 attribute table:start-table { integer },
2079 attribute table:end-column { integer },
2080 attribute table:end-row { integer },
2081 attribute table:end-table { integer }
2082 table-change-track-table-cell =
2083 element table:change-track-table-cell {
2084 table-change-track-table-cell-attlist, text-p*
2086 table-change-track-table-cell-attlist =
2087 attribute table:cell-address { cellAddress }?
2088 & attribute table:matrix-covered { boolean }?
2089 & attribute table:formula { \string }?
2090 & attribute table:number-matrix-columns-spanned { positiveInteger }?
2091 & attribute table:number-matrix-rows-spanned { positiveInteger }?
2092 & common-value-and-type-attlist?
2093 table-cell-content-change =
2094 element table:cell-content-change {
2095 common-table-change-attlist,
2098 table-dependencies?,
2102 table-cell-address =
2103 element table:cell-address {
2104 common-table-cell-address-attlist, empty
2107 element table:previous {
2108 attribute table:id { \string }?,
2109 table-change-track-table-cell
2111 common-table-change-attlist =
2112 attribute table:id { \string }
2113 & attribute table:acceptance-state {
2114 "accepted" | "rejected" | "pending"
2116 & attribute table:rejecting-change-id { \string }?
2117 style-handout-master =
2118 element style:handout-master {
2119 common-presentation-header-footer-attlist,
2120 style-handout-master-attlist,
2123 style-handout-master-attlist =
2124 attribute presentation:presentation-page-layout-name { styleNameRef }?
2125 & attribute style:page-layout-name { styleNameRef }
2126 & attribute draw:style-name { styleNameRef }?
2127 draw-layer-set = element draw:layer-set { draw-layer* }
2129 element draw:layer { draw-layer-attlist, svg-title?, svg-desc? }
2130 draw-layer-attlist =
2131 attribute draw:name { \string }
2132 & attribute draw:protected { boolean }?
2133 & attribute draw:display { "always" | "screen" | "printer" | "none" }?
2136 common-presentation-header-footer-attlist,
2143 (presentation-animations | animation-element)?,
2147 attribute draw:name { \string }?
2148 & attribute draw:style-name { styleNameRef }?
2149 & attribute draw:master-page-name { styleNameRef }
2150 & attribute presentation:presentation-page-layout-name {
2154 attribute draw:id { NCName }?)?
2155 & attribute draw:nav-order { IDREFS }?
2156 common-presentation-header-footer-attlist =
2157 attribute presentation:use-header-name { \string }?
2158 & attribute presentation:use-footer-name { \string }?
2159 & attribute presentation:use-date-time-name { \string }?
2160 shape = shape-instance | draw-a
2166 | draw-regular-polygon
2171 | draw-page-thumbnail
2182 common-draw-position-attlist,
2183 common-draw-size-attlist,
2184 common-draw-shape-with-text-and-styles-attlist,
2185 common-draw-caption-id-attlist,
2188 office-event-listeners?,
2193 attribute draw:corner-radius { nonNegativeLength }?
2194 | (attribute svg:rx { nonNegativeLength }?,
2195 attribute svg:ry { nonNegativeLength }?)
2199 common-draw-shape-with-text-and-styles-attlist,
2200 common-draw-caption-id-attlist,
2203 office-event-listeners?,
2208 attribute svg:x1 { coordinate }
2209 & attribute svg:y1 { coordinate }
2210 & attribute svg:x2 { coordinate }
2211 & attribute svg:y2 { coordinate }
2213 element draw:polyline {
2214 common-draw-points-attlist,
2215 common-draw-position-attlist,
2216 common-draw-size-attlist,
2217 common-draw-viewbox-attlist,
2218 common-draw-shape-with-text-and-styles-attlist,
2219 common-draw-caption-id-attlist,
2222 office-event-listeners?,
2226 common-draw-points-attlist = attribute draw:points { points }
2228 element draw:polygon {
2229 common-draw-points-attlist,
2230 common-draw-position-attlist,
2231 common-draw-size-attlist,
2232 common-draw-viewbox-attlist,
2233 common-draw-shape-with-text-and-styles-attlist,
2234 common-draw-caption-id-attlist,
2237 office-event-listeners?,
2241 draw-regular-polygon =
2242 element draw:regular-polygon {
2243 draw-regular-polygon-attlist,
2244 common-draw-position-attlist,
2245 common-draw-size-attlist,
2246 common-draw-shape-with-text-and-styles-attlist,
2247 common-draw-caption-id-attlist,
2250 office-event-listeners?,
2254 draw-regular-polygon-attlist =
2255 (attribute draw:concave { "false" }
2256 | (attribute draw:concave { "true" },
2257 draw-regular-polygon-sharpness-attlist))
2258 & attribute draw:corners { positiveInteger }
2259 draw-regular-polygon-sharpness-attlist =
2260 attribute draw:sharpness { percent }
2263 common-draw-path-data-attlist,
2264 common-draw-position-attlist,
2265 common-draw-size-attlist,
2266 common-draw-viewbox-attlist,
2267 common-draw-shape-with-text-and-styles-attlist,
2268 common-draw-caption-id-attlist,
2271 office-event-listeners?,
2275 common-draw-path-data-attlist = attribute svg:d { pathData }
2277 element draw:circle {
2278 ((draw-circle-attlist, common-draw-circle-ellipse-pos-attlist)
2279 | (common-draw-position-attlist, common-draw-size-attlist)),
2280 common-draw-circle-ellipse-attlist,
2281 common-draw-shape-with-text-and-styles-attlist,
2282 common-draw-caption-id-attlist,
2285 office-event-listeners?,
2289 common-draw-circle-ellipse-pos-attlist =
2290 attribute svg:cx { coordinate },
2291 attribute svg:cy { coordinate }
2292 draw-circle-attlist = attribute svg:r { length }
2293 common-draw-circle-ellipse-attlist =
2294 attribute draw:kind { "full" | "section" | "cut" | "arc" }?
2295 & attribute draw:start-angle { angle }?
2296 & attribute draw:end-angle { angle }?
2298 element draw:ellipse {
2299 ((draw-ellipse-attlist, common-draw-circle-ellipse-pos-attlist)
2300 | (common-draw-position-attlist, common-draw-size-attlist)),
2301 common-draw-circle-ellipse-attlist,
2302 common-draw-shape-with-text-and-styles-attlist,
2303 common-draw-caption-id-attlist,
2306 office-event-listeners?,
2310 draw-ellipse-attlist =
2311 attribute svg:rx { length },
2312 attribute svg:ry { length }
2314 element draw:connector {
2315 draw-connector-attlist,
2316 common-draw-shape-with-text-and-styles-attlist,
2317 common-draw-caption-id-attlist,
2318 common-draw-viewbox-attlist,
2321 office-event-listeners?,
2325 draw-connector-attlist =
2326 attribute draw:type { "standard" | "lines" | "line" | "curve" }?
2327 & (attribute svg:x1 { coordinate },
2328 attribute svg:y1 { coordinate })?
2329 & attribute draw:start-shape { IDREF }?
2330 & attribute draw:start-glue-point { nonNegativeInteger }?
2331 & (attribute svg:x2 { coordinate },
2332 attribute svg:y2 { coordinate })?
2333 & attribute draw:end-shape { IDREF }?
2334 & attribute draw:end-glue-point { nonNegativeInteger }?
2335 & attribute draw:line-skew {
2336 list { length, (length, length?)? }
2338 & attribute svg:d { pathData }?
2340 element draw:caption {
2341 draw-caption-attlist,
2342 common-draw-position-attlist,
2343 common-draw-size-attlist,
2344 common-draw-shape-with-text-and-styles-attlist,
2345 common-draw-caption-id-attlist,
2348 office-event-listeners?,
2352 draw-caption-attlist =
2353 (attribute draw:caption-point-x { coordinate },
2354 attribute draw:caption-point-y { coordinate })?
2355 & attribute draw:corner-radius { nonNegativeLength }?
2357 element draw:measure {
2358 draw-measure-attlist,
2359 common-draw-shape-with-text-and-styles-attlist,
2360 common-draw-caption-id-attlist,
2363 office-event-listeners?,
2367 draw-measure-attlist =
2368 attribute svg:x1 { coordinate }
2369 & attribute svg:y1 { coordinate }
2370 & attribute svg:x2 { coordinate }
2371 & attribute svg:y2 { coordinate }
2373 element draw:control {
2374 draw-control-attlist,
2375 common-draw-position-attlist,
2376 common-draw-size-attlist,
2377 common-draw-shape-with-text-and-styles-attlist,
2378 common-draw-caption-id-attlist,
2383 draw-control-attlist = attribute draw:control { IDREF }
2384 draw-page-thumbnail =
2385 element draw:page-thumbnail {
2386 draw-page-thumbnail-attlist,
2387 common-draw-position-attlist,
2388 common-draw-size-attlist,
2389 presentation-shape-attlist,
2390 common-draw-shape-with-styles-attlist,
2391 common-draw-caption-id-attlist,
2395 draw-page-thumbnail-attlist =
2396 attribute draw:page-number { positiveInteger }?
2400 common-draw-z-index-attlist,
2401 common-draw-name-attlist,
2402 common-draw-id-attlist,
2403 common-draw-style-name-attlist,
2404 common-text-spreadsheet-shape-attlist,
2405 common-draw-caption-id-attlist,
2408 office-event-listeners?,
2412 draw-g-attlist = attribute svg:y { coordinate }?
2413 common-draw-name-attlist = attribute draw:name { \string }?
2414 common-draw-caption-id-attlist = attribute draw:caption-id { IDREF }?
2415 common-draw-position-attlist =
2416 attribute svg:x { coordinate }?,
2417 attribute svg:y { coordinate }?
2418 common-draw-size-attlist =
2419 attribute svg:width { length }?,
2420 attribute svg:height { length }?
2421 common-draw-transform-attlist = attribute draw:transform { \string }?
2422 common-draw-viewbox-attlist =
2423 attribute svg:viewBox {
2424 list { integer, integer, integer, integer }
2426 common-draw-style-name-attlist =
2427 (attribute draw:style-name { styleNameRef }?,
2428 attribute draw:class-names { styleNameRefs }?)
2429 | (attribute presentation:style-name { styleNameRef }?,
2430 attribute presentation:class-names { styleNameRefs }?)
2431 common-draw-text-style-name-attlist =
2432 attribute draw:text-style-name { styleNameRef }?
2433 common-draw-layer-name-attlist = attribute draw:layer { \string }?
2434 common-draw-id-attlist =
2436 attribute draw:id { NCName }?)?
2437 common-draw-z-index-attlist =
2438 attribute draw:z-index { nonNegativeInteger }?
2439 common-text-spreadsheet-shape-attlist =
2440 attribute table:end-cell-address { cellAddress }?
2441 & attribute table:end-x { coordinate }?
2442 & attribute table:end-y { coordinate }?
2443 & attribute table:table-background { boolean }?
2444 & common-text-anchor-attlist
2445 common-text-anchor-attlist =
2446 attribute text:anchor-type {
2447 "page" | "frame" | "paragraph" | "char" | "as-char"
2449 & attribute text:anchor-page-number { positiveInteger }?
2450 draw-text = (text-p | text-list)*
2451 common-draw-shape-with-styles-attlist =
2452 common-draw-z-index-attlist,
2453 common-draw-id-attlist,
2454 common-draw-layer-name-attlist,
2455 common-draw-style-name-attlist,
2456 common-draw-transform-attlist,
2457 common-draw-name-attlist,
2458 common-text-spreadsheet-shape-attlist
2459 common-draw-shape-with-text-and-styles-attlist =
2460 common-draw-shape-with-styles-attlist,
2461 common-draw-text-style-name-attlist
2463 element draw:glue-point { draw-glue-point-attlist, empty }
2464 draw-glue-point-attlist =
2465 attribute draw:id { nonNegativeInteger }
2466 & attribute svg:x { distance | percent }
2467 & attribute svg:y { distance | percent }
2468 & attribute draw:align {
2478 & attribute draw:escape-direction {
2487 svg-title = element svg:title { text }
2488 svg-desc = element svg:desc { text }
2490 element draw:frame {
2491 common-draw-shape-with-text-and-styles-attlist,
2492 common-draw-position-attlist,
2493 common-draw-rel-size-attlist,
2494 common-draw-caption-id-attlist,
2495 presentation-shape-attlist,
2502 | draw-floating-frame
2505 office-event-listeners?,
2510 (draw-contour-polygon | draw-contour-path)?
2512 common-draw-rel-size-attlist =
2513 common-draw-size-attlist,
2514 attribute style:rel-width { percent | "scale" | "scale-min" }?,
2515 attribute style:rel-height { percent | "scale" | "scale-min" }?
2516 draw-frame-attlist = attribute draw:copy-of { \string }?
2518 element draw:text-box { draw-text-box-attlist, text-content* }
2519 draw-text-box-attlist =
2520 attribute draw:chain-next-name { \string }?
2521 & attribute draw:corner-radius { nonNegativeLength }?
2522 & attribute fo:min-height { length | percent }?
2523 & attribute fo:min-width { length | percent }?
2524 & attribute fo:max-height { length | percent }?
2525 & attribute fo:max-width { length | percent }?
2527 attribute text:id { NCName }?)?
2529 element draw:image {
2531 (common-draw-data-attlist | office-binary-data),
2534 common-draw-data-attlist =
2535 attribute xlink:type { "simple" },
2536 attribute xlink:href { anyIRI },
2537 attribute xlink:show { "embed" }?,
2538 attribute xlink:actuate { "onLoad" }?
2539 office-binary-data = element office:binary-data { base64Binary }
2540 draw-image-attlist =
2541 attribute draw:filter-name { \string }?
2544 element draw:object {
2545 draw-object-attlist,
2546 (common-draw-data-attlist | office-document | math-math)
2549 element draw:object-ole {
2550 draw-object-ole-attlist,
2551 (common-draw-data-attlist | office-binary-data)
2553 draw-object-attlist =
2554 attribute draw:notify-on-update-of-ranges {
2555 cellRangeAddressList | \string
2558 draw-object-ole-attlist =
2559 attribute draw:class-id { \string }?
2562 element draw:applet {
2563 draw-applet-attlist, common-draw-data-attlist?, draw-param*
2565 draw-applet-attlist =
2566 attribute draw:code { \string }?
2567 & attribute draw:object { \string }?
2568 & attribute draw:archive { \string }?
2569 & attribute draw:may-script { boolean }?
2572 element draw:plugin {
2573 draw-plugin-attlist, common-draw-data-attlist, draw-param*
2575 draw-plugin-attlist =
2576 attribute draw:mime-type { \string }?
2578 draw-param = element draw:param { draw-param-attlist, empty }
2579 draw-param-attlist =
2580 attribute draw:name { \string }?
2581 & attribute draw:value { \string }?
2582 draw-floating-frame =
2583 element draw:floating-frame {
2584 draw-floating-frame-attlist, common-draw-data-attlist
2586 draw-floating-frame-attlist =
2587 attribute draw:frame-name { \string }?
2589 draw-contour-polygon =
2590 element draw:contour-polygon {
2591 common-contour-attlist,
2592 common-draw-size-attlist,
2593 common-draw-viewbox-attlist,
2594 common-draw-points-attlist,
2598 element draw:contour-path {
2599 common-contour-attlist,
2600 common-draw-size-attlist,
2601 common-draw-viewbox-attlist,
2602 common-draw-path-data-attlist,
2605 common-contour-attlist = attribute draw:recreate-on-edit { boolean }
2606 draw-a = element draw:a { draw-a-attlist, shape-instance }
2608 attribute xlink:type { "simple" }
2609 & attribute xlink:href { anyIRI }
2610 & attribute xlink:actuate { "onRequest" }?
2611 & attribute office:target-frame-name { targetFrameName }?
2612 & attribute xlink:show { "new" | "replace" }?
2613 & attribute office:name { \string }?
2614 & attribute office:title { \string }?
2615 & attribute office:server-map { boolean }?
2618 element draw:image-map {
2619 (draw-area-rectangle | draw-area-circle | draw-area-polygon)*
2621 draw-area-rectangle =
2622 element draw:area-rectangle {
2623 common-draw-area-attlist,
2624 attribute svg:x { coordinate },
2625 attribute svg:y { coordinate },
2626 attribute svg:width { length },
2627 attribute svg:height { length },
2630 office-event-listeners?
2633 element draw:area-circle {
2634 common-draw-area-attlist,
2635 attribute svg:cx { coordinate },
2636 attribute svg:cy { coordinate },
2637 attribute svg:r { length },
2640 office-event-listeners?
2643 element draw:area-polygon {
2644 common-draw-area-attlist,
2645 attribute svg:x { coordinate },
2646 attribute svg:y { coordinate },
2647 attribute svg:width { length },
2648 attribute svg:height { length },
2649 common-draw-viewbox-attlist,
2650 common-draw-points-attlist,
2653 office-event-listeners?
2655 common-draw-area-attlist =
2656 (attribute xlink:type { "simple" },
2657 attribute xlink:href { anyIRI },
2658 attribute office:target-frame-name { targetFrameName }?,
2659 attribute xlink:show { "new" | "replace" }?)?
2660 & attribute office:name { \string }?
2661 & attribute draw:nohref { "nohref" }?
2663 element dr3d:scene {
2665 common-draw-position-attlist,
2666 common-draw-size-attlist,
2667 common-draw-style-name-attlist,
2668 common-draw-z-index-attlist,
2669 common-draw-id-attlist,
2670 common-draw-layer-name-attlist,
2671 common-text-spreadsheet-shape-attlist,
2672 common-dr3d-transform-attlist,
2673 common-draw-caption-id-attlist,
2681 dr3d-scene | dr3d-extrude | dr3d-sphere | dr3d-rotate | dr3d-cube
2682 dr3d-scene-attlist =
2683 attribute dr3d:vrp { vector3D }?
2684 & attribute dr3d:vpn { vector3D }?
2685 & attribute dr3d:vup { vector3D }?
2686 & attribute dr3d:projection { "parallel" | "perspective" }?
2687 & attribute dr3d:distance { length }?
2688 & attribute dr3d:focal-length { length }?
2689 & attribute dr3d:shadow-slant { angle }?
2690 & attribute dr3d:shade-mode {
2691 "flat" | "phong" | "gouraud" | "draft"
2693 & attribute dr3d:ambient-color { color }?
2694 & attribute dr3d:lighting-mode { boolean }?
2695 common-dr3d-transform-attlist = attribute dr3d:transform { \string }?
2696 dr3d-light = element dr3d:light { dr3d-light-attlist, empty }
2697 dr3d-light-attlist =
2698 attribute dr3d:diffuse-color { color }?
2699 & attribute dr3d:direction { vector3D }
2700 & attribute dr3d:enabled { boolean }?
2701 & attribute dr3d:specular { boolean }?
2705 common-draw-z-index-attlist,
2706 common-draw-id-attlist,
2707 common-draw-layer-name-attlist,
2708 common-draw-style-name-attlist,
2709 common-dr3d-transform-attlist,
2713 attribute dr3d:min-edge { vector3D }?,
2714 attribute dr3d:max-edge { vector3D }?
2716 element dr3d:sphere {
2717 dr3d-sphere-attlist,
2718 common-draw-z-index-attlist,
2719 common-draw-id-attlist,
2720 common-draw-layer-name-attlist,
2721 common-draw-style-name-attlist,
2722 common-dr3d-transform-attlist,
2725 dr3d-sphere-attlist =
2726 attribute dr3d:center { vector3D }?
2727 & attribute dr3d:size { vector3D }?
2729 element dr3d:extrude {
2730 common-draw-path-data-attlist,
2731 common-draw-viewbox-attlist,
2732 common-draw-id-attlist,
2733 common-draw-z-index-attlist,
2734 common-draw-layer-name-attlist,
2735 common-draw-style-name-attlist,
2736 common-dr3d-transform-attlist,
2740 element dr3d:rotate {
2741 common-draw-viewbox-attlist,
2742 common-draw-path-data-attlist,
2743 common-draw-z-index-attlist,
2744 common-draw-id-attlist,
2745 common-draw-layer-name-attlist,
2746 common-draw-style-name-attlist,
2747 common-dr3d-transform-attlist,
2751 element draw:custom-shape {
2752 draw-custom-shape-attlist,
2753 common-draw-position-attlist,
2754 common-draw-size-attlist,
2755 common-draw-shape-with-text-and-styles-attlist,
2756 common-draw-caption-id-attlist,
2759 office-event-listeners?,
2762 draw-enhanced-geometry?
2764 draw-custom-shape-attlist =
2765 attribute draw:engine { namespacedToken }?
2766 & attribute draw:data { \string }?
2767 draw-enhanced-geometry =
2768 element draw:enhanced-geometry {
2769 draw-enhanced-geometry-attlist, draw-equation*, draw-handle*
2771 draw-enhanced-geometry-attlist =
2772 attribute draw:type { custom-shape-type }?
2773 & attribute svg:viewBox {
2774 list { integer, integer, integer, integer }
2776 & attribute draw:mirror-vertical { boolean }?
2777 & attribute draw:mirror-horizontal { boolean }?
2778 & attribute draw:text-rotate-angle { angle }?
2779 & attribute draw:extrusion-allowed { boolean }?
2780 & attribute draw:text-path-allowed { boolean }?
2781 & attribute draw:concentric-gradient-fill-allowed { boolean }?
2782 & attribute draw:extrusion { boolean }?
2783 & attribute draw:extrusion-brightness { zeroToHundredPercent }?
2784 & attribute draw:extrusion-depth {
2785 list { length, double }
2787 & attribute draw:extrusion-diffusion { percent }?
2788 & attribute draw:extrusion-number-of-line-segments { integer }?
2789 & attribute draw:extrusion-light-face { boolean }?
2790 & attribute draw:extrusion-first-light-harsh { boolean }?
2791 & attribute draw:extrusion-second-light-harsh { boolean }?
2792 & attribute draw:extrusion-first-light-level { zeroToHundredPercent }?
2793 & attribute draw:extrusion-second-light-level {
2794 zeroToHundredPercent
2796 & attribute draw:extrusion-first-light-direction { vector3D }?
2797 & attribute draw:extrusion-second-light-direction { vector3D }?
2798 & attribute draw:extrusion-metal { boolean }?
2799 & attribute dr3d:shade-mode {
2800 "flat" | "phong" | "gouraud" | "draft"
2802 & attribute draw:extrusion-rotation-angle {
2803 list { angle, angle }
2805 & attribute draw:extrusion-rotation-center { vector3D }?
2806 & attribute draw:extrusion-shininess { zeroToHundredPercent }?
2807 & attribute draw:extrusion-skew {
2808 list { double, angle }
2810 & attribute draw:extrusion-specularity { zeroToHundredPercent }?
2811 & attribute dr3d:projection { "parallel" | "perspective" }?
2812 & attribute draw:extrusion-viewpoint { point3D }?
2813 & attribute draw:extrusion-origin {
2814 list { extrusionOrigin, extrusionOrigin }
2816 & attribute draw:extrusion-color { boolean }?
2817 & attribute draw:enhanced-path { \string }?
2818 & attribute draw:path-stretchpoint-x { double }?
2819 & attribute draw:path-stretchpoint-y { double }?
2820 & attribute draw:text-areas { \string }?
2821 & attribute draw:glue-points { \string }?
2822 & attribute draw:glue-point-type {
2823 "none" | "segments" | "rectangle"
2825 & attribute draw:glue-point-leaving-directions { \string }?
2826 & attribute draw:text-path { boolean }?
2827 & attribute draw:text-path-mode { "normal" | "path" | "shape" }?
2828 & attribute draw:text-path-scale { "path" | "shape" }?
2829 & attribute draw:text-path-same-letter-heights { boolean }?
2830 & attribute draw:modifiers { \string }?
2831 custom-shape-type = "non-primitive" | \string
2835 "\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc))([ ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc))){2}[ ]*\)"
2838 xsd:double { minInclusive = "-0.5" maxInclusive = "0.5" }
2839 draw-equation = element draw:equation { draw-equation-attlist, empty }
2840 draw-equation-attlist =
2841 attribute draw:name { \string }?
2842 & attribute draw:formula { \string }?
2843 draw-handle = element draw:handle { draw-handle-attlist, empty }
2844 draw-handle-attlist =
2845 attribute draw:handle-mirror-vertical { boolean }?
2846 & attribute draw:handle-mirror-horizontal { boolean }?
2847 & attribute draw:handle-switched { boolean }?
2848 & attribute draw:handle-position { \string }
2849 & attribute draw:handle-range-x-minimum { \string }?
2850 & attribute draw:handle-range-x-maximum { \string }?
2851 & attribute draw:handle-range-y-minimum { \string }?
2852 & attribute draw:handle-range-y-maximum { \string }?
2853 & attribute draw:handle-polar { \string }?
2854 & attribute draw:handle-radius-range-minimum { \string }?
2855 & attribute draw:handle-radius-range-maximum { \string }?
2856 presentation-shape-attlist =
2857 attribute presentation:class { presentation-classes }?
2858 & attribute presentation:placeholder { boolean }?
2859 & attribute presentation:user-transformed { boolean }?
2860 presentation-classes =
2877 presentation-animations =
2878 element presentation:animations {
2879 (presentation-animation-elements | presentation-animation-group)*
2881 presentation-animation-elements =
2882 presentation-show-shape
2883 | presentation-show-text
2884 | presentation-hide-shape
2885 | presentation-hide-text
2888 presentation-sound =
2889 element presentation:sound {
2890 presentation-sound-attlist,
2891 attribute xlink:type { "simple" },
2892 attribute xlink:href { anyIRI },
2893 attribute xlink:actuate { "onRequest" }?,
2894 attribute xlink:show { "new" | "replace" }?,
2897 presentation-sound-attlist =
2898 attribute presentation:play-full { boolean }?
2900 presentation-show-shape =
2901 element presentation:show-shape {
2902 common-presentation-effect-attlist, presentation-sound?
2904 common-presentation-effect-attlist =
2905 attribute draw:shape-id { IDREF }
2906 & attribute presentation:effect { presentationEffects }?
2907 & attribute presentation:direction { presentationEffectDirections }?
2908 & attribute presentation:speed { presentationSpeeds }?
2909 & attribute presentation:delay { duration }?
2910 & attribute presentation:start-scale { percent }?
2911 & attribute presentation:path-id { \string }?
2912 presentationEffects =
2930 presentationEffectDirections =
2938 | "from-upper-right"
2940 | "from-lower-right"
2950 | "spiral-inward-left"
2951 | "spiral-inward-right"
2952 | "spiral-outward-left"
2953 | "spiral-outward-right"
2958 | "counter-clockwise"
2959 presentationSpeeds = "slow" | "medium" | "fast"
2960 presentation-show-text =
2961 element presentation:show-text {
2962 common-presentation-effect-attlist, presentation-sound?
2964 presentation-hide-shape =
2965 element presentation:hide-shape {
2966 common-presentation-effect-attlist, presentation-sound?
2968 presentation-hide-text =
2969 element presentation:hide-text {
2970 common-presentation-effect-attlist, presentation-sound?
2973 element presentation:dim {
2974 presentation-dim-attlist, presentation-sound?
2976 presentation-dim-attlist =
2977 attribute draw:shape-id { IDREF }
2978 & attribute draw:color { color }
2980 element presentation:play { presentation-play-attlist, empty }
2981 presentation-play-attlist =
2982 attribute draw:shape-id { IDREF },
2983 attribute presentation:speed { presentationSpeeds }?
2984 presentation-animation-group =
2985 element presentation:animation-group {
2986 presentation-animation-elements*
2988 common-anim-attlist =
2989 attribute presentation:node-type {
2996 | "interactive-sequence"
2998 & attribute presentation:preset-id { \string }?
2999 & attribute presentation:preset-sub-type { \string }?
3000 & attribute presentation:preset-class {
3009 & attribute presentation:master-element { IDREF }?
3010 & attribute presentation:group-id { \string }?
3012 attribute anim:id { NCName }?)?
3013 presentation-event-listener =
3014 element presentation:event-listener {
3015 presentation-event-listener-attlist, presentation-sound?
3017 presentation-event-listener-attlist =
3018 attribute script:event-name { \string }
3019 & attribute presentation:action {
3032 | "last-visited-page"
3034 & attribute presentation:effect { presentationEffects }?
3035 & attribute presentation:direction { presentationEffectDirections }?
3036 & attribute presentation:speed { presentationSpeeds }?
3037 & attribute presentation:start-scale { percent }?
3038 & (attribute xlink:type { "simple" },
3039 attribute xlink:href { anyIRI },
3040 attribute xlink:show { "embed" }?,
3041 attribute xlink:actuate { "onRequest" }?)?
3042 & attribute presentation:verb { nonNegativeInteger }?
3043 presentation-decls = presentation-decl*
3045 element presentation:header-decl {
3046 presentation-header-decl-attlist, text
3048 | element presentation:footer-decl {
3049 presentation-footer-decl-attlist, text
3051 | element presentation:date-time-decl {
3052 presentation-date-time-decl-attlist, text
3054 presentation-header-decl-attlist =
3055 attribute presentation:name { \string }
3056 presentation-footer-decl-attlist =
3057 attribute presentation:name { \string }
3058 presentation-date-time-decl-attlist =
3059 attribute presentation:name { \string }
3060 & attribute presentation:source { "fixed" | "current-date" }
3061 & attribute style:data-style-name { styleNameRef }?
3062 presentation-settings =
3063 element presentation:settings {
3064 presentation-settings-attlist, presentation-show*
3066 presentation-settings-attlist =
3067 attribute presentation:start-page { \string }?
3068 & attribute presentation:show { \string }?
3069 & attribute presentation:full-screen { boolean }?
3070 & attribute presentation:endless { boolean }?
3071 & attribute presentation:pause { duration }?
3072 & attribute presentation:show-logo { boolean }?
3073 & attribute presentation:force-manual { boolean }?
3074 & attribute presentation:mouse-visible { boolean }?
3075 & attribute presentation:mouse-as-pen { boolean }?
3076 & attribute presentation:start-with-navigator { boolean }?
3077 & attribute presentation:animations { "enabled" | "disabled" }?
3078 & attribute presentation:transition-on-click {
3079 "enabled" | "disabled"
3081 & attribute presentation:stay-on-top { boolean }?
3082 & attribute presentation:show-end-of-presentation-slide { boolean }?
3084 element presentation:show { presentation-show-attlist, empty }
3085 presentation-show-attlist =
3086 attribute presentation:name { \string }
3087 & attribute presentation:pages { \string }
3089 element chart:chart {
3090 chart-chart-attlist,
3098 chart-chart-attlist =
3099 attribute chart:class { namespacedToken }
3100 & common-draw-size-attlist
3101 & attribute chart:column-mapping { \string }?
3102 & attribute chart:row-mapping { \string }?
3103 & attribute chart:style-name { styleNameRef }?
3104 & (attribute xlink:type { "simple" },
3105 attribute xlink:href { anyIRI })?
3107 chart-title = element chart:title { chart-title-attlist, text-p? }
3108 chart-title-attlist =
3109 attribute table:cell-range { cellRangeAddressList }?
3110 & common-draw-position-attlist
3111 & attribute chart:style-name { styleNameRef }?
3112 chart-subtitle = element chart:subtitle { chart-title-attlist, text-p? }
3113 chart-footer = element chart:footer { chart-title-attlist, text-p? }
3114 chart-legend = element chart:legend { chart-legend-attlist, text-p? }
3115 chart-legend-attlist =
3116 ((attribute chart:legend-position {
3117 "start" | "end" | "top" | "bottom"
3119 attribute chart:legend-align { "start" | "center" | "end" }?)
3120 | attribute chart:legend-position {
3121 "top-start" | "bottom-start" | "top-end" | "bottom-end"
3124 & common-draw-position-attlist
3125 & (attribute style:legend-expansion { "wide" | "high" | "balanced" }
3126 | (attribute style:legend-expansion { "custom" },
3127 attribute style:legend-expansion-aspect-ratio { double })
3129 & attribute chart:style-name { styleNameRef }?
3131 element chart:plot-area {
3132 chart-plot-area-attlist,
3136 chart-stock-gain-marker?,
3137 chart-stock-loss-marker?,
3138 chart-stock-range-line?,
3142 chart-plot-area-attlist =
3143 common-draw-position-attlist
3144 & common-draw-size-attlist
3145 & attribute chart:style-name { styleNameRef }?
3146 & attribute table:cell-range-address { cellRangeAddressList }?
3147 & attribute chart:data-source-has-labels {
3148 "none" | "row" | "column" | "both"
3150 & dr3d-scene-attlist
3151 & common-dr3d-transform-attlist
3153 chart-wall = element chart:wall { chart-wall-attlist, empty }
3154 chart-wall-attlist =
3155 attribute svg:width { length }?
3156 & attribute chart:style-name { styleNameRef }?
3157 chart-floor = element chart:floor { chart-floor-attlist, empty }
3158 chart-floor-attlist =
3159 attribute svg:width { length }?
3160 & attribute chart:style-name { styleNameRef }?
3162 element chart:axis {
3163 chart-axis-attlist, chart-title?, chart-categories?, chart-grid*
3165 chart-axis-attlist =
3166 attribute chart:dimension { chart-dimension }
3167 & attribute chart:name { \string }?
3168 & attribute chart:style-name { styleNameRef }?
3169 chart-dimension = "x" | "y" | "z"
3171 element chart:categories {
3172 attribute table:cell-range-address { cellRangeAddressList }?
3174 chart-grid = element chart:grid { chart-grid-attlist }
3175 chart-grid-attlist =
3176 attribute chart:class { "major" | "minor" }?
3177 & attribute chart:style-name { styleNameRef }?
3179 element chart:series {
3180 chart-series-attlist,
3183 chart-regression-curve*,
3184 chart-error-indicator*,
3188 chart-series-attlist =
3189 attribute chart:values-cell-range-address { cellRangeAddressList }?
3190 & attribute chart:label-cell-address { cellRangeAddressList }?
3191 & attribute chart:class { namespacedToken }?
3192 & attribute chart:attached-axis { \string }?
3193 & attribute chart:style-name { styleNameRef }?
3196 element chart:domain {
3197 attribute table:cell-range-address { cellRangeAddressList }?
3200 element chart:data-point {
3201 chart-data-point-attlist, chart-data-label?
3203 chart-data-point-attlist =
3204 attribute chart:repeated { positiveInteger }?
3205 & attribute chart:style-name { styleNameRef }?
3208 element chart:data-label { chart-data-label-attlist, text-p? }
3209 chart-data-label-attlist =
3210 common-draw-position-attlist
3211 & attribute chart:style-name { styleNameRef }?
3213 element chart:mean-value { chart-mean-value-attlist, empty }
3214 chart-mean-value-attlist = attribute chart:style-name { styleNameRef }?
3215 chart-error-indicator =
3216 element chart:error-indicator { chart-error-indicator-attlist, empty }
3217 chart-error-indicator-attlist =
3218 attribute chart:style-name { styleNameRef }?
3219 & attribute chart:dimension { chart-dimension }
3220 chart-regression-curve =
3221 element chart:regression-curve {
3222 chart-regression-curve-attlist, chart-equation?
3224 chart-regression-curve-attlist =
3225 attribute chart:style-name { styleNameRef }?
3227 element chart:equation { chart-equation-attlist, text-p? }
3228 chart-equation-attlist =
3229 attribute chart:automatic-content { boolean }?
3230 & attribute chart:display-r-square { boolean }?
3231 & attribute chart:display-equation { boolean }?
3232 & common-draw-position-attlist
3233 & attribute chart:style-name { styleNameRef }?
3234 chart-stock-gain-marker =
3235 element chart:stock-gain-marker { common-stock-marker-attlist }
3236 chart-stock-loss-marker =
3237 element chart:stock-loss-marker { common-stock-marker-attlist }
3238 chart-stock-range-line =
3239 element chart:stock-range-line { common-stock-marker-attlist }
3240 common-stock-marker-attlist =
3241 attribute chart:style-name { styleNameRef }?
3243 element office:database {
3248 db-table-presentations?,
3249 db-schema-definition?
3252 element db:data-source {
3253 db-data-source-attlist,
3255 db-driver-settings?,
3256 db-application-connection-settings?
3258 db-data-source-attlist = empty
3259 db-connection-data =
3260 element db:connection-data {
3261 db-connection-data-attlist,
3262 (db-database-description | db-connection-resource),
3265 db-connection-data-attlist = empty
3266 db-database-description =
3267 element db:database-description {
3268 db-database-description-attlist,
3269 (db-file-based-database | db-server-database)
3271 db-database-description-attlist = empty
3272 db-file-based-database =
3273 element db:file-based-database { db-file-based-database-attlist }
3274 db-file-based-database-attlist =
3275 attribute xlink:type { "simple" }
3276 & attribute xlink:href { anyIRI }
3277 & attribute db:media-type { \string }
3278 & attribute db:extension { \string }?
3279 db-server-database =
3280 element db:server-database { db-server-database-attlist, empty }
3281 db-server-database-attlist =
3282 attribute db:type { namespacedToken }
3283 & (db-host-and-port | db-local-socket-name)
3284 & attribute db:database-name { \string }?
3286 attribute db:hostname { \string },
3287 attribute db:port { positiveInteger }?
3288 db-local-socket-name = attribute db:local-socket { \string }?
3289 db-connection-resource =
3290 element db:connection-resource {
3291 db-connection-resource-attlist, empty
3293 db-connection-resource-attlist =
3294 attribute xlink:type { "simple" },
3295 attribute xlink:href { anyIRI },
3296 attribute xlink:show { "none" }?,
3297 attribute xlink:actuate { "onRequest" }?
3298 db-login = element db:login { db-login-attlist, empty }
3300 (attribute db:user-name { \string }
3301 | attribute db:use-system-user { boolean })?
3302 & attribute db:is-password-required { boolean }?
3303 & attribute db:login-timeout { positiveInteger }?
3304 db-driver-settings =
3305 element db:driver-settings {
3306 db-driver-settings-attlist,
3312 db-driver-settings-attlist =
3314 & attribute db:system-driver-settings { \string }?
3315 & attribute db:base-dn { \string }?
3316 & db-is-first-row-header-line
3317 & attribute db:parameter-name-substitution { boolean }?
3318 db-show-deleted = attribute db:show-deleted { boolean }?
3319 db-is-first-row-header-line =
3320 attribute db:is-first-row-header-line { boolean }?
3322 element db:auto-increment { db-auto-increment-attlist, empty }
3323 db-auto-increment-attlist =
3324 attribute db:additional-column-statement { \string }?
3325 & attribute db:row-retrieving-statement { \string }?
3326 db-delimiter = element db:delimiter { db-delimiter-attlist, empty }
3327 db-delimiter-attlist =
3328 attribute db:field { \string }?
3329 & attribute db:string { \string }?
3330 & attribute db:decimal { \string }?
3331 & attribute db:thousand { \string }?
3333 element db:character-set { db-character-set-attlist, empty }
3334 db-character-set-attlist = attribute db:encoding { textEncoding }?
3335 db-table-settings = element db:table-settings { db-table-setting* }
3337 element db:table-setting {
3338 db-table-setting-attlist, db-delimiter?, db-character-set?, empty
3340 db-table-setting-attlist = db-is-first-row-header-line, db-show-deleted
3341 db-application-connection-settings =
3342 element db:application-connection-settings {
3343 db-application-connection-settings-attlist,
3345 db-table-type-filter?,
3346 db-data-source-settings?
3348 db-application-connection-settings-attlist =
3349 attribute db:is-table-name-length-limited { boolean }?
3350 & attribute db:enable-sql92-check { boolean }?
3351 & attribute db:append-table-alias-name { boolean }?
3352 & attribute db:ignore-driver-privileges { boolean }?
3353 & attribute db:boolean-comparison-mode {
3357 | "equal-use-only-zero"
3359 & attribute db:use-catalog { boolean }?
3360 & attribute db:max-row-count { integer }?
3361 & attribute db:suppress-version-columns { boolean }?
3363 element db:table-filter {
3364 db-table-filter-attlist,
3365 db-table-include-filter?,
3366 db-table-exclude-filter?
3368 db-table-filter-attlist = empty
3369 db-table-include-filter =
3370 element db:table-include-filter {
3371 db-table-include-filter-attlist, db-table-filter-pattern+
3373 db-table-include-filter-attlist = empty
3374 db-table-exclude-filter =
3375 element db:table-exclude-filter {
3376 db-table-exclude-filter-attlist, db-table-filter-pattern+
3378 db-table-exclude-filter-attlist = empty
3379 db-table-filter-pattern =
3380 element db:table-filter-pattern {
3381 db-table-filter-pattern-attlist, \string
3383 db-table-filter-pattern-attlist = empty
3384 db-table-type-filter =
3385 element db:table-type-filter {
3386 db-table-type-filter-attlist, db-table-type*
3388 db-table-type-filter-attlist = empty
3389 db-table-type = element db:table-type { db-table-type-attlist, \string }
3390 db-table-type-attlist = empty
3391 db-data-source-settings =
3392 element db:data-source-settings {
3393 db-data-source-settings-attlist, db-data-source-setting+
3395 db-data-source-settings-attlist = empty
3396 db-data-source-setting =
3397 element db:data-source-setting {
3398 db-data-source-setting-attlist, db-data-source-setting-value+
3400 db-data-source-setting-attlist =
3401 attribute db:data-source-setting-is-list { boolean }?
3402 & attribute db:data-source-setting-name { \string }
3403 & attribute db:data-source-setting-type {
3404 db-data-source-setting-types
3406 db-data-source-setting-types =
3407 "boolean" | "short" | "int" | "long" | "double" | "string"
3408 db-data-source-setting-value =
3409 element db:data-source-setting-value {
3410 db-data-source-setting-value-attlist, \string
3412 db-data-source-setting-value-attlist = empty
3415 db-forms-attlist, (db-component | db-component-collection)*
3417 db-forms-attlist = empty
3419 element db:reports {
3420 db-reports-attlist, (db-component | db-component-collection)*
3422 db-reports-attlist = empty
3423 db-component-collection =
3424 element db:component-collection {
3425 db-component-collection-attlist,
3426 common-db-object-name,
3427 common-db-object-title,
3428 common-db-object-description,
3429 (db-component | db-component-collection)*
3431 db-component-collection-attlist = empty
3433 element db:component {
3434 db-component-attlist,
3435 common-db-object-name,
3436 common-db-object-title,
3437 common-db-object-description,
3438 (office-document | math-math)?
3440 db-component-attlist =
3441 (attribute xlink:type { "simple" },
3442 attribute xlink:href { anyIRI },
3443 attribute xlink:show { "none" }?,
3444 attribute xlink:actuate { "onRequest" }?)?
3445 & attribute db:as-template { boolean }?
3447 element db:queries {
3448 db-queries-attlist, (db-query | db-query-collection)*
3450 db-queries-attlist = empty
3451 db-query-collection =
3452 element db:query-collection {
3453 db-query-collection-attlist,
3454 common-db-object-name,
3455 common-db-object-title,
3456 common-db-object-description,
3457 (db-query | db-query-collection)*
3459 db-query-collection-attlist = empty
3463 common-db-object-name,
3464 common-db-object-title,
3465 common-db-object-description,
3466 common-db-table-style-name,
3467 db-order-statement?,
3468 db-filter-statement?,
3473 attribute db:command { \string }
3474 & attribute db:escape-processing { boolean }?
3475 db-order-statement =
3476 element db:order-statement { db-command, db-apply-command, empty }
3477 db-filter-statement =
3478 element db:filter-statement { db-command, db-apply-command, empty }
3480 element db:update-table { common-db-table-name-attlist }
3481 db-table-presentations =
3482 element db:table-representations {
3483 db-table-presentations-attlist, db-table-presentation*
3485 db-table-presentations-attlist = empty
3486 db-table-presentation =
3487 element db:table-representation {
3488 db-table-presentation-attlist,
3489 common-db-table-name-attlist,
3490 common-db-object-title,
3491 common-db-object-description,
3492 common-db-table-style-name,
3493 db-order-statement?,
3494 db-filter-statement?,
3497 db-table-presentation-attlist = empty
3498 db-columns = element db:columns { db-columns-attlist, db-column+ }
3499 db-columns-attlist = empty
3503 common-db-object-name,
3504 common-db-object-title,
3505 common-db-object-description,
3506 common-db-default-value
3509 attribute db:visible { boolean }?
3510 & attribute db:style-name { styleNameRef }?
3511 & attribute db:default-cell-style-name { styleNameRef }?
3512 db-command = attribute db:command { \string }
3513 db-apply-command = attribute db:apply-command { boolean }?
3514 common-db-table-name-attlist =
3515 attribute db:name { \string }
3516 & attribute db:catalog-name { \string }?
3517 & attribute db:schema-name { \string }?
3518 common-db-object-name = attribute db:name { \string }
3519 common-db-object-title = attribute db:title { \string }?
3520 common-db-object-description = attribute db:description { \string }?
3521 common-db-table-style-name =
3522 attribute db:style-name { styleNameRef }?
3523 & attribute db:default-row-style-name { styleNameRef }?
3524 common-db-default-value = common-value-and-type-attlist?
3525 db-schema-definition =
3526 element db:schema-definition {
3527 db-schema-definition-attlist, db-table-definitions
3529 db-schema-definition-attlist = empty
3530 db-table-definitions =
3531 element db:table-definitions {
3532 db-table-definitions-attlist, db-table-definition*
3534 db-table-definitions-attlist = empty
3535 db-table-definition =
3536 element db:table-definition {
3537 common-db-table-name-attlist,
3538 db-table-definition-attlist,
3539 db-column-definitions,
3543 db-table-definition-attlist = attribute db:type { \string }?
3544 db-column-definitions =
3545 element db:column-definitions {
3546 db-column-definitions-attlist, db-column-definition+
3548 db-column-definitions-attlist = empty
3549 db-column-definition =
3550 element db:column-definition {
3551 db-column-definition-attlist, common-db-default-value
3553 db-column-definition-attlist =
3554 attribute db:name { \string }
3555 & attribute db:data-type { db-data-types }?
3556 & attribute db:type-name { \string }?
3557 & attribute db:precision { positiveInteger }?
3558 & attribute db:scale { positiveInteger }?
3559 & attribute db:is-nullable { "no-nulls" | "nullable" }?
3560 & attribute db:is-empty-allowed { boolean }?
3561 & attribute db:is-autoincrement { boolean }?
3592 db-keys = element db:keys { db-keys-attlist, db-key+ }
3593 db-keys-attlist = empty
3594 db-key = element db:key { db-key-attlist, db-key-columns+ }
3596 attribute db:name { \string }?
3597 & attribute db:type { "primary" | "unique" | "foreign" }
3598 & attribute db:referenced-table-name { \string }?
3599 & attribute db:update-rule {
3600 "cascade" | "restrict" | "set-null" | "no-action" | "set-default"
3602 & attribute db:delete-rule {
3603 "cascade" | "restrict" | "set-null" | "no-action" | "set-default"
3606 element db:key-columns { db-key-columns-attlist, db-key-column+ }
3607 db-key-columns-attlist = empty
3608 db-key-column = element db:key-column { db-key-column-attlist, empty }
3609 db-key-column-attlist =
3610 attribute db:name { \string }?
3611 & attribute db:related-column-name { \string }?
3612 db-indices = element db:indices { db-indices-attlist, db-index+ }
3613 db-indices-attlist = empty
3614 db-index = element db:index { db-index-attlist, db-index-columns+ }
3616 attribute db:name { \string }
3617 & attribute db:catalog-name { \string }?
3618 & attribute db:is-unique { boolean }?
3619 & attribute db:is-clustered { boolean }?
3620 db-index-columns = element db:index-columns { db-index-column+ }
3622 element db:index-column { db-index-column-attlist, empty }
3623 db-index-column-attlist =
3624 attribute db:name { \string }
3625 & attribute db:is-ascending { boolean }?
3627 element office:forms {
3628 office-forms-attlist, (form-form | xforms-model)*
3630 office-forms-attlist =
3631 attribute form:automatic-focus { boolean }?
3632 & attribute form:apply-design-mode { boolean }?
3635 common-form-control-attlist,
3638 office-event-listeners?,
3639 (controls | form-form)*,
3640 form-connection-resource?
3643 (attribute xlink:type { "simple" },
3644 attribute xlink:href { anyIRI },
3645 attribute xlink:actuate { "onRequest" }?)?
3646 & attribute office:target-frame { targetFrameName }?
3647 & attribute form:method { "get" | "post" | \string }?
3648 & attribute form:enctype { \string }?
3649 & attribute form:allow-deletes { boolean }?
3650 & attribute form:allow-inserts { boolean }?
3651 & attribute form:allow-updates { boolean }?
3652 & attribute form:apply-filter { boolean }?
3653 & attribute form:command-type { "table" | "query" | "command" }?
3654 & attribute form:command { \string }?
3655 & attribute form:datasource { anyIRI | \string }?
3656 & attribute form:master-fields { \string }?
3657 & attribute form:detail-fields { \string }?
3658 & attribute form:escape-processing { boolean }?
3659 & attribute form:filter { \string }?
3660 & attribute form:ignore-result { boolean }?
3661 & attribute form:navigation-mode { navigation }?
3662 & attribute form:order { \string }?
3663 & attribute form:tab-cycle { tab-cycles }?
3664 navigation = "none" | "current" | "parent"
3665 tab-cycles = "records" | "current" | "page"
3666 form-connection-resource =
3667 element form:connection-resource {
3668 attribute xlink:href { anyIRI },
3671 xforms-model = element xforms:model { anyAttListOrElements }
3673 element form:text { form-text-attlist, common-form-control-content }
3674 | element form:textarea {
3675 form-textarea-attlist, common-form-control-content, text-p*
3677 | element form:formatted-text {
3678 form-formatted-text-attlist, common-form-control-content
3680 | element form:number {
3681 form-number-attlist,
3682 common-numeric-control-attlist,
3683 common-form-control-content,
3687 common-delay-for-repeat
3689 | element form:date {
3691 common-numeric-control-attlist,
3692 common-form-control-content,
3696 common-delay-for-repeat
3698 | element form:time {
3700 common-numeric-control-attlist,
3701 common-form-control-content,
3705 common-delay-for-repeat
3707 | element form:combobox {
3708 form-combobox-attlist, common-form-control-content, form-item*
3710 | element form:listbox {
3711 form-listbox-attlist, common-form-control-content, form-option*
3713 | element form:checkbox {
3714 form-checkbox-attlist, common-form-control-content
3718 | element form:password {
3719 form-password-attlist, common-form-control-content
3721 | element form:file { form-file-attlist, common-form-control-content }
3722 | element form:fixed-text {
3723 form-fixed-text-attlist, common-form-control-content
3725 | element form:button {
3726 form-button-attlist, common-form-control-content
3728 | element form:image {
3729 form-image-attlist, common-form-control-content
3731 | element form:radio {
3732 form-radio-attlist, common-form-control-content
3734 | element form:frame {
3735 form-frame-attlist, common-form-control-content
3737 | element form:image-frame {
3738 form-image-frame-attlist, common-form-control-content
3740 | element form:hidden {
3741 form-hidden-attlist, common-form-control-content
3743 | element form:grid {
3744 form-grid-attlist, common-form-control-content, form-column*
3746 | element form:value-range {
3747 form-value-range-attlist, common-form-control-content
3749 | element form:generic-control {
3750 form-generic-control-attlist, common-form-control-content
3753 form-control-attlist,
3754 common-current-value-attlist,
3755 common-disabled-attlist,
3756 common-maxlength-attlist,
3757 common-printable-attlist,
3758 common-readonly-attlist,
3760 common-title-attlist,
3761 common-value-attlist,
3762 common-convert-empty-attlist,
3763 common-data-field-attlist,
3765 form-control-attlist =
3766 common-form-control-attlist,
3767 common-control-id-attlist,
3769 common-form-control-content = form-properties?, office-event-listeners?
3770 form-textarea-attlist =
3771 form-control-attlist,
3772 common-current-value-attlist,
3773 common-disabled-attlist,
3774 common-maxlength-attlist,
3775 common-printable-attlist,
3776 common-readonly-attlist,
3778 common-title-attlist,
3779 common-value-attlist,
3780 common-convert-empty-attlist,
3781 common-data-field-attlist,
3783 form-password-attlist =
3784 form-control-attlist
3785 & common-disabled-attlist
3786 & common-maxlength-attlist
3787 & common-printable-attlist
3788 & common-tab-attlist
3789 & common-title-attlist
3790 & common-value-attlist
3791 & common-convert-empty-attlist
3792 & common-linked-cell
3793 & attribute form:echo-char { character }?
3795 form-control-attlist,
3796 common-current-value-attlist,
3797 common-disabled-attlist,
3798 common-maxlength-attlist,
3799 common-printable-attlist,
3800 common-readonly-attlist,
3802 common-title-attlist,
3803 common-value-attlist,
3805 form-formatted-text-attlist =
3806 form-control-attlist
3807 & common-current-value-attlist
3808 & common-disabled-attlist
3809 & common-maxlength-attlist
3810 & common-printable-attlist
3811 & common-readonly-attlist
3812 & common-tab-attlist
3813 & common-title-attlist
3814 & common-value-attlist
3815 & common-convert-empty-attlist
3816 & common-data-field-attlist
3817 & common-linked-cell
3818 & common-spin-button
3820 & common-delay-for-repeat
3821 & attribute form:max-value { \string }?
3822 & attribute form:min-value { \string }?
3823 & attribute form:validation { boolean }?
3824 common-numeric-control-attlist =
3825 form-control-attlist,
3826 common-disabled-attlist,
3827 common-maxlength-attlist,
3828 common-printable-attlist,
3829 common-readonly-attlist,
3831 common-title-attlist,
3832 common-convert-empty-attlist,
3833 common-data-field-attlist
3834 form-number-attlist =
3835 attribute form:value { double }?
3836 & attribute form:current-value { double }?
3837 & attribute form:min-value { double }?
3838 & attribute form:max-value { double }?
3840 attribute form:value { date }?
3841 & attribute form:current-value { date }?
3842 & attribute form:min-value { date }?
3843 & attribute form:max-value { date }?
3845 attribute form:value { time }?
3846 & attribute form:current-value { time }?
3847 & attribute form:min-value { time }?
3848 & attribute form:max-value { time }?
3849 form-fixed-text-attlist =
3850 form-control-attlist
3852 & common-disabled-attlist
3854 & common-printable-attlist
3855 & common-title-attlist
3856 & attribute form:multi-line { boolean }?
3857 form-combobox-attlist =
3858 form-control-attlist
3859 & common-current-value-attlist
3860 & common-disabled-attlist
3862 & common-maxlength-attlist
3863 & common-printable-attlist
3864 & common-readonly-attlist
3866 & common-tab-attlist
3867 & common-title-attlist
3868 & common-value-attlist
3869 & common-convert-empty-attlist
3870 & common-data-field-attlist
3873 & common-linked-cell
3874 & common-source-cell-range
3875 & attribute form:auto-complete { boolean }?
3876 form-item = element form:item { form-item-attlist, text }
3877 form-item-attlist = label
3878 form-listbox-attlist =
3879 form-control-attlist
3880 & common-disabled-attlist
3882 & common-printable-attlist
3884 & common-tab-attlist
3885 & common-title-attlist
3887 & common-data-field-attlist
3890 & common-linked-cell
3892 & common-source-cell-range
3893 & attribute form:multiple { boolean }?
3894 & attribute form:xforms-list-source { \string }?
3896 attribute form:list-linkage-type {
3897 "selection" | "selection-indices"
3899 form-option = element form:option { form-option-attlist, text }
3900 form-option-attlist =
3901 current-selected, selected, label, common-value-attlist
3902 form-button-attlist =
3903 form-control-attlist
3905 & common-disabled-attlist
3908 & common-printable-attlist
3909 & common-tab-attlist
3912 & common-title-attlist
3913 & common-value-attlist
3914 & common-form-relative-image-position-attlist
3916 & common-delay-for-repeat
3917 & attribute form:default-button { boolean }?
3918 & attribute form:toggle { boolean }?
3919 & attribute form:focus-on-click { boolean }?
3920 & attribute form:xforms-submission { \string }?
3921 form-image-attlist =
3922 form-control-attlist,
3924 common-disabled-attlist,
3926 common-printable-attlist,
3930 common-title-attlist,
3931 common-value-attlist
3932 form-checkbox-attlist =
3933 form-control-attlist
3934 & common-disabled-attlist
3936 & common-printable-attlist
3937 & common-tab-attlist
3938 & common-title-attlist
3939 & common-value-attlist
3940 & common-data-field-attlist
3941 & common-form-visual-effect-attlist
3942 & common-form-relative-image-position-attlist
3943 & common-linked-cell
3944 & attribute form:current-state { states }?
3945 & attribute form:is-tristate { boolean }?
3946 & attribute form:state { states }?
3947 states = "unchecked" | "checked" | "unknown"
3948 form-radio-attlist =
3949 form-control-attlist,
3951 common-disabled-attlist,
3953 common-printable-attlist,
3956 common-title-attlist,
3957 common-value-attlist,
3958 common-data-field-attlist,
3959 common-form-visual-effect-attlist,
3960 common-form-relative-image-position-attlist,
3962 form-frame-attlist =
3963 form-control-attlist,
3964 common-disabled-attlist,
3967 common-printable-attlist,
3968 common-title-attlist
3969 form-image-frame-attlist =
3970 form-control-attlist,
3971 common-disabled-attlist,
3973 common-printable-attlist,
3974 common-readonly-attlist,
3975 common-title-attlist,
3976 common-data-field-attlist
3977 form-hidden-attlist = form-control-attlist, common-value-attlist
3979 form-control-attlist,
3980 common-disabled-attlist,
3981 common-printable-attlist,
3983 common-title-attlist
3985 element form:column { form-column-attlist, column-controls+ }
3986 form-column-attlist =
3987 common-form-control-attlist, label, text-style-name
3988 text-style-name = attribute form:text-style-name { styleNameRef }?
3989 form-value-range-attlist =
3990 form-control-attlist
3991 & common-disabled-attlist
3992 & common-printable-attlist
3993 & common-tab-attlist
3994 & common-title-attlist
3995 & common-value-attlist
3996 & common-linked-cell
3998 & common-delay-for-repeat
3999 & attribute form:max-value { integer }?
4000 & attribute form:min-value { integer }?
4001 & attribute form:step-size { positiveInteger }?
4002 & attribute form:page-step-size { positiveInteger }?
4003 & attribute form:orientation { "horizontal" | "vertical" }?
4004 form-generic-control-attlist = form-control-attlist
4005 common-form-control-attlist =
4006 attribute form:name { \string }?
4007 & attribute form:control-implementation { namespacedToken }?
4008 xforms-bind-attlist = attribute xforms:bind { \string }?
4009 types = "submit" | "reset" | "push" | "url"
4010 button-type = attribute form:button-type { types }?
4011 common-control-id-attlist =
4013 attribute form:id { NCName }?
4014 current-selected = attribute form:current-selected { boolean }?
4015 common-value-attlist = attribute form:value { \string }?
4016 common-current-value-attlist = attribute form:current-value { \string }?
4017 common-disabled-attlist = attribute form:disabled { boolean }?
4018 dropdown = attribute form:dropdown { boolean }?
4019 for = attribute form:for { \string }?
4020 image-data = attribute form:image-data { anyIRI }?
4021 label = attribute form:label { \string }?
4022 common-maxlength-attlist =
4023 attribute form:max-length { nonNegativeInteger }?
4024 common-printable-attlist = attribute form:printable { boolean }?
4025 common-readonly-attlist = attribute form:readonly { boolean }?
4026 selected = attribute form:selected { boolean }?
4027 size = attribute form:size { nonNegativeInteger }?
4028 common-tab-attlist =
4029 attribute form:tab-index { nonNegativeInteger }?
4030 & attribute form:tab-stop { boolean }?
4031 target-frame = attribute office:target-frame { targetFrameName }?
4032 target-location = attribute xlink:href { anyIRI }?
4033 common-title-attlist = attribute form:title { \string }?
4034 common-form-visual-effect-attlist =
4035 attribute form:visual-effect { "flat" | "3d" }?
4036 common-form-relative-image-position-attlist =
4037 attribute form:image-position { "center" }?
4038 | (attribute form:image-position {
4039 "start" | "end" | "top" | "bottom"
4041 attribute form:image-align { "start" | "center" | "end" }?)
4042 bound-column = attribute form:bound-column { \string }?
4043 common-convert-empty-attlist =
4044 attribute form:convert-empty-to-null { boolean }?
4045 common-data-field-attlist = attribute form:data-field { \string }?
4046 list-source = attribute form:list-source { \string }?
4048 attribute form:list-source-type {
4052 | "sql-pass-through"
4056 common-linked-cell =
4057 attribute form:linked-cell { cellAddress | \string }?
4058 common-source-cell-range =
4059 attribute form:source-cell-range { cellRangeAddress | \string }?
4060 common-spin-button = attribute form:spin-button { boolean }?
4061 common-repeat = attribute form:repeat { boolean }?
4062 common-delay-for-repeat = attribute form:delay-for-repeat { duration }?
4063 form-properties = element form:properties { form-property+ }
4065 element form:property {
4066 form-property-name, form-property-value-and-type-attlist
4068 | element form:list-property {
4069 form-property-name, form-property-type-and-value-list
4071 form-property-name = attribute form:property-name { \string }
4072 form-property-value-and-type-attlist =
4073 common-value-and-type-attlist
4074 | attribute office:value-type { "void" }
4075 form-property-type-and-value-list =
4076 (attribute office:value-type { "float" },
4077 element form:list-value {
4078 attribute office:value { double }
4080 | (attribute office:value-type { "percentage" },
4081 element form:list-value {
4082 attribute office:value { double }
4084 | (attribute office:value-type { "currency" },
4085 element form:list-value {
4086 attribute office:value { double },
4087 attribute office:currency { \string }?
4089 | (attribute office:value-type { "date" },
4090 element form:list-value {
4091 attribute office:date-value { dateOrDateTime }
4093 | (attribute office:value-type { "time" },
4094 element form:list-value {
4095 attribute office:time-value { duration }
4097 | (attribute office:value-type { "boolean" },
4098 element form:list-value {
4099 attribute office:boolean-value { boolean }
4101 | (attribute office:value-type { "string" },
4102 element form:list-value {
4103 attribute office:string-value { \string }
4105 | attribute office:value-type { "void" }
4107 element office:annotation {
4108 office-annotation-attlist,
4109 draw-caption-attlist,
4110 common-draw-position-attlist,
4111 common-draw-size-attlist,
4112 common-draw-shape-with-text-and-styles-attlist,
4116 (text-p | text-list)*
4118 office-annotation-end =
4119 element office:annotation-end { office-annotation-end-attlist }
4120 office-annotation-attlist =
4121 attribute office:display { boolean }?
4122 & common-office-annotation-name-attlist?
4123 office-annotation-end-attlist = common-office-annotation-name-attlist
4124 common-office-annotation-name-attlist =
4125 attribute office:name { \string }
4126 meta-date-string = element meta:date-string { \string }
4127 common-num-format-prefix-suffix-attlist =
4128 attribute style:num-prefix { \string }?,
4129 attribute style:num-suffix { \string }?
4130 common-num-format-attlist =
4131 attribute style:num-format { "1" | "i" | "I" | \string | empty }
4132 | (attribute style:num-format { "a" | "A" },
4133 style-num-letter-sync-attlist)
4135 style-num-letter-sync-attlist =
4136 attribute style:num-letter-sync { boolean }?
4137 office-change-info =
4138 element office:change-info { dc-creator, dc-date, text-p* }
4139 office-event-listeners =
4140 element office:event-listeners {
4141 (script-event-listener | presentation-event-listener)*
4143 script-event-listener =
4144 element script:event-listener { script-event-listener-attlist, empty }
4145 script-event-listener-attlist =
4146 attribute script:event-name { \string }
4147 & attribute script:language { \string }
4148 & (attribute script:macro-name { \string }
4149 | (attribute xlink:type { "simple" },
4150 attribute xlink:href { anyIRI },
4151 attribute xlink:actuate { "onRequest" }?))
4152 math-math = element math:math { mathMarkup }
4155 "To avoid inclusion of the complete MathML schema, anything is allowed within a math:math top-level element"
4159 (attribute * { text }
4161 | element * { mathMarkup })*
4162 text-dde-connection-decl =
4163 element text:dde-connection-decl {
4164 text-dde-connection-decl-attlist, common-dde-connection-decl-attlist
4166 text-dde-connection-decl-attlist = attribute office:name { \string }
4167 common-dde-connection-decl-attlist =
4168 attribute office:dde-application { \string }
4169 & attribute office:dde-topic { \string }
4170 & attribute office:dde-item { \string }
4171 & attribute office:automatic-update { boolean }?
4173 element table:dde-link { office-dde-source, table-table }
4175 element office:dde-source {
4176 office-dde-source-attlist, common-dde-connection-decl-attlist
4178 office-dde-source-attlist =
4179 attribute office:name { \string }?
4180 & attribute office:conversion-mode {
4181 "into-default-style-data-style"
4182 | "into-english-number"
4186 element anim:animate {
4187 common-anim-target-attlist,
4188 common-anim-named-target-attlist,
4189 common-anim-values-attlist,
4190 common-anim-spline-mode-attlist,
4191 common-spline-anim-value-attlist,
4192 common-timing-attlist,
4193 common-anim-add-accum-attlist
4195 | element anim:set {
4196 common-anim-target-attlist,
4197 common-anim-named-target-attlist,
4198 common-anim-set-values-attlist,
4199 common-timing-attlist,
4200 common-anim-add-accum-attlist
4202 | element anim:animateMotion {
4203 anim-animate-motion-attlist,
4204 common-anim-target-attlist,
4205 common-anim-named-target-attlist,
4206 common-anim-add-accum-attlist,
4207 common-anim-values-attlist,
4208 common-timing-attlist,
4209 common-spline-anim-value-attlist
4211 | element anim:animateColor {
4212 common-anim-target-attlist,
4213 common-anim-named-target-attlist,
4214 common-anim-add-accum-attlist,
4215 common-anim-values-attlist,
4216 common-anim-spline-mode-attlist,
4217 common-spline-anim-value-attlist,
4218 anim-animate-color-attlist,
4219 common-timing-attlist
4221 | element anim:animateTransform {
4222 common-anim-target-attlist,
4223 common-anim-named-target-attlist,
4224 common-anim-add-accum-attlist,
4225 common-anim-values-attlist,
4226 anim-animate-transform-attlist,
4227 common-timing-attlist
4229 | element anim:transitionFilter {
4230 common-anim-target-attlist,
4231 common-anim-add-accum-attlist,
4232 common-anim-values-attlist,
4233 common-anim-spline-mode-attlist,
4234 anim-transition-filter-attlist,
4235 common-timing-attlist
4237 | element anim:par {
4238 common-anim-attlist,
4239 common-timing-attlist,
4240 common-endsync-timing-attlist,
4243 | element anim:seq {
4244 common-anim-attlist,
4245 common-endsync-timing-attlist,
4246 common-timing-attlist,
4249 | element anim:iterate {
4250 common-anim-attlist,
4251 anim-iterate-attlist,
4252 common-timing-attlist,
4253 common-endsync-timing-attlist,
4256 | element anim:audio {
4257 common-anim-attlist,
4259 common-basic-timing-attlist
4261 | element anim:command {
4262 common-anim-attlist,
4263 anim-command-attlist,
4264 common-begin-end-timing-attlist,
4265 common-anim-target-attlist,
4266 element anim:param {
4267 attribute anim:name { \string },
4268 attribute anim:value { \string }
4271 anim-animate-motion-attlist =
4272 attribute svg:path { pathData }?
4273 & attribute svg:origin { \string }?
4274 & attribute smil:calcMode {
4275 "discrete" | "linear" | "paced" | "spline"
4277 anim-animate-color-attlist =
4278 attribute anim:color-interpolation { "rgb" | "hsl" }?
4279 & attribute anim:color-interpolation-direction {
4280 "clockwise" | "counter-clockwise"
4282 anim-animate-transform-attlist =
4283 attribute svg:type {
4284 "translate" | "scale" | "rotate" | "skewX" | "skewY"
4286 anim-transition-filter-attlist =
4287 attribute smil:type { \string }
4288 & attribute smil:subtype { \string }?
4289 & attribute smil:direction { "forward" | "reverse" }?
4290 & attribute smil:fadeColor { color }?
4291 & attribute smil:mode { "in" | "out" }?
4292 common-anim-target-attlist =
4293 attribute smil:targetElement { IDREF }?
4294 & attribute anim:sub-item { \string }?
4295 common-anim-named-target-attlist =
4296 attribute smil:attributeName { \string }
4297 common-anim-values-attlist =
4298 attribute smil:values { \string }?
4299 & attribute anim:formula { \string }?
4300 & common-anim-set-values-attlist
4301 & attribute smil:from { \string }?
4302 & attribute smil:by { \string }?
4303 common-anim-spline-mode-attlist =
4304 attribute smil:calcMode {
4305 "discrete" | "linear" | "paced" | "spline"
4307 common-spline-anim-value-attlist =
4308 attribute smil:keyTimes { \string }?
4309 & attribute smil:keySplines { \string }?
4310 common-anim-add-accum-attlist =
4311 attribute smil:accumulate { "none" | "sum" }?
4312 & attribute smil:additive { "replace" | "sum" }?
4313 common-anim-set-values-attlist = attribute smil:to { \string }?
4314 common-begin-end-timing-attlist =
4315 attribute smil:begin { \string }?
4316 & attribute smil:end { \string }?
4317 common-dur-timing-attlist = attribute smil:dur { \string }?
4318 common-endsync-timing-attlist =
4319 attribute smil:endsync { "first" | "last" | "all" | "media" | IDREF }?
4320 common-repeat-timing-attlist =
4321 attribute smil:repeatDur { \string }?,
4322 attribute smil:repeatCount { nonNegativeDecimal | "indefinite" }?
4323 nonNegativeDecimal = xsd:decimal { minInclusive = "0.0" }
4324 common-fill-timing-attlist =
4325 attribute smil:fill {
4326 "remove" | "freeze" | "hold" | "auto" | "default" | "transition"
4328 common-fill-default-attlist =
4329 attribute smil:fillDefault {
4330 "remove" | "freeze" | "hold" | "transition" | "auto" | "inherit"
4332 common-restart-timing-attlist =
4333 attribute smil:restart {
4334 "never" | "always" | "whenNotActive" | "default"
4336 common-restart-default-attlist =
4337 attribute smil:restartDefault {
4338 "never" | "always" | "whenNotActive" | "inherit"
4340 common-time-manip-attlist =
4341 attribute smil:accelerate { zeroToOneDecimal }?
4342 & attribute smil:decelerate { zeroToOneDecimal }?
4343 & attribute smil:autoReverse { boolean }?
4344 zeroToOneDecimal = xsd:decimal { minInclusive = "0" maxInclusive = "1" }
4345 common-basic-timing-attlist =
4346 common-begin-end-timing-attlist,
4347 common-dur-timing-attlist,
4348 common-repeat-timing-attlist,
4349 common-restart-timing-attlist,
4350 common-restart-default-attlist,
4351 common-fill-timing-attlist,
4352 common-fill-default-attlist
4353 common-timing-attlist =
4354 common-basic-timing-attlist, common-time-manip-attlist
4355 anim-iterate-attlist =
4356 common-anim-target-attlist
4357 & attribute anim:iterate-type { \string }?
4358 & attribute anim:iterate-interval { duration }?
4359 anim-audio-attlist =
4360 attribute xlink:href { anyIRI }?
4361 & attribute anim:audio-level { double }?
4362 anim-command-attlist = attribute anim:command { \string }
4364 element style:style {
4365 style-style-attlist, style-style-content, style-map*
4367 common-in-content-meta-attlist =
4368 attribute xhtml:about { URIorSafeCURIE },
4369 attribute xhtml:property { CURIEs },
4370 common-meta-literal-attlist
4371 common-meta-literal-attlist =
4372 attribute xhtml:datatype { CURIE }?,
4373 attribute xhtml:content { \string }?
4374 xml-id = attribute xml:id { ID }
4375 style-style-attlist =
4376 attribute style:name { styleName }
4377 & attribute style:display-name { \string }?
4378 & attribute style:parent-style-name { styleNameRef }?
4379 & attribute style:next-style-name { styleNameRef }?
4380 & attribute style:list-level { positiveInteger | empty }?
4381 & attribute style:list-style-name { styleName | empty }?
4382 & attribute style:master-page-name { styleNameRef }?
4383 & attribute style:auto-update { boolean }?
4384 & attribute style:data-style-name { styleNameRef }?
4385 & attribute style:percentage-data-style-name { styleNameRef }?
4386 & attribute style:class { \string }?
4387 & attribute style:default-outline-level { positiveInteger | empty }?
4388 style-map = element style:map { style-map-attlist, empty }
4390 attribute style:condition { \string }
4391 & attribute style:apply-style-name { styleNameRef }
4392 & attribute style:base-cell-address { cellAddress }?
4393 style-default-style =
4394 element style:default-style { style-style-content }
4396 element style:page-layout {
4397 style-page-layout-attlist, style-page-layout-content
4399 style-page-layout-content =
4400 style-page-layout-properties?,
4401 style-header-style?,
4403 style-page-layout-attlist =
4404 attribute style:name { styleName }
4405 & attribute style:page-usage {
4406 "all" | "left" | "right" | "mirrored"
4408 style-header-style =
4409 element style:header-style { style-header-footer-properties? }
4410 style-footer-style =
4411 element style:footer-style { style-header-footer-properties? }
4412 style-default-page-layout =
4413 element style:default-page-layout { style-page-layout-content }
4415 element style:master-page {
4416 style-master-page-attlist,
4417 (style-header, style-header-left?)?,
4418 (style-footer, style-footer-left?)?,
4425 style-master-page-attlist =
4426 attribute style:name { styleName }
4427 & attribute style:display-name { \string }?
4428 & attribute style:page-layout-name { styleNameRef }
4429 & attribute draw:style-name { styleNameRef }?
4430 & attribute style:next-style-name { styleNameRef }?
4432 element style:header {
4433 common-style-header-footer-attlist, header-footer-content
4436 element style:footer {
4437 common-style-header-footer-attlist, header-footer-content
4440 element style:header-left {
4441 common-style-header-footer-attlist, header-footer-content
4444 element style:footer-left {
4445 common-style-header-footer-attlist, header-footer-content
4447 header-footer-content =
4448 (text-tracked-changes,
4455 | text-table-of-content
4456 | text-illustration-index
4460 | text-alphabetical-index
4464 | (style-region-left?, style-region-center?, style-region-right?)
4465 common-style-header-footer-attlist =
4466 attribute style:display { boolean }?
4467 style-region-left = element style:region-left { region-content }
4468 style-region-center = element style:region-center { region-content }
4469 style-region-right = element style:region-right { region-content }
4470 region-content = text-p*
4471 presentation-notes =
4472 element presentation:notes {
4473 common-presentation-header-footer-attlist,
4474 presentation-notes-attlist,
4478 presentation-notes-attlist =
4479 attribute style:page-layout-name { styleNameRef }?
4480 & attribute draw:style-name { styleNameRef }?
4481 table-table-template =
4482 element table:table-template {
4483 table-table-template-attlist,
4486 table-first-column?,
4491 table-even-columns?,
4495 table-table-template-attlist =
4496 attribute table:name { \string }
4497 & attribute table:first-row-start-column { rowOrCol }
4498 & attribute table:first-row-end-column { rowOrCol }
4499 & attribute table:last-row-start-column { rowOrCol }
4500 & attribute table:last-row-end-column { rowOrCol }
4501 rowOrCol = "row" | "column"
4503 element table:first-row { common-table-template-attlist, empty }
4505 element table:last-row { common-table-template-attlist, empty }
4506 table-first-column =
4507 element table:first-column { common-table-template-attlist, empty }
4509 element table:last-column { common-table-template-attlist, empty }
4510 table-body = element table:body { common-table-template-attlist, empty }
4512 element table:even-rows { common-table-template-attlist, empty }
4514 element table:odd-rows { common-table-template-attlist, empty }
4515 table-even-columns =
4516 element table:even-columns { common-table-template-attlist, empty }
4518 element table:odd-columns { common-table-template-attlist, empty }
4519 common-table-template-attlist =
4520 attribute table:style-name { styleNameRef },
4521 attribute table:paragraph-style-name { styleNameRef }?
4523 element table:background { table-background-attlist, empty }
4524 table-background-attlist = attribute table:style-name { styleNameRef }
4526 element style:font-face {
4527 style-font-face-attlist, svg-font-face-src?, svg-definition-src?
4529 style-font-face-attlist =
4530 attribute svg:font-family { \string }?
4531 & attribute svg:font-style { fontStyle }?
4532 & attribute svg:font-variant { fontVariant }?
4533 & attribute svg:font-weight { fontWeight }?
4534 & attribute svg:font-stretch {
4545 & attribute svg:font-size { positiveLength }?
4546 & attribute svg:unicode-range { \string }?
4547 & attribute svg:units-per-em { integer }?
4548 & attribute svg:panose-1 { \string }?
4549 & attribute svg:stemv { integer }?
4550 & attribute svg:stemh { integer }?
4551 & attribute svg:slope { integer }?
4552 & attribute svg:cap-height { integer }?
4553 & attribute svg:x-height { integer }?
4554 & attribute svg:accent-height { integer }?
4555 & attribute svg:ascent { integer }?
4556 & attribute svg:descent { integer }?
4557 & attribute svg:widths { \string }?
4558 & attribute svg:bbox { \string }?
4559 & attribute svg:ideographic { integer }?
4560 & attribute svg:alphabetic { integer }?
4561 & attribute svg:mathematical { integer }?
4562 & attribute svg:hanging { integer }?
4563 & attribute svg:v-ideographic { integer }?
4564 & attribute svg:v-alphabetic { integer }?
4565 & attribute svg:v-mathematical { integer }?
4566 & attribute svg:v-hanging { integer }?
4567 & attribute svg:underline-position { integer }?
4568 & attribute svg:underline-thickness { integer }?
4569 & attribute svg:strikethrough-position { integer }?
4570 & attribute svg:strikethrough-thickness { integer }?
4571 & attribute svg:overline-position { integer }?
4572 & attribute svg:overline-thickness { integer }?
4573 & attribute style:name { \string }
4574 & attribute style:font-adornments { \string }?
4575 & attribute style:font-family-generic { fontFamilyGeneric }?
4576 & attribute style:font-pitch { fontPitch }?
4577 & attribute style:font-charset { textEncoding }?
4579 element svg:font-face-src {
4580 (svg-font-face-uri | svg-font-face-name)+
4583 element svg:font-face-uri {
4584 common-svg-font-face-xlink-attlist, svg-font-face-format*
4586 svg-font-face-format =
4587 element svg:font-face-format {
4588 attribute svg:string { \string }?,
4591 svg-font-face-name =
4592 element svg:font-face-name {
4593 attribute svg:name { \string }?,
4596 svg-definition-src =
4597 element svg:definition-src {
4598 common-svg-font-face-xlink-attlist, empty
4600 common-svg-font-face-xlink-attlist =
4601 attribute xlink:type { "simple" },
4602 attribute xlink:href { anyIRI },
4603 attribute xlink:actuate { "onRequest" }?
4604 number-number-style =
4605 element number:number-style {
4606 common-data-style-attlist,
4607 style-text-properties?,
4609 (any-number, number-text?)?,
4612 any-number = number-number | number-scientific-number | number-fraction
4614 element number:number {
4615 number-number-attlist,
4616 common-decimal-places-attlist,
4617 common-number-attlist,
4618 number-embedded-text*
4620 number-number-attlist =
4621 attribute number:decimal-replacement { \string }?
4622 & attribute number:display-factor { double }?
4623 number-embedded-text =
4624 element number:embedded-text { number-embedded-text-attlist, text }
4625 number-embedded-text-attlist = attribute number:position { integer }
4626 number-scientific-number =
4627 element number:scientific-number {
4628 number-scientific-number-attlist,
4629 common-decimal-places-attlist,
4630 common-number-attlist,
4633 number-scientific-number-attlist =
4634 attribute number:min-exponent-digits { integer }?
4636 element number:fraction {
4637 number-fraction-attlist, common-number-attlist, empty
4639 number-fraction-attlist =
4640 attribute number:min-numerator-digits { integer }?
4641 & attribute number:min-denominator-digits { integer }?
4642 & attribute number:denominator-value { integer }?
4643 number-currency-style =
4644 element number:currency-style {
4645 common-data-style-attlist,
4646 common-auto-reorder-attlist,
4647 style-text-properties?,
4649 ((number-and-text, currency-symbol-and-text?)
4650 | (currency-symbol-and-text, number-and-text?))?,
4653 currency-symbol-and-text = number-currency-symbol, number-text?
4654 number-and-text = number-number, number-text?
4655 number-currency-symbol =
4656 element number:currency-symbol {
4657 number-currency-symbol-attlist, text
4659 number-currency-symbol-attlist =
4660 attribute number:language { languageCode }?,
4661 attribute number:country { countryCode }?,
4662 attribute number:script { scriptCode }?,
4663 attribute number:rfc-language-tag { language }?
4664 number-percentage-style =
4665 element number:percentage-style {
4666 common-data-style-attlist,
4667 style-text-properties?,
4673 element number:date-style {
4674 common-data-style-attlist,
4675 common-auto-reorder-attlist,
4676 common-format-source-attlist,
4677 style-text-properties?,
4679 (any-date, number-text?)+,
4687 | number-day-of-week
4688 | number-week-of-year
4695 element number:day {
4696 number-day-attlist, common-calendar-attlist, empty
4698 number-day-attlist = attribute number:style { "short" | "long" }?
4700 element number:month {
4701 number-month-attlist, common-calendar-attlist, empty
4703 number-month-attlist =
4704 attribute number:textual { boolean }?
4705 & attribute number:possessive-form { boolean }?
4706 & attribute number:style { "short" | "long" }?
4708 element number:year {
4709 number-year-attlist, common-calendar-attlist, empty
4711 number-year-attlist = attribute number:style { "short" | "long" }?
4713 element number:era {
4714 number-era-attlist, common-calendar-attlist, empty
4716 number-era-attlist = attribute number:style { "short" | "long" }?
4717 number-day-of-week =
4718 element number:day-of-week {
4719 number-day-of-week-attlist, common-calendar-attlist, empty
4721 number-day-of-week-attlist =
4722 attribute number:style { "short" | "long" }?
4723 number-week-of-year =
4724 element number:week-of-year { common-calendar-attlist, empty }
4726 element number:quarter {
4727 number-quarter-attlist, common-calendar-attlist, empty
4729 number-quarter-attlist = attribute number:style { "short" | "long" }?
4731 element number:time-style {
4732 number-time-style-attlist,
4733 common-data-style-attlist,
4734 common-format-source-attlist,
4735 style-text-properties?,
4737 (any-time, number-text?)+,
4740 any-time = number-hours | number-am-pm | number-minutes | number-seconds
4741 number-time-style-attlist =
4742 attribute number:truncate-on-overflow { boolean }?
4743 number-hours = element number:hours { number-hours-attlist, empty }
4744 number-hours-attlist = attribute number:style { "short" | "long" }?
4746 element number:minutes { number-minutes-attlist, empty }
4747 number-minutes-attlist = attribute number:style { "short" | "long" }?
4749 element number:seconds { number-seconds-attlist, empty }
4750 number-seconds-attlist =
4751 attribute number:style { "short" | "long" }?
4752 & attribute number:decimal-places { integer }?
4753 number-am-pm = element number:am-pm { empty }
4754 number-boolean-style =
4755 element number:boolean-style {
4756 common-data-style-attlist,
4757 style-text-properties?,
4759 (number-boolean, number-text?)?,
4762 number-boolean = element number:boolean { empty }
4764 element number:text-style {
4765 common-data-style-attlist,
4766 style-text-properties?,
4768 (number-text-content, number-text?)*,
4771 number-text = element number:text { text }
4772 number-text-content = element number:text-content { empty }
4773 common-data-style-attlist =
4774 attribute style:name { styleName }
4775 & attribute style:display-name { \string }?
4776 & attribute number:language { languageCode }?
4777 & attribute number:country { countryCode }?
4778 & attribute number:script { scriptCode }?
4779 & attribute number:rfc-language-tag { language }?
4780 & attribute number:title { \string }?
4781 & attribute style:volatile { boolean }?
4782 & attribute number:transliteration-format { \string }?
4783 & attribute number:transliteration-language { countryCode }?
4784 & attribute number:transliteration-country { countryCode }?
4785 & attribute number:transliteration-style {
4786 "short" | "medium" | "long"
4788 common-auto-reorder-attlist =
4789 attribute number:automatic-order { boolean }?
4790 common-format-source-attlist =
4791 attribute number:format-source { "fixed" | "language" }?
4792 common-decimal-places-attlist =
4793 attribute number:decimal-places { integer }?
4794 common-number-attlist =
4795 attribute number:min-integer-digits { integer }?
4796 & attribute number:grouping { boolean }?
4797 common-calendar-attlist =
4798 attribute number:calendar {
4809 style-style-content =
4810 (attribute style:family { "text" },
4811 style-text-properties?)
4812 | (attribute style:family { "paragraph" },
4813 style-paragraph-properties?,
4814 style-text-properties?)
4815 | (attribute style:family { "section" },
4816 style-section-properties?)
4817 | (attribute style:family { "ruby" },
4818 style-ruby-properties?)
4819 | (attribute style:family { "table" },
4820 style-table-properties?)
4821 | (attribute style:family { "table-column" },
4822 style-table-column-properties?)
4823 | (attribute style:family { "table-row" },
4824 style-table-row-properties?)
4825 | (attribute style:family { "table-cell" },
4826 style-table-cell-properties?,
4827 style-paragraph-properties?,
4828 style-text-properties?)
4829 | (attribute style:family { "graphic" | "presentation" },
4830 style-graphic-properties?,
4831 style-paragraph-properties?,
4832 style-text-properties?)
4833 | (attribute style:family { "drawing-page" },
4834 style-drawing-page-properties?)
4835 | (attribute style:family { "chart" },
4836 style-chart-properties?,
4837 style-graphic-properties?,
4838 style-paragraph-properties?,
4839 style-text-properties?)
4840 text-linenumbering-configuration =
4841 element text:linenumbering-configuration {
4842 text-linenumbering-configuration-attlist,
4843 text-linenumbering-separator?
4845 text-linenumbering-configuration-attlist =
4846 attribute text:number-lines { boolean }?
4847 & common-num-format-attlist?
4848 & attribute text:style-name { styleNameRef }?
4849 & attribute text:increment { nonNegativeInteger }?
4850 & attribute text:number-position {
4851 "left" | "right" | "inner" | "outer"
4853 & attribute text:offset { nonNegativeLength }?
4854 & attribute text:count-empty-lines { boolean }?
4855 & attribute text:count-in-text-boxes { boolean }?
4856 & attribute text:restart-on-page { boolean }?
4857 text-linenumbering-separator =
4858 element text:linenumbering-separator {
4859 attribute text:increment { nonNegativeInteger }?,
4862 text-notes-configuration =
4863 element text:notes-configuration { text-notes-configuration-content }
4864 text-notes-configuration-content =
4866 & attribute text:citation-style-name { styleNameRef }?
4867 & attribute text:citation-body-style-name { styleNameRef }?
4868 & attribute text:default-style-name { styleNameRef }?
4869 & attribute text:master-page-name { styleNameRef }?
4870 & attribute text:start-value { nonNegativeInteger }?
4871 & common-num-format-prefix-suffix-attlist
4872 & common-num-format-attlist?
4873 & attribute text:start-numbering-at {
4874 "document" | "chapter" | "page"
4876 & attribute text:footnotes-position {
4877 "text" | "page" | "section" | "document"
4879 & element text:note-continuation-notice-forward { text }?
4880 & element text:note-continuation-notice-backward { text }?
4881 text-bibliography-configuration =
4882 element text:bibliography-configuration {
4883 text-bibliography-configuration-attlist, text-sort-key*
4885 text-bibliography-configuration-attlist =
4886 attribute text:prefix { \string }?
4887 & attribute text:suffix { \string }?
4888 & attribute text:numbered-entries { boolean }?
4889 & attribute text:sort-by-position { boolean }?
4890 & attribute fo:language { languageCode }?
4891 & attribute fo:country { countryCode }?
4892 & attribute fo:script { scriptCode }?
4893 & attribute style:rfc-language-tag { language }?
4894 & attribute text:sort-algorithm { \string }?
4895 text-sort-key = element text:sort-key { text-sort-key-attlist, empty }
4896 text-sort-key-attlist =
4897 attribute text:key {
4901 | "bibliography-type"
4931 attribute text:sort-ascending { boolean }?
4933 element text:list-style {
4934 text-list-style-attr, text-list-style-content*
4936 text-list-style-attr =
4937 attribute style:name { styleName }
4938 & attribute style:display-name { \string }?
4939 & attribute text:consecutive-numbering { boolean }?
4940 text-list-style-content =
4941 element text:list-level-style-number {
4942 text-list-level-style-attr,
4943 text-list-level-style-number-attr,
4944 style-list-level-properties?,
4945 style-text-properties?
4947 | element text:list-level-style-bullet {
4948 text-list-level-style-attr,
4949 text-list-level-style-bullet-attr,
4950 style-list-level-properties?,
4951 style-text-properties?
4953 | element text:list-level-style-image {
4954 text-list-level-style-attr,
4955 text-list-level-style-image-attr,
4956 style-list-level-properties?
4958 text-list-level-style-number-attr =
4959 attribute text:style-name { styleNameRef }?
4960 & common-num-format-attlist
4961 & common-num-format-prefix-suffix-attlist
4962 & attribute text:display-levels { positiveInteger }?
4963 & attribute text:start-value { positiveInteger }?
4964 text-list-level-style-bullet-attr =
4965 attribute text:style-name { styleNameRef }?
4966 & attribute text:bullet-char { character }
4967 & common-num-format-prefix-suffix-attlist
4968 & attribute text:bullet-relative-size { percent }?
4969 text-list-level-style-image-attr =
4970 common-draw-data-attlist | office-binary-data
4971 text-list-level-style-attr = attribute text:level { positiveInteger }
4972 text-outline-style =
4973 element text:outline-style {
4974 text-outline-style-attr, text-outline-level-style+
4976 text-outline-style-attr = attribute style:name { styleName }
4977 text-outline-level-style =
4978 element text:outline-level-style {
4979 text-outline-level-style-attlist,
4980 style-list-level-properties?,
4981 style-text-properties?
4983 text-outline-level-style-attlist =
4984 attribute text:level { positiveInteger }
4985 & attribute text:style-name { styleNameRef }?
4986 & common-num-format-attlist
4987 & common-num-format-prefix-suffix-attlist
4988 & attribute text:display-levels { positiveInteger }?
4989 & attribute text:start-value { positiveInteger }?
4990 style-graphic-properties =
4991 element style:graphic-properties {
4992 style-graphic-properties-content-strict
4994 style-graphic-properties-content-strict =
4995 style-graphic-properties-attlist,
4996 style-graphic-fill-properties-attlist,
4997 style-graphic-properties-elements
4998 style-drawing-page-properties =
4999 element style:drawing-page-properties {
5000 style-drawing-page-properties-content-strict
5002 style-drawing-page-properties-content-strict =
5003 style-graphic-fill-properties-attlist,
5004 style-drawing-page-properties-attlist,
5005 style-drawing-page-properties-elements
5007 element draw:gradient {
5008 common-draw-gradient-attlist, draw-gradient-attlist, empty
5010 common-draw-gradient-attlist =
5011 attribute draw:name { styleName }?
5012 & attribute draw:display-name { \string }?
5013 & attribute draw:style { gradient-style }
5014 & attribute draw:cx { percent }?
5015 & attribute draw:cy { percent }?
5016 & attribute draw:angle { angle }?
5017 & attribute draw:border { percent }?
5019 "linear" | "axial" | "radial" | "ellipsoid" | "square" | "rectangular"
5020 draw-gradient-attlist =
5021 attribute draw:start-color { color }?
5022 & attribute draw:end-color { color }?
5023 & attribute draw:start-intensity { zeroToHundredPercent }?
5024 & attribute draw:end-intensity { zeroToHundredPercent }?
5025 svg-linearGradient =
5026 element svg:linearGradient {
5027 common-svg-gradient-attlist,
5028 attribute svg:x1 { coordinate | percent }?,
5029 attribute svg:y1 { coordinate | percent }?,
5030 attribute svg:x2 { coordinate | percent }?,
5031 attribute svg:y2 { coordinate | percent }?,
5034 svg-radialGradient =
5035 element svg:radialGradient {
5036 common-svg-gradient-attlist,
5037 attribute svg:cx { coordinate | percent }?,
5038 attribute svg:cy { coordinate | percent }?,
5039 attribute svg:r { coordinate | percent }?,
5040 attribute svg:fx { coordinate | percent }?,
5041 attribute svg:fy { coordinate | percent }?,
5046 attribute svg:offset { double | percent },
5047 attribute svg:stop-color { color }?,
5048 attribute svg:stop-opacity { double }?
5050 common-svg-gradient-attlist =
5051 attribute svg:gradientUnits { "objectBoundingBox" }?
5052 & attribute svg:gradientTransform { \string }?
5053 & attribute svg:spreadMethod { "pad" | "reflect" | "repeat" }?
5054 & attribute draw:name { styleName }
5055 & attribute draw:display-name { \string }?
5056 draw-hatch = element draw:hatch { draw-hatch-attlist, empty }
5057 draw-hatch-attlist =
5058 attribute draw:name { styleName }
5059 & attribute draw:display-name { \string }?
5060 & attribute draw:style { "single" | "double" | "triple" }
5061 & attribute draw:color { color }?
5062 & attribute draw:distance { length }?
5063 & attribute draw:rotation { angle }?
5065 element draw:fill-image {
5066 draw-fill-image-attlist,
5067 attribute xlink:type { "simple" },
5068 attribute xlink:href { anyIRI },
5069 attribute xlink:show { "embed" }?,
5070 attribute xlink:actuate { "onLoad" }?,
5073 draw-fill-image-attlist =
5074 attribute draw:name { styleName }
5075 & attribute draw:display-name { \string }?
5076 & attribute svg:width { length }?
5077 & attribute svg:height { length }?
5079 element draw:opacity {
5080 common-draw-gradient-attlist, draw-opacity-attlist, empty
5082 draw-opacity-attlist =
5083 attribute draw:start { zeroToHundredPercent }?,
5084 attribute draw:end { zeroToHundredPercent }?
5086 element draw:marker {
5087 draw-marker-attlist,
5088 common-draw-viewbox-attlist,
5089 common-draw-path-data-attlist,
5092 draw-marker-attlist =
5093 attribute draw:name { styleName }
5094 & attribute draw:display-name { \string }?
5096 element draw:stroke-dash { draw-stroke-dash-attlist, empty }
5097 draw-stroke-dash-attlist =
5098 attribute draw:name { styleName }
5099 & attribute draw:display-name { \string }?
5100 & attribute draw:style { "rect" | "round" }?
5101 & attribute draw:dots1 { integer }?
5102 & attribute draw:dots1-length { length | percent }?
5103 & attribute draw:dots2 { integer }?
5104 & attribute draw:dots2-length { length | percent }?
5105 & attribute draw:distance { length | percent }?
5106 style-presentation-page-layout =
5107 element style:presentation-page-layout {
5108 attribute style:name { styleName },
5109 attribute style:display-name { \string }?,
5110 presentation-placeholder*
5112 presentation-placeholder =
5113 element presentation:placeholder {
5114 attribute presentation:object { presentation-classes },
5115 attribute svg:x { coordinate | percent },
5116 attribute svg:y { coordinate | percent },
5117 attribute svg:width { length | percent },
5118 attribute svg:height { length | percent },
5121 style-page-layout-properties =
5122 element style:page-layout-properties {
5123 style-page-layout-properties-content-strict
5125 style-page-layout-properties-content-strict =
5126 style-page-layout-properties-attlist,
5127 style-page-layout-properties-elements
5128 style-page-layout-properties-attlist =
5129 attribute fo:page-width { length }?
5130 & attribute fo:page-height { length }?
5131 & common-num-format-attlist?
5132 & common-num-format-prefix-suffix-attlist
5133 & attribute style:paper-tray-name { "default" | \string }?
5134 & attribute style:print-orientation { "portrait" | "landscape" }?
5135 & common-horizontal-margin-attlist
5136 & common-vertical-margin-attlist
5137 & common-margin-attlist
5138 & common-border-attlist
5139 & common-border-line-width-attlist
5140 & common-padding-attlist
5141 & common-shadow-attlist
5142 & common-background-color-attlist
5143 & attribute style:register-truth-ref-style-name { styleNameRef }?
5144 & attribute style:print {
5156 & attribute style:print-page-order { "ttb" | "ltr" }?
5157 & attribute style:first-page-number { positiveInteger | "continue" }?
5158 & attribute style:scale-to { percent }?
5159 & attribute style:scale-to-pages { positiveInteger }?
5160 & attribute style:table-centering {
5161 "horizontal" | "vertical" | "both" | "none"
5163 & attribute style:footnote-max-height { length }?
5164 & common-writing-mode-attlist
5165 & attribute style:layout-grid-mode { "none" | "line" | "both" }?
5166 & attribute style:layout-grid-standard-mode { boolean }?
5167 & attribute style:layout-grid-base-height { length }?
5168 & attribute style:layout-grid-ruby-height { length }?
5169 & attribute style:layout-grid-lines { positiveInteger }?
5170 & attribute style:layout-grid-base-width { length }?
5171 & attribute style:layout-grid-color { color }?
5172 & attribute style:layout-grid-ruby-below { boolean }?
5173 & attribute style:layout-grid-print { boolean }?
5174 & attribute style:layout-grid-display { boolean }?
5175 & attribute style:layout-grid-snap-to { boolean }?
5176 style-page-layout-properties-elements =
5177 style-background-image & style-columns & style-footnote-sep
5178 style-footnote-sep =
5179 element style:footnote-sep { style-footnote-sep-attlist, empty }?
5180 style-footnote-sep-attlist =
5181 attribute style:width { length }?,
5182 attribute style:rel-width { percent }?,
5183 attribute style:color { color }?,
5184 attribute style:line-style { lineStyle }?,
5185 attribute style:adjustment { "left" | "center" | "right" }?,
5186 attribute style:distance-before-sep { length }?,
5187 attribute style:distance-after-sep { length }?
5188 style-header-footer-properties =
5189 element style:header-footer-properties {
5190 style-header-footer-properties-content-strict
5192 style-header-footer-properties-content-strict =
5193 style-header-footer-properties-attlist,
5194 style-header-footer-properties-elements
5195 style-header-footer-properties-attlist =
5196 attribute svg:height { length }?
5197 & attribute fo:min-height { length }?
5198 & common-horizontal-margin-attlist
5199 & common-vertical-margin-attlist
5200 & common-margin-attlist
5201 & common-border-attlist
5202 & common-border-line-width-attlist
5203 & common-padding-attlist
5204 & common-background-color-attlist
5205 & common-shadow-attlist
5206 & attribute style:dynamic-spacing { boolean }?
5207 style-header-footer-properties-elements = style-background-image
5208 style-text-properties =
5209 element style:text-properties { style-text-properties-content-strict }
5210 style-text-properties-content-strict =
5211 style-text-properties-attlist, style-text-properties-elements
5212 style-text-properties-elements = empty
5213 style-text-properties-attlist =
5214 attribute fo:font-variant { fontVariant }?
5215 & attribute fo:text-transform {
5216 "none" | "lowercase" | "uppercase" | "capitalize"
5218 & attribute fo:color { color }?
5219 & attribute style:use-window-font-color { boolean }?
5220 & attribute style:text-outline { boolean }?
5221 & attribute style:text-line-through-type { lineType }?
5222 & attribute style:text-line-through-style { lineStyle }?
5223 & attribute style:text-line-through-width { lineWidth }?
5224 & attribute style:text-line-through-color { "font-color" | color }?
5225 & attribute style:text-line-through-text { \string }?
5226 & attribute style:text-line-through-text-style { styleNameRef }?
5227 & attribute style:text-position {
5228 list { (percent | "super" | "sub"), percent? }
5230 & attribute style:font-name { \string }?
5231 & attribute style:font-name-asian { \string }?
5232 & attribute style:font-name-complex { \string }?
5233 & attribute fo:font-family { \string }?
5234 & attribute style:font-family-asian { \string }?
5235 & attribute style:font-family-complex { \string }?
5236 & attribute style:font-family-generic { fontFamilyGeneric }?
5237 & attribute style:font-family-generic-asian { fontFamilyGeneric }?
5238 & attribute style:font-family-generic-complex { fontFamilyGeneric }?
5239 & attribute style:font-style-name { \string }?
5240 & attribute style:font-style-name-asian { \string }?
5241 & attribute style:font-style-name-complex { \string }?
5242 & attribute style:font-pitch { fontPitch }?
5243 & attribute style:font-pitch-asian { fontPitch }?
5244 & attribute style:font-pitch-complex { fontPitch }?
5245 & attribute style:font-charset { textEncoding }?
5246 & attribute style:font-charset-asian { textEncoding }?
5247 & attribute style:font-charset-complex { textEncoding }?
5248 & attribute fo:font-size { positiveLength | percent }?
5249 & attribute style:font-size-asian { positiveLength | percent }?
5250 & attribute style:font-size-complex { positiveLength | percent }?
5251 & attribute style:font-size-rel { length }?
5252 & attribute style:font-size-rel-asian { length }?
5253 & attribute style:font-size-rel-complex { length }?
5254 & attribute style:script-type {
5255 "latin" | "asian" | "complex" | "ignore"
5257 & attribute fo:letter-spacing { length | "normal" }?
5258 & attribute fo:language { languageCode }?
5259 & attribute style:language-asian { languageCode }?
5260 & attribute style:language-complex { languageCode }?
5261 & attribute fo:country { countryCode }?
5262 & attribute style:country-asian { countryCode }?
5263 & attribute style:country-complex { countryCode }?
5264 & attribute fo:script { scriptCode }?
5265 & attribute style:script-asian { scriptCode }?
5266 & attribute style:script-complex { scriptCode }?
5267 & attribute style:rfc-language-tag { language }?
5268 & attribute style:rfc-language-tag-asian { language }?
5269 & attribute style:rfc-language-tag-complex { language }?
5270 & attribute fo:font-style { fontStyle }?
5271 & attribute style:font-style-asian { fontStyle }?
5272 & attribute style:font-style-complex { fontStyle }?
5273 & attribute style:font-relief { "none" | "embossed" | "engraved" }?
5274 & attribute fo:text-shadow { shadowType }?
5275 & attribute style:text-underline-type { lineType }?
5276 & attribute style:text-underline-style { lineStyle }?
5277 & attribute style:text-underline-width { lineWidth }?
5278 & attribute style:text-underline-color { "font-color" | color }?
5279 & attribute style:text-overline-type { lineType }?
5280 & attribute style:text-overline-style { lineStyle }?
5281 & attribute style:text-overline-width { lineWidth }?
5282 & attribute style:text-overline-color { "font-color" | color }?
5283 & attribute style:text-overline-mode { lineMode }?
5284 & attribute fo:font-weight { fontWeight }?
5285 & attribute style:font-weight-asian { fontWeight }?
5286 & attribute style:font-weight-complex { fontWeight }?
5287 & attribute style:text-underline-mode { lineMode }?
5288 & attribute style:text-line-through-mode { lineMode }?
5289 & attribute style:letter-kerning { boolean }?
5290 & attribute style:text-blinking { boolean }?
5291 & common-background-color-attlist
5292 & attribute style:text-combine { "none" | "letters" | "lines" }?
5293 & attribute style:text-combine-start-char { character }?
5294 & attribute style:text-combine-end-char { character }?
5295 & attribute style:text-emphasize {
5298 ("none" | "accent" | "dot" | "circle" | "disc"),
5302 & attribute style:text-scale { percent }?
5303 & attribute style:text-rotation-angle { angle }?
5304 & attribute style:text-rotation-scale { "fixed" | "line-height" }?
5305 & attribute fo:hyphenate { boolean }?
5306 & attribute fo:hyphenation-remain-char-count { positiveInteger }?
5307 & attribute fo:hyphenation-push-char-count { positiveInteger }?
5308 & (attribute text:display { "true" }
5309 | attribute text:display { "none" }
5310 | (attribute text:display { "condition" },
5311 attribute text:condition { "none" })
5313 fontVariant = "normal" | "small-caps"
5315 "roman" | "swiss" | "modern" | "decorative" | "script" | "system"
5316 fontPitch = "fixed" | "variable"
5317 textEncoding = xsd:string { pattern = "[A-Za-z][A-Za-z0-9._\-]*" }
5318 fontStyle = "normal" | "italic" | "oblique"
5319 shadowType = "none" | \string
5320 lineType = "none" | "single" | "double"
5352 lineMode = "continuous" | "skip-white-space"
5353 style-paragraph-properties =
5354 element style:paragraph-properties {
5355 style-paragraph-properties-content-strict
5357 style-paragraph-properties-content-strict =
5358 style-paragraph-properties-attlist,
5359 style-paragraph-properties-elements
5360 style-paragraph-properties-attlist =
5361 attribute fo:line-height { "normal" | nonNegativeLength | percent }?
5362 & attribute style:line-height-at-least { nonNegativeLength }?
5363 & attribute style:line-spacing { length }?
5364 & attribute style:font-independent-line-spacing { boolean }?
5366 & attribute fo:text-align-last { "start" | "center" | "justify" }?
5367 & attribute style:justify-single-word { boolean }?
5368 & attribute fo:keep-together { "auto" | "always" }?
5369 & attribute fo:widows { nonNegativeInteger }?
5370 & attribute fo:orphans { nonNegativeInteger }?
5371 & attribute style:tab-stop-distance { nonNegativeLength }?
5372 & attribute fo:hyphenation-keep { "auto" | "page" }?
5373 & attribute fo:hyphenation-ladder-count {
5374 "no-limit" | positiveInteger
5376 & attribute style:register-true { boolean }?
5377 & common-horizontal-margin-attlist
5378 & attribute fo:text-indent { length | percent }?
5379 & attribute style:auto-text-indent { boolean }?
5380 & common-vertical-margin-attlist
5381 & common-margin-attlist
5382 & common-break-attlist
5383 & common-background-color-attlist
5384 & common-border-attlist
5385 & common-border-line-width-attlist
5386 & attribute style:join-border { boolean }?
5387 & common-padding-attlist
5388 & common-shadow-attlist
5389 & common-keep-with-next-attlist
5390 & attribute text:number-lines { boolean }?
5391 & attribute text:line-number { nonNegativeInteger }?
5392 & attribute style:text-autospace { "none" | "ideograph-alpha" }?
5393 & attribute style:punctuation-wrap { "simple" | "hanging" }?
5394 & attribute style:line-break { "normal" | "strict" }?
5395 & attribute style:vertical-align {
5396 "top" | "middle" | "bottom" | "auto" | "baseline"
5398 & common-writing-mode-attlist
5399 & attribute style:writing-mode-automatic { boolean }?
5400 & attribute style:snap-to-layout-grid { boolean }?
5401 & common-page-number-attlist
5402 & common-background-transparency-attlist
5404 attribute fo:text-align {
5405 "start" | "end" | "left" | "right" | "center" | "justify"
5407 style-paragraph-properties-elements =
5408 style-tab-stops & style-drop-cap & style-background-image
5409 style-tab-stops = element style:tab-stops { style-tab-stop* }?
5411 element style:tab-stop { style-tab-stop-attlist, empty }
5412 style-tab-stop-attlist =
5413 attribute style:position { length }
5414 & (attribute style:type { "left" | "center" | "right" }?
5415 | (attribute style:type { "char" },
5416 style-tab-stop-char-attlist))
5417 & attribute style:leader-type { lineType }?
5418 & attribute style:leader-style { lineStyle }?
5419 & attribute style:leader-width { lineWidth }?
5420 & attribute style:leader-color { "font-color" | color }?
5421 & attribute style:leader-text { character }?
5422 & attribute style:leader-text-style { styleNameRef }?
5423 style-tab-stop-char-attlist = attribute style:char { character }
5425 element style:drop-cap { style-drop-cap-attlist, empty }?
5426 style-drop-cap-attlist =
5427 attribute style:length { "word" | positiveInteger }?
5428 & attribute style:lines { positiveInteger }?
5429 & attribute style:distance { length }?
5430 & attribute style:style-name { styleNameRef }?
5431 common-horizontal-margin-attlist =
5432 attribute fo:margin-left { length | percent }?,
5433 attribute fo:margin-right { length | percent }?
5434 common-vertical-margin-attlist =
5435 attribute fo:margin-top { nonNegativeLength | percent }?,
5436 attribute fo:margin-bottom { nonNegativeLength | percent }?
5437 common-margin-attlist =
5438 attribute fo:margin { nonNegativeLength | percent }?
5439 common-break-attlist =
5440 attribute fo:break-before { "auto" | "column" | "page" }?,
5441 attribute fo:break-after { "auto" | "column" | "page" }?
5442 common-background-color-attlist =
5443 attribute fo:background-color { "transparent" | color }?
5444 style-background-image =
5445 element style:background-image {
5446 style-background-image-attlist,
5447 (common-draw-data-attlist | office-binary-data | empty)
5449 style-background-image-attlist =
5450 attribute style:repeat { "no-repeat" | "repeat" | "stretch" }?
5451 & attribute style:position {
5457 | list { horiBackPos, vertBackPos }
5458 | list { vertBackPos, horiBackPos }
5460 & attribute style:filter-name { \string }?
5461 & attribute draw:opacity { zeroToHundredPercent }?
5462 horiBackPos = "left" | "center" | "right"
5463 vertBackPos = "top" | "center" | "bottom"
5464 common-border-attlist =
5465 attribute fo:border { \string }?,
5466 attribute fo:border-top { \string }?,
5467 attribute fo:border-bottom { \string }?,
5468 attribute fo:border-left { \string }?,
5469 attribute fo:border-right { \string }?
5470 common-border-line-width-attlist =
5471 attribute style:border-line-width { borderWidths }?,
5472 attribute style:border-line-width-top { borderWidths }?,
5473 attribute style:border-line-width-bottom { borderWidths }?,
5474 attribute style:border-line-width-left { borderWidths }?,
5475 attribute style:border-line-width-right { borderWidths }?
5476 borderWidths = list { positiveLength, positiveLength, positiveLength }
5477 common-padding-attlist =
5478 attribute fo:padding { nonNegativeLength }?,
5479 attribute fo:padding-top { nonNegativeLength }?,
5480 attribute fo:padding-bottom { nonNegativeLength }?,
5481 attribute fo:padding-left { nonNegativeLength }?,
5482 attribute fo:padding-right { nonNegativeLength }?
5483 common-shadow-attlist = attribute style:shadow { shadowType }?
5484 common-keep-with-next-attlist =
5485 attribute fo:keep-with-next { "auto" | "always" }?
5486 common-writing-mode-attlist =
5487 attribute style:writing-mode {
5488 "lr-tb" | "rl-tb" | "tb-rl" | "tb-lr" | "lr" | "rl" | "tb" | "page"
5490 common-page-number-attlist =
5491 attribute style:page-number { positiveInteger | "auto" }?
5492 common-background-transparency-attlist =
5493 attribute style:background-transparency { zeroToHundredPercent }?
5494 style-ruby-properties =
5495 element style:ruby-properties { style-ruby-properties-content-strict }
5496 style-ruby-properties-content-strict =
5497 style-ruby-properties-attlist, style-ruby-properties-elements
5498 style-ruby-properties-elements = empty
5499 style-ruby-properties-attlist =
5500 attribute style:ruby-position { "above" | "below" }?
5501 & attribute style:ruby-align {
5505 | "distribute-letter"
5506 | "distribute-space"
5508 style-section-properties =
5509 element style:section-properties {
5510 style-section-properties-content-strict
5512 style-section-properties-content-strict =
5513 style-section-properties-attlist, style-section-properties-elements
5514 style-section-properties-attlist =
5515 common-background-color-attlist
5516 & common-horizontal-margin-attlist
5517 & attribute style:protect { boolean }?
5518 & common-editable-attlist
5519 & attribute text:dont-balance-text-columns { boolean }?
5520 & common-writing-mode-attlist
5521 style-section-properties-elements =
5522 style-background-image & style-columns & text-notes-configuration*
5524 element style:columns {
5525 style-columns-attlist, style-column-sep?, style-column*
5527 style-columns-attlist =
5528 attribute fo:column-count { positiveInteger }
5529 & attribute fo:column-gap { length }?
5530 style-column = element style:column { style-column-attlist }
5531 style-column-attlist =
5532 attribute style:rel-width { relativeLength }
5533 & attribute fo:start-indent { length }?
5534 & attribute fo:end-indent { length }?
5535 & attribute fo:space-before { length }?
5536 & attribute fo:space-after { length }?
5537 style-column-sep = element style:column-sep { style-column-sep-attlist }
5538 style-column-sep-attlist =
5539 attribute style:style {
5540 "none" | "solid" | "dotted" | "dashed" | "dot-dashed"
5542 & attribute style:width { length }
5543 & attribute style:height { zeroToHundredPercent }?
5544 & attribute style:vertical-align { "top" | "middle" | "bottom" }?
5545 & attribute style:color { color }?
5546 style-table-properties =
5547 element style:table-properties {
5548 style-table-properties-content-strict
5550 style-table-properties-content-strict =
5551 style-table-properties-attlist, style-table-properties-elements
5552 style-table-properties-attlist =
5553 attribute style:width { positiveLength }?
5554 & attribute style:rel-width { percent }?
5555 & attribute table:align { "left" | "center" | "right" | "margins" }?
5556 & common-horizontal-margin-attlist
5557 & common-vertical-margin-attlist
5558 & common-margin-attlist
5559 & common-page-number-attlist
5560 & common-break-attlist
5561 & common-background-color-attlist
5562 & common-shadow-attlist
5563 & common-keep-with-next-attlist
5564 & attribute style:may-break-between-rows { boolean }?
5565 & attribute table:border-model { "collapsing" | "separating" }?
5566 & common-writing-mode-attlist
5567 & attribute table:display { boolean }?
5568 style-table-properties-elements = style-background-image
5569 style-table-column-properties =
5570 element style:table-column-properties {
5571 style-table-column-properties-content-strict
5573 style-table-column-properties-content-strict =
5574 style-table-column-properties-attlist,
5575 style-table-column-properties-elements
5576 style-table-column-properties-elements = empty
5577 style-table-column-properties-attlist =
5578 attribute style:column-width { positiveLength }?
5579 & attribute style:rel-column-width { relativeLength }?
5580 & attribute style:use-optimal-column-width { boolean }?
5581 & common-break-attlist
5582 style-table-row-properties =
5583 element style:table-row-properties {
5584 style-table-row-properties-content-strict
5586 style-table-row-properties-content-strict =
5587 style-table-row-properties-attlist,
5588 style-table-row-properties-elements
5589 style-table-row-properties-attlist =
5590 attribute style:row-height { positiveLength }?
5591 & attribute style:min-row-height { nonNegativeLength }?
5592 & attribute style:use-optimal-row-height { boolean }?
5593 & common-background-color-attlist
5594 & common-break-attlist
5595 & attribute fo:keep-together { "auto" | "always" }?
5596 style-table-row-properties-elements = style-background-image
5597 style-table-cell-properties =
5598 element style:table-cell-properties {
5599 style-table-cell-properties-content-strict
5601 style-table-cell-properties-content-strict =
5602 style-table-cell-properties-attlist,
5603 style-table-cell-properties-elements
5604 style-table-cell-properties-attlist =
5605 attribute style:vertical-align {
5606 "top" | "middle" | "bottom" | "automatic"
5608 & attribute style:text-align-source { "fix" | "value-type" }?
5609 & common-style-direction-attlist
5610 & attribute style:glyph-orientation-vertical {
5611 "auto" | "0" | "0deg" | "0rad" | "0grad"
5613 & common-writing-mode-attlist
5614 & common-shadow-attlist
5615 & common-background-color-attlist
5616 & common-border-attlist
5617 & attribute style:diagonal-tl-br { \string }?
5618 & attribute style:diagonal-tl-br-widths { borderWidths }?
5619 & attribute style:diagonal-bl-tr { \string }?
5620 & attribute style:diagonal-bl-tr-widths { borderWidths }?
5621 & common-border-line-width-attlist
5622 & common-padding-attlist
5623 & attribute fo:wrap-option { "no-wrap" | "wrap" }?
5624 & common-rotation-angle-attlist
5625 & attribute style:rotation-align {
5626 "none" | "bottom" | "top" | "center"
5628 & attribute style:cell-protect {
5630 | "hidden-and-protected"
5631 | list { ("protected" | "formula-hidden")+ }
5633 & attribute style:print-content { boolean }?
5634 & attribute style:decimal-places { nonNegativeInteger }?
5635 & attribute style:repeat-content { boolean }?
5636 & attribute style:shrink-to-fit { boolean }?
5637 common-style-direction-attlist =
5638 attribute style:direction { "ltr" | "ttb" }?
5639 style-table-cell-properties-elements = style-background-image
5640 common-rotation-angle-attlist =
5641 attribute style:rotation-angle { angle }?
5642 style-list-level-properties =
5643 element style:list-level-properties {
5644 style-list-level-properties-content-strict
5646 style-list-level-properties-content-strict =
5647 style-list-level-properties-attlist,
5648 style-list-level-properties-elements
5649 style-list-level-properties-attlist =
5651 & attribute text:space-before { length }?
5652 & attribute text:min-label-width { nonNegativeLength }?
5653 & attribute text:min-label-distance { nonNegativeLength }?
5654 & attribute style:font-name { \string }?
5655 & attribute fo:width { positiveLength }?
5656 & attribute fo:height { positiveLength }?
5657 & common-vertical-rel-attlist
5658 & common-vertical-pos-attlist
5659 & attribute text:list-level-position-and-space-mode {
5660 "label-width-and-position" | "label-alignment"
5662 style-list-level-properties-elements = style-list-level-label-alignment
5663 style-list-level-label-alignment =
5664 element style:list-level-label-alignment {
5665 style-list-level-label-alignment-attlist, empty
5667 style-list-level-label-alignment-attlist =
5668 attribute text:label-followed-by { "listtab" | "space" | "nothing" }
5669 & attribute text:list-tab-stop-position { length }?
5670 & attribute fo:text-indent { length }?
5671 & attribute fo:margin-left { length }?
5672 style-graphic-properties-attlist =
5673 attribute draw:stroke { "none" | "dash" | "solid" }?
5674 & attribute draw:stroke-dash { styleNameRef }?
5675 & attribute draw:stroke-dash-names { styleNameRefs }?
5676 & attribute svg:stroke-width { length }?
5677 & attribute svg:stroke-color { color }?
5678 & attribute draw:marker-start { styleNameRef }?
5679 & attribute draw:marker-end { styleNameRef }?
5680 & attribute draw:marker-start-width { length }?
5681 & attribute draw:marker-end-width { length }?
5682 & attribute draw:marker-start-center { boolean }?
5683 & attribute draw:marker-end-center { boolean }?
5684 & attribute svg:stroke-opacity {
5685 xsd:double { minInclusive = "0" maxInclusive = "1" }
5686 | zeroToHundredPercent
5688 & attribute draw:stroke-linejoin {
5689 "miter" | "round" | "bevel" | "middle" | "none"
5691 & attribute svg:stroke-linecap { "butt" | "square" | "round" }?
5692 & attribute draw:symbol-color { color }?
5693 & attribute text:animation {
5694 "none" | "scroll" | "alternate" | "slide"
5696 & attribute text:animation-direction {
5697 "left" | "right" | "up" | "down"
5699 & attribute text:animation-start-inside { boolean }?
5700 & attribute text:animation-stop-inside { boolean }?
5701 & attribute text:animation-repeat { nonNegativeInteger }?
5702 & attribute text:animation-delay { duration }?
5703 & attribute text:animation-steps { length }?
5704 & attribute draw:auto-grow-width { boolean }?
5705 & attribute draw:auto-grow-height { boolean }?
5706 & attribute draw:fit-to-size { boolean }?
5707 & attribute draw:fit-to-contour { boolean }?
5708 & attribute draw:textarea-vertical-align {
5709 "top" | "middle" | "bottom" | "justify"
5711 & attribute draw:textarea-horizontal-align {
5712 "left" | "center" | "right" | "justify"
5714 & attribute fo:wrap-option { "no-wrap" | "wrap" }?
5715 & attribute style:shrink-to-fit { boolean }?
5716 & attribute draw:color-mode {
5717 "greyscale" | "mono" | "watermark" | "standard"
5719 & attribute draw:color-inversion { boolean }?
5720 & attribute draw:luminance { zeroToHundredPercent }?
5721 & attribute draw:contrast { percent }?
5722 & attribute draw:gamma { percent }?
5723 & attribute draw:red { signedZeroToHundredPercent }?
5724 & attribute draw:green { signedZeroToHundredPercent }?
5725 & attribute draw:blue { signedZeroToHundredPercent }?
5726 & attribute draw:image-opacity { zeroToHundredPercent }?
5727 & attribute draw:shadow { "visible" | "hidden" }?
5728 & attribute draw:shadow-offset-x { length }?
5729 & attribute draw:shadow-offset-y { length }?
5730 & attribute draw:shadow-color { color }?
5731 & attribute draw:shadow-opacity { zeroToHundredPercent }?
5732 & attribute draw:start-line-spacing-horizontal { distance }?
5733 & attribute draw:start-line-spacing-vertical { distance }?
5734 & attribute draw:end-line-spacing-horizontal { distance }?
5735 & attribute draw:end-line-spacing-vertical { distance }?
5736 & attribute draw:line-distance { distance }?
5737 & attribute draw:guide-overhang { length }?
5738 & attribute draw:guide-distance { distance }?
5739 & attribute draw:start-guide { length }?
5740 & attribute draw:end-guide { length }?
5741 & attribute draw:placing { "below" | "above" }?
5742 & attribute draw:parallel { boolean }?
5743 & attribute draw:measure-align {
5744 "automatic" | "left-outside" | "inside" | "right-outside"
5746 & attribute draw:measure-vertical-align {
5747 "automatic" | "above" | "below" | "center"
5749 & attribute draw:unit {
5761 & attribute draw:show-unit { boolean }?
5762 & attribute draw:decimal-places { nonNegativeInteger }?
5763 & attribute draw:caption-type {
5764 "straight-line" | "angled-line" | "angled-connector-line"
5766 & attribute draw:caption-angle-type { "fixed" | "free" }?
5767 & attribute draw:caption-angle { angle }?
5768 & attribute draw:caption-gap { distance }?
5769 & attribute draw:caption-escape-direction {
5770 "horizontal" | "vertical" | "auto"
5772 & attribute draw:caption-escape { length | percent }?
5773 & attribute draw:caption-line-length { length }?
5774 & attribute draw:caption-fit-line-length { boolean }?
5775 & attribute dr3d:horizontal-segments { nonNegativeInteger }?
5776 & attribute dr3d:vertical-segments { nonNegativeInteger }?
5777 & attribute dr3d:edge-rounding { percent }?
5778 & attribute dr3d:edge-rounding-mode { "correct" | "attractive" }?
5779 & attribute dr3d:back-scale { percent }?
5780 & attribute dr3d:depth { length }?
5781 & attribute dr3d:backface-culling { "enabled" | "disabled" }?
5782 & attribute dr3d:end-angle { angle }?
5783 & attribute dr3d:close-front { boolean }?
5784 & attribute dr3d:close-back { boolean }?
5785 & attribute dr3d:lighting-mode { "standard" | "double-sided" }?
5786 & attribute dr3d:normals-kind { "object" | "flat" | "sphere" }?
5787 & attribute dr3d:normals-direction { "normal" | "inverse" }?
5788 & attribute dr3d:texture-generation-mode-x {
5789 "object" | "parallel" | "sphere"
5791 & attribute dr3d:texture-generation-mode-y {
5792 "object" | "parallel" | "sphere"
5794 & attribute dr3d:texture-kind { "luminance" | "intensity" | "color" }?
5795 & attribute dr3d:texture-filter { "enabled" | "disabled" }?
5796 & attribute dr3d:texture-mode { "replace" | "modulate" | "blend" }?
5797 & attribute dr3d:ambient-color { color }?
5798 & attribute dr3d:emissive-color { color }?
5799 & attribute dr3d:specular-color { color }?
5800 & attribute dr3d:diffuse-color { color }?
5801 & attribute dr3d:shininess { percent }?
5802 & attribute dr3d:shadow { "visible" | "hidden" }?
5803 & common-draw-rel-size-attlist
5804 & attribute fo:min-width { length | percent }?
5805 & attribute fo:min-height { length | percent }?
5806 & attribute fo:max-height { length | percent }?
5807 & attribute fo:max-width { length | percent }?
5808 & common-horizontal-margin-attlist
5809 & common-vertical-margin-attlist
5810 & common-margin-attlist
5811 & attribute style:print-content { boolean }?
5812 & attribute style:protect {
5814 | list { ("content" | "position" | "size")+ }
5816 & attribute style:horizontal-pos {
5825 & attribute svg:x { coordinate }?
5826 & attribute style:horizontal-rel {
5829 | "page-start-margin"
5833 | "frame-start-margin"
5834 | "frame-end-margin"
5836 | "paragraph-content"
5837 | "paragraph-start-margin"
5838 | "paragraph-end-margin"
5841 & common-vertical-pos-attlist
5842 & common-vertical-rel-attlist
5843 & common-text-anchor-attlist
5844 & common-border-attlist
5845 & common-border-line-width-attlist
5846 & common-padding-attlist
5847 & common-shadow-attlist
5848 & common-background-color-attlist
5849 & common-background-transparency-attlist
5850 & common-editable-attlist
5851 & attribute style:wrap {
5860 & attribute style:wrap-dynamic-threshold { nonNegativeLength }?
5861 & attribute style:number-wrapped-paragraphs {
5862 "no-limit" | positiveInteger
5864 & attribute style:wrap-contour { boolean }?
5865 & attribute style:wrap-contour-mode { "full" | "outside" }?
5866 & attribute style:run-through { "foreground" | "background" }?
5867 & attribute style:flow-with-text { boolean }?
5868 & attribute style:overflow-behavior {
5869 "clip" | "auto-create-new-frame"
5871 & attribute style:mirror {
5875 | list { "vertical", horizontal-mirror }
5876 | list { horizontal-mirror, "vertical" }
5878 & attribute fo:clip { "auto" | clipShape }?
5879 & attribute draw:wrap-influence-on-position {
5880 "iterative" | "once-concurrent" | "once-successive"
5882 & common-writing-mode-attlist
5883 & attribute draw:frame-display-scrollbar { boolean }?
5884 & attribute draw:frame-display-border { boolean }?
5885 & attribute draw:frame-margin-horizontal { nonNegativePixelLength }?
5886 & attribute draw:frame-margin-vertical { nonNegativePixelLength }?
5887 & attribute draw:visible-area-left { nonNegativeLength }?
5888 & attribute draw:visible-area-top { nonNegativeLength }?
5889 & attribute draw:visible-area-width { positiveLength }?
5890 & attribute draw:visible-area-height { positiveLength }?
5891 & attribute draw:draw-aspect {
5892 "content" | "thumbnail" | "icon" | "print-view"
5894 & attribute draw:ole-draw-aspect { nonNegativeInteger }?
5895 style-graphic-fill-properties-attlist =
5896 attribute draw:fill {
5897 "none" | "solid" | "bitmap" | "gradient" | "hatch"
5899 & attribute draw:fill-color { color }?
5900 & attribute draw:secondary-fill-color { color }?
5901 & attribute draw:fill-gradient-name { styleNameRef }?
5902 & attribute draw:gradient-step-count { nonNegativeInteger }?
5903 & attribute draw:fill-hatch-name { styleNameRef }?
5904 & attribute draw:fill-hatch-solid { boolean }?
5905 & attribute draw:fill-image-name { styleNameRef }?
5906 & attribute style:repeat { "no-repeat" | "repeat" | "stretch" }?
5907 & attribute draw:fill-image-width { length | percent }?
5908 & attribute draw:fill-image-height { length | percent }?
5909 & attribute draw:fill-image-ref-point-x { percent }?
5910 & attribute draw:fill-image-ref-point-y { percent }?
5911 & attribute draw:fill-image-ref-point {
5922 & attribute draw:tile-repeat-offset {
5923 list { zeroToHundredPercent, ("horizontal" | "vertical") }
5925 & attribute draw:opacity { zeroToHundredPercent }?
5926 & attribute draw:opacity-name { styleNameRef }?
5927 & attribute svg:fill-rule { "nonzero" | "evenodd" }?
5928 style-graphic-properties-elements =
5929 text-list-style? & style-background-image & style-columns
5930 common-vertical-pos-attlist =
5931 attribute style:vertical-pos {
5932 "top" | "middle" | "bottom" | "from-top" | "below"
5934 attribute svg:y { coordinate }?
5935 common-vertical-rel-attlist =
5936 attribute style:vertical-rel {
5942 | "paragraph-content"
5948 common-editable-attlist = attribute style:editable { boolean }?
5950 "horizontal" | "horizontal-on-odd" | "horizontal-on-even"
5954 "rect\([ ]*((-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)))|(auto))([ ]*,[ ]*((-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc))))|(auto)){3}[ ]*\)"
5956 nonNegativePixelLength =
5957 xsd:string { pattern = "([0-9]+(\.[0-9]*)?|\.[0-9]+)(px)" }
5958 style-chart-properties =
5959 element style:chart-properties {
5960 style-chart-properties-content-strict
5962 style-chart-properties-content-strict =
5963 style-chart-properties-attlist, style-chart-properties-elements
5964 style-chart-properties-elements = empty
5965 style-chart-properties-attlist =
5966 attribute chart:scale-text { boolean }?
5967 & attribute chart:three-dimensional { boolean }?
5968 & attribute chart:deep { boolean }?
5969 & attribute chart:right-angled-axes { boolean }?
5970 & (attribute chart:symbol-type { "none" }
5971 | attribute chart:symbol-type { "automatic" }
5972 | (attribute chart:symbol-type { "named-symbol" },
5973 attribute chart:symbol-name {
5990 | (attribute chart:symbol-type { "image" },
5991 element chart:symbol-image {
5992 attribute xlink:href { anyIRI }
5995 & attribute chart:symbol-width { nonNegativeLength }?
5996 & attribute chart:symbol-height { nonNegativeLength }?
5997 & attribute chart:sort-by-x-values { boolean }?
5998 & attribute chart:vertical { boolean }?
5999 & attribute chart:connect-bars { boolean }?
6000 & attribute chart:gap-width { integer }?
6001 & attribute chart:overlap { integer }?
6002 & attribute chart:group-bars-per-axis { boolean }?
6003 & attribute chart:japanese-candle-stick { boolean }?
6004 & attribute chart:interpolation {
6005 "none" | "cubic-spline" | "b-spline"
6007 & attribute chart:spline-order { positiveInteger }?
6008 & attribute chart:spline-resolution { positiveInteger }?
6009 & attribute chart:pie-offset { nonNegativeInteger }?
6010 & attribute chart:angle-offset { angle }?
6011 & attribute chart:hole-size { percent }?
6012 & attribute chart:lines { boolean }?
6013 & attribute chart:solid-type {
6014 "cuboid" | "cylinder" | "cone" | "pyramid"
6016 & attribute chart:stacked { boolean }?
6017 & attribute chart:percentage { boolean }?
6018 & attribute chart:treat-empty-cells {
6019 "use-zero" | "leave-gap" | "ignore"
6021 & attribute chart:link-data-style-to-source { boolean }?
6022 & attribute chart:logarithmic { boolean }?
6023 & attribute chart:maximum { double }?
6024 & attribute chart:minimum { double }?
6025 & attribute chart:origin { double }?
6026 & attribute chart:interval-major { double }?
6027 & attribute chart:interval-minor-divisor { positiveInteger }?
6028 & attribute chart:tick-marks-major-inner { boolean }?
6029 & attribute chart:tick-marks-major-outer { boolean }?
6030 & attribute chart:tick-marks-minor-inner { boolean }?
6031 & attribute chart:tick-marks-minor-outer { boolean }?
6032 & attribute chart:reverse-direction { boolean }?
6033 & attribute chart:display-label { boolean }?
6034 & attribute chart:text-overlap { boolean }?
6035 & attribute text:line-break { boolean }?
6036 & attribute chart:label-arrangement {
6037 "side-by-side" | "stagger-even" | "stagger-odd"
6039 & common-style-direction-attlist
6040 & common-rotation-angle-attlist
6041 & attribute chart:data-label-number {
6042 "none" | "value" | "percentage" | "value-and-percentage"
6044 & attribute chart:data-label-text { boolean }?
6045 & attribute chart:data-label-symbol { boolean }?
6046 & element chart:label-separator { text-p }?
6047 & attribute chart:label-position { labelPositions }?
6048 & attribute chart:label-position-negative { labelPositions }?
6049 & attribute chart:visible { boolean }?
6050 & attribute chart:auto-position { boolean }?
6051 & attribute chart:auto-size { boolean }?
6052 & attribute chart:mean-value { boolean }?
6053 & attribute chart:error-category {
6056 | "standard-deviation"
6063 & attribute chart:error-percentage { double }?
6064 & attribute chart:error-margin { double }?
6065 & attribute chart:error-lower-limit { double }?
6066 & attribute chart:error-upper-limit { double }?
6067 & attribute chart:error-upper-indicator { boolean }?
6068 & attribute chart:error-lower-indicator { boolean }?
6069 & attribute chart:error-lower-range { cellRangeAddressList }?
6070 & attribute chart:error-upper-range { cellRangeAddressList }?
6071 & attribute chart:series-source { "columns" | "rows" }?
6072 & attribute chart:regression-type {
6073 "none" | "linear" | "logarithmic" | "exponential" | "power"
6075 & attribute chart:axis-position { "start" | "end" | double }?
6076 & attribute chart:axis-label-position {
6078 | "near-axis-other-side"
6082 & attribute chart:tick-mark-position {
6083 "at-labels" | "at-axis" | "at-labels-and-axis"
6085 & attribute chart:include-hidden-cells { boolean }?
6100 style-drawing-page-properties-attlist =
6101 attribute presentation:transition-type {
6102 "manual" | "automatic" | "semi-automatic"
6104 & attribute presentation:transition-style {
6109 | "fade-from-bottom"
6110 | "fade-from-upperleft"
6111 | "fade-from-upperright"
6112 | "fade-from-lowerleft"
6113 | "fade-from-lowerright"
6117 | "move-from-bottom"
6118 | "move-from-upperleft"
6119 | "move-from-upperright"
6120 | "move-from-lowerleft"
6121 | "move-from-lowerright"
6124 | "uncover-to-right"
6125 | "uncover-to-bottom"
6126 | "uncover-to-upperleft"
6127 | "uncover-to-upperright"
6128 | "uncover-to-lowerleft"
6129 | "uncover-to-lowerright"
6131 | "fade-from-center"
6132 | "vertical-stripes"
6133 | "horizontal-stripes"
6135 | "counterclockwise"
6139 | "close-horizontal"
6140 | "wavyline-from-left"
6141 | "wavyline-from-top"
6142 | "wavyline-from-right"
6143 | "wavyline-from-bottom"
6151 | "roll-from-bottom"
6152 | "stretch-from-left"
6153 | "stretch-from-top"
6154 | "stretch-from-right"
6155 | "stretch-from-bottom"
6157 | "horizontal-lines"
6160 | "vertical-checkerboard"
6161 | "horizontal-checkerboard"
6162 | "interlocking-horizontal-left"
6163 | "interlocking-horizontal-right"
6164 | "interlocking-vertical-top"
6165 | "interlocking-vertical-bottom"
6171 & attribute presentation:transition-speed { presentationSpeeds }?
6172 & attribute smil:type { \string }?
6173 & attribute smil:subtype { \string }?
6174 & attribute smil:direction { "forward" | "reverse" }?
6175 & attribute smil:fadeColor { color }?
6176 & attribute presentation:duration { duration }?
6177 & attribute presentation:visibility { "visible" | "hidden" }?
6178 & attribute draw:background-size { "full" | "border" }?
6179 & attribute presentation:background-objects-visible { boolean }?
6180 & attribute presentation:background-visible { boolean }?
6181 & attribute presentation:display-header { boolean }?
6182 & attribute presentation:display-footer { boolean }?
6183 & attribute presentation:display-page-number { boolean }?
6184 & attribute presentation:display-date-time { boolean }?
6185 style-drawing-page-properties-elements = presentation-sound?
6186 \string = xsd:string
6189 dateTime = xsd:dateTime
6190 duration = xsd:duration
6191 integer = xsd:integer
6192 nonNegativeInteger = xsd:nonNegativeInteger
6193 positiveInteger = xsd:positiveInteger
6196 base64Binary = xsd:base64Binary
6201 boolean = "true" | "false"
6202 dateOrDateTime = xsd:date | xsd:dateTime
6203 timeOrDateTime = xsd:time | xsd:dateTime
6204 language = xsd:language
6205 countryCode = xsd:token { pattern = "[A-Za-z0-9]{1,8}" }
6206 languageCode = xsd:token { pattern = "[A-Za-z]{1,8}" }
6207 scriptCode = xsd:token { pattern = "[A-Za-z0-9]{1,8}" }
6208 character = xsd:string { length = "1" }
6212 "-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))"
6217 "([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))"
6222 "([0-9]*[1-9][0-9]*(\.[0-9]*)?|0+\.[0-9]*[1-9][0-9]*|\.[0-9]*[1-9][0-9]*)((cm)|(mm)|(in)|(pt)|(pc)|(px))"
6224 percent = xsd:string { pattern = "-?([0-9]+(\.[0-9]*)?|\.[0-9]+)%" }
6225 zeroToHundredPercent =
6227 pattern = "([0-9]?[0-9](\.[0-9]*)?|100(\.0*)?|\.[0-9]+)%"
6229 signedZeroToHundredPercent =
6231 pattern = "-?([0-9]?[0-9](\.[0-9]*)?|100(\.0*)?|\.[0-9]+)%"
6233 relativeLength = xsd:string { pattern = "[0-9]+\*" }
6236 color = xsd:string { pattern = "#[0-9a-fA-F]{6}" }
6239 xsd:string { pattern = "(([\i-[:]][\c-[:]]*)?:)?.+" minLength = "1" }
6240 CURIEs = list { CURIE+ }
6243 pattern = "\[(([\i-[:]][\c-[:]]*)?:)?.+\]"
6246 URIorSafeCURIE = anyURI | SafeCURIE
6247 styleName = xsd:NCName
6248 styleNameRef = xsd:NCName | empty
6249 styleNameRefs = list { xsd:NCName* }
6250 variableName = xsd:string
6251 targetFrameName = "_self" | "_blank" | "_parent" | "_top" | \string
6261 xsd:string { pattern = "-?[0-9]+,-?[0-9]+([ ]+-?[0-9]+,-?[0-9]+)*" }
6262 pathData = xsd:string
6266 "\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)([ ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)){2}[ ]*\)"
6268 namespacedToken = xsd:QName { pattern = "[^:]+:[^:]+" }
6272 "An IRI-reference as defined in [RFC3987]. See ODF 1.2 Part 1 section 18.3."
6274 anyAttListOrElements =
6275 attribute * { text }*,
6279 mixed { anyAttListOrElements }