1 # OASIS OpenDocument v1.1
2 # OASIS Standard, 1 Feb 2007
7 # © 2002-2007 OASIS Open
8 # © 1999-2007 Sun Microsystems, Inc.
10 namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
11 namespace anim = "urn:oasis:names:tc:opendocument:xmlns:animation:1.0"
12 namespace chart = "urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
13 namespace config = "urn:oasis:names:tc:opendocument:xmlns:config:1.0"
14 namespace dc = "http://purl.org/dc/elements/1.1/"
15 namespace dr3d = "urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
16 namespace draw = "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
18 "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
19 namespace form = "urn:oasis:names:tc:opendocument:xmlns:form:1.0"
20 namespace math = "http://www.w3.org/1998/Math/MathML"
21 namespace meta = "urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
22 namespace number = "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
23 namespace office = "urn:oasis:names:tc:opendocument:xmlns:office:1.0"
24 namespace presentation =
25 "urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
26 namespace script = "urn:oasis:names:tc:opendocument:xmlns:script:1.0"
28 "urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"
29 namespace style = "urn:oasis:names:tc:opendocument:xmlns:style:1.0"
31 "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
32 namespace table = "urn:oasis:names:tc:opendocument:xmlns:table:1.0"
33 namespace text = "urn:oasis:names:tc:opendocument:xmlns:text:1.0"
34 namespace xforms = "http://www.w3.org/2002/xforms"
35 namespace xlink = "http://www.w3.org/1999/xlink"
37 office-process-content =
38 [ a:defaultValue = "true" ]
39 attribute office:process-content { boolean }?
42 | office-document-content
43 | office-document-styles
44 | office-document-meta
45 | office-document-settings
47 element office:document {
48 office-document-attrs,
49 office-document-common-attrs,
53 office-font-face-decls,
55 office-automatic-styles,
59 office-document-content =
60 element office:document-content {
61 office-document-common-attrs,
63 office-font-face-decls,
64 office-automatic-styles,
67 office-document-styles =
68 element office:document-styles {
69 office-document-common-attrs,
70 office-font-face-decls,
72 office-automatic-styles,
75 office-document-meta =
76 element office:document-meta {
77 office-document-common-attrs, office-meta
79 office-document-settings =
80 element office:document-settings {
81 office-document-common-attrs, office-settings
83 office-document-common-attrs &= attribute office:version { \string }?
84 office-document-attrs &= attribute office:mimetype { \string }
85 office-meta = element office:meta { office-meta-content }?
86 office-meta-content = anyElements
87 office-meta-content-strict = office-meta-data*
88 office-body = element office:body { office-body-content }
89 office-body-content |=
92 office-text-content-prelude,
93 office-text-content-main*,
94 office-text-content-epilogue
96 office-text-content-prelude =
97 office-forms, text-tracked-changes, text-decls, table-decls
98 office-text-content-main =
100 | (text-page-sequence, (draw-a | shape)*)
105 | text-numbered-paragraph
109 | text-soft-page-break
110 | text-table-of-content
111 | text-illustration-index
115 | text-alphabetical-index
119 office-text-content-epilogue = table-functions
120 office-text-attlist &=
121 [ a:defaultValue = "false" ] attribute text:global { boolean }?
122 office-text-attlist &=
123 [ a:defaultValue = "false" ]
124 attribute text:use-soft-page-breaks { boolean }?
125 office-body-content |=
126 element office:drawing {
127 office-drawing-attlist,
128 office-drawing-content-prelude,
129 office-drawing-content-main,
130 office-drawing-content-epilogue
132 office-drawing-attlist = empty
133 office-drawing-content-prelude = text-decls, table-decls
134 office-drawing-content-main = draw-page*
135 office-drawing-content-epilogue = table-functions
136 office-body-content |=
137 element office:presentation {
138 office-presentation-attlist,
139 office-presentation-content-prelude,
140 office-presentation-content-main,
141 office-presentation-content-epilogue
143 office-presentation-attlist = empty
144 office-presentation-content-prelude =
145 text-decls, table-decls, presentation-decls
146 office-presentation-content-main = draw-page*
147 office-presentation-content-epilogue =
148 presentation-settings, table-functions
149 office-body-content |=
150 element office:spreadsheet {
151 office-spreadsheet-attlist,
152 office-spreadsheet-content-prelude,
153 office-spreadsheet-content-main,
154 office-spreadsheet-content-epilogue
156 office-spreadsheet-content-prelude =
157 table-tracked-changes?, text-decls, table-decls
159 table-calculation-settings?,
160 table-content-validations?,
162 office-spreadsheet-content-main = table-table*
163 office-spreadsheet-content-epilogue = table-functions
165 table-named-expressions?,
166 table-database-ranges?,
167 table-data-pilot-tables?,
168 table-consolidation?,
170 office-body-content |=
171 element office:chart {
172 office-chart-attlist,
173 office-chart-content-prelude,
174 office-chart-content-main,
175 office-chart-content-epilogue
177 office-chart-attlist = empty
178 office-chart-content-prelude = text-decls, table-decls
179 office-chart-content-main = chart-chart
180 office-chart-content-epilogue = table-functions
181 office-body-content |=
182 element office:image {
183 office-image-attlist,
184 office-image-content-prelude,
185 office-image-content-main,
186 office-image-content-epilogue
188 office-image-attlist = empty
189 office-image-content-prelude = empty
190 office-image-content-main = draw-frame
191 office-image-content-epilogue = empty
192 office-settings = element office:settings { config-config-item-set+ }?
193 config-config-item-set =
194 element config:config-item-set {
195 config-config-item-set-attlist, config-items
199 | config-config-item-set
200 | config-config-item-map-named
201 | config-config-item-map-indexed)+
202 config-config-item-set-attlist &= attribute config:name { \string }
204 element config:config-item { config-config-item-attlist, text }
205 config-config-item-attlist &= attribute config:name { \string }
206 config-config-item-attlist &=
207 attribute config:type {
217 config-config-item-map-indexed =
218 element config:config-item-map-indexed {
219 config-config-item-map-indexed-attlist,
220 config-config-item-map-entry+
222 config-config-item-map-indexed-attlist &=
223 attribute config:name { \string }
224 config-config-item-map-entry =
225 element config:config-item-map-entry {
226 config-config-item-map-entry-attlist, config-items
228 config-config-item-map-entry-attlist &=
229 attribute config:name { \string }?
230 config-config-item-map-named =
231 element config:config-item-map-named {
232 config-config-item-map-named-attlist, config-config-item-map-entry+
234 config-config-item-map-named-attlist &=
235 attribute config:name { \string }
237 element office:scripts { office-script*, office-event-listeners? }?
239 element office:script {
240 office-script-attlist,
241 mixed { anyElements }
243 office-script-attlist = attribute script:language { \string }
244 office-font-face-decls =
245 element office:font-face-decls { style-font-face* }?
247 element office:styles {
249 & style-default-style*
250 & text-outline-style?
251 & text-notes-configuration*
252 & text-bibliography-configuration?
253 & text-linenumbering-configuration?
255 & svg-linearGradient*
256 & svg-radialGradient*
262 & style-presentation-page-layout*
264 office-automatic-styles =
265 element office:automatic-styles { styles & style-page-layout* }?
266 office-master-styles =
267 element office:master-styles {
268 style-master-page* & style-handout-master? & draw-layer-set?
273 & number-number-style*
274 & number-currency-style*
275 & number-percentage-style*
278 & number-boolean-style*
280 office-meta-data |= element meta:generator { \string }
281 office-meta-data |= element dc:title { \string }
282 office-meta-data |= element dc:description { \string }
283 office-meta-data |= element dc:subject { \string }
284 office-meta-data |= element meta:keyword { \string }
285 office-meta-data |= element meta:initial-creator { \string }
286 office-meta-data |= dc-creator
287 dc-creator = element dc:creator { \string }
288 office-meta-data |= element meta:printed-by { \string }
289 office-meta-data |= element meta:creation-date { dateTime }
290 office-meta-data |= dc-date
291 dc-date = element dc:date { dateTime }
292 office-meta-data |= element meta:print-date { dateTime }
294 element meta:template {
295 attribute xlink:href { anyURI },
296 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
297 [ a:defaultValue = "onRequest" ]
298 attribute xlink:actuate { "onRequest" }?,
299 attribute xlink:title { \string }?,
300 attribute meta:date { dateTime }?
303 element meta:auto-reload {
304 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
305 [ a:defaultValue = "replace" ] attribute xlink:show { "replace" }?,
306 [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?,
307 attribute xlink:href { anyURI }?,
308 attribute meta:delay { duration }?
311 element meta:hyperlink-behaviour {
312 attribute office:target-frame-name { targetFrameName }?,
313 attribute xlink:show { "new" | "replace" }?
315 office-meta-data |= element dc:language { language }
316 office-meta-data |= element meta:editing-cycles { nonNegativeInteger }
317 office-meta-data |= element meta:editing-duration { duration }
319 element meta:document-statistic {
320 attribute meta:page-count { nonNegativeInteger }?,
321 attribute meta:table-count { nonNegativeInteger }?,
322 attribute meta:draw-count { nonNegativeInteger }?,
323 attribute meta:image-count { nonNegativeInteger }?,
324 attribute meta:ole-object-count { nonNegativeInteger }?,
325 attribute meta:object-count { nonNegativeInteger }?,
326 attribute meta:paragraph-count { nonNegativeInteger }?,
327 attribute meta:word-count { nonNegativeInteger }?,
328 attribute meta:character-count { nonNegativeInteger }?,
329 attribute frame-count { nonNegativeInteger }?,
330 attribute sentence-count { nonNegativeInteger }?,
331 attribute syllable-count { nonNegativeInteger }?,
332 attribute non-whitespace-character-count { nonNegativeInteger }?,
333 attribute meta:row-count { nonNegativeInteger }?,
334 attribute meta:cell-count { nonNegativeInteger }?
337 element meta:user-defined {
338 attribute meta:name { \string },
339 ((attribute meta:value-type { "float" },
341 | (attribute meta:value-type { "date" },
343 | (attribute meta:value-type { "time" },
345 | (attribute meta:value-type { "boolean" },
347 | (attribute meta:value-type { "string" },
353 heading-attrs, paragraph-attrs, text-number?, paragraph-content*
355 heading-attrs &= attribute text:outline-level { positiveInteger }
357 [ a:defaultValue = "false" ]
358 attribute text:restart-numbering { boolean }?
359 heading-attrs &= attribute text:start-value { nonNegativeInteger }?
361 [ a:defaultValue = "false" ]
362 attribute text:is-list-header { boolean }?
363 text-number = element text:number { \string }
364 text-p = element text:p { paragraph-attrs, paragraph-content* }
366 attribute text:style-name { styleNameRef }?,
367 attribute text:class-names { styleNameRefs }?,
368 attribute text:cond-style-name { styleNameRef }?
369 paragraph-attrs &= text-id?
370 text-page-sequence = element text:page-sequence { text-page+ }
371 text-page = element text:page { text-page-attlist, empty }
372 text-page-attlist = attribute text:master-page-name { styleNameRef }
375 text-list-attr, text-list-header?, text-list-item*
377 text-list-attr &= attribute text:style-name { styleNameRef }?
378 text-list-attr &= attribute text:continue-numbering { boolean }?
380 element text:list-item { text-list-item-attr, text-list-item-content }
381 text-list-item-content =
382 text-number?, (text-p | text-h | text-list | text-soft-page-break)*
383 text-list-item-attr &=
384 attribute text:start-value { nonNegativeInteger }?
385 text-list-header = element text:list-header { text-list-item-content }
386 text-numbered-paragraph =
387 element text:numbered-paragraph {
388 text-numbered-paragraph-attr, text-number?, (text-p | text-h)
390 text-numbered-paragraph-attr &=
391 [ a:defaultValue = "1" ] attribute text:level { positiveInteger }?
392 text-numbered-paragraph-attr &= text-list-attr
393 text-numbered-paragraph-attr &= text-list-item-attr
395 element text:section {
397 (text-section-source | text-section-source-dde | empty),
400 text-section-attr &= sectionAttr
401 sectionAttr &= attribute text:style-name { styleNameRef }?
402 sectionAttr &= attribute text:name { \string }
403 sectionAttr &= attribute text:protected { boolean }?
404 sectionAttr &= attribute text:protection-key { \string }?
406 attribute text:display { "true" | "none" }
407 | (attribute text:display { "condition" },
408 attribute text:condition { \string })
410 text-section-source =
411 element text:section-source { text-section-source-attr }
412 text-section-source-attr &=
413 (attribute xlink:href { anyURI },
414 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
415 [ a:defaultValue = "embed" ] attribute xlink:show { "embed" }?)?
416 text-section-source-attr &= attribute text:section-name { \string }?
417 text-section-source-attr &= attribute text:filter-name { \string }?
418 text-section-source-dde = office-dde-source
419 text-tracked-changes =
420 element text:tracked-changes {
421 text-tracked-changes-attr, text-changed-region*
423 text-tracked-changes-attr &=
424 [ a:defaultValue = "true" ] attribute text:track-changes { boolean }?
425 text-changed-region =
426 element text:changed-region {
427 text-changed-region-attr, text-changed-region-content
429 text-changed-region-attr &= attribute text:id { ID }
430 text-changed-region-content |=
431 element text:insertion { office-change-info }
432 text-changed-region-content |=
433 element text:deletion { office-change-info, text-content* }
434 text-changed-region-content |=
435 element text:format-change { office-change-info }
437 element text:change { change-mark-attr }
438 | element text:change-start { change-mark-attr }
439 | element text:change-end { change-mark-attr }
440 change-mark-attr = attribute text:change-id { IDREF }
441 text-soft-page-break = element text:soft-page-break { empty }
443 element text:variable-decls { text-variable-decl* }?,
444 element text:sequence-decls { text-sequence-decl* }?,
445 element text:user-field-decls { text-user-field-decl* }?,
446 element text:dde-connection-decls { text-dde-connection-decl* }?,
447 text-alphabetical-index-auto-mark-file?
448 paragraph-content |= text
451 attribute text:c { nonNegativeInteger }?
453 paragraph-content |= element text:tab { text-tab-attr }
454 text-tab-attr = attribute text:tab-ref { nonNegativeInteger }?
455 paragraph-content |= element text:line-break { empty }
456 paragraph-content |= text-soft-page-break
459 attribute text:style-name { styleNameRef }?,
460 attribute text:class-names { styleNameRefs }?,
465 text-a-attlist, office-event-listeners?, paragraph-content*
467 text-a-attlist &= attribute office:name { \string }?
468 text-a-attlist &= attribute office:title { \string }?
470 attribute xlink:href { anyURI },
471 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
472 [ a:defaultValue = "onRequest" ]
473 attribute xlink:actuate { "onRequest" }?
475 attribute office:target-frame-name { targetFrameName }?,
476 attribute xlink:show { "new" | "replace" }?
478 attribute text:style-name { styleNameRef }?,
479 attribute text:visited-style-name { styleNameRef }?
481 element text:bookmark {
482 attribute text:name { \string }
484 | element text:bookmark-start {
485 attribute text:name { \string }
487 | element text:bookmark-end {
488 attribute text:name { \string }
491 element text:reference-mark {
492 attribute text:name { \string }
495 element text:reference-mark-start {
496 attribute text:name { \string }
498 | element text:reference-mark-end {
499 attribute text:name { \string }
504 attribute text:id { \string }?,
505 element text:note-citation {
506 attribute text:label { \string }?,
509 element text:note-body { text-content* }
511 text-note-class = attribute text:note-class { "footnote" | "endnote" }
514 attribute text:style-name { styleNameRef }?,
515 element text:ruby-base { paragraph-content },
516 element text:ruby-text {
517 attribute text:style-name { styleNameRef }?,
521 paragraph-content |= office-annotation
522 paragraph-content |= change-marks
523 paragraph-content |= shape | draw-a
524 paragraph-content |= element text:date { text-date-attlist, text }
526 common-field-fixed-attlist & common-field-data-style-name-attlist
527 text-date-attlist &= attribute text:date-value { dateOrDateTime }?
528 text-date-attlist &= attribute text:date-adjust { duration }?
529 paragraph-content |= element text:time { text-time-attlist, text }
531 common-field-fixed-attlist & common-field-data-style-name-attlist
532 text-time-attlist &= attribute text:time-value { timeOrDateTime }?
533 text-time-attlist &= attribute text:time-adjust { duration }?
535 element text:page-number { text-page-number-attlist, text }
536 text-page-number-attlist &=
537 common-field-num-format-attlist & common-field-fixed-attlist
538 text-page-number-attlist &= attribute text:page-adjust { integer }?
539 text-page-number-attlist &=
540 attribute text:select-page { "previous" | "current" | "next" }?
542 element text:page-continuation {
543 text-page-continuation-attlist, text
545 text-page-continuation-attlist &=
546 attribute text:select-page { "previous" | "next" }
547 text-page-continuation-attlist &=
548 attribute text:string-value { \string }?
550 element text:sender-firstname { common-field-fixed-attlist, text }
552 element text:sender-lastname { common-field-fixed-attlist, text }
554 element text:sender-initials { common-field-fixed-attlist, text }
556 element text:sender-title { common-field-fixed-attlist, text }
558 element text:sender-position { common-field-fixed-attlist, text }
560 element text:sender-email { common-field-fixed-attlist, text }
562 element text:sender-phone-private { common-field-fixed-attlist, text }
564 element text:sender-fax { common-field-fixed-attlist, text }
566 element text:sender-company { common-field-fixed-attlist, text }
568 element text:sender-phone-work { common-field-fixed-attlist, text }
570 element text:sender-street { common-field-fixed-attlist, text }
572 element text:sender-city { common-field-fixed-attlist, text }
574 element text:sender-postal-code { common-field-fixed-attlist, text }
576 element text:sender-country { common-field-fixed-attlist, text }
578 element text:sender-state-or-province {
579 common-field-fixed-attlist, text
582 element text:author-name { common-field-fixed-attlist, text }
584 element text:author-initials { common-field-fixed-attlist, text }
585 paragraph-content |= element text:chapter { text-chapter-attlist, text }
586 text-chapter-attlist &=
587 attribute text:display {
591 | "plain-number-and-name"
594 text-chapter-attlist &=
595 attribute text:outline-level { nonNegativeInteger }
597 element text:file-name { text-file-name-attlist, text }
598 text-file-name-attlist &=
599 attribute text:display {
600 "full" | "path" | "name" | "name-and-extension"
602 text-file-name-attlist &= common-field-fixed-attlist
604 element text:template-name { text-template-name-attlist, text }
605 text-template-name-attlist =
606 attribute text:display {
607 "full" | "path" | "name" | "name-and-extension" | "area" | "title"
609 paragraph-content |= element text:sheet-name { text }
611 element text:variable-decl {
612 common-field-name-attlist, common-value-type-attlist
615 element text:variable-set {
616 (common-field-name-attlist
617 & common-field-formula-attlist
618 & common-value-and-type-attlist
619 & common-field-display-value-none-attlist
620 & common-field-data-style-name-attlist),
624 element text:variable-get {
625 (common-field-name-attlist
626 & common-field-display-value-formula-attlist
627 & common-field-data-style-name-attlist),
631 element text:variable-input {
632 (common-field-name-attlist
633 & common-field-description-attlist
634 & common-value-type-attlist
635 & common-field-display-value-none-attlist
636 & common-field-data-style-name-attlist),
639 text-user-field-decl =
640 element text:user-field-decl {
641 common-field-name-attlist,
642 common-field-formula-attlist?,
643 common-value-and-type-attlist
646 element text:user-field-get {
647 (common-field-name-attlist
648 & common-field-display-value-formula-none-attlist
649 & common-field-data-style-name-attlist),
653 element text:user-field-input {
654 (common-field-name-attlist
655 & common-field-description-attlist
656 & common-field-data-style-name-attlist),
660 element text:sequence-decl { text-sequence-decl-attlist }
661 text-sequence-decl-attlist &= common-field-name-attlist
662 text-sequence-decl-attlist &=
663 attribute text:display-outline-level { nonNegativeInteger }
664 text-sequence-decl-attlist &=
665 attribute text:separation-character { character }?
667 element text:sequence {
668 (common-field-name-attlist
669 & common-field-formula-attlist
670 & common-field-num-format-attlist
671 & text-sequence-ref-name),
674 text-sequence-ref-name = attribute text:ref-name { \string }?
676 element text:expression {
677 (common-field-formula-attlist
678 & common-value-and-type-attlist?
679 & common-field-display-value-formula-attlist
680 & common-field-data-style-name-attlist),
684 element text:text-input { common-field-description-attlist, text }
686 element text:initial-creator { common-field-fixed-attlist, text }
688 element text:creation-date {
689 (common-field-fixed-attlist
690 & common-field-data-style-name-attlist
691 & attribute text:date-value { dateOrDateTime }?),
695 element text:creation-time {
696 (common-field-fixed-attlist
697 & common-field-data-style-name-attlist
698 & attribute text:time-value { timeOrDateTime }?),
702 element text:description { common-field-fixed-attlist, text }
704 element text:user-defined {
705 (common-field-fixed-attlist
706 & attribute text:name { \string }
707 & common-field-data-style-name-attlist
708 & attribute office:value { double }?
709 & attribute office:date-value { dateOrDateTime }?
710 & attribute office:time-value { duration }?
711 & attribute office:boolean-value { boolean }?
712 & attribute office:string-value { \string }?),
716 element text:print-time {
717 (common-field-fixed-attlist
718 & common-field-data-style-name-attlist
719 & attribute text:time-value { time }?),
723 element text:print-date {
724 (common-field-fixed-attlist
725 & common-field-data-style-name-attlist
726 & attribute text:date-value { date }?),
730 element text:printed-by { common-field-fixed-attlist, text }
732 element text:title { common-field-fixed-attlist, text }
734 element text:subject { common-field-fixed-attlist, text }
736 element text:keywords { common-field-fixed-attlist, text }
738 element text:editing-cycles { common-field-fixed-attlist, text }
740 element text:editing-duration {
741 (common-field-fixed-attlist
742 & common-field-data-style-name-attlist
743 & attribute text:duration { duration }?),
747 element text:modification-time {
748 (common-field-fixed-attlist
749 & common-field-data-style-name-attlist
750 & attribute text:time-value { time }?),
754 element text:modification-date {
755 (common-field-fixed-attlist
756 & common-field-data-style-name-attlist
757 & attribute text:date-value { date }?),
761 element text:creator { common-field-fixed-attlist, text }
763 element text:page-count
764 | text:paragraph-count
766 | text:character-count
769 | text:object-count { common-field-num-format-attlist, text }
770 common-field-database-table =
771 common-field-database-table-attlist, common-field-database-name
772 common-field-database-name |= attribute text:database-name { \string }?
773 common-field-database-name |= form-connection-resource
774 common-field-database-table-attlist &=
775 attribute text:table-name { \string }
776 common-field-database-table-attlist &=
777 attribute text:table-type { "table" | "query" | "command" }?
779 element text:database-display { text-database-display-attlist, text }
780 text-database-display-attlist &= common-field-database-table
781 text-database-display-attlist &= common-field-data-style-name-attlist
782 text-database-display-attlist &= attribute text:column-name { \string }
784 element text:database-next { text-database-next-attlist }
785 text-database-next-attlist &= common-field-database-table
786 text-database-next-attlist &= attribute text:condition { formula }?
788 element text:database-row-select { text-database-row-select-attlist }
789 text-database-row-select-attlist &= common-field-database-table
790 text-database-row-select-attlist &=
791 attribute text:condition { formula }?
792 text-database-row-select-attlist &=
793 attribute text:row-number { nonNegativeInteger }?
795 element text:database-row-number {
796 (common-field-database-table
797 & common-field-num-format-attlist
798 & attribute text:value { nonNegativeInteger }?),
802 element text:database-name { common-field-database-table, text }
804 element text:page-variable-set {
805 text-set-page-variable-attlist, text
807 text-set-page-variable-attlist &= attribute text:active { boolean }?
808 text-set-page-variable-attlist &=
809 attribute text:page-adjust { integer }?
811 element text:page-variable-get {
812 text-get-page-variable-attlist, text
814 text-get-page-variable-attlist &= common-field-num-format-attlist
816 element text:placeholder { text-placeholder-attlist, text }
817 text-placeholder-attlist &=
818 attribute text:placeholder-type {
819 "text" | "table" | "text-box" | "image" | "object"
821 text-placeholder-attlist &= common-field-description-attlist
823 element text:conditional-text { text-conditional-text-attlist, text }
824 text-conditional-text-attlist &= attribute text:condition { formula }
825 text-conditional-text-attlist &=
826 attribute text:string-value-if-true { \string }
827 text-conditional-text-attlist &=
828 attribute text:string-value-if-false { \string }
829 text-conditional-text-attlist &=
830 attribute text:current-value { boolean }?
832 element text:hidden-text { text-hidden-text-attlist, text }
833 text-hidden-text-attlist &= attribute text:condition { formula }
834 text-hidden-text-attlist &= attribute text:string-value { \string }
835 text-hidden-text-attlist &= attribute text:is-hidden { boolean }?
837 element text:reference-ref | text:bookmark-ref {
838 text-common-ref-content & text-ref-content
841 element text:note-ref {
842 text-common-ref-content & text-note-ref-content & text-ref-content
845 element text:sequence-ref {
846 text-common-ref-content & text-sequence-ref-content
848 text-common-ref-content &= text
849 text-common-ref-content &= attribute text:ref-name { \string }?
850 text-note-ref-content &= text-note-class
852 attribute text:reference-format {
853 "page" | "chapter" | "direction" | "text"
855 text-sequence-ref-content &=
856 attribute text:reference-format {
861 | "category-and-value"
866 element text:script {
867 ((attribute xlink:href { anyURI },
868 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?)
870 & attribute script:language { \string }?
873 element text:execute-macro {
874 attribute text:name { \string }?,
875 office-event-listeners?,
879 element text:hidden-paragraph { text-hidden-paragraph-attlist, text }
880 text-hidden-paragraph-attlist &= attribute text:condition { formula }
881 text-hidden-paragraph-attlist &= attribute text:is-hidden { boolean }?
883 element text:dde-connection {
884 attribute text:connection-name { \string },
888 element text:measure {
889 attribute text:kind { "value" | "unit" | "gap" },
893 element text:table-formula {
894 (common-field-formula-attlist
895 & common-field-display-value-formula-attlist
896 & common-field-data-style-name-attlist),
899 common-value-type-attlist = attribute office:value-type { valueType }
900 common-value-and-type-attlist =
901 (attribute office:value-type { "float" },
902 attribute office:value { double })
903 | (attribute office:value-type { "percentage" },
904 attribute office:value { double })
905 | (attribute office:value-type { "currency" },
906 attribute office:value { double },
907 attribute office:currency { \string }?)
908 | (attribute office:value-type { "date" },
909 attribute office:date-value { dateOrDateTime })
910 | (attribute office:value-type { "time" },
911 attribute office:time-value { duration })
912 | (attribute office:value-type { "boolean" },
913 attribute office:boolean-value { boolean })
914 | (attribute office:value-type { "string" },
915 attribute office:string-value { \string }?)
916 common-field-fixed-attlist = attribute text:fixed { boolean }?
917 common-field-name-attlist = attribute text:name { variableName }
918 common-field-description-attlist = attribute text:description { text }?
919 common-field-display-value-none-attlist =
920 attribute text:display { "value" | "none" }?
921 common-field-display-value-formula-none-attlist =
922 attribute text:display { "value" | "formula" | "none" }?
923 common-field-display-value-formula-attlist =
924 attribute text:display { "value" | "formula" }?
925 common-field-formula-attlist = attribute text:formula { formula }?
926 common-field-data-style-name-attlist =
927 attribute style:data-style-name { styleNameRef }?
928 common-field-num-format-attlist = common-num-format-attlist?
930 element text:toc-mark-start { text-toc-mark-start-attrs }
931 text-toc-mark-start-attrs = text-id, text-outline-level
932 text-outline-level = attribute text:outline-level { positiveInteger }?
933 text-id = attribute text:id { \string }
934 paragraph-content |= element text:toc-mark-end { text-id }
936 element text:toc-mark {
937 attribute text:string-value { \string },
941 element text:user-index-mark-start {
942 text-id, text-outline-level, text-index-name
945 element text:user-index-mark-end { text-id, text-outline-level }
947 element text:user-index-mark {
948 attribute text:string-value { \string },
952 text-index-name = attribute text:index-name { \string }
954 element text:alphabetical-index-mark-start {
955 text-id, text-alphabetical-index-mark-attrs
958 element text:alphabetical-index-mark-end { text-id }
960 element text:alphabetical-index-mark {
961 attribute text:string-value { \string },
962 text-alphabetical-index-mark-attrs
964 text-alphabetical-index-mark-attrs &=
965 attribute text:key1 { \string }?,
966 attribute text:key2 { \string }?
967 text-alphabetical-index-mark-attrs &=
968 attribute text:string-value-phonetic { \string }?,
969 attribute text:key1-phonetic { \string }?,
970 attribute text:key2-phonetic { \string }?
971 text-alphabetical-index-mark-attrs &=
972 [ a:defaultValue = "false" ] attribute text:main-entry { boolean }?
974 element text:bibliography-mark {
975 attribute text:bibliography-type { text-bibliography-types },
976 attribute text:identifier
1006 | text:issn { \string }*,
1009 text-bibliography-types =
1032 text-index-body = element text:index-body { index-content-main* }
1033 index-content-main = text-content | text-index-title
1035 element text:index-title { sectionAttr, index-content-main* }
1036 text-table-of-content =
1037 element text:table-of-content {
1038 sectionAttr, text-table-of-content-source, text-index-body
1040 text-table-of-content-source =
1041 element text:table-of-content-source {
1042 text-table-of-content-source-attlist,
1043 text-index-title-template?,
1044 text-table-of-content-entry-template*,
1045 text-index-source-styles*
1047 text-table-of-content-source-attlist &=
1048 attribute text:outline-level { positiveInteger }?
1049 text-table-of-content-source-attlist &=
1050 [ a:defaultValue = "true" ]
1051 attribute text:use-outline-level { boolean }?
1052 text-table-of-content-source-attlist &=
1053 attribute text:use-index-marks { boolean }?
1054 text-table-of-content-source-attlist &=
1055 attribute text:use-index-source-styles { boolean }?
1056 text-table-of-content-source-attlist &=
1057 attribute text:index-scope { "document" | "chapter" }?
1058 text-table-of-content-source-attlist &=
1059 attribute text:relative-tab-stop-position { boolean }?
1060 text-table-of-content-entry-template =
1061 element text:table-of-content-entry-template {
1062 text-table-of-content-entry-template-attlist,
1063 text-table-of-content-children*
1065 text-table-of-content-children =
1066 text-index-entry-chapter
1067 | text-index-entry-page-number
1068 | text-index-entry-text
1069 | text-index-entry-span
1070 | text-index-entry-tab-stop
1071 | text-index-entry-link-start
1072 | text-index-entry-link-end
1073 text-table-of-content-entry-template-attlist &=
1074 attribute text:outline-level { positiveInteger }
1075 text-table-of-content-entry-template-attlist &=
1076 attribute text:style-name { styleNameRef }
1077 text-illustration-index =
1078 element text:illustration-index {
1079 sectionAttr, text-illustration-index-source, text-index-body
1081 text-illustration-index-source =
1082 element text:illustration-index-source {
1083 text-illustration-index-source-attrs,
1084 text-index-title-template?,
1085 text-illustration-index-entry-template?
1087 text-illustration-index-source-attrs &= text-index-scope-attr
1088 text-index-scope-attr =
1089 [ a:defaultValue = "document" ]
1090 attribute text:index-scope { "document" | "chapter" }?
1091 text-illustration-index-source-attrs &=
1092 text-relative-tab-stop-position-attr
1093 text-relative-tab-stop-position-attr =
1094 [ a:defaultValue = "true" ]
1095 attribute text:relative-tab-stop-position { boolean }?
1096 text-illustration-index-source-attrs &=
1097 [ a:defaultValue = "true" ] attribute text:use-caption { boolean }?
1098 text-illustration-index-source-attrs &=
1099 attribute text:caption-sequence-name { \string }?
1100 text-illustration-index-source-attrs &=
1101 attribute text:caption-sequence-format {
1102 "text" | "category-and-value" | "caption"
1104 text-illustration-index-entry-template =
1105 element text:illustration-index-entry-template {
1106 text-illustration-index-entry-content
1108 text-illustration-index-entry-content =
1109 text-illustration-index-entry-template-attrs,
1110 (text-index-entry-page-number
1111 | text-index-entry-text
1112 | text-index-entry-span
1113 | text-index-entry-tab-stop)*
1114 text-illustration-index-entry-template-attrs =
1115 attribute text:style-name { styleNameRef }
1117 element text:table-index {
1118 sectionAttr, text-table-index-source, text-index-body
1120 text-table-index-source =
1121 element text:table-index-source {
1122 text-illustration-index-source-attrs,
1123 text-index-title-template?,
1124 text-table-index-entry-template?
1126 text-table-index-entry-template =
1127 element text:table-index-entry-template {
1128 text-illustration-index-entry-content
1131 element text:object-index {
1132 sectionAttr, text-object-index-source, text-index-body
1134 text-object-index-source =
1135 element text:object-index-source {
1136 text-object-index-source-attrs,
1137 text-index-title-template?,
1138 text-object-index-entry-template?
1140 text-object-index-source-attrs &= text-index-scope-attr
1141 text-object-index-source-attrs &= text-relative-tab-stop-position-attr
1142 text-object-index-source-attrs &=
1143 [ a:defaultValue = "false" ]
1144 attribute text:use-spreadsheet-objects { boolean }?
1145 text-object-index-source-attrs &=
1146 [ a:defaultValue = "false" ]
1147 attribute text:use-math-objects { boolean }?
1148 text-object-index-source-attrs &=
1149 [ a:defaultValue = "false" ]
1150 attribute text:use-draw-objects { boolean }?
1151 text-object-index-source-attrs &=
1152 [ a:defaultValue = "false" ]
1153 attribute text:use-chart-objects { boolean }?
1154 text-object-index-source-attrs &=
1155 [ a:defaultValue = "false" ]
1156 attribute text:use-other-objects { boolean }?
1157 text-object-index-entry-template =
1158 element text:object-index-entry-template {
1159 text-illustration-index-entry-content
1162 element text:user-index {
1163 sectionAttr, text-user-index-source, text-index-body
1165 text-user-index-source =
1166 element text:user-index-source {
1167 text-user-index-source-attr,
1168 text-index-title-template?,
1169 text-user-index-entry-template*,
1170 text-index-source-styles*
1172 text-user-index-source-attr &=
1173 text-index-scope-attr,
1174 text-relative-tab-stop-position-attr,
1175 attribute text:index-name { \string }
1176 text-user-index-source-attr &=
1177 [ a:defaultValue = "false" ]
1178 attribute text:use-index-marks { boolean }?,
1179 [ a:defaultValue = "false" ] attribute text:use-graphics { boolean }?,
1180 [ a:defaultValue = "false" ] attribute text:use-tables { boolean }?,
1181 [ a:defaultValue = "false" ]
1182 attribute text:use-floating-frames { boolean }?,
1183 [ a:defaultValue = "false" ] attribute text:use-objects { boolean }?
1184 text-user-index-source-attr &=
1185 [ a:defaultValue = "false" ]
1186 attribute text:copy-outline-levels { boolean }?
1187 text-user-index-entry-template =
1188 element text:user-index-entry-template {
1189 text-user-index-entry-template-attrs,
1190 (text-index-entry-chapter
1191 | text-index-entry-page-number
1192 | text-index-entry-text
1193 | text-index-entry-span
1194 | text-index-entry-tab-stop)*
1196 text-user-index-entry-template-attrs &=
1197 attribute text:outline-level { positiveInteger }
1198 text-user-index-entry-template-attrs &=
1199 attribute text:style-name { styleNameRef }
1200 text-alphabetical-index =
1201 element text:alphabetical-index {
1202 sectionAttr, text-alphabetical-index-source, text-index-body
1204 text-alphabetical-index-source =
1205 element text:alphabetical-index-source {
1206 text-alphabetical-index-source-attrs,
1207 text-index-title-template?,
1208 text-alphabetical-index-entry-template*
1210 text-alphabetical-index-source-attrs &=
1211 text-index-scope-attr, text-relative-tab-stop-position-attr
1212 text-alphabetical-index-source-attrs &=
1213 [ a:defaultValue = "false" ] attribute text:ignore-case { boolean }?
1214 text-alphabetical-index-source-attrs &=
1215 attribute text:main-entry-style-name { styleNameRef }?
1216 text-alphabetical-index-source-attrs &=
1217 [ a:defaultValue = "false" ]
1218 attribute text:alphabetical-separators { boolean }?
1219 text-alphabetical-index-source-attrs &=
1220 [ a:defaultValue = "true" ]
1221 attribute text:combine-entries { boolean }?,
1222 [ a:defaultValue = "false" ]
1223 attribute text:combine-entries-with-dash { boolean }?,
1224 [ a:defaultValue = "true" ]
1225 attribute text:combine-entries-with-pp { boolean }?
1226 text-alphabetical-index-source-attrs &=
1227 [ a:defaultValue = "false" ]
1228 attribute text:use-keys-as-entries { boolean }?
1229 text-alphabetical-index-source-attrs &=
1230 [ a:defaultValue = "false" ]
1231 attribute text:capitalize-entries { boolean }?
1232 text-alphabetical-index-source-attrs &=
1233 [ a:defaultValue = "false" ]
1234 attribute text:comma-separated { boolean }?
1235 text-alphabetical-index-source-attrs &=
1236 attribute fo:language { languageCode }?
1237 text-alphabetical-index-source-attrs &=
1238 attribute fo:country { countryCode }?
1239 text-alphabetical-index-source-attrs &=
1240 attribute text:sort-algorithm { \string }?
1241 text-alphabetical-index-auto-mark-file =
1242 element text:alphabetical-index-auto-mark-file {
1243 attribute xlink:href { anyURI },
1244 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?
1246 text-alphabetical-index-entry-template =
1247 element text:alphabetical-index-entry-template {
1248 text-alphabetical-index-entry-template-attrs,
1249 (text-index-entry-chapter
1250 | text-index-entry-page-number
1251 | text-index-entry-text
1252 | text-index-entry-span
1253 | text-index-entry-tab-stop)*
1255 text-alphabetical-index-entry-template-attrs &=
1256 attribute text:outline-level { "1" | "2" | "3" | "separator" }
1257 text-alphabetical-index-entry-template-attrs &=
1258 attribute text:style-name { styleNameRef }
1260 element text:bibliography {
1261 sectionAttr, text-bibliography-source, text-index-body
1263 text-bibliography-source =
1264 element text:bibliography-source {
1265 text-index-title-template?, text-bibliography-entry-template*
1267 text-bibliography-entry-template =
1268 element text:bibliography-entry-template {
1269 text-bibliography-entry-template-attrs,
1270 (text-index-entry-span
1271 | text-index-entry-tab-stop
1272 | text-index-entry-bibliography)*
1274 text-bibliography-entry-template-attrs &=
1275 attribute text:bibliography-type { text-bibliography-types }
1276 text-bibliography-entry-template-attrs &=
1277 attribute text:style-name { styleNameRef }
1278 text-index-source-styles =
1279 element text:index-source-styles {
1280 attribute text:outline-level { positiveInteger },
1281 text-index-source-style*
1283 text-index-source-style =
1284 element text:index-source-style {
1285 attribute text:style-name { styleName },
1288 text-index-title-template =
1289 element text:index-title-template {
1290 attribute text:style-name { styleNameRef }?,
1293 text-index-entry-chapter =
1294 element text:index-entry-chapter {
1295 attribute text:style-name { styleNameRef }?,
1296 text-index-entry-chapter-attrs
1298 text-index-entry-chapter-attrs =
1299 [ a:defaultValue = "number" ]
1300 attribute text:display { "name" | "number" | "number-and-name" }?
1301 text-index-entry-text =
1302 element text:index-entry-text {
1303 attribute text:style-name { styleNameRef }?
1305 text-index-entry-page-number =
1306 element text:index-entry-page-number {
1307 attribute text:style-name { styleNameRef }?
1309 text-index-entry-span =
1310 element text:index-entry-span {
1311 attribute text:style-name { styleNameRef }?,
1314 text-index-entry-bibliography =
1315 element text:index-entry-bibliography {
1316 text-index-entry-bibliography-attrs
1318 text-index-entry-bibliography-attrs &=
1319 attribute text:style-name { styleNameRef }?
1320 text-index-entry-bibliography-attrs &=
1321 attribute text:bibliography-data-field {
1325 | "bibliography-type"
1355 text-index-entry-tab-stop =
1356 element text:index-entry-tab-stop {
1357 attribute text:style-name { styleNameRef }?,
1358 text-index-entry-tab-stop-attrs
1360 text-index-entry-tab-stop-attrs &=
1361 attribute style:leader-char { character }?
1362 text-index-entry-tab-stop-attrs &=
1363 attribute style:type { "right" }
1364 | (attribute style:type { "left" },
1365 attribute style:position { length })
1366 text-index-entry-link-start =
1367 element text:index-entry-link-start {
1368 attribute text:style-name { styleNameRef }?
1370 text-index-entry-link-end =
1371 element text:index-entry-link-end {
1372 attribute text:style-name { styleNameRef }?
1375 element table:table {
1376 table-table-attlist,
1377 table-table-source?,
1382 table-columns-and-groups,
1383 table-rows-and-groups
1385 table-columns-and-groups =
1386 (table-table-column-group | table-columns-no-group)+
1387 table-columns-no-group =
1388 (table-columns, (table-table-header-columns, table-columns?)?)
1389 | (table-table-header-columns, table-columns?)
1390 table-columns = table-table-columns | table-table-column+
1391 table-rows-and-groups = (table-table-row-group | table-rows-no-group)+
1392 table-rows-no-group =
1393 (table-rows, (table-table-header-rows, table-rows?)?)
1394 | (table-table-header-rows, table-rows?)
1396 table-table-rows | (text-soft-page-break?, table-table-row)+
1397 table-table-attlist &= attribute table:name { \string }?
1398 table-table-attlist &= attribute table:style-name { styleNameRef }?
1399 table-table-attlist &=
1400 [ a:defaultValue = "false" ] attribute table:protected { boolean }?,
1401 attribute table:protection-key { text }?
1402 table-table-attlist &=
1403 [ a:defaultValue = "true" ] attribute table:print { boolean }?
1404 table-table-attlist &=
1405 attribute table:print-ranges { cellRangeAddressList }?
1407 element table:table-row {
1408 table-table-row-attlist,
1409 (table-table-cell | table-covered-table-cell)+
1411 table-table-row-attlist &=
1412 [ a:defaultValue = "1" ]
1413 attribute table:number-rows-repeated { positiveInteger }?
1414 table-table-row-attlist &= attribute table:style-name { styleNameRef }?
1415 table-table-row-attlist &=
1416 attribute table:default-cell-style-name { styleNameRef }?
1417 table-table-row-attlist &=
1418 [ a:defaultValue = "visible" ]
1419 attribute table:visibility { table-visibility-value }?
1420 table-visibility-value = "visible" | "collapse" | "filter"
1422 element table:table-cell {
1423 table-table-cell-attlist,
1424 table-table-cell-attlist-extra,
1425 table-table-cell-content
1427 table-covered-table-cell =
1428 element table:covered-table-cell {
1429 table-table-cell-attlist, table-table-cell-content
1431 table-table-cell-content =
1432 table-cell-range-source?,
1436 table-table-cell-attlist &=
1437 [ a:defaultValue = "1" ]
1438 attribute table:number-columns-repeated { positiveInteger }?
1439 table-table-cell-attlist-extra &=
1440 [ a:defaultValue = "1" ]
1441 attribute table:number-columns-spanned { positiveInteger }?,
1442 [ a:defaultValue = "1" ]
1443 attribute table:number-rows-spanned { positiveInteger }?
1444 table-table-cell-attlist &= attribute table:style-name { styleNameRef }?
1445 table-table-cell-attlist &=
1446 attribute table:content-validation-name { \string }?
1447 table-table-cell-attlist &= attribute table:formula { \string }?
1448 table-table-cell-attlist-extra &=
1449 attribute table:number-matrix-columns-spanned { positiveInteger }?,
1450 attribute table:number-matrix-rows-spanned { positiveInteger }?
1451 table-table-cell-attlist &= common-value-and-type-attlist?
1452 table-table-cell-attlist &=
1453 [ a:defaultValue = "false" ] attribute table:protect { boolean }?
1454 table-table-column =
1455 element table:table-column { table-table-column-attlist, empty }
1456 table-table-column-attlist &=
1457 [ a:defaultValue = "1" ]
1458 attribute table:number-columns-repeated { positiveInteger }?
1459 table-table-column-attlist &=
1460 attribute table:style-name { styleNameRef }?
1461 table-table-column-attlist &=
1462 [ a:defaultValue = "visible" ]
1463 attribute table:visibility { table-visibility-value }?
1464 table-table-column-attlist &=
1465 attribute table:default-cell-style-name { styleNameRef }?
1466 table-table-header-columns =
1467 element table:table-header-columns { table-table-column+ }
1468 table-table-columns =
1469 element table:table-columns { table-table-column+ }
1470 table-table-column-group =
1471 element table:table-column-group {
1472 table-table-column-group-attlist, table-columns-and-groups
1474 table-table-column-group-attlist &=
1475 [ a:defaultValue = "true" ] attribute table:display { boolean }?
1476 table-table-header-rows =
1477 element table:table-header-rows {
1478 (text-soft-page-break?, table-table-row)+
1481 element table:table-rows { (text-soft-page-break?, table-table-row)+ }
1482 table-table-row-group =
1483 element table:table-row-group {
1484 table-table-row-group-attlist, table-rows-and-groups
1486 table-table-row-group-attlist &=
1487 [ a:defaultValue = "true" ] attribute table:display { boolean }?
1488 table-table-attlist &=
1489 [ a:defaultValue = "false" ] attribute table:is-sub-table { boolean }?
1492 pattern = "($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+"
1497 "($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+(:($?([^\. ']+|'([^']|'')+'))?\.$?[A-Z]+$?[0-9]+)?"
1499 cellRangeAddressList =
1500 # Value is a space separated list of "cellRangeAddress" patterns
1502 table-table-source =
1503 element table:table-source {
1504 table-table-source-attlist, table-linked-source-attlist, empty
1506 table-table-source-attlist &=
1507 [ a:defaultValue = "copy-all" ]
1508 attribute table:mode { "copy-all" | "copy-results-only" }?
1509 table-table-source-attlist &= attribute table:table-name { \string }?
1510 table-linked-source-attlist &=
1511 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
1512 [ a:defaultValue = "onRequest" ]
1513 attribute xlink:actuate { "onRequest" }?,
1514 attribute xlink:href { anyURI }
1515 table-linked-source-attlist &= attribute table:filter-name { \string }?
1516 table-linked-source-attlist &=
1517 attribute table:filter-options { \string }?
1518 table-linked-source-attlist &=
1519 attribute table:refresh-delay { duration }?
1521 element table:scenario { table-scenario-attlist, empty }
1522 table-scenario-attlist &=
1523 attribute table:scenario-ranges { cellRangeAddressList }
1524 table-scenario-attlist &= attribute table:is-active { boolean }
1525 table-scenario-attlist &=
1526 [ a:defaultValue = "true" ]
1527 attribute table:display-border { boolean }?
1528 table-scenario-attlist &= attribute table:border-color { color }?
1529 table-scenario-attlist &=
1530 [ a:defaultValue = "true" ] attribute table:copy-back { boolean }?
1531 table-scenario-attlist &=
1532 [ a:defaultValue = "true" ] attribute table:copy-styles { boolean }?
1533 table-scenario-attlist &=
1534 [ a:defaultValue = "true" ] attribute table:copy-formulas { boolean }?
1535 table-scenario-attlist &= attribute table:comment { \string }?
1536 table-scenario-attlist &= attribute table:protected { boolean }?
1537 table-shapes = element table:shapes { shape+ }
1538 table-cell-range-source =
1539 element table:cell-range-source {
1540 table-table-cell-range-source-attlist,
1541 table-linked-source-attlist,
1544 table-table-cell-range-source-attlist &=
1545 attribute table:name { \string }
1546 table-table-cell-range-source-attlist &=
1547 attribute table:last-column-spanned { positiveInteger },
1548 attribute table:last-row-spanned { positiveInteger }
1550 element table:detective { table-highlighted-range*, table-operation* }
1552 element table:operation { table-operation-attlist, empty }
1553 table-operation-attlist &=
1554 attribute table:name {
1556 | "remove-dependents"
1557 | "trace-precedents"
1558 | "remove-precedents"
1561 table-operation-attlist &= attribute table:index { nonNegativeInteger }
1562 table-highlighted-range =
1563 element table:highlighted-range {
1564 (table-highlighted-range-attlist
1565 | table-highlighted-range-attlist-invalid),
1568 table-highlighted-range-attlist &=
1569 attribute table:cell-range-address { cellRangeAddress }?
1570 table-highlighted-range-attlist &=
1571 attribute table:direction {
1572 "from-another-table" | "to-another-table" | "from-same-table"
1574 table-highlighted-range-attlist &=
1575 [ a:defaultValue = "false" ]
1576 attribute table:contains-error { boolean }?
1577 table-highlighted-range-attlist-invalid &=
1578 attribute table:marked-invalid { boolean }
1579 office-spreadsheet-attlist &=
1580 [ a:defaultValue = "false" ]
1581 attribute table:structure-protected { boolean }?,
1582 attribute table:protection-key { \string }?
1583 table-calculation-settings =
1584 element table:calculation-settings {
1585 table-calculation-setting-attlist,
1589 table-calculation-setting-attlist &=
1590 [ a:defaultValue = "true" ]
1591 attribute table:case-sensitive { boolean }?
1592 table-calculation-setting-attlist &=
1593 [ a:defaultValue = "false" ]
1594 attribute table:precision-as-shown { boolean }?
1595 table-calculation-setting-attlist &=
1596 [ a:defaultValue = "true" ]
1597 attribute table:search-criteria-must-apply-to-whole-cell { boolean }?
1598 table-calculation-setting-attlist &=
1599 [ a:defaultValue = "true" ]
1600 attribute table:automatic-find-labels { boolean }?
1601 table-calculation-setting-attlist &=
1602 [ a:defaultValue = "true" ]
1603 attribute table:use-regular-expressions { boolean }?
1604 table-calculation-setting-attlist &=
1605 [ a:defaultValue = "1930" ]
1606 attribute table:null-year { positiveInteger }?
1608 element table:null-date {
1609 [ a:defaultValue = "date" ]
1610 attribute table:value-type { valueType }?,
1611 [ a:defaultValue = "1899-12-30" ]
1612 attribute table:date-value { date }?,
1616 element table:iteration {
1617 [ a:defaultValue = "disable" ]
1618 attribute table:status { "enable" | "disable" }?,
1619 [ a:defaultValue = "100" ]
1620 attribute table:steps { positiveInteger }?,
1621 [ a:defaultValue = "0.001" ]
1622 attribute table:maximum-difference { double }?,
1625 table-content-validations =
1626 element table:content-validations { table-content-validation+ }
1627 table-content-validation =
1628 element table:content-validation {
1629 table-validation-attlist,
1630 table-help-message?,
1631 (table-error-message
1632 | (table-error-macro, office-event-listeners?))?
1634 table-validation-attlist &= attribute table:name { \string }
1635 table-validation-attlist &= attribute table:condition { \string }?
1636 table-validation-attlist &=
1637 attribute table:base-cell-address { cellAddress }?
1638 table-validation-attlist &=
1639 [ a:defaultValue = "true" ]
1640 attribute table:allow-empty-cell { boolean }?
1641 table-validation-attlist &=
1642 [ a:defaultValue = "unsorted" ]
1643 attribute table:display-list {
1644 "none" | "unsorted" | "sort-ascending"
1646 table-help-message =
1647 element table:help-message {
1648 attribute table:title { \string }?,
1649 [ a:defaultValue = "false" ] attribute table:display { boolean }?,
1652 table-error-message =
1653 element table:error-message {
1654 attribute table:title { \string }?,
1655 [ a:defaultValue = "false" ] attribute table:display { boolean }?,
1656 [ a:defaultValue = "stop" ]
1657 attribute table:message-type {
1658 "stop" | "warning" | "information"
1663 element table:error-macro {
1664 [ a:defaultValue = "true" ] attribute table:execute { boolean }?
1666 table-label-ranges = element table:label-ranges { table-label-range* }
1668 element table:label-range { table-label-range-attlist, empty }
1669 table-label-range-attlist &=
1670 attribute table:label-cell-range-address { cellRangeAddress }
1671 table-label-range-attlist &=
1672 attribute table:data-cell-range-address { cellRangeAddress }
1673 table-label-range-attlist &=
1674 attribute table:orientation { "column" | "row" }
1675 table-named-expressions =
1676 element table:named-expressions {
1677 (table-named-range | table-named-expression)*
1680 element table:named-range { table-named-range-attlist, empty }
1681 table-named-range-attlist &=
1682 attribute table:name { \string },
1683 attribute table:cell-range-address { cellRangeAddress },
1684 attribute table:base-cell-address { cellAddress }?,
1685 [ a:defaultValue = "none" ]
1686 attribute table:range-usable-as {
1689 ("print-range" | "filter" | "repeat-row" | "repeat-column")+
1692 table-named-expression =
1693 element table:named-expression {
1694 table-named-expression-attlist, empty
1696 table-named-expression-attlist &=
1697 attribute table:name { \string },
1698 attribute table:expression { \string },
1699 attribute table:base-cell-address { cellAddress }?
1700 table-database-ranges =
1701 element table:database-ranges { table-database-range* }
1702 table-database-range =
1703 element table:database-range {
1704 table-database-range-attlist,
1705 (table-database-source-sql
1706 | table-database-source-table
1707 | table-database-source-query)?,
1710 table-subtotal-rules?
1712 table-database-range-attlist &= attribute table:name { \string }?
1713 table-database-range-attlist &=
1714 [ a:defaultValue = "false" ] attribute table:is-selection { boolean }?
1715 table-database-range-attlist &=
1716 [ a:defaultValue = "false" ]
1717 attribute table:on-update-keep-styles { boolean }?
1718 table-database-range-attlist &=
1719 [ a:defaultValue = "true" ]
1720 attribute table:on-update-keep-size { boolean }?
1721 table-database-range-attlist &=
1722 [ a:defaultValue = "true" ]
1723 attribute table:has-persistent-data { boolean }?
1724 table-database-range-attlist &=
1725 [ a:defaultValue = "row" ]
1726 attribute table:orientation { "column" | "row" }?
1727 table-database-range-attlist &=
1728 [ a:defaultValue = "true" ]
1729 attribute table:contains-header { boolean }?
1730 table-database-range-attlist &=
1731 [ a:defaultValue = "false" ]
1732 attribute table:display-filter-buttons { boolean }?
1733 table-database-range-attlist &=
1734 attribute table:target-range-address { cellRangeAddress }
1735 table-database-range-attlist &=
1736 attribute table:refresh-delay { boolean }?
1737 table-database-source-sql =
1738 element table:database-source-sql {
1739 table-database-source-sql-attlist, empty
1741 table-database-source-sql-attlist &=
1742 attribute table:database-name { \string }
1743 table-database-source-sql-attlist &=
1744 attribute table:sql-statement { \string }
1745 table-database-source-sql-attlist &=
1746 [ a:defaultValue = "false" ]
1747 attribute table:parse-sql-statement { boolean }?
1748 table-database-source-query =
1749 element table:database-source-table {
1750 table-database-source-table-attlist, empty
1752 table-database-source-table-attlist &=
1753 attribute table:database-name { \string }
1754 table-database-source-table-attlist &=
1755 attribute table:database-table-name { \string }
1756 table-database-source-table =
1757 element table:database-source-query {
1758 table-database-source-query-attlist, empty
1760 table-database-source-query-attlist &=
1761 attribute table:database-name { \string }
1762 table-database-source-query-attlist &=
1763 attribute table:query-name { \string }
1764 table-sort = element table:sort { table-sort-attlist, table-sort-by+ }
1765 table-sort-attlist &=
1766 [ a:defaultValue = "true" ]
1767 attribute table:bind-styles-to-content { boolean }?
1768 table-sort-attlist &=
1769 attribute table:target-range-address { cellRangeAddress }?
1770 table-sort-attlist &=
1771 [ a:defaultValue = "false" ]
1772 attribute table:case-sensitive { boolean }?
1773 table-sort-attlist &= attribute table:language { languageCode }?
1774 table-sort-attlist &= attribute table:country { countryCode }?
1775 table-sort-attlist &= attribute table:algorithm { \string }?
1776 table-sort-by = element table:sort-by { table-sort-by-attlist, empty }
1777 table-sort-by-attlist &=
1778 attribute table:field-number { nonNegativeInteger }
1779 table-sort-by-attlist &=
1780 [ a:defaultValue = "automatic" ]
1781 attribute table:data-type {
1782 "text" | "number" | "automatic" | \string
1784 table-sort-by-attlist &=
1785 [ a:defaultValue = "ascending" ]
1786 attribute table:order { "ascending" | "descending" }?
1787 table-subtotal-rules =
1788 element table:subtotal-rules {
1789 table-subtotal-rules-attlist,
1791 table-subtotal-rule*
1793 table-subtotal-rules-attlist &=
1794 [ a:defaultValue = "true" ]
1795 attribute table:bind-styles-to-content { boolean }?
1796 table-subtotal-rules-attlist &=
1797 [ a:defaultValue = "false" ]
1798 attribute table:case-sensitive { boolean }?
1799 table-subtotal-rules-attlist &=
1800 [ a:defaultValue = "false" ]
1801 attribute table:page-breaks-on-group-change { boolean }?
1803 element table:sort-groups { table-sort-groups-attlist, empty }
1804 table-sort-groups-attlist &=
1805 [ a:defaultValue = "automatic" ]
1806 attribute table:data-type {
1807 "text" | "number" | "automatic" | \string
1809 table-sort-groups-attlist &=
1810 [ a:defaultValue = "ascending" ]
1811 attribute table:order { "ascending" | "descending" }?
1812 table-subtotal-rule =
1813 element table:subtotal-rule {
1814 table-subtotal-rule-attlist, table-subtotal-field*
1816 table-subtotal-rule-attlist &=
1817 attribute table:group-by-field-number { nonNegativeInteger }
1818 table-subtotal-field =
1819 element table:subtotal-field { table-subtotal-field-attlist, empty }
1820 table-subtotal-field-attlist &=
1821 attribute table:field-number { nonNegativeInteger }
1822 table-subtotal-field-attlist &=
1823 attribute table:function {
1839 element table:filter {
1840 table-filter-attlist,
1841 (table-filter-condition | table-filter-and | table-filter-or)
1843 table-filter-attlist &=
1844 attribute table:target-range-address { cellRangeAddress }?
1845 table-filter-attlist &=
1846 [ a:defaultValue = "self" ]
1847 attribute table:condition-source { "self" | "cell-range" }?
1848 table-filter-attlist &=
1849 attribute table:condition-source-range-address { cellRangeAddress }?
1850 table-filter-attlist &=
1851 [ a:defaultValue = "true" ]
1852 attribute table:display-duplicates { boolean }?
1854 element table:filter-and {
1855 (table-filter-or | table-filter-condition)+
1858 element table:filter-or {
1859 (table-filter-and | table-filter-condition)+
1861 table-filter-condition =
1862 element table:filter-condition {
1863 table-filter-condition-attlist, empty
1865 table-filter-condition-attlist &=
1866 attribute table:field-number { nonNegativeInteger }
1867 table-filter-condition-attlist &= attribute table:value { \string }
1868 table-filter-condition-attlist &= attribute table:operator { \string }
1869 table-filter-condition-attlist &=
1870 [ a:defaultValue = "false" ]
1871 attribute table:case-sensitive { \string }?
1872 table-filter-condition-attlist &=
1873 [ a:defaultValue = "text" ]
1874 attribute table:data-type { "text" | "number" }?
1875 table-data-pilot-tables =
1876 element table:data-pilot-tables { table-data-pilot-table* }
1877 table-data-pilot-table =
1878 element table:data-pilot-table {
1879 table-data-pilot-table-attlist,
1880 (table-database-source-sql
1881 | table-database-source-table
1882 | table-database-source-query
1883 | table-source-service
1884 | table-source-cell-range)?,
1885 table-data-pilot-field+
1887 table-data-pilot-table-attlist &= attribute table:name { \string }
1888 table-data-pilot-table-attlist &=
1889 attribute table:application-data { \string }?
1890 table-data-pilot-table-attlist &=
1891 [ a:defaultValue = "both" ]
1892 attribute table:grand-total { "none" | "row" | "column" | "both" }?
1893 table-data-pilot-table-attlist &=
1894 [ a:defaultValue = "false" ]
1895 attribute table:ignore-empty-rows { boolean }?
1896 table-data-pilot-table-attlist &=
1897 [ a:defaultValue = "false" ]
1898 attribute table:identify-categories { boolean }?
1899 table-data-pilot-table-attlist &=
1900 attribute table:target-range-address { cellRangeAddress }
1901 table-data-pilot-table-attlist &=
1902 attribute table:buttons { cellRangeAddressList }?
1903 table-data-pilot-table-attlist &=
1904 [ a:defaultValue = "true" ]
1905 attribute table:show-filter-button { boolean }?
1906 table-data-pilot-table-attlist &=
1907 [ a:defaultValue = "true" ]
1908 attribute table:drill-down-on-double-click { boolean }?
1909 table-source-cell-range =
1910 element table:source-cell-range {
1911 table-source-cell-range-attlist, table-filter?
1913 table-source-cell-range-attlist &=
1914 attribute table:cell-range-address { cellRangeAddress }
1915 table-source-service =
1916 element table:source-service { table-source-service-attlist, empty }
1917 table-source-service-attlist &= attribute table:name { \string }
1918 table-source-service-attlist &= attribute table:source-name { \string }
1919 table-source-service-attlist &= attribute table:object-name { \string }
1920 table-source-service-attlist &= attribute table:user-name { \string }?
1921 table-source-service-attlist &= attribute table:password { \string }?
1922 table-data-pilot-field =
1923 element table:data-pilot-field {
1924 table-data-pilot-field-attlist,
1925 table-data-pilot-level?,
1926 table-data-pilot-field-reference?,
1927 table-data-pilot-groups?
1929 table-data-pilot-field-attlist &=
1930 attribute table:source-field-name { \string }
1931 table-data-pilot-field-attlist &=
1932 attribute table:orientation { "row" | "column" | "data" | "hidden" }
1933 | (attribute table:orientation { "page" },
1934 attribute table:selected-page { \string })
1935 table-data-pilot-field-attlist &=
1936 [ a:defaultValue = "false" ]
1937 attribute table:is-data-layout-field { \string }?
1938 table-data-pilot-field-attlist &=
1939 attribute table:function {
1954 table-data-pilot-field-attlist &=
1955 [ a:defaultValue = "-1" ] attribute table:used-hierarchy { integer }?
1956 table-data-pilot-level =
1957 element table:data-pilot-level {
1958 table-data-pilot-level-attlist,
1959 table-data-pilot-subtotals?,
1960 table-data-pilot-members?,
1961 table-data-pilot-display-info?,
1962 table-data-pilot-sort-info?,
1963 table-data-pilot-layout-info?
1965 table-data-pilot-level-attlist &=
1966 attribute table:show-empty { boolean }?
1967 table-data-pilot-subtotals =
1968 element table:data-pilot-subtotals { table-data-pilot-subtotal* }
1969 table-data-pilot-subtotal =
1970 element table:data-pilot-subtotal {
1971 table-data-pilot-subtotal-attlist, empty
1973 table-data-pilot-subtotal-attlist &=
1974 attribute table:function {
1989 table-data-pilot-members =
1990 element table:data-pilot-members { table-data-pilot-member* }
1991 table-data-pilot-member =
1992 element table:data-pilot-member {
1993 table-data-pilot-member-attlist, empty
1995 table-data-pilot-member-attlist &= attribute table:name { \string }
1996 table-data-pilot-member-attlist &= attribute table:display { boolean }?
1997 table-data-pilot-member-attlist &=
1998 attribute table:show-details { boolean }?
1999 table-data-pilot-display-info =
2000 element table:data-pilot-display-info {
2001 table-data-pilot-display-info-attlist, empty
2003 table-data-pilot-display-info-attlist &=
2004 attribute table:enabled { boolean }
2005 table-data-pilot-display-info-attlist &=
2006 attribute table:data-field { \string }
2007 table-data-pilot-display-info-attlist &=
2008 attribute table:member-count { nonNegativeInteger }
2009 table-data-pilot-display-info-attlist &=
2010 attribute table:display-member-mode { "from-top" | "from-bottom" }
2011 table-data-pilot-sort-info =
2012 element table:data-pilot-sort-info {
2013 table-data-pilot-sort-info-attlist, empty
2015 table-data-pilot-sort-info-attlist &=
2016 (attribute table:sort-mode { "data" },
2017 attribute table:data-field { \string })
2018 | attribute table:sort-mode { "none" | "manual" | "name" }
2019 table-data-pilot-sort-info-attlist &=
2020 attribute table:order { "ascending" | "descending" }
2021 table-data-pilot-layout-info =
2022 element table:data-pilot-layout-info {
2023 table-data-pilot-layout-info-attlist, empty
2025 table-data-pilot-layout-info-attlist &=
2026 attribute table:layout-mode {
2028 | "outline-subtotals-top"
2029 | "outline-subtotals-bottom"
2031 table-data-pilot-layout-info-attlist &=
2032 attribute table:add-empty-lines { boolean }
2033 table-data-pilot-field-reference =
2034 element table:data-pilot-field-reference {
2035 table-data-pilot-field-reference-attlist
2037 table-data-pilot-field-reference-attlist &=
2038 attribute table:field-name { \string }
2039 table-data-pilot-field-reference-attlist &=
2040 (attribute table:member-type { "named" },
2041 attribute table:member-name { \string })
2042 | attribute table:member-type { "previous" | "next" }
2043 table-data-pilot-field-reference-attlist &=
2044 attribute table:type {
2046 | "member-difference"
2047 | "member-percentage"
2048 | "member-percentage-difference"
2051 | "column-percentage"
2052 | "total-percentage"
2055 table-data-pilot-groups =
2056 element table:data-pilot-groups {
2057 table-data-pilot-groups-attlist, table-data-pilot-group+
2059 table-data-pilot-groups-attlist &=
2060 attribute table:source-field-name { \string }
2061 table-data-pilot-groups-attlist &=
2062 attribute table:date-start { dateOrDateTime | "auto" }
2063 | attribute table:start { double | "auto" }
2064 table-data-pilot-groups-attlist &=
2065 attribute table:date-end { dateOrDateTime | "auto" }
2066 | attribute table:end { double | "auto" }
2067 table-data-pilot-groups-attlist &= attribute table:step { double }
2068 table-data-pilot-groups-attlist &=
2069 attribute table:grouped-by {
2078 table-data-pilot-group =
2079 element table:data-pilot-group {
2080 table-data-pilot-group-attlist, table-data-pilot-group-member+
2082 table-data-pilot-group-attlist &= attribute table:name { \string }
2083 table-data-pilot-group-member =
2084 element table:data-pilot-group-member {
2085 table-data-pilot-group-member-attlist
2087 table-data-pilot-group-member-attlist &=
2088 attribute table:name { \string }
2089 table-consolidation =
2090 element table:consolidation { table-consolidation-attlist, empty }
2091 table-consolidation-attlist &=
2092 attribute table:function {
2107 table-consolidation-attlist &=
2108 attribute table:source-cell-range-addresses { cellRangeAddressList }
2109 table-consolidation-attlist &=
2110 attribute table:target-cell-address { cellAddress }
2111 table-consolidation-attlist &=
2112 [ a:defaultValue = "none" ]
2113 attribute table:use-labels { "none" | "row" | "column" | "both" }?
2114 table-consolidation-attlist &=
2115 [ a:defaultValue = "false" ]
2116 attribute table:link-to-source-data { boolean }?
2117 table-dde-links = element table:dde-links { table-dde-link+ }
2118 table-tracked-changes =
2119 element table:tracked-changes {
2120 table-tracked-changes-attlist,
2121 (table-cell-content-change
2126 table-tracked-changes-attlist &=
2127 [ a:defaultValue = "false" ]
2128 attribute table:track-changes { boolean }?
2130 element table:insertion {
2131 table-insertion-attlist,
2132 common-table-change-attlist,
2134 table-dependencies?,
2137 table-insertion-attlist &=
2138 attribute table:type { "row" | "column" | "table" }
2139 table-insertion-attlist &= attribute table:position { integer }
2140 table-insertion-attlist &=
2141 [ a:defaultValue = "1" ] attribute table:count { positiveInteger }?
2142 table-insertion-attlist &= attribute table:table { integer }?
2143 table-dependencies = element table:dependencies { table-dependency+ }
2145 element table:dependency {
2146 attribute table:id { \string },
2150 element table:deletions {
2151 (table-cell-content-deletion | table-change-deletion)+
2153 table-cell-content-deletion =
2154 element table:cell-content-deletion {
2155 attribute table:id { \string }?,
2156 table-cell-address?,
2157 table-change-track-table-cell?
2159 table-change-deletion =
2160 element table:change-deletion {
2161 attribute table:id { \string }?,
2165 element table:deletion {
2166 table-deletion-attlist,
2167 common-table-change-attlist,
2169 table-dependencies?,
2173 table-deletion-attlist &=
2174 attribute table:type { "row" | "column" | "table" }
2175 table-deletion-attlist &= attribute table:position { integer }
2176 table-deletion-attlist &= attribute table:table { integer }?
2177 table-deletion-attlist &=
2178 attribute table:multi-deletion-spanned { integer }?
2180 element table:cut-offs {
2181 table-movement-cut-off+
2182 | (table-insertion-cut-off, table-movement-cut-off*)
2184 table-insertion-cut-off =
2185 element table:insertion-cut-off {
2186 table-insertion-cut-off-attlist, empty
2188 table-insertion-cut-off-attlist &= attribute table:id { \string }
2189 table-insertion-cut-off-attlist &= attribute table:position { integer }
2190 table-movement-cut-off =
2191 element table:movement-cut-off {
2192 table-movement-cut-off-attlist, empty
2194 table-movement-cut-off-attlist &=
2195 attribute table:position { integer }
2196 | (attribute table:start-position { integer },
2197 attribute table:end-position { integer })
2199 element table:movement {
2200 common-table-change-attlist,
2201 table-source-range-address,
2202 table-target-range-address,
2204 table-dependencies?,
2207 table-source-range-address =
2208 element table:source-range-address {
2209 common-table-range-attlist, empty
2211 table-target-range-address =
2212 element table:target-range-address {
2213 common-table-range-attlist, empty
2215 common-table-range-attlist &=
2216 common-table-cell-address-attlist
2217 | common-table-cell-range-address-attlist
2218 common-table-cell-address-attlist &=
2219 attribute table:column { integer },
2220 attribute table:row { integer },
2221 attribute table:table { integer }
2222 common-table-cell-range-address-attlist &=
2223 attribute table:start-column { integer },
2224 attribute table:start-row { integer },
2225 attribute table:start-table { integer },
2226 attribute table:end-column { integer },
2227 attribute table:end-row { integer },
2228 attribute table:end-table { integer }
2229 table-change-track-table-cell &=
2230 element table:change-track-table-cell {
2231 table-change-track-table-cell-attlist, text-p*
2233 table-change-track-table-cell-attlist &=
2234 attribute table:cell-address { cellAddress }?
2235 table-change-track-table-cell-attlist &=
2236 [ a:defaultValue = "false" ]
2237 attribute table:matrix-covered { boolean }?
2238 table-change-track-table-cell-attlist &=
2239 attribute table:formula { \string }?,
2240 attribute table:number-matrix-columns-spanned { positiveInteger }?,
2241 attribute table:number-matrix-rows-spanned { positiveInteger }?,
2242 common-value-and-type-attlist?
2243 table-cell-content-change =
2244 element table:cell-content-change {
2245 common-table-change-attlist,
2248 table-dependencies?,
2252 table-cell-address =
2253 element table:cell-address {
2254 common-table-cell-address-attlist, empty
2257 element table:previous {
2258 attribute table:id { \string }?,
2259 table-change-track-table-cell
2261 common-table-change-attlist &= attribute table:id { \string }
2262 common-table-change-attlist &=
2263 [ a:defaultValue = "pending" ]
2264 attribute table:acceptance-state {
2265 "accepted" | "rejected" | "pending"
2267 common-table-change-attlist &=
2268 attribute table:rejecting-change-id { \string }?
2269 style-handout-master =
2270 element style:handout-master {
2271 common-presentation-header-footer-attlist,
2272 style-handout-master-attlist,
2275 style-handout-master-attlist &=
2276 attribute presentation:presentation-page-layout-name { styleNameRef }?
2277 style-handout-master-attlist &=
2278 attribute style:page-layout-name { styleNameRef }
2279 style-handout-master-attlist &=
2280 attribute draw:style-name { styleNameRef }?
2281 draw-layer-set = element draw:layer-set { draw-layer* }
2283 element draw:layer { draw-layer-attlist, svg-title?, svg-desc? }
2284 draw-layer-attlist &= attribute draw:name { \string }
2285 draw-layer-attlist &=
2286 [ a:defaultValue = "false" ] attribute draw:protected { boolean }?
2287 draw-layer-attlist &=
2288 [ a:defaultValue = "always" ]
2289 attribute draw:display { "always" | "screen" | "printer" | "none" }?
2292 common-presentation-header-footer-attlist,
2296 (presentation-animations | animation-element)?,
2299 draw-page-attlist &= attribute draw:name { \string }?
2300 draw-page-attlist &= attribute draw:style-name { styleNameRef }?
2301 draw-page-attlist &= attribute draw:master-page-name { styleNameRef }
2302 draw-page-attlist &=
2303 attribute presentation:presentation-page-layout-name { styleNameRef }?
2304 common-presentation-header-footer-attlist &=
2305 attribute presentation:use-header-name { \string }?
2306 common-presentation-header-footer-attlist &=
2307 attribute presentation:use-footer-name { \string }?
2308 common-presentation-header-footer-attlist &=
2309 attribute presentation:use-date-time-name { \string }?
2310 draw-page-attlist &= attribute draw:id { ID }?
2311 draw-page-attlist &= attribute draw:nav-order { IDREFS }?
2317 | draw-regular-polygon
2322 | draw-page-thumbnail
2333 common-draw-position-attlist,
2334 common-draw-size-attlist,
2335 common-draw-shape-with-text-and-styles-attlist,
2336 common-draw-caption-id-attlist,
2339 office-event-listeners?,
2343 draw-rect-attlist &= attribute draw:corner-radius { nonNegativeLength }?
2347 common-draw-shape-with-text-and-styles-attlist,
2348 common-draw-caption-id-attlist,
2351 office-event-listeners?,
2355 draw-line-attlist &=
2356 attribute svg:x1 { coordinate },
2357 attribute svg:y1 { coordinate }
2358 draw-line-attlist &=
2359 attribute svg:x2 { coordinate },
2360 attribute svg:y2 { coordinate }
2362 element draw:polyline {
2363 common-draw-points-attlist,
2364 common-draw-position-attlist,
2365 common-draw-size-attlist,
2366 common-draw-viewbox-attlist,
2367 common-draw-shape-with-text-and-styles-attlist,
2368 common-draw-caption-id-attlist,
2371 office-event-listeners?,
2375 common-draw-points-attlist = attribute draw:points { points }
2377 element draw:polygon {
2378 common-draw-points-attlist,
2379 common-draw-position-attlist,
2380 common-draw-size-attlist,
2381 common-draw-viewbox-attlist,
2382 common-draw-shape-with-text-and-styles-attlist,
2383 common-draw-caption-id-attlist,
2386 office-event-listeners?,
2390 draw-regular-polygon =
2391 element draw:regular-polygon {
2392 draw-regular-polygon-attlist,
2393 common-draw-position-attlist,
2394 common-draw-size-attlist,
2395 common-draw-shape-with-text-and-styles-attlist,
2396 common-draw-caption-id-attlist,
2399 office-event-listeners?,
2403 draw-regular-polygon-attlist &=
2404 attribute draw:concave { "false" }
2405 | (attribute draw:concave { "true" },
2406 draw-regular-polygon-sharpness-attlist)
2407 draw-regular-polygon-attlist &=
2408 attribute draw:corners { positiveInteger }
2409 draw-regular-polygon-sharpness-attlist =
2410 attribute draw:sharpness { percent }
2413 common-draw-path-data-attlist,
2414 common-draw-position-attlist,
2415 common-draw-size-attlist,
2416 common-draw-viewbox-attlist,
2417 common-draw-shape-with-text-and-styles-attlist,
2418 common-draw-caption-id-attlist,
2421 office-event-listeners?,
2425 common-draw-path-data-attlist = attribute svg:d { pathData }
2427 element draw:circle {
2428 draw-circle-attlist,
2429 common-draw-circle-ellipse-attlist,
2430 common-draw-position-attlist,
2431 common-draw-size-attlist,
2432 common-draw-shape-with-text-and-styles-attlist,
2433 common-draw-caption-id-attlist,
2436 office-event-listeners?,
2440 common-draw-circle-ellipse-attlist &=
2441 (attribute svg:cx { coordinate },
2442 attribute svg:cy { coordinate })?
2443 draw-circle-attlist &= attribute svg:r { length }?
2444 common-draw-circle-ellipse-attlist &=
2445 [ a:defaultValue = "full" ]
2446 attribute draw:kind { "full" | "section" | "cut" | "arc" }?
2447 common-draw-circle-ellipse-attlist &=
2448 attribute draw:start-angle { double }?
2449 common-draw-circle-ellipse-attlist &=
2450 attribute draw:end-angle { double }?
2452 element draw:ellipse {
2453 common-draw-circle-ellipse-attlist,
2454 draw-ellipse-attlist,
2455 common-draw-position-attlist,
2456 common-draw-size-attlist,
2457 common-draw-shape-with-text-and-styles-attlist,
2458 common-draw-caption-id-attlist,
2461 office-event-listeners?,
2465 draw-ellipse-attlist &=
2466 (attribute svg:rx { length },
2467 attribute svg:ry { length })?
2469 element draw:connector {
2470 draw-connector-attlist,
2471 common-draw-shape-with-text-and-styles-attlist,
2472 common-draw-caption-id-attlist,
2475 office-event-listeners?,
2479 draw-connector-attlist &=
2480 [ a:defaultValue = "standard" ]
2481 attribute draw:type { "standard" | "lines" | "line" | "curve" }?
2482 draw-connector-attlist &=
2483 (attribute svg:x1 { coordinate },
2484 attribute svg:y1 { coordinate })?
2485 draw-connector-attlist &= attribute draw:start-shape { IDREF }?
2486 draw-connector-attlist &=
2487 attribute draw:start-glue-point { nonNegativeInteger }?
2488 draw-connector-attlist &=
2489 (attribute svg:x2 { coordinate },
2490 attribute svg:y2 { coordinate })?
2491 draw-connector-attlist &= attribute draw:end-shape { IDREF }?
2492 draw-connector-attlist &=
2493 attribute draw:end-glue-point { nonNegativeInteger }?
2494 draw-connector-attlist &=
2495 attribute draw:line-skew {
2496 list { length, (length, length?)? }
2499 element draw:caption {
2500 draw-caption-attlist,
2501 common-draw-position-attlist,
2502 common-draw-size-attlist,
2503 common-draw-shape-with-text-and-styles-attlist,
2504 common-draw-caption-id-attlist,
2507 office-event-listeners?,
2511 draw-caption-attlist &=
2512 (attribute draw:caption-point-x { coordinate },
2513 attribute draw:caption-point-y { coordinate })?
2514 draw-caption-attlist &=
2515 attribute draw:corner-radius { nonNegativeLength }?
2517 element draw:measure {
2518 draw-measure-attlist,
2519 common-draw-shape-with-text-and-styles-attlist,
2520 common-draw-caption-id-attlist,
2523 office-event-listeners?,
2527 draw-measure-attlist &=
2528 attribute svg:x1 { coordinate },
2529 attribute svg:y1 { coordinate }
2530 draw-measure-attlist &=
2531 attribute svg:x2 { coordinate },
2532 attribute svg:y2 { coordinate }
2534 element draw:control {
2535 draw-control-attlist,
2536 common-draw-position-attlist,
2537 common-draw-size-attlist,
2538 common-draw-shape-with-text-and-styles-attlist,
2539 common-draw-caption-id-attlist,
2544 draw-control-attlist &= attribute draw:control { IDREF }
2545 draw-page-thumbnail =
2546 element draw:page-thumbnail {
2547 draw-page-thumbnail-attlist,
2548 common-draw-position-attlist,
2549 common-draw-size-attlist,
2550 presentation-shape-attlist,
2551 common-draw-shape-with-styles-attlist,
2552 common-draw-caption-id-attlist,
2556 draw-page-thumbnail-attlist =
2557 attribute draw:page-number { positiveInteger }?
2561 common-draw-z-index-attlist,
2562 common-draw-name-attlist,
2563 common-draw-id-attlist,
2564 common-draw-style-name-attlist,
2565 common-text-spreadsheet-shape-attlist,
2566 common-draw-caption-id-attlist,
2569 office-event-listeners?,
2573 draw-g-attlist &= attribute svg:y { coordinate }?
2574 common-draw-name-attlist &= attribute draw:name { \string }?
2575 common-draw-caption-id-attlist &= attribute draw:caption-id { IDREF }?
2576 common-draw-position-attlist =
2577 attribute svg:x { coordinate }?,
2578 attribute svg:y { coordinate }?
2579 common-draw-size-attlist =
2580 attribute svg:width { length }?,
2581 attribute svg:height { length }?
2582 common-draw-transform-attlist = attribute draw:transform { \string }?
2583 common-draw-viewbox-attlist =
2584 attribute svg:viewBox {
2585 list { integer, integer, integer, integer }
2587 common-draw-style-name-attlist =
2588 (attribute draw:style-name { styleNameRef }?,
2589 attribute draw:class-names { styleNameRefs }?)
2590 | (attribute presentation:style-name { styleNameRef }?,
2591 attribute presentation:class-names { styleNameRefs }?)
2592 common-draw-text-style-name-attlist =
2593 attribute draw:text-style-name { styleNameRef }?
2594 common-draw-layer-name-attlist = attribute draw:layer { xsd:string }?
2595 common-draw-id-attlist = attribute draw:id { ID }?
2596 common-draw-z-index-attlist =
2597 attribute draw:z-index { nonNegativeInteger }?
2598 common-text-spreadsheet-shape-attlist &=
2599 attribute table:end-cell-address { cellAddress }?,
2600 attribute table:end-x { coordinate }?,
2601 attribute table:end-y { coordinate }?
2602 common-text-spreadsheet-shape-attlist &=
2603 attribute table:table-background { boolean }?
2604 common-text-spreadsheet-shape-attlist &= common-text-anchor-attlist
2605 common-text-anchor-attlist &=
2606 attribute text:anchor-type {
2607 "page" | "frame" | "paragraph" | "char" | "as-char"
2609 common-text-anchor-attlist &=
2610 attribute text:anchor-page-number { positiveInteger }?
2611 draw-text = (text-p | text-list)*
2612 common-draw-shape-with-styles-attlist =
2613 common-draw-z-index-attlist,
2614 common-draw-id-attlist,
2615 common-draw-layer-name-attlist,
2616 common-draw-style-name-attlist,
2617 common-draw-transform-attlist,
2618 common-draw-name-attlist,
2619 common-text-spreadsheet-shape-attlist
2620 common-draw-shape-with-text-and-styles-attlist =
2621 common-draw-shape-with-styles-attlist,
2622 common-draw-text-style-name-attlist
2624 element draw:glue-point { draw-glue-point-attlist, empty }
2625 draw-glue-point-attlist &= attribute draw:id { nonNegativeInteger }
2626 draw-glue-point-attlist &=
2627 attribute svg:x { distance | percent },
2628 attribute svg:y { distance | percent }
2629 draw-glue-point-attlist &=
2630 attribute draw:align {
2640 draw-glue-points-attlist &=
2641 attribute draw:escape-direction {
2650 svg-title = element svg:title { text }
2651 svg-desc = element svg:desc { text }
2653 element draw:frame {
2654 common-draw-shape-with-text-and-styles-attlist,
2655 common-draw-position-attlist,
2656 common-draw-rel-size-attlist,
2657 common-draw-caption-id-attlist,
2658 presentation-shape-attlist,
2665 | draw-floating-frame
2667 office-event-listeners?,
2672 (draw-contour-polygon | draw-contour-path)?
2674 common-draw-rel-size-attlist =
2675 common-draw-size-attlist,
2676 attribute style:rel-width { percent | "scale" | "scale-min" }?,
2677 attribute style:rel-height { percent | "scale" | "scale-min" }?
2678 draw-frame-attlist &= attribute draw:copy-of { \string }?
2680 element draw:text-box { draw-text-box-attlist, text-content* }
2681 draw-text-box-attlist &= attribute draw:chain-next-name { \string }?
2682 draw-text-box-attlist &=
2683 attribute draw:corner-radius { nonNegativeLength }?
2684 draw-text-box-attlist &=
2685 attribute fo:min-height { length | percent }?,
2686 attribute fo:min-width { length | percent }?
2687 draw-text-box-attlist &=
2688 attribute fo:max-height { length | percent }?,
2689 attribute fo:max-width { length | percent }?
2690 draw-text-box-attlist &= text-id?
2692 element draw:image {
2694 (common-draw-data-attlist | office-binary-data),
2697 common-draw-data-attlist &=
2698 attribute xlink:href { anyURI },
2699 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
2700 [ a:defaultValue = "embed" ] attribute xlink:show { "embed" }?,
2701 [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?
2702 office-binary-data = element office:binary-data { base64Binary }
2703 draw-image-attlist &= attribute draw:filter-name { \string }?
2705 element draw:object {
2706 draw-object-attlist,
2707 (common-draw-data-attlist | office-document | math-math)
2710 element draw:object-ole {
2711 draw-object-ole-attlist,
2712 (common-draw-data-attlist | office-binary-data)
2714 draw-object-attlist &=
2715 attribute draw:notify-on-update-of-ranges { \string }?
2716 draw-object-ole-attlist &= attribute draw:class-id { text }?
2718 element draw:applet {
2719 draw-applet-attlist, common-draw-data-attlist?, draw-param*
2721 draw-applet-attlist &= attribute draw:code { text }?
2722 draw-applet-attlist &= attribute draw:object { text }?
2723 draw-applet-attlist &= attribute draw:archive { text }?
2724 draw-applet-attlist &=
2725 [ a:defaultValue = "false" ] attribute draw:may-script { boolean }?
2727 element draw:plugin {
2728 draw-plugin-attlist, common-draw-data-attlist, draw-param*
2730 draw-plugin-attlist &= attribute draw:mime-type { text }?
2731 draw-param = element draw:param { draw-param-attlist, empty }
2732 draw-param-attlist &= attribute draw:name { text }?
2733 draw-param-attlist &= attribute draw:value { text }?
2734 draw-floating-frame =
2735 element draw:floating-frame {
2736 draw-floating-frame-attlist, common-draw-data-attlist
2738 draw-floating-frame-attlist &= attribute draw:frame-name { \string }?
2739 draw-contour-polygon =
2740 element draw:contour-polygon {
2741 common-contour-attlist,
2742 common-draw-size-attlist,
2743 common-draw-viewbox-attlist,
2744 common-draw-points-attlist,
2748 element draw:contour-path {
2749 common-contour-attlist,
2750 common-draw-size-attlist,
2751 common-draw-viewbox-attlist,
2752 common-draw-path-data-attlist,
2755 common-contour-attlist &= attribute draw:recreate-on-edit { boolean }
2756 draw-a = element draw:a { draw-a-attlist, draw-frame }
2758 attribute xlink:href { anyURI },
2759 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
2760 [ a:defaultValue = "onRequest" ]
2761 attribute xlink:actuate { "onRequest" }?
2763 attribute office:target-frame-name { targetFrameName }?,
2764 attribute xlink:show { "new" | "replace" }?
2765 draw-a-attlist &= attribute office:name { \string }?
2766 draw-a-attlist &= attribute office:title { \string }?
2768 [ a:defaultValue = "false" ] attribute office:server-map { boolean }?
2770 element draw:image-map {
2771 (draw-area-rectangle | draw-area-circle | draw-area-polygon)*
2773 draw-area-rectangle =
2774 element draw:area-rectangle {
2775 common-draw-area-attlist,
2776 attribute svg:x { coordinate },
2777 attribute svg:y { coordinate },
2778 attribute svg:width { length },
2779 attribute svg:height { length },
2782 office-event-listeners?
2785 element draw:area-circle {
2786 common-draw-area-attlist,
2787 attribute svg:cx { coordinate },
2788 attribute svg:cy { coordinate },
2789 attribute svg:r { length },
2792 office-event-listeners?
2795 element draw:area-polygon {
2796 common-draw-area-attlist,
2797 attribute svg:x { coordinate },
2798 attribute svg:y { coordinate },
2799 attribute svg:width { length },
2800 attribute svg:height { length },
2801 common-draw-viewbox-attlist,
2802 common-draw-points-attlist,
2805 office-event-listeners?
2807 common-draw-area-attlist &=
2808 attribute xlink:href { anyURI }?,
2809 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
2810 attribute office:target-frame-name { targetFrameName }?,
2811 attribute xlink:show { "new" | "replace" }?
2812 common-draw-area-attlist &= attribute office:name { \string }?
2813 common-draw-area-attlist &= attribute draw:nohref { "nohref" }?
2815 element dr3d:scene {
2817 common-draw-position-attlist,
2818 common-draw-size-attlist,
2819 common-draw-style-name-attlist,
2820 common-draw-z-index-attlist,
2821 common-draw-id-attlist,
2822 common-draw-layer-name-attlist,
2823 common-text-spreadsheet-shape-attlist,
2824 common-dr3d-transform-attlist,
2825 common-draw-caption-id-attlist,
2832 dr3d-scene | dr3d-extrude | dr3d-sphere | dr3d-rotate | dr3d-cube
2833 dr3d-scene-attlist &=
2834 attribute dr3d:vrp { vector3D }?,
2835 attribute dr3d:vpn { vector3D }?,
2836 attribute dr3d:vup { vector3D }?
2837 dr3d-scene-attlist &=
2838 attribute dr3d:projection { "parallel" | "perspective" }?
2839 dr3d-scene-attlist &= attribute dr3d:distance { length }?
2840 dr3d-scene-attlist &= attribute dr3d:focal-length { length }?
2841 dr3d-scene-attlist &=
2842 attribute dr3d:shadow-slant { nonNegativeInteger }?
2843 dr3d-scene-attlist &=
2844 attribute dr3d:shade-mode { "flat" | "phong" | "gouraud" | "draft" }?
2845 dr3d-scene-attlist &= attribute dr3d:ambient-color { color }?
2846 dr3d-scene-attlist &= attribute dr3d:lighting-mode { boolean }?
2847 common-dr3d-transform-attlist = attribute dr3d:transform { text }?
2848 dr3d-light = element dr3d:light { dr3d-light-attlist, empty }
2849 dr3d-light-attlist &= attribute dr3d:diffuse-color { color }?
2850 dr3d-light-attlist &= attribute dr3d:direction { vector3D }
2851 dr3d-light-attlist &= attribute dr3d:enabled { boolean }?
2852 dr3d-light-attlist &= attribute dr3d:specular { boolean }?
2856 common-draw-z-index-attlist,
2857 common-draw-id-attlist,
2858 common-draw-layer-name-attlist,
2859 common-draw-style-name-attlist,
2860 common-dr3d-transform-attlist,
2863 dr3d-cube-attlist &=
2864 attribute dr3d:min-edge { vector3D }?,
2865 attribute dr3d:max-edge { vector3D }?
2867 element dr3d:sphere {
2868 dr3d-sphere-attlist,
2869 common-draw-z-index-attlist,
2870 common-draw-id-attlist,
2871 common-draw-layer-name-attlist,
2872 common-draw-style-name-attlist,
2873 common-dr3d-transform-attlist,
2876 dr3d-sphere-attlist &= attribute dr3d:center { vector3D }?
2877 dr3d-sphere-attlist &= attribute dr3d:size { vector3D }?
2879 element dr3d:extrude {
2880 common-draw-path-data-attlist,
2881 common-draw-viewbox-attlist,
2882 common-draw-id-attlist,
2883 common-draw-z-index-attlist,
2884 common-draw-layer-name-attlist,
2885 common-draw-style-name-attlist,
2886 common-dr3d-transform-attlist,
2890 element dr3d:rotate {
2891 common-draw-viewbox-attlist,
2892 common-draw-path-data-attlist,
2893 common-draw-z-index-attlist,
2894 common-draw-id-attlist,
2895 common-draw-layer-name-attlist,
2896 common-draw-style-name-attlist,
2897 common-dr3d-transform-attlist,
2901 element draw:custom-shape {
2902 draw-custom-shape-attlist,
2903 common-draw-position-attlist,
2904 common-draw-size-attlist,
2905 common-draw-shape-with-text-and-styles-attlist,
2906 common-draw-caption-id-attlist,
2909 office-event-listeners?,
2912 draw-enhanced-geometry?
2914 draw-custom-shape-attlist &= attribute draw:engine { namespacedToken }?
2915 draw-custom-shape-attlist &= attribute draw:data { \string }?
2916 draw-enhanced-geometry =
2917 element draw:enhanced-geometry {
2918 draw-enhanced-geometry-attlist, draw-equation*, draw-handle*
2920 draw-enhanced-geometry-attlist &=
2921 [ a:defaultValue = "non-primitive" ]
2922 attribute draw:type { custom-shape-type }?
2923 custom-shape-type = "non-primitive" | \string
2924 draw-enhanced-geometry-attlist &=
2925 attribute svg:viewBox {
2926 list { integer, integer, integer, integer }
2928 draw-enhanced-geometry-attlist &=
2929 [ a:defaultValue = "false" ]
2930 attribute draw:mirror-vertical { boolean }?,
2931 [ a:defaultValue = "false" ]
2932 attribute draw:mirror-horizontal { boolean }?
2933 draw-enhanced-geometry-attlist &=
2934 [ a:defaultValue = "0" ] attribute draw:text-rotate-angle { double }?
2935 draw-enhanced-geometry-attlist &=
2936 [ a:defaultValue = "false" ]
2937 attribute draw:extrusion-allowed { boolean }?
2938 draw-enhanced-geometry-attlist &=
2939 [ a:defaultValue = "false" ]
2940 attribute draw:text-path-allowed { boolean }?
2941 draw-enhanced-geometry-attlist &=
2942 [ a:defaultValue = "false" ]
2943 attribute draw:concentric-gradient-fill-allowed { boolean }?
2944 draw-enhanced-geometry-attlist &=
2945 [ a:defaultValue = "false" ] attribute draw:extrusion { boolean }?
2946 draw-enhanced-geometry-attlist &=
2947 [ a:defaultValue = "33%" ]
2948 attribute draw:extrusion-brightness { percent }?
2949 draw-enhanced-geometry-attlist &=
2950 [ a:defaultValue = "36pt 0" ]
2951 attribute draw:extrusion-depth {
2952 list { length, double }
2954 draw-enhanced-geometry-attlist &=
2955 [ a:defaultValue = "0%" ]
2956 attribute draw:extrusion-diffusion { percent }?
2957 draw-enhanced-geometry-attlist &=
2958 [ a:defaultValue = "30" ]
2959 attribute draw:extrusion-number-of-line-segments { integer }?
2960 draw-enhanced-geometry-attlist &=
2961 [ a:defaultValue = "true" ]
2962 attribute draw:extrusion-light-face { boolean }?
2963 draw-enhanced-geometry-attlist &=
2964 [ a:defaultValue = "true" ]
2965 attribute draw:extrusion-first-light-harsh { boolean }?
2966 draw-enhanced-geometry-attlist &=
2967 [ a:defaultValue = "true" ]
2968 attribute draw:extrusion-second-light-harsh { boolean }?
2969 draw-enhanced-geometry-attlist &=
2970 [ a:defaultValue = "66%" ]
2971 attribute draw:extrusion-first-light-level { percent }?
2972 draw-enhanced-geometry-attlist &=
2973 [ a:defaultValue = "66%" ]
2974 attribute draw:extrusion-second-light-level { percent }?
2975 draw-enhanced-geometry-attlist &=
2976 [ a:defaultValue = "(5 0 1)" ]
2977 attribute draw:extrusion-first-light-direction { vector3D }?
2978 draw-enhanced-geometry-attlist &=
2979 [ a:defaultValue = "(-5 0 1)" ]
2980 attribute draw:extrusion-second-light-direction { vector3D }?
2981 draw-enhanced-geometry-attlist &=
2982 [ a:defaultValue = "false" ]
2983 attribute draw:extrusion-metal { boolean }?
2984 draw-enhanced-geometry-attlist &=
2985 [ a:defaultValue = "flat" ]
2986 attribute dr3d:shade-mode { "flat" | "phong" | "gouraud" | "draft" }?
2987 draw-enhanced-geometry-attlist &=
2988 [ a:defaultValue = "0 0" ]
2989 attribute draw:extrusion-rotation-angle {
2990 list { double, double }
2992 draw-enhanced-geometry-attlist &=
2993 attribute draw:extrusion-rotation-center { vector3D }?
2994 draw-enhanced-geometry-attlist &=
2995 [ a:defaultValue = "50%" ]
2996 attribute draw:extrusion-shininess { percent }?
2997 draw-enhanced-geometry-attlist &=
2998 [ a:defaultValue = "50 45" ]
2999 attribute draw:extrusion-skew {
3000 list { double, double }
3002 draw-enhanced-geometry-attlist &=
3003 [ a:defaultValue = "0%" ]
3004 attribute draw:extrusion-specularity { percent }?
3005 draw-enhanced-geometry-attlist &=
3006 [ a:defaultValue = "parallel" ]
3007 attribute dr3d:projection { "parallel" | "perspective" }?
3008 draw-enhanced-geometry-attlist &=
3009 [ a:defaultValue = "3.5cm -3.5cm 25cm" ]
3010 attribute draw:extrusion-viewpoint { point3D }?
3011 point3D = xsd:string
3012 draw-enhanced-geometry-attlist &=
3013 [ a:defaultValue = "0.5 -0.5" ]
3014 attribute draw:extrusion-origin {
3015 list { double, double }
3017 draw-enhanced-geometry-attlist &=
3018 [ a:defaultValue = "false" ]
3019 attribute draw:extrusion-color { boolean }?
3020 draw-enhanced-geometry-attlist &=
3021 attribute draw:enhanced-path { \string }?
3022 draw-enhanced-geometry-attlist &=
3023 [ a:defaultValue = "0" ]
3024 attribute draw:path-stretchpoint-x { double }?,
3025 [ a:defaultValue = "0" ]
3026 attribute draw:path-stretchpoint-y { double }?
3027 draw-enhanced-geometry-attlist &= attribute draw:text-areas { \string }?
3028 draw-enhanced-geometry-attlist &=
3029 attribute draw:glue-points { \string }?
3030 draw-enhanced-geometry-attlist &=
3031 [ a:defaultValue = "none" ]
3032 attribute draw:glue-point-type { "none" | "segments" | "rectangle" }?
3033 draw-enhanced-geometry-attlist &=
3034 attribute draw:glue-point-leaving-directions { text }?
3035 draw-enhanced-geometry-attlist &=
3036 [ a:defaultValue = "false" ] attribute draw:text-path { boolean }?
3037 draw-enhanced-geometry-attlist &=
3038 [ a:defaultValue = "normal" ]
3039 attribute draw:text-path-mode { "normal" | "path" | "shape" }?
3040 draw-enhanced-geometry-attlist &=
3041 [ a:defaultValue = "path" ]
3042 attribute draw:text-path-scale { "path" | "shape" }?
3043 draw-enhanced-geometry-attlist &=
3044 [ a:defaultValue = "false" ]
3045 attribute draw:text-path-same-letter-heights { boolean }?
3046 draw-enhanced-geometry-attlist &= attribute draw:modifiers { \string }?
3047 draw-equation = element draw:equation { draw-equation-attlist, empty }
3048 draw-equation-attlist &= attribute draw:name { \string }?
3049 draw-equation-attlist &= attribute draw:formula { \string }?
3050 draw-handle = element draw:handle { draw-handle-attlist, empty }
3051 draw-handle-attlist &=
3052 [ a:defaultValue = "false" ]
3053 attribute draw:handle-mirror-vertical { boolean }?
3054 draw-handle-attlist &=
3055 [ a:defaultValue = "false" ]
3056 attribute draw:handle-mirror-horizontal { boolean }?
3057 draw-handle-attlist &=
3058 [ a:defaultValue = "false" ]
3059 attribute draw:handle-switched { boolean }?
3060 draw-handle-attlist &= attribute draw:handle-position { \string }
3061 draw-handle-attlist &=
3062 attribute draw:handle-range-x-minimum { \string }?
3063 draw-handle-attlist &=
3064 attribute draw:handle-range-x-maximum { \string }?
3065 draw-handle-attlist &=
3066 attribute draw:handle-range-y-minimum { \string }?
3067 draw-handle-attlist &=
3068 attribute draw:handle-range-y-maximum { \string }?
3069 draw-handle-attlist &= attribute draw:handle-polar { \string }?
3070 draw-handle-attlist &=
3071 attribute draw:handle-radius-range-minimum { \string }?
3072 draw-handle-attlist &=
3073 attribute draw:handle-radius-range-maximum { \string }?
3074 presentation-shape-attlist &=
3075 attribute presentation:class { presentation-classes }?
3076 presentation-classes =
3093 presentation-shape-attlist &=
3094 attribute presentation:placeholder { boolean }?
3095 presentation-shape-attlist &=
3096 attribute presentation:user-transformed { boolean }?
3097 presentation-animations =
3098 element presentation:animations {
3099 (presentation-animation-elements | presentation-animation-group)*
3101 presentation-animation-elements =
3102 presentation-show-shape
3103 | presentation-show-text
3104 | presentation-hide-shape
3105 | presentation-hide-text
3108 presentation-sound =
3109 element presentation:sound {
3110 presentation-sound-attlist,
3111 attribute xlink:href { anyURI },
3112 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
3113 [ a:defaultValue = "onRequest" ]
3114 attribute xlink:actuate { "onRequest" }?,
3115 attribute xlink:show { "new" | "replace" }?,
3118 presentation-sound-attlist &=
3119 attribute presentation:play-full { boolean }?
3120 presentation-show-shape =
3121 element presentation:show-shape {
3122 common-presentation-effect-attlist, presentation-sound?
3124 common-presentation-effect-attlist &= attribute draw:shape-id { IDREF }
3125 common-presentation-effect-attlist &=
3126 [ a:defaultValue = "none" ]
3127 attribute presentation:effect { presentationEffects }?
3128 presentationEffects =
3146 common-presentation-effect-attlist &=
3147 [ a:defaultValue = "none" ]
3148 attribute presentation:direction { presentationEffectDirections }?
3149 presentationEffectDirections =
3157 | "from-upper-right"
3159 | "from-lower-right"
3169 | "spiral-inward-left"
3170 | "spiral-inward-right"
3171 | "spiral-outward-left"
3172 | "spiral-outward-right"
3177 | "counter-clockwise"
3178 common-presentation-effect-attlist &=
3179 [ a:defaultValue = "medium" ]
3180 attribute presentation:speed { presentationSpeeds }?
3181 presentationSpeeds = "slow" | "medium" | "fast"
3182 common-presentation-effect-attlist &=
3183 attribute presentation:delay { duration }?
3184 common-presentation-effect-attlist &=
3185 [ a:defaultValue = "100%" ]
3186 attribute presentation:start-scale { percent }?
3187 common-presentation-effect-attlist &=
3188 attribute presentation:path-id { text }?
3189 presentation-show-text =
3190 element presentation:show-text {
3191 common-presentation-effect-attlist, presentation-sound?
3193 presentation-hide-shape =
3194 element presentation:hide-shape {
3195 common-presentation-effect-attlist, presentation-sound?
3197 presentation-hide-text =
3198 element presentation:hide-text {
3199 common-presentation-effect-attlist, presentation-sound?
3202 element presentation:dim {
3203 presentation-dim-attlist, presentation-sound?
3205 presentation-dim-attlist &= attribute draw:shape-id { IDREF }
3206 presentation-dim-attlist &= attribute draw:color { color }
3208 element presentation:play { presentation-play-attlist, empty }
3209 presentation-play-attlist &=
3210 attribute draw:shape-id { IDREF },
3211 [ a:defaultValue = "medium" ]
3212 attribute presentation:speed { presentationSpeeds }?
3213 presentation-animation-group =
3214 element presentation:animation-group {
3215 presentation-animation-elements*
3217 common-anim-attlist &=
3218 [ a:defaultValue = "default" ]
3219 attribute presentation:node-type {
3226 | "interactive-sequence"
3228 common-anim-attlist &= attribute presentation:preset-id { \string }?
3229 common-anim-attlist &=
3230 attribute presentation:preset-sub-type { \string }?
3231 common-anim-attlist &=
3232 [ a:defaultValue = "custom" ]
3233 attribute presentation:preset-class {
3242 common-anim-attlist &= attribute presentation:master-element { IDREF }?
3243 common-anim-attlist &= attribute presentation:group-id { \string }?
3244 presentation-event-listener =
3245 element presentation:event-listener {
3246 presentation-event-listener-attlist, presentation-sound?
3248 presentation-event-listener-attlist &=
3249 attribute script:event-name { \string }
3250 presentation-event-listener-attlist &=
3251 attribute presentation:action {
3265 presentation-event-listener-attlist &=
3266 [ a:defaultValue = "none" ]
3267 attribute presentation:effect { presentationEffects }?
3268 presentation-event-listener-attlist &=
3269 [ a:defaultValue = "none" ]
3270 attribute presentation:direction { presentationEffectDirections }?
3271 presentation-event-listener-attlist &=
3272 [ a:defaultValue = "medium" ]
3273 attribute presentation:speed { presentationSpeeds }?
3274 presentation-event-listener-attlist &=
3275 [ a:defaultValue = "100%" ]
3276 attribute presentation:start-scale { percent }?
3277 presentation-event-listener-attlist &=
3278 attribute xlink:href { anyURI }?,
3279 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
3280 [ a:defaultValue = "embed" ] attribute xlink:show { "embed" }?,
3281 [ a:defaultValue = "onRequest" ]
3282 attribute xlink:actuate { "onRequest" }?
3283 presentation-event-listener-attlist &=
3284 attribute presentation:verb { nonNegativeInteger }?
3285 paragraph-content |= element presentation:header { empty }
3286 paragraph-content |= element presentation:footer { empty }
3287 paragraph-content |= element presentation:date-time { empty }
3288 presentation-decls = presentation-decl*
3289 presentation-decl |=
3290 element presentation:header-decl {
3291 presentation-header-decl-attlist, text
3293 presentation-header-decl-attlist &=
3294 attribute presentation:name { \string }
3295 presentation-decl |=
3296 element presentation:footer-decl {
3297 presentation-footer-decl-attlist, text
3299 presentation-footer-decl-attlist &=
3300 attribute presentation:name { \string }
3301 presentation-decl |=
3302 element presentation:date-time-decl {
3303 presentation-date-time-decl-attlist, text
3305 presentation-date-time-decl-attlist &=
3306 attribute presentation:name { \string }
3307 presentation-date-time-decl-attlist &=
3308 attribute presentation:source { "fixed" | "current-date" }
3309 presentation-date-time-decl-attlist &=
3310 attribute style:data-style-name { styleNameRef }?
3311 presentation-settings =
3312 element presentation:settings {
3313 presentation-settings-attlist, presentation-show*
3315 presentation-settings-attlist &=
3316 attribute presentation:start-page { \string }?
3317 presentation-settings-attlist &=
3318 attribute presentation:show { \string }?
3319 presentation-settings-attlist &=
3320 [ a:defaultValue = "true" ]
3321 attribute presentation:full-screen { boolean }?
3322 presentation-settings-attlist &=
3323 [ a:defaultValue = "false" ]
3324 attribute presentation:endless { boolean }?
3325 presentation-settings-attlist &=
3326 attribute presentation:pause { duration }?
3327 presentation-settings-attlist &=
3328 [ a:defaultValue = "false" ]
3329 attribute presentation:show-logo { boolean }?
3330 presentation-settings-attlist &=
3331 [ a:defaultValue = "false" ]
3332 attribute presentation:force-manual { boolean }?
3333 presentation-settings-attlist &=
3334 [ a:defaultValue = "true" ]
3335 attribute presentation:mouse-visible { boolean }?
3336 presentation-settings-attlist &=
3337 [ a:defaultValue = "false" ]
3338 attribute presentation:mouse-as-pen { boolean }?
3339 presentation-settings-attlist &=
3340 [ a:defaultValue = "false" ]
3341 attribute presentation:start-with-navigator { boolean }?
3342 presentation-settings-attlist &=
3343 [ a:defaultValue = "enabled" ]
3344 attribute presentation:animations { "enabled" | "disabled" }?
3345 presentation-settings-attlist &=
3346 [ a:defaultValue = "enabled" ]
3347 attribute presentation:transition-on-click { "enabled" | "disabled" }?
3348 presentation-settings-attlist &=
3349 [ a:defaultValue = "false" ]
3350 attribute presentation:stay-on-top { boolean }?
3351 presentation-settings-attlist &=
3352 [ a:defaultValue = "true" ]
3353 attribute presentation:show-end-of-presentation-slide { boolean }?
3355 element presentation:show { presentation-show-attlist, empty }
3356 presentation-show-attlist &= attribute presentation:name { \string }
3357 presentation-show-attlist &= attribute presentation:pages { text }
3359 element chart:chart {
3360 chart-chart-attlist,
3368 chart-chart-attlist &= attribute chart:class { namespacedToken }
3369 chart-chart-attlist &= common-draw-size-attlist
3370 chart-chart-attlist &= attribute chart:column-mapping { \string }?
3371 chart-chart-attlist &= attribute chart:row-mapping { \string }?
3372 chart-chart-attlist &= attribute chart:style-name { styleNameRef }?
3373 chart-title = element chart:title { chart-title-attlist, text-p? }
3374 chart-title-attlist &= attribute table:cell-range { cellAddress }?
3375 chart-title-attlist &= common-draw-position-attlist
3376 chart-title-attlist &= attribute chart:style-name { styleNameRef }?
3377 chart-subtitle = element chart:subtitle { chart-title-attlist, text-p? }
3378 chart-footer = element chart:footer { chart-title-attlist, text-p? }
3379 chart-legend = element chart:legend { chart-legend-attlist, empty }
3380 chart-legend-attlist &=
3381 (attribute chart:legend-position {
3382 "start" | "end" | "top" | "bottom"
3384 attribute chart:legend-align { "start" | "center" | "end" }?)
3385 | attribute chart:legend-position {
3386 "top-start" | "bottom-start" | "top-end" | "bottom-end"
3389 chart-legend-attlist &= common-draw-position-attlist
3390 chart-legend-attlist &=
3391 attribute style:legend-expansion { "wide" | "high" | "balanced" }
3392 | (attribute style:legend-expansion { "custom" },
3393 attribute style:legend-expansion-aspect-ratio { double })
3395 chart-legend-attlist &= attribute chart:style-name { styleNameRef }?
3397 element chart:plot-area {
3398 chart-plot-area-attlist,
3402 chart-stock-gain-marker?,
3403 chart-stock-loss-marker?,
3404 chart-stock-range-line?,
3408 chart-plot-area-attlist &=
3409 common-draw-position-attlist, common-draw-size-attlist
3410 chart-plot-area-attlist &= attribute chart:style-name { styleNameRef }?
3411 chart-plot-area-attlist &=
3412 attribute table:cell-range-address { cellRangeAddress }?
3413 chart-plot-area-attlist &=
3414 [ a:defaultValue = "none" ]
3415 attribute chart:data-source-has-labels {
3416 "none" | "row" | "column" | "both"
3418 chart-plot-area-attlist &=
3419 dr3d-scene-attlist, common-dr3d-transform-attlist
3420 chart-wall = element chart:wall { chart-wall-attlist, empty }
3421 chart-wall-attlist &= attribute svg:width { length }?
3422 chart-wall-attlist &= attribute chart:style-name { styleNameRef }?
3423 chart-floor = element chart:floor { chart-floor-attlist, empty }
3424 chart-floor-attlist &= attribute svg:width { length }?
3425 chart-floor-attlist &= attribute chart:style-name { styleNameRef }?
3427 element chart:axis {
3428 chart-axis-attlist, chart-title?, chart-categories?, chart-grid*
3430 chart-axis-attlist &= attribute chart:dimension { "x" | "y" | "z" }
3431 chart-axis-attlist &= attribute chart:name { \string }?
3432 chart-axis-attlist &= attribute chart:style-name { styleNameRef }?
3433 chart-grid = element chart:grid { chart-grid-attlist }
3434 chart-grid-attlist &=
3435 [ a:defaultValue = "major" ]
3436 attribute chart:class { "major" | "minor" }?
3437 chart-grid-attlist &= attribute chart:style-name { styleNameRef }?
3439 element chart:series {
3440 chart-series-attlist,
3443 chart-regression-curve?,
3444 chart-error-indicator?,
3447 chart-series-attlist &=
3448 attribute chart:values-cell-range-address { cellRangeAddress }?
3449 chart-series-attlist &=
3450 attribute chart:label-cell-address { cellAddress }?
3451 chart-series-attlist &= attribute chart:class { namespacedToken }?
3452 chart-series-attlist &= attribute chart:attached-axis { \string }?
3453 chart-series-attlist &= attribute chart:style-name { styleNameRef }?
3455 element chart:domain {
3456 attribute table:cell-range-address { cellRangeAddress }?
3459 element chart:categories {
3460 attribute table:cell-range-address { cellRangeAddress }?
3463 element chart:data-point { chart-data-point-attlist, empty }
3464 chart-data-point-attlist &=
3465 attribute chart:repeated { nonNegativeInteger }?
3466 chart-data-point-attlist &= attribute chart:style-name { styleNameRef }?
3468 element chart:mean-value { chart-mean-value-attlist, empty }
3469 chart-mean-value-attlist &= attribute chart:style-name { styleNameRef }?
3470 chart-error-indicator =
3471 element chart:error-indicator { chart-error-indicator-attlist, empty }
3472 chart-error-indicator-attlist &=
3473 attribute chart:style-name { styleNameRef }?
3474 chart-regression-curve =
3475 element chart:regression-curve {
3476 chart-regression-curve-attlist, empty
3478 chart-regression-curve-attlist &=
3479 attribute chart:style-name { styleNameRef }?
3480 chart-stock-gain-marker =
3481 element chart:stock-gain-marker { common-stock-marker-attlist }
3482 chart-stock-loss-marker =
3483 element chart:stock-loss-marker { common-stock-marker-attlist }
3484 chart-stock-range-line =
3485 element chart:stock-range-line { common-stock-marker-attlist }
3486 common-stock-marker-attlist =
3487 attribute chart:style-name { styleNameRef }?
3489 element office:forms {
3490 office-forms-attlist, (form-form | xforms-model)*
3492 office-forms-attlist &=
3493 [ a:defaultValue = "false" ]
3494 attribute form:automatic-focus { boolean }?
3495 office-forms-attlist &=
3496 [ a:defaultValue = "true" ]
3497 attribute form:apply-design-mode { boolean }?
3500 common-form-control-attlist,
3503 office-event-listeners?,
3504 (controls | form-form)*,
3505 form-connection-resource?
3507 form-form-attlist &=
3508 (attribute xlink:href { anyURI },
3509 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
3510 [ a:defaultValue = "onRequest" ]
3511 attribute xlink:actuate { "onRequest" }?)?
3512 form-form-attlist &=
3513 [ a:defaultValue = "_blank" ]
3514 attribute office:target-frame { targetFrameName }?
3515 form-form-attlist &=
3516 [ a:defaultValue = "get" ]
3517 attribute form:method { "get" | "post" | \string }?
3518 form-form-attlist &=
3519 [ a:defaultValue = "application/x-www-form-urlencoded" ]
3520 attribute form:enctype { \string }?
3521 form-form-attlist &=
3522 [ a:defaultValue = "true" ] attribute form:allow-deletes { boolean }?
3523 form-form-attlist &=
3524 [ a:defaultValue = "true" ] attribute form:allow-inserts { boolean }?
3525 form-form-attlist &=
3526 [ a:defaultValue = "true" ] attribute form:allow-updates { boolean }?
3527 form-form-attlist &=
3528 [ a:defaultValue = "false" ] attribute form:apply-filter { boolean }?
3529 form-form-attlist &=
3530 [ a:defaultValue = "command" ]
3531 attribute form:command-type { "table" | "query" | "command" }?
3532 form-form-attlist &= attribute form:command { text }?
3533 form-form-attlist &= attribute form:datasource { anyURI | \string }?
3534 form-form-attlist &= attribute form:master-fields { \string }?
3535 form-form-attlist &= attribute form:detail-fields { \string }?
3536 form-form-attlist &=
3537 [ a:defaultValue = "true" ]
3538 attribute form:escape-processing { boolean }?
3539 form-form-attlist &= attribute form:filter { \string }?
3540 form-form-attlist &=
3541 [ a:defaultValue = "false" ] attribute form:ignore-result { boolean }?
3542 form-form-attlist &= attribute form:navigation-mode { navigation }?
3543 navigation = "none" | "current" | "parent"
3544 form-form-attlist &= attribute form:order { \string }?
3545 form-form-attlist &= attribute form:tab-cycle { tab-cycles }?
3546 tab-cycles = "records" | "current" | "page"
3547 form-connection-resource =
3548 element form:connection-resource {
3549 attribute xlink:href { anyURI },
3552 xforms-model = element xforms:model { anyAttListOrElements }
3554 element form:text { form-text-attlist, common-form-control-content }
3555 controls |= column-controls
3557 form-control-attlist,
3558 common-current-value-attlist,
3559 common-disabled-attlist,
3560 common-maxlength-attlist,
3561 common-printable-attlist,
3562 common-readonly-attlist,
3564 common-title-attlist,
3565 common-value-attlist,
3566 common-convert-empty-attlist,
3567 common-data-field-attlist
3568 form-control-attlist =
3569 common-form-control-attlist,
3570 common-control-id-attlist,
3572 common-form-control-content = form-properties?, office-event-listeners?
3574 element form:textarea {
3575 form-textarea-attlist, common-form-control-content, text-p*
3577 form-textarea-attlist =
3578 form-control-attlist,
3579 common-current-value-attlist,
3580 common-disabled-attlist,
3581 common-maxlength-attlist,
3582 common-printable-attlist,
3583 common-readonly-attlist,
3585 common-title-attlist,
3586 common-value-attlist,
3587 common-convert-empty-attlist,
3588 common-data-field-attlist
3590 element form:password {
3591 form-password-attlist, common-form-control-content
3593 form-password-attlist &=
3594 form-control-attlist,
3595 common-disabled-attlist,
3596 common-maxlength-attlist,
3597 common-printable-attlist,
3599 common-title-attlist,
3600 common-value-attlist,
3601 common-convert-empty-attlist
3602 form-password-attlist &=
3603 [ a:defaultValue = "*" ] attribute form:echo-char { character }?
3605 element form:file { form-file-attlist, common-form-control-content }
3606 form-file-attlist &=
3607 form-control-attlist,
3608 common-current-value-attlist,
3609 common-disabled-attlist,
3610 common-maxlength-attlist,
3611 common-printable-attlist,
3612 common-readonly-attlist,
3614 common-title-attlist,
3615 common-value-attlist
3617 element form:formatted-text {
3618 form-formatted-text-attlist, common-form-control-content
3620 form-formatted-text-attlist &=
3621 form-control-attlist,
3622 common-current-value-attlist,
3623 common-disabled-attlist,
3624 common-maxlength-attlist,
3625 common-printable-attlist,
3626 common-readonly-attlist,
3628 common-title-attlist,
3629 common-value-attlist,
3630 common-convert-empty-attlist,
3631 common-data-field-attlist
3632 form-formatted-text-attlist &= attribute form:max-value { \string }?
3633 form-formatted-text-attlist &= attribute form:min-value { \string }?
3634 form-formatted-text-attlist &=
3635 [ a:defaultValue = "false" ] attribute form:validation { boolean }?
3637 element form:number {
3638 form-number-attlist,
3639 common-numeric-control-attlist,
3640 common-form-control-content
3642 common-numeric-control-attlist =
3643 form-control-attlist,
3644 common-disabled-attlist,
3645 common-maxlength-attlist,
3646 common-printable-attlist,
3647 common-readonly-attlist,
3649 common-title-attlist,
3650 common-convert-empty-attlist,
3651 common-data-field-attlist
3652 form-number-attlist &= attribute form:value { double }?
3653 form-number-attlist &= attribute form:current-value { double }?
3654 form-number-attlist &= attribute form:min-value { double }?
3655 form-number-attlist &= attribute form:max-value { double }?
3659 common-numeric-control-attlist,
3660 common-form-control-content
3665 common-numeric-control-attlist,
3666 common-form-control-content
3668 form-date-attlist &= attribute form:value { date }?
3669 form-time-attlist &= attribute form:value { time }?
3670 form-date-attlist &= attribute form:current-value { date }?
3671 form-time-attlist &= attribute form:current-value { time }?
3672 form-date-attlist &= attribute form:min-value { date }?
3673 form-time-attlist &= attribute form:min-value { time }?
3674 form-date-attlist &= attribute form:max-value { date }?
3675 form-time-attlist &= attribute form:max-value { time }?
3677 element form:fixed-text {
3678 form-fixed-text-attlist, common-form-control-content
3680 form-fixed-text-attlist &=
3681 form-control-attlist,
3683 common-disabled-attlist,
3685 common-printable-attlist,
3686 common-title-attlist
3687 form-fixed-text-attlist &=
3688 [ a:defaultValue = "false" ] attribute form:multi-line { boolean }?
3690 element form:combobox {
3691 form-combobox-attlist, common-form-control-content, form-item*
3693 form-combobox-attlist &=
3694 form-control-attlist,
3695 common-current-value-attlist,
3696 common-disabled-attlist,
3698 common-maxlength-attlist,
3699 common-printable-attlist,
3700 common-readonly-attlist,
3703 common-title-attlist,
3704 common-value-attlist,
3705 common-convert-empty-attlist,
3706 common-data-field-attlist,
3709 form-combobox-attlist &= attribute form:auto-complete { boolean }?
3710 form-item = element form:item { form-item-attlist, text }
3711 form-item-attlist &= label
3713 element form:listbox {
3714 form-listbox-attlist, common-form-control-content, form-option*
3716 form-listbox-attlist &=
3717 form-control-attlist,
3718 common-disabled-attlist,
3720 common-printable-attlist,
3723 common-title-attlist,
3725 common-data-field-attlist,
3728 form-listbox-attlist &=
3729 [ a:defaultValue = "false" ] attribute form:multiple { boolean }?
3730 form-listbox-attlist &= attribute form:xforms-list-source { \string }?
3731 form-option = element form:option { form-option-attlist, text }
3732 form-option-attlist &=
3733 current-selected, selected, label, common-value-attlist
3735 element form:button {
3736 form-button-attlist, common-form-control-content
3738 form-button-attlist &=
3739 form-control-attlist,
3741 common-disabled-attlist,
3744 common-printable-attlist,
3748 common-title-attlist,
3749 common-value-attlist,
3750 common-form-relative-image-position-attlist
3751 form-button-attlist &=
3752 [ a:defaultValue = "false" ]
3753 attribute form:default-button { boolean }?
3754 form-button-attlist &=
3755 [ a:default-value = "false" ] attribute form:toggle { boolean }?
3756 form-button-attlist &= attribute form:focus-on-click { boolean }?
3757 form-button-attlist &= attribute form:xforms-submission { \string }?
3759 element form:image { form-image-attlist, common-form-control-content }
3760 form-image-attlist &=
3761 form-control-attlist,
3763 common-disabled-attlist,
3765 common-printable-attlist,
3769 common-title-attlist,
3770 common-value-attlist
3772 element form:checkbox {
3773 form-checkbox-attlist, common-form-control-content
3775 form-checkbox-attlist &=
3776 form-control-attlist,
3777 common-disabled-attlist,
3779 common-printable-attlist,
3781 common-title-attlist,
3782 common-value-attlist,
3783 common-data-field-attlist,
3784 common-form-visual-effect-attlist,
3785 common-form-relative-image-position-attlist
3786 states = "unchecked" | "checked" | "unknown"
3787 form-checkbox-attlist &= attribute form:current-state { states }?
3788 form-checkbox-attlist &=
3789 [ a:defaultValue = "false" ] attribute form:is-tristate { boolean }?
3790 form-checkbox-attlist &=
3791 [ a:defaultValue = "unchecked" ] attribute form:state { states }?
3793 element form:radio { form-radio-attlist, common-form-control-content }
3794 form-radio-attlist &=
3795 form-control-attlist,
3797 common-disabled-attlist,
3799 common-printable-attlist,
3802 common-title-attlist,
3803 common-value-attlist,
3804 common-data-field-attlist,
3805 common-form-visual-effect-attlist,
3806 common-form-relative-image-position-attlist
3808 element form:frame { form-frame-attlist, common-form-control-content }
3809 form-frame-attlist &=
3810 form-control-attlist,
3811 common-disabled-attlist,
3814 common-printable-attlist,
3815 common-title-attlist
3817 element form:image-frame {
3818 form-image-frame-attlist, common-form-control-content
3820 form-image-frame-attlist &=
3821 form-control-attlist,
3822 common-disabled-attlist,
3824 common-printable-attlist,
3825 common-readonly-attlist,
3826 common-title-attlist,
3827 common-data-field-attlist
3829 element form:hidden {
3830 form-hidden-attlist, common-form-control-content
3832 form-hidden-attlist &= form-control-attlist, common-value-attlist
3835 form-grid-attlist, common-form-control-content, form-column*
3837 form-grid-attlist &=
3838 form-control-attlist,
3839 common-disabled-attlist,
3840 common-printable-attlist,
3842 common-title-attlist
3844 element form:column { form-column-attlist, column-controls+ }
3845 form-column-attlist &=
3846 common-form-control-attlist, label, text-style-name
3847 text-style-name = attribute form:text-style-name { styleNameRef }?
3849 element form:value-range {
3850 form-value-range-attlist, common-form-control-content
3852 form-value-range-attlist &=
3853 form-control-attlist,
3854 common-disabled-attlist,
3855 common-printable-attlist,
3857 common-title-attlist,
3858 common-value-attlist
3859 form-value-range-attlist &= attribute form:max-value { \string }?
3860 form-value-range-attlist &= attribute form:min-value { \string }?
3861 form-value-range-attlist &=
3862 [ a:defaultName = "1" ] attribute form:step-size { positiveInteger }?
3863 form-value-range-attlist &=
3864 attribute form:page-step-size { positiveInteger }?
3865 form-value-range-attlist &=
3866 attribute form:delay-for-repeat { duration }?
3867 form-value-range-attlist &=
3868 attribute form:orientation { "horizontal" | "vertical" }?
3870 element form:generic-control {
3871 form-generic-control-attlist, common-form-control-content
3873 form-generic-control-attlist &= form-control-attlist
3874 common-form-control-attlist &= attribute form:name { \string }?
3875 common-form-control-attlist &=
3876 attribute form:control-implementation { namespacedToken }?
3877 xforms-bind-attlist = attribute xforms:bind { \string }?
3878 types = "submit" | "reset" | "push" | "url"
3880 [ a:defaultValue = "push" ] attribute form:button-type { types }?
3881 common-control-id-attlist = attribute form:id { ID }
3883 [ a:defaultValue = "false" ]
3884 attribute form:current-selected { boolean }?
3885 common-value-attlist = attribute form:value { \string }?
3886 common-current-value-attlist = attribute form:current-value { \string }?
3887 common-disabled-attlist =
3888 [ a:defaultValue = "false" ] attribute form:disabled { boolean }?
3890 [ a:defaultValue = "false" ] attribute form:dropdown { boolean }?
3891 for = attribute form:for { \string }?
3892 image-data = attribute form:image-data { anyURI }?
3893 label = attribute form:label { \string }?
3894 common-maxlength-attlist =
3895 attribute form:max-length { nonNegativeInteger }?
3896 common-printable-attlist =
3897 [ a:defaultValue = "true" ] attribute form:printable { boolean }?
3898 common-readonly-attlist =
3899 [ a:defaultValue = "false" ] attribute form:readonly { boolean }?
3901 [ a:defaultValue = "false" ] attribute form:selected { boolean }?
3902 size = attribute form:size { nonNegativeInteger }?
3903 common-tab-attlist &=
3904 [ a:defaultValue = "0" ]
3905 attribute form:tab-index { nonNegativeInteger }?
3906 common-tab-attlist &=
3907 [ a:defaultValue = "true" ] attribute form:tab-stop { boolean }?
3909 [ a:defaultValue = "_blank" ]
3910 attribute office:target-frame { targetFrameName }?
3911 target-location = attribute xlink:href { anyURI }?
3912 common-title-attlist = attribute form:title { text }?
3913 common-form-visual-effect-attlist &=
3914 attribute form:visual-effect { "flat" | "3d" }?
3915 common-form-relative-image-position-attlist &=
3916 [ a:defaultValue = "center" ]
3917 attribute form:image-position { "center" }?
3918 | (attribute form:image-position {
3919 "start" | "end" | "top" | "bottom"
3921 [ a:defaultValue = "center" ]
3922 attribute form:image-align { "start" | "center" | "end" }?)
3923 bound-column = attribute form:bound-column { \string }?
3924 common-convert-empty-attlist =
3925 [ a:defaultValue = "false" ]
3926 attribute form:convert-empty-to-null { boolean }?
3927 common-data-field-attlist = attribute form:data-field { \string }?
3928 list-source = attribute form:list-source { \string }?
3930 attribute form:list-source-type {
3934 | "sql-pass-through"
3938 form-properties = element form:properties { form-property+ }
3940 element form:property {
3941 form-property-name, form-property-value-and-type-attlist
3943 form-property-name &= attribute form:property-name { \string }
3944 form-property-value-and-type-attlist &=
3945 common-value-and-type-attlist
3946 | attribute office:value-type { "void" }
3948 element form:list-property {
3949 form-property-name, form-property-type-and-value-list
3951 form-property-type-and-value-list =
3952 (attribute office:value-type { "float" },
3953 element form:list-value {
3954 attribute office:value { double }
3956 | (attribute office:value-type { "percentage" },
3957 element form:list-value {
3958 attribute office:value { double }
3960 | (attribute office:value-type { "currency" },
3961 element form:list-value {
3962 attribute office:value { double },
3963 attribute office:currency { \string }?
3965 | (attribute office:value-type { "date" },
3966 element form:list-value {
3967 attribute office:date-value { dateOrDateTime }
3969 | (attribute office:value-type { "time" },
3970 element form:list-value {
3971 attribute office:time-value { duration }
3973 | (attribute office:value-type { "boolean" },
3974 element form:list-value {
3975 attribute office:boolean-value { boolean }
3977 | (attribute office:value-type { "string" },
3978 element form:list-value {
3979 attribute office:string-value { \string }
3981 | attribute office:value-type { "void" }
3983 element office:annotation {
3984 office-annotation-attlist,
3985 draw-caption-attlist,
3986 common-draw-position-attlist,
3987 common-draw-size-attlist,
3988 common-draw-shape-with-text-and-styles-attlist,
3992 (text-p | text-list)*
3994 office-annotation-attlist &= attribute office:display { boolean }?
3995 meta-date-string = element meta:date-string { \string }
3996 common-num-format-prefix-suffix-attlist &=
3997 attribute style:num-prefix { \string }?,
3998 attribute style:num-suffix { \string }?
3999 common-num-format-attlist &=
4000 attribute style:num-format { "1" | "i" | "I" | \string | empty }
4001 | (attribute style:num-format { "a" | "A" },
4002 style-num-letter-sync-attlist)
4004 style-num-letter-sync-attlist &=
4005 attribute style:num-letter-sync { boolean }?
4006 office-change-info =
4007 element office:change-info { dc-creator, dc-date, text-p* }
4008 office-event-listeners =
4009 element office:event-listeners {
4010 (script-event-listener | presentation-event-listener)*
4012 script-event-listener &=
4013 element script:event-listener { script-event-listener-attlist, empty }
4014 script-event-listener-attlist &= attribute script:event-name { \string }
4015 script-event-listener-attlist &= attribute script:language { \string }
4016 script-event-listener-attlist &=
4017 attribute script:macro-name { \string }
4018 | (attribute xlink:href { anyURI },
4019 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
4020 [ a:defaultValue = "onRequest" ]
4021 attribute xlink:actuate { "onRequest" }?)
4022 math-math = element math:math { mathMarkup }
4023 # To avoid inclusion of the complete MathML schema, anything
4025 # is allowed within a math:math top-level element
4027 (attribute * { text }
4029 | element * { mathMarkup })*
4030 text-dde-connection-decl =
4031 element text:dde-connection-decl {
4032 text-dde-connection-decl-attlist, common-dde-connection-decl-attlist
4034 text-dde-connection-decl-attlist &= attribute office:name { \string }
4035 common-dde-connection-decl-attlist &=
4036 attribute office:dde-application { \string }
4037 common-dde-connection-decl-attlist &=
4038 attribute office:dde-topic { \string }
4039 common-dde-connection-decl-attlist &=
4040 attribute office:dde-item { \string }
4041 common-dde-connection-decl-attlist &=
4042 [ a:defaultValue = "true" ]
4043 attribute office:automatic-update { boolean }?
4045 element table:dde-link { office-dde-source, table-table }
4047 element office:dde-source {
4048 office-dde-source-attlist, common-dde-connection-decl-attlist
4050 office-dde-source-attlist &= attribute office:name { \string }?
4051 office-dde-source-attlist &=
4052 [ a:defaultValue = "into-default-style-data-style" ]
4053 attribute office:conversion-mode {
4054 "into-default-style-data-style"
4055 | "into-english-number"
4058 animation-element |=
4059 element anim:animate {
4060 common-anim-target-attlist,
4061 common-anim-named-target-attlist,
4062 common-anim-values-attlist,
4063 common-anim-spline-mode-attlist,
4064 common-spline-anim-value-attlist,
4065 common-timing-attlist,
4066 common-anim-add-accum-attlist
4068 animation-element |=
4070 common-anim-target-attlist,
4071 common-anim-named-target-attlist,
4072 common-anim-set-values-attlist,
4073 common-timing-attlist,
4074 common-anim-add-accum-attlist
4076 animation-element |=
4077 element anim:animateMotion {
4078 anim-animate-motion-attlist,
4079 common-anim-target-attlist,
4080 common-anim-named-target-attlist,
4081 common-anim-add-accum-attlist,
4082 common-anim-values-attlist,
4083 common-timing-attlist,
4084 common-spline-anim-value-attlist
4086 anim-animate-motion-attlist &= attribute svg:path { pathData }?
4087 anim-animate-motion-attlist &= attribute svg:origin { \string }?
4088 anim-animate-motion-attlist &=
4089 [ a:defaultValue = "paced" ]
4090 attribute smil:calcMode {
4091 "discrete" | "linear" | "paced" | "spline"
4093 animation-element |=
4094 element anim:animateColor {
4095 common-anim-target-attlist,
4096 common-anim-named-target-attlist,
4097 common-anim-add-accum-attlist,
4098 common-anim-values-attlist,
4099 common-anim-spline-mode-attlist,
4100 common-spline-anim-value-attlist,
4101 anim-animate-color-attlist,
4102 common-timing-attlist
4104 anim-animate-color-attlist &=
4105 [ a:defaultValue = "rgb" ]
4106 attribute anim:color-interpolation { "rgb" | "hsl" }?
4107 anim-animate-color-attlist &=
4108 [ a:defaultValue = "clockwise" ]
4109 attribute anim:color-interpolation-direction {
4110 "clockwise" | "counter-clockwise"
4112 animation-element |=
4113 element anim:animateTransform {
4114 common-anim-target-attlist,
4115 common-anim-named-target-attlist,
4116 common-anim-add-accum-attlist,
4117 common-anim-values-attlist,
4118 anim-animate-transform-attlist,
4119 common-timing-attlist
4121 anim-animate-transform-attlist &=
4122 attribute svg:type {
4123 "translate" | "scale" | "rotate" | "skewX" | "skewY"
4125 animation-element |=
4126 element anim:transitionFilter {
4127 common-anim-target-attlist,
4128 common-anim-add-accum-attlist,
4129 common-anim-values-attlist,
4130 common-anim-spline-mode-attlist,
4131 anim-transition-filter-attlist,
4132 common-timing-attlist
4134 anim-transition-filter-attlist &= attribute smil:type { \string }
4135 anim-transition-filter-attlist &= attribute smil:subtype { \string }?
4136 anim-transition-filter-attlist &=
4137 [ a:defaultValue = "forward" ]
4138 attribute smil:direction { "forward" | "reverse" }?
4139 anim-transition-filter-attlist &=
4140 attribute smil:fadeColor { "forward" | "reverse" }?
4141 anim-transition-filter-attlist &=
4142 [ a:defaultValue = "in" ] attribute smil:mode { "in" | "out" }?
4143 common-anim-attlist &= attribute anim:id { ID }?
4144 common-anim-target-attlist &= attribute smil:targetElement { IDREF }?
4145 common-anim-named-target-attlist &=
4146 attribute smil:attributeName { \string }
4147 common-anim-target-attlist &= attribute anim:sub-item { \string }?
4148 common-anim-values-attlist &= attribute smil:values { \string }?
4149 common-anim-spline-mode-attlist &=
4150 [ a:defaultValue = "discrete" ]
4151 attribute smil:calcMode {
4152 "discrete" | "linear" | "paced" | "spline"
4154 common-spline-anim-value-attlist &= attribute smil:keyTimes { \string }?
4155 common-spline-anim-value-attlist &=
4156 attribute smil:keySplines { \string }?
4157 common-anim-add-accum-attlist &=
4158 attribute smil:accumulate { "none" | "sum" }?
4159 common-anim-add-accum-attlist &=
4160 attribute smil:additive { "replace" | "sum" }?
4161 common-anim-values-attlist &= attribute anim:formula { \string }?
4162 common-anim-set-values-attlist &= attribute smil:to { \string }?
4163 common-anim-values-attlist &=
4164 common-anim-set-values-attlist,
4165 attribute smil:from { \string }?,
4166 attribute smil:by { \string }?
4167 common-begin-end-timing-attlist &= attribute smil:begin { \string }?
4168 common-begin-end-timing-attlist &= attribute smil:end { \string }?
4169 common-dur-timing-attlist &= attribute smil:dur { \string }?
4170 common-endsync-timing-attlist &=
4171 attribute smil:endsync { "first" | "last" | "all" | "media" }?
4172 common-repeat-timing-attlist &=
4173 attribute smil:repeatDur { \string }?,
4174 attribute smil:repeatCount { nonNegativeInteger | "indefinite" }?
4175 common-fill-timing-attlist &=
4176 attribute smil:fill {
4177 "remove" | "freeze" | "hold" | "auto" | "default" | "transition"
4179 common-fill-default-attlist &=
4180 attribute smil:fillDefault {
4181 "remove" | "freeze" | "hold" | "transition" | "auto" | "inherit"
4183 common-restart-timing-attlist &=
4184 [ a:defaultValue = "default" ]
4185 attribute smil:restart {
4186 "never" | "always" | "whenNotActive" | "default"
4188 common-restart-default-attlist &=
4189 [ a:defaultValue = "inherit" ]
4190 attribute smil:restartDefault {
4191 "never" | "always" | "whenNotActive" | "inherit"
4193 common-time-manip-attlist &=
4194 [ a:defaultValue = "0.0" ] attribute smil:accelerate { double }?
4195 common-time-manip-attlist &=
4196 [ a:defaultValue = "0.0" ] attribute smil:decelerate { double }?
4197 common-time-manip-attlist &=
4198 [ a:defaultValue = "false" ] attribute smil:autoReverse { boolean }?
4199 animation-element |=
4201 common-anim-attlist,
4202 common-timing-attlist,
4203 common-endsync-timing-attlist,
4206 common-basic-timing-attlist &=
4207 common-begin-end-timing-attlist,
4208 common-dur-timing-attlist,
4209 common-repeat-timing-attlist
4210 common-timing-attlist &=
4211 common-basic-timing-attlist,
4212 common-restart-timing-attlist,
4213 common-restart-default-attlist,
4214 common-fill-timing-attlist,
4215 common-fill-default-attlist,
4216 common-time-manip-attlist
4217 animation-element |=
4219 common-anim-attlist,
4220 common-endsync-timing-attlist,
4221 common-timing-attlist,
4224 animation-element |=
4225 element anim:iterate {
4226 common-anim-attlist,
4227 anim-iterate-attlist,
4228 common-timing-attlist,
4229 common-endsync-timing-attlist,
4232 anim-iterate-attlist &= common-anim-target-attlist
4233 anim-iterate-attlist &= attribute anim:iterate-type { \string }?
4234 anim-iterate-attlist &= attribute anim:iterate-interval { duration }?
4235 animation-element |=
4236 element anim:audio {
4237 common-anim-attlist, anim-audio-attlist, common-basic-timing-attlist
4239 anim-audio-attlist &= attribute xlink:href { anyURI }?
4240 anim-audio-attlist &= attribute anim:audio-level { double }?
4241 animation-element |=
4242 element anim:command {
4243 common-anim-attlist,
4244 anim-command-attlist,
4245 common-begin-end-timing-attlist,
4246 common-anim-target-attlist,
4247 element anim:param {
4248 attribute anim:name { text },
4249 attribute anim:value { text }
4252 anim-command-attlist &= attribute anim:command { \string }
4254 element style:style {
4255 style-style-attlist, style-style-content, style-map*
4257 style-style-attlist &= attribute style:name { styleName }
4258 style-style-attlist &= attribute style:display-name { \string }?
4259 style-style-attlist &=
4260 attribute style:parent-style-name { styleNameRef }?
4261 style-style-attlist &= attribute style:next-style-name { styleNameRef }?
4262 style-style-attlist &=
4263 attribute style:list-style-name { styleName | empty }?
4264 style-style-attlist &=
4265 attribute style:master-page-name { styleNameRef }?
4266 style-style-attlist &=
4267 [ a:defaultValue = "false" ] attribute style:auto-update { boolean }?
4268 style-style-attlist &= attribute style:data-style-name { styleNameRef }?
4269 style-style-attlist &= attribute style:class { \string }?
4270 style-style-attlist &=
4271 attribute style:default-outline-level { positiveInteger }?
4272 style-map = element style:map { style-map-attlist, empty }
4273 style-map-attlist &= attribute style:condition { \string }
4274 style-map-attlist &= attribute style:apply-style-name { styleNameRef }
4275 style-map-attlist &= attribute style:base-cell-address { cellAddress }?
4276 style-default-style =
4277 element style:default-style { style-style-content }
4279 element style:page-layout {
4280 style-page-layout-attlist,
4281 style-page-layout-properties?,
4282 style-header-style?,
4285 style-page-layout-attlist &= attribute style:name { styleName }
4286 style-page-layout-attlist &=
4287 [ a:defaultValue = "all" ]
4288 attribute style:page-usage { "all" | "left" | "right" | "mirrored" }?
4289 style-header-style =
4290 element style:header-style { style-header-footer-properties? }
4291 style-footer-style =
4292 element style:footer-style { style-header-footer-properties? }
4294 element style:master-page {
4295 style-master-page-attlist,
4296 (style-header, style-header-left?)?,
4297 (style-footer, style-footer-left?)?,
4303 style-master-page-attlist &= attribute style:name { styleName }
4304 style-master-page-attlist &= attribute style:display-name { \string }?
4305 style-master-page-attlist &=
4306 attribute style:page-layout-name { styleNameRef }
4307 style-master-page-attlist &= attribute draw:style-name { styleNameRef }?
4308 style-master-page-attlist &=
4309 attribute style:next-style-name { styleNameRef }?
4311 element style:header {
4312 common-style-header-footer-attlist, header-footer-content
4315 element style:footer {
4316 common-style-header-footer-attlist, header-footer-content
4319 element style:header-left {
4320 common-style-header-footer-attlist, header-footer-content
4323 element style:footer-left {
4324 common-style-header-footer-attlist, header-footer-content
4326 header-footer-content =
4327 (text-tracked-changes,
4334 | text-table-of-content
4335 | text-illustration-index
4339 | text-alphabetical-index
4343 | (style-region-left?, style-region-center?, style-region-right?)
4344 common-style-header-footer-attlist &=
4345 [ a:defaultValue = "true" ] attribute style:display { boolean }?
4346 style-region-left = element style:region-left { region-content }
4347 style-region-center = element style:region-center { region-content }
4348 style-region-right = element style:region-right { region-content }
4349 region-content = text-p*
4350 presentation-notes =
4351 element presentation:notes {
4352 common-presentation-header-footer-attlist,
4353 presentation-notes-attlist,
4357 presentation-notes-attlist &=
4358 attribute style:page-layout-name { styleNameRef }?
4359 presentation-notes-attlist &=
4360 attribute draw:style-name { styleNameRef }?
4361 table-table-template =
4362 element table:table-template {
4363 table-table-template-attlist,
4366 table-first-column?,
4369 | (table-even-rows, table-odd-rows)
4370 | (table-even-columns, table-odd-columns))
4372 table-table-template-attlist &= attribute text:name { \string }
4373 table-table-template-attlist &=
4374 attribute text:first-row-start-column { rowOrCol }
4375 table-table-template-attlist &=
4376 attribute text:first-row-end-column { rowOrCol }
4377 table-table-template-attlist &=
4378 attribute text:last-row-start-column { rowOrCol }
4379 table-table-template-attlist &=
4380 attribute text:last-row-end-column { rowOrCol }
4381 rowOrCol = "row" | "column"
4383 element table:first-row { common-table-template-attlist, empty }
4385 element table:last-row { common-table-template-attlist, empty }
4386 table-first-column =
4387 element table:first-column { common-table-template-attlist, empty }
4389 element table:last-column { common-table-template-attlist, empty }
4390 table-body = element table:body { common-table-template-attlist, empty }
4392 element table:even-rows { common-table-template-attlist, empty }
4394 element table:odd-rows { common-table-template-attlist, empty }
4395 table-even-columns =
4396 element table:even-columns { common-table-template-attlist, empty }
4398 element table:odd-columns { common-table-template-attlist, empty }
4399 common-table-template-attlist &=
4400 attribute text:style-name { styleNameRef },
4401 attribute text:paragraph-style-name { styleNameRef? }
4403 element style:font-face {
4404 style-font-face-attlist, svg-font-face-src?, svg-definition-src?
4406 style-font-face-attlist &=
4407 attribute svg:font-family { \string }?,
4408 attribute svg:font-style { fontStyle }?,
4409 attribute svg:font-variant { fontVariant }?,
4410 attribute svg:font-weight { fontWeight }?,
4411 attribute svg:font-stretch {
4422 attribute svg:font-size { positiveLength }?,
4423 attribute svg:unicode-range { text }?,
4424 attribute svg:units-per-em { integer }?,
4425 attribute svg:panose-1 { text }?,
4426 attribute svg:stemv { integer }?,
4427 attribute svg:stemh { integer }?,
4428 attribute svg:slope { integer }?,
4429 attribute svg:cap-height { integer }?,
4430 attribute svg:x-height { integer }?,
4431 attribute svg:accent-height { integer }?,
4432 attribute svg:ascent { integer }?,
4433 attribute svg:descent { integer }?,
4434 attribute svg:widths { text }?,
4435 attribute svg:bbox { text }?,
4436 attribute svg:ideographic { integer }?,
4437 attribute svg:alphabetic { integer }?,
4438 attribute svg:mathematical { integer }?,
4439 attribute svg:hanging { integer }?,
4440 attribute svg:v-ideographic { integer }?,
4441 attribute svg:v-alphabetic { integer }?,
4442 attribute svg:v-mathematical { integer }?,
4443 attribute svg:v-hanging { integer }?,
4444 attribute svg:underline-position { integer }?,
4445 attribute svg:underline-thickness { integer }?,
4446 attribute svg:strikethrough-position { integer }?,
4447 attribute svg:strikethrough-thickness { integer }?,
4448 attribute svg:overline-position { integer }?,
4449 attribute svg:overline-thickness { integer }?
4451 element svg:font-face-src {
4452 (svg-font-face-uri | svg-font-face-name)+
4455 element svg:font-face-uri {
4456 common-svg-font-face-xlink-attlist, svg-font-face-format*
4458 svg-font-face-format =
4459 element svg:font-face-format {
4460 attribute svg:string { text }?,
4463 svg-font-face-name =
4464 element svg:font-face-name {
4465 attribute svg:name { text }?,
4468 svg-definition-src =
4469 element svg:definition-src {
4470 common-svg-font-face-xlink-attlist, empty
4472 common-svg-font-face-xlink-attlist &=
4473 attribute xlink:href { anyURI },
4474 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
4475 [ a:defaultValue = "onRequest" ]
4476 attribute xlink:actuate { "onRequest" }?
4477 style-font-face-attlist &= attribute style:name { \string }
4478 style-font-face-attlist &= attribute style:font-adornments { \string }?
4479 style-font-face-attlist &=
4480 attribute style:font-family-generic { fontFamilyGeneric }?
4481 style-font-face-attlist &= attribute style:font-pitch { fontPitch }?
4482 style-font-face-attlist &=
4483 attribute style:font-charset { textEncoding }?
4484 number-number-style =
4485 element number:number-style {
4486 common-data-style-attlist,
4487 style-text-properties?,
4489 (any-number, number-text?)?,
4492 any-number = number-number | number-scientific-number | number-fraction
4494 element number:number {
4495 number-number-attlist,
4496 common-decimal-places-attlist,
4497 common-number-attlist,
4498 number-embedded-text*
4500 number-number-attlist &= attribute number:decimal-replacement { text }?
4501 number-number-attlist &=
4502 [ a:defaultValue = "1" ] attribute number:display-factor { double }?
4503 number-embedded-text =
4504 element number:embedded-text { number-embedded-text-attlist, text }
4505 number-embedded-text-attlist &= attribute number:position { integer }
4506 number-scientific-number =
4507 element number:scientific-number {
4508 number-scientific-number-attlist,
4509 common-decimal-places-attlist,
4510 common-number-attlist,
4513 number-scientific-number-attlist &=
4514 attribute number:min-exponent-digits { integer }?
4516 element number:fraction {
4517 number-fraction-attlist, common-number-attlist, empty
4519 number-fraction-attlist &=
4520 attribute number:min-numerator-digits { integer }?
4521 number-fraction-attlist &=
4522 attribute number:min-denominator-digits { integer }?
4523 number-fraction-attlist &=
4524 attribute number:denominator-value { integer }?
4525 number-currency-style =
4526 element number:currency-style {
4527 common-data-style-attlist,
4528 common-auto-reorder-attlist,
4529 style-text-properties?,
4531 ((number-and-text, currency-symbol-and-text?)
4532 | (currency-symbol-and-text, number-and-text?))?,
4535 currency-symbol-and-text = number-currency-symbol, number-text?
4536 number-and-text = number-number, number-text?
4537 number-currency-symbol =
4538 element number:currency-symbol {
4539 number-currency-symbol-attlist, text
4541 number-currency-symbol-attlist &=
4542 attribute number:language { languageCode }?,
4543 attribute number:country { countryCode }?
4544 number-percentage-style =
4545 element number:percentage-style {
4546 common-data-style-attlist,
4547 style-text-properties?,
4553 element number:date-style {
4554 common-data-style-attlist,
4555 common-auto-reorder-attlist,
4556 common-format-source-attlist,
4557 style-text-properties?,
4558 # This DTD does not reflect the fact that some elements must not
4560 # occur more than once.
4562 (any-date, number-text?)+,
4570 | number-day-of-week
4571 | number-week-of-year
4578 element number:day {
4579 number-day-attlist, common-calendar-attlist, empty
4581 number-day-attlist &=
4582 [ a:defaultValue = "short" ]
4583 attribute number:style { "short" | "long" }?
4585 element number:month {
4586 number-month-attlist, common-calendar-attlist, empty
4588 number-month-attlist &=
4589 [ a:defaultValue = "false" ] attribute number:textual { boolean }?
4590 number-month-attlist &=
4591 [ a:defaultValue = "false" ]
4592 attribute number:possessive-form { boolean }?
4593 number-month-attlist &=
4594 [ a:defaultValue = "short" ]
4595 attribute number:style { "short" | "long" }?
4597 element number:year {
4598 number-year-attlist, common-calendar-attlist, empty
4600 number-year-attlist &=
4601 [ a:defaultValue = "short" ]
4602 attribute number:style { "short" | "long" }?
4604 element number:era {
4605 number-era-attlist, common-calendar-attlist, empty
4607 number-era-attlist &=
4608 [ a:defaultValue = "short" ]
4609 attribute number:style { "short" | "long" }?
4610 number-day-of-week =
4611 element number:day-of-week {
4612 number-day-of-week-attlist, common-calendar-attlist, empty
4614 number-day-of-week-attlist &=
4615 [ a:defaultValue = "short" ]
4616 attribute number:style { "short" | "long" }?
4617 number-week-of-year =
4618 element number:week-of-year { common-calendar-attlist, empty }
4620 element number:quarter {
4621 number-quarter-attlist, common-calendar-attlist, empty
4623 number-quarter-attlist &=
4624 [ a:defaultValue = "short" ]
4625 attribute number:style { "short" | "long" }?
4627 element number:time-style {
4628 number-time-style-attlist,
4629 common-data-style-attlist,
4630 common-format-source-attlist,
4631 style-text-properties?,
4632 # This DTD does not reflect the fact that some elements must not
4634 # occur more than once.
4636 (any-time, number-text?)+,
4639 any-time = number-hours | number-am-pm | number-minutes | number-seconds
4640 number-time-style-attlist &=
4641 [ a:defaultValue = "true" ]
4642 attribute number:truncate-on-overflow { boolean }?
4643 number-hours = element number:hours { number-hours-attlist, empty }
4644 number-hours-attlist &=
4645 [ a:defaultValue = "short" ]
4646 attribute number:style { "short" | "long" }?
4648 element number:minutes { number-minutes-attlist, empty }
4649 number-minutes-attlist &=
4650 [ a:defaultValue = "short" ]
4651 attribute number:style { "short" | "long" }?
4653 element number:seconds { number-seconds-attlist, empty }
4654 number-seconds-attlist &=
4655 [ a:defaultValue = "short" ]
4656 attribute number:style { "short" | "long" }?
4657 number-seconds-attlist &=
4658 [ a:defaultValue = "0" ] attribute number:decimal-places { integer }?
4659 number-am-pm = element number:am-pm { empty }
4660 number-boolean-style =
4661 element number:boolean-style {
4662 common-data-style-attlist,
4663 style-text-properties?,
4665 (number-boolean, number-text?)?,
4668 number-boolean = element number:boolean { empty }
4670 element number:text-style {
4671 common-data-style-attlist,
4672 style-text-properties?,
4674 (number-text-content, number-text?)*,
4677 number-text = element number:text { text }
4678 number-text-content = element number:text-content { empty }
4679 common-data-style-attlist &= attribute style:name { styleName }
4680 style-data-style-attlist &= attribute style:display-name { \string }?
4681 common-data-style-attlist &= attribute number:language { languageCode }?
4682 common-data-style-attlist &= attribute number:country { countryCode }?
4683 common-data-style-attlist &= attribute number:title { text }?
4684 common-data-style-attlist &= attribute style:volatile { boolean }?
4685 common-auto-reorder-attlist &=
4686 [ a:defaultValue = "false" ]
4687 attribute number:automatic-order { boolean }?
4688 common-format-source-attlist =
4689 [ a:defaultValue = "fixed" ]
4690 attribute number:format-source { "fixed" | "language" }?
4691 common-data-style-attlist &=
4692 [ a:defaultValue = "1" ]
4693 attribute number:transliteration-format { \string }?
4694 common-data-style-attlist &=
4695 attribute number:transliteration-language { countryCode }?
4696 common-data-style-attlist &=
4697 attribute number:transliteration-country { countryCode }?
4698 common-data-style-attlist &=
4699 [ a:defaultValue = "short" ]
4700 attribute number:transliteration-style {
4701 "short" | "medium" | "long"
4703 common-decimal-places-attlist =
4704 attribute number:decimal-places { integer }?
4705 common-number-attlist &=
4706 attribute number:min-integer-digits { integer }?
4707 common-number-attlist &=
4708 [ a:defaultValue = "false" ] attribute number:grouping { boolean }?
4709 common-calendar-attlist &=
4710 attribute number:calendar {
4721 style-style-content |=
4722 attribute style:family { "text" },
4723 style-text-properties?
4724 style-style-content |=
4725 attribute style:family { "paragraph" },
4726 style-paragraph-properties?,
4727 style-text-properties?
4728 style-style-content |=
4729 attribute style:family { "section" },
4730 style-section-properties?
4731 style-style-content |=
4732 attribute style:family { "ruby" },
4733 style-ruby-properties?
4734 text-linenumbering-configuration =
4735 element text:linenumbering-configuration {
4736 text-linenumbering-configuration-attlist,
4737 text-linenumbering-separator?
4739 text-linenumbering-configuration-attlist &=
4740 [ a:defaultValue = "true" ] attribute text:number-lines { boolean }?
4741 text-linenumbering-configuration-attlist &= common-num-format-attlist?
4742 text-linenumbering-configuration-attlist &=
4743 attribute text:style-name { styleNameRef }?
4744 text-linenumbering-configuration-attlist &=
4745 attribute text:increment { nonNegativeInteger }?
4746 text-linenumbering-configuration-attlist &=
4747 [ a:defaultValue = "left" ]
4748 attribute text:number-position {
4749 "left" | "right" | "inner" | "outer"
4751 text-linenumbering-configuration-attlist &=
4752 attribute text:offset { nonNegativeLength }?
4753 text-linenumbering-configuration-attlist &=
4754 [ a:defaultValue = "true" ]
4755 attribute text:count-empty-lines { boolean }?
4756 text-linenumbering-configuration-attlist &=
4757 [ a:defaultValue = "false" ]
4758 attribute text:count-in-text-boxes { boolean }?
4759 text-linenumbering-configuration-attlist &=
4760 [ a:defaultValue = "false" ]
4761 attribute text:restart-on-page { boolean }?
4762 text-linenumbering-separator =
4763 element text:linenumbering-separator {
4764 attribute text:increment { nonNegativeInteger }?,
4767 text-notes-configuration =
4768 element text:notes-configuration { text-notes-configuration-content }
4769 text-notes-configuration-content &= text-note-class
4770 text-notes-configuration-content &=
4771 attribute text:citation-style-name { styleNameRef }?
4772 text-notes-configuration-content &=
4773 attribute text:citation-body-style-name { styleNameRef }?
4774 text-notes-configuration-content &=
4775 attribute text:default-style-name { styleNameRef }?
4776 text-notes-configuration-content &=
4777 attribute text:master-page-name { styleNameRef }?
4778 text-notes-configuration-content &=
4779 attribute text:start-value { nonNegativeInteger }?
4780 text-notes-configuration-content &=
4781 common-num-format-prefix-suffix-attlist, common-num-format-attlist?
4782 text-notes-configuration-content &=
4783 attribute text:start-numbering-at { "document" | "chapter" | "page" }?
4784 text-notes-configuration-content &=
4785 attribute text:footnotes-position {
4786 "text" | "page" | "section" | "document"
4788 text-notes-configuration-content &=
4789 element text:note-continuation-notice-forward { text }?
4790 text-notes-configuration-content &=
4791 element text:note-continuation-notice-backward { text }?
4792 text-bibliography-configuration =
4793 element text:bibliography-configuration {
4794 text-bibliography-configuration-attlist, text-sort-key*
4796 text-bibliography-configuration-attlist &=
4797 attribute text:prefix { \string }?,
4798 attribute text:suffix { \string }?
4799 text-bibliography-configuration-attlist &=
4800 [ a:defaultValue = "false" ]
4801 attribute text:numbered-entries { boolean }?
4802 text-bibliography-configuration-attlist &=
4803 [ a:defaultValue = "true" ]
4804 attribute text:sort-by-position { boolean }?,
4805 attribute fo:language { languageCode }?,
4806 attribute fo:country { countryCode }?,
4807 attribute text:sort-algorithm { \string }?
4808 text-sort-key = element text:sort-key { text-sort-key-attlist, empty }
4809 text-sort-key-attlist &=
4810 attribute text:key {
4814 | "bibliography-type"
4844 [ a:defaultValue = "true" ] attribute text:sort-ascending { boolean }?
4846 element text:list-style {
4847 text-list-style-attr, text-list-style-content*
4849 text-list-style-attr &= attribute style:name { styleName }
4850 text-list-style-attr &= attribute style:display-name { \string }?
4851 text-list-style-attr &=
4852 [ a:defaultValue = "false" ]
4853 attribute text:consecutive-numbering { boolean }?
4854 text-list-level-style-attr = attribute text:level { positiveInteger }
4855 text-list-style-content |=
4856 element text:list-level-style-number {
4857 text-list-level-style-attr,
4858 text-list-level-style-number-attr,
4859 style-list-level-properties?,
4860 style-text-properties?
4862 text-list-level-style-number-attr &=
4863 attribute text:style-name { styleNameRef }?
4864 text-list-level-style-number-attr &=
4865 common-num-format-attlist, common-num-format-prefix-suffix-attlist
4866 text-list-level-style-number-attr &=
4867 [ a:defaultValue = "1" ]
4868 attribute text:display-levels { positiveInteger }?
4869 text-list-level-style-number-attr &=
4870 [ a:defaultValue = "1" ]
4871 attribute text:start-value { positiveInteger }?
4872 text-list-style-content |=
4873 element text:list-level-style-bullet {
4874 text-list-level-style-attr,
4875 text-list-level-style-bullet-attr,
4876 style-list-level-properties?,
4877 style-text-properties?
4879 text-list-level-style-bullet-attr &=
4880 attribute text:style-name { styleNameRef }?
4881 text-list-level-style-bullet-attr &=
4882 attribute text:bullet-char { character }
4883 text-list-level-style-bullet-attr &=
4884 common-num-format-prefix-suffix-attlist
4885 text-list-level-style-bullet-attr &=
4886 attribute text:bullet-relative-size { percent }?
4887 text-list-style-content |=
4888 element text:list-level-style-image {
4889 text-list-level-style-attr,
4890 text-list-level-style-image-attr,
4891 style-list-level-properties?
4893 text-list-level-style-image-attr &=
4894 common-draw-data-attlist | office-binary-data
4895 text-outline-style =
4896 element text:outline-style { text-outline-level-style+ }
4897 text-outline-level-style =
4898 element text:outline-level-style {
4899 text-outline-level-style-attlist,
4900 style-list-level-properties?,
4901 style-text-properties?
4903 text-outline-level-style-attlist &=
4904 attribute text:level { positiveInteger }
4905 text-outline-level-style-attlist &=
4906 attribute text:style-name { styleNameRef }?
4907 text-outline-level-style-attlist &=
4908 common-num-format-attlist, common-num-format-prefix-suffix-attlist
4909 text-outline-level-style-attlist &=
4910 [ a:defaultValue = "1" ]
4911 attribute text:display-levels { positiveInteger }?
4912 text-outline-level-style-attlist &=
4913 [ a:defaultValue = "1" ]
4914 attribute text:start-value { positiveInteger }?
4915 style-style-content |=
4916 attribute style:family { "table" },
4917 style-table-properties?
4918 style-style-content |=
4919 attribute style:family { "table-column" },
4920 style-table-column-properties?
4921 style-style-content |=
4922 attribute style:family { "table-row" },
4923 style-table-row-properties?
4924 style-style-content |=
4925 attribute style:family { "table-cell" },
4926 style-table-cell-properties?,
4927 style-paragraph-properties?,
4928 style-text-properties?
4929 style-style-content |=
4930 attribute style:family { "graphic" | "presentation" },
4931 style-graphic-properties?,
4932 style-paragraph-properties?,
4933 style-text-properties?
4934 style-graphic-properties =
4935 element style:graphic-properties { style-graphic-properties-content }
4936 style-graphic-properties-content = style-properties-content
4937 style-graphic-properties-content-strict =
4938 style-graphic-properties-attlist,
4939 style-graphic-fill-properties-attlist,
4940 style-graphic-properties-elements
4941 style-graphic-properties-elements = empty
4942 style-style-content |=
4943 attribute style:family { "drawing-page" },
4944 style-drawing-page-properties?
4945 style-drawing-page-properties =
4946 element style:drawing-page-properties {
4947 style-drawing-page-properties-content
4949 style-drawing-page-properties-content = style-properties-content
4950 style-drawing-page-properties-content-strict =
4951 style-graphic-fill-properties-attlist,
4952 style-drawing-page-properties-attlist,
4953 style-drawing-page-properties-elements
4955 element draw:gradient {
4956 common-draw-gradient-attlist, draw-gradient-attlist, empty
4958 common-draw-gradient-attlist &= attribute draw:name { styleName }?
4959 common-draw-gradient-attlist &= attribute draw:display-name { \string }?
4960 common-draw-gradient-attlist &= attribute draw:style { gradient-style }
4962 "linear" | "axial" | "radial" | "ellipsoid" | "square" | "rectangular"
4963 common-draw-gradient-attlist &=
4964 attribute draw:cx { percent }?,
4965 attribute draw:cy { percent }?
4966 draw-gradient-attlist &=
4967 attribute draw:start-color { color }?,
4968 attribute draw:end-color { color }?
4969 draw-gradient-attlist &=
4970 attribute draw:start-intensity { percent }?,
4971 attribute draw:end-intensity { percent }?
4972 common-draw-gradient-attlist &= attribute draw:angle { integer }?
4973 common-draw-gradient-attlist &= attribute draw:border { percent }?
4974 svg-linearGradient =
4975 element svg:linearGradient {
4976 common-svg-gradient-attlist,
4977 [ a:defaultValue = "0%" ]
4978 attribute svg:x1 { coordinate | percent }?,
4979 [ a:defaultValue = "0%" ]
4980 attribute svg:y1 { coordinate | percent }?,
4981 [ a:defaultValue = "100%" ]
4982 attribute svg:x2 { coordinate | percent }?,
4983 [ a:defaultValue = "100%" ]
4984 attribute svg:y2 { coordinate | percent }?,
4987 svg-radialGradient =
4988 element svg:radialGradient {
4989 common-svg-gradient-attlist,
4990 [ a:defaultValue = "50%" ]
4991 attribute svg:cx { coordinate | percent }?,
4992 [ a:defaultValue = "50%" ]
4993 attribute svg:cy { coordinate | percent }?,
4994 [ a:defaultValue = "50%" ]
4995 attribute svg:r { coordinate | percent }?,
4996 attribute svg:fx { coordinate | percent }?,
4997 attribute svg:fy { coordinate | percent }?,
5002 attribute svg:offset { double | percent },
5003 attribute svg:stop-color { color }?,
5004 attribute svg:stop-opacity { double }?
5006 common-svg-gradient-attlist &=
5007 [ a:defaultValue = "objectBoundingBox" ]
5008 attribute svg:gradientUnits { "objectBoundingBox" }?,
5009 attribute svg:gradientTransform { \string }?,
5010 [ a:defaultValue = "pad" ]
5011 attribute svg:spreadMethod { "pad" | "reflect" | "repeat" }?
5012 common-svg-gradient-attlist &= attribute draw:name { styleName }
5013 common-svg-gradient-attlist &= attribute draw:display-name { \string }?
5014 draw-hatch = element draw:hatch { draw-hatch-attlist, empty }
5015 draw-hatch-attlist &= attribute draw:name { styleName }
5016 draw-hatch-attlist &= attribute draw:display-name { \string }?
5017 draw-hatch-attlist &=
5018 attribute draw:style { "single" | "double" | "triple" }
5019 draw-hatch-attlist &= attribute draw:color { color }?
5020 draw-hatch-attlist &= attribute draw:distance { length }?
5021 draw-hatch-attlist &= attribute draw:rotation { integer }?
5023 element draw:fill-image {
5024 draw-fill-image-attlist,
5025 attribute xlink:href { anyURI },
5026 [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
5027 [ a:defaultValue = "embed" ] attribute xlink:show { "embed" }?,
5028 [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?,
5031 draw-fill-image-attlist &= attribute draw:name { styleName }
5032 draw-fill-image-attlist &= attribute draw:display-name { \string }?
5033 draw-fill-image-attlist &=
5034 attribute svg:width { length }?,
5035 attribute svg:height { length }?
5037 element draw:opacity {
5038 common-draw-gradient-attlist, draw-opacity-attlist, empty
5040 draw-opacity-attlist &=
5041 attribute draw:start { percent }?,
5042 attribute draw:end { percent }?
5044 element draw:marker {
5045 draw-marker-attlist,
5046 common-draw-viewbox-attlist,
5047 common-draw-path-data-attlist,
5050 draw-marker-attlist &= attribute draw:name { styleName }
5051 draw-marker-attlist &= attribute draw:display-name { \string }?
5053 element draw:stroke-dash { draw-stroke-dash-attlist, empty }
5054 draw-stroke-dash-attlist &= attribute draw:name { styleName }
5055 draw-stroke-dash-attlist &= attribute draw:display-name { \string }?
5056 draw-stroke-dash-attlist &= attribute draw:style { "rect" | "round" }?
5057 draw-stroke-dash-attlist &=
5058 attribute draw:dots1 { integer }?,
5059 attribute draw:dots1-length { length }?,
5060 attribute draw:dots2 { integer }?,
5061 attribute draw:dots2-length { length }?
5062 draw-stroke-dash-attlist &= attribute draw:distance { length }?
5063 style-presentation-page-layout =
5064 element style:presentation-page-layout {
5065 attribute style:name { styleName },
5066 attribute style:display-name { \string }?,
5067 presentation-placeholder*
5069 presentation-placeholder =
5070 element presentation:placeholder {
5071 attribute presentation:object { presentation-classes },
5072 attribute svg:x { coordinate | percent },
5073 attribute svg:y { coordinate | percent },
5074 attribute svg:width { length | percent },
5075 attribute svg:height { length | percent },
5078 style-style-content |=
5079 attribute style:family { "chart" },
5080 style-chart-properties?,
5081 style-graphic-properties?,
5082 style-paragraph-properties?,
5083 style-text-properties?
5084 style-properties-content = anyAttListOrElements
5085 style-page-layout-properties =
5086 element style:page-layout-properties {
5087 style-page-layout-properties-content
5089 style-page-layout-properties-content = style-properties-content
5090 style-page-layout-properties-content-strict =
5091 style-page-layout-properties-attlist,
5092 style-page-layout-properties-elements
5093 style-page-layout-properties-attlist &=
5094 attribute fo:page-width { length }?,
5095 attribute fo:page-height { length }?
5096 style-page-layout-properties-attlist &=
5097 common-num-format-attlist?, common-num-format-prefix-suffix-attlist
5098 style-page-layout-properties-attlist &=
5099 attribute style:paper-tray-name { "default" | \string }?
5100 style-page-layout-properties-attlist &=
5101 attribute style:print-orientation { "portrait" | "landscape" }?
5102 style-page-layout-properties-attlist &=
5103 common-horizontal-margin-attlist,
5104 common-vertical-margin-attlist,
5105 common-margin-attlist
5106 style-page-layout-properties-attlist &= common-border-attlist
5107 style-page-layout-properties-attlist &= common-border-line-width-attlist
5108 style-page-layout-properties-attlist &= common-padding-attlist
5109 style-page-layout-properties-attlist &= common-shadow-attlist
5110 style-page-layout-properties-attlist &= common-background-color-attlist
5111 style-page-layout-properties-elements &= style-background-image
5112 style-page-layout-properties-elements &= style-columns
5113 style-page-layout-properties-attlist &=
5114 attribute style:register-truth-ref-style-name { styleNameRef }?
5115 style-page-layout-properties-attlist &=
5116 attribute style:print {
5128 style-page-layout-properties-attlist &=
5129 attribute style:print-page-order { "ttb" | "ltr" }?
5130 style-page-layout-properties-attlist &=
5131 attribute style:first-page-number { positiveInteger | "continue" }?
5132 style-page-layout-properties-attlist &=
5133 attribute style:scale-to { percent }?,
5134 attribute style:scale-to-pages { positiveInteger }?
5135 style-page-layout-properties-attlist &=
5136 attribute style:table-centering {
5137 "horizontal" | "vertical" | "both" | "none"
5139 style-page-layout-properties-attlist &=
5140 attribute style:footnote-max-height { length }?
5141 style-page-layout-properties-attlist &= common-writing-mode-attlist
5142 style-page-layout-properties-elements &= style-footnote-sep
5143 style-footnote-sep =
5144 element style:footnote-sep { style-footnote-sep-attlist, empty }?
5145 style-footnote-sep-attlist &=
5146 attribute style:width { length }?,
5147 attribute style:rel-width { percent }?,
5148 attribute style:color { color }?,
5149 attribute style:line-style { lineStyle }?,
5150 [ a:defaultValue = "left" ]
5151 attribute style:adjustment { "left" | "center" | "right" }?,
5152 attribute style:distance-before-sep { length }?,
5153 attribute style:distance-after-sep { length }?
5154 style-page-layout-properties-attlist &=
5155 attribute style:layout-grid-mode { "none" | "line" | "both" }?
5156 style-page-layout-properties-attlist &=
5157 attribute style:layout-grid-base-height { length }?
5158 style-page-layout-properties-attlist &=
5159 attribute style:layout-grid-ruby-height { length }?
5160 style-page-layout-properties-attlist &=
5161 attribute style:layout-grid-lines { positiveInteger }?
5162 style-page-layout-properties-attlist &=
5163 attribute style:layout-grid-color { color }?
5164 style-page-layout-properties-attlist &=
5165 attribute style:layout-grid-ruby-below { boolean }?
5166 style-page-layout-properties-attlist &=
5167 attribute style:layout-grid-print { boolean }?
5168 style-page-layout-properties-attlist &=
5169 attribute style:layout-grid-display { boolean }?
5170 style-header-footer-properties =
5171 element style:header-footer-properties {
5172 style-header-footer-properties-content
5174 style-header-footer-properties-content = style-properties-content
5175 style-header-footer-properties-content-strict =
5176 style-header-footer-properties-attlist,
5177 style-header-footer-properties-elements
5178 style-header-footer-properties-attlist &=
5179 attribute svg:height { length }?,
5180 attribute fo:min-height { length }?
5181 style-header-footer-properties-attlist &=
5182 common-horizontal-margin-attlist,
5183 common-vertical-margin-attlist,
5184 common-margin-attlist
5185 style-header-footer-properties-attlist &= common-border-attlist
5186 style-header-footer-properties-attlist &=
5187 common-border-line-width-attlist
5188 style-header-footer-properties-attlist &= common-padding-attlist
5189 style-header-footer-properties-attlist &=
5190 common-background-color-attlist
5191 style-header-footer-properties-elements &= style-background-image
5192 style-header-footer-properties-attlist &= common-shadow-attlist
5193 style-header-footer-properties-attlist &=
5194 attribute style:dynamic-spacing { boolean }?
5195 style-text-properties =
5196 element style:text-properties { style-text-properties-content }
5197 style-text-properties-content = style-properties-content
5198 style-text-properties-content-strict =
5199 style-text-properties-attlist, style-text-properties-elements
5200 style-text-properties-elements = empty
5201 style-text-properties-attlist &=
5202 attribute fo:font-variant { fontVariant }?
5203 fontVariant = "normal" | "small-caps"
5204 style-text-properties-attlist &=
5205 attribute fo:text-transform {
5206 "none" | "lowercase" | "uppercase" | "capitalize"
5208 style-text-properties-attlist &= attribute fo:color { color }?
5209 style-text-properties-attlist &=
5210 attribute style:use-window-font-color { boolean }?
5211 style-text-properties-attlist &=
5212 attribute style:text-outline { boolean }?
5213 style-text-properties-attlist &=
5214 attribute style:text-line-through-type { lineType }?
5215 style-text-properties-attlist &=
5216 attribute style:text-line-through-style { lineStyle }?
5217 style-text-properties-attlist &=
5218 attribute style:text-line-through-width { lineWidth }?
5219 style-text-properties-attlist &=
5220 attribute style:text-line-through-color { "font-color" | color }?
5221 style-text-properties-attlist &=
5222 attribute style:text-line-through-text { \string }?
5223 style-text-properties-attlist &=
5224 attribute style:text-line-through-text-style { styleNameRef }?
5225 style-text-properties-attlist &=
5226 attribute style:text-position {
5227 list { (percent | "super" | "sub"), percent? }
5229 style-text-properties-attlist &=
5230 attribute style:font-name { \string }?,
5231 attribute style:font-name-asian { \string }?,
5232 attribute style:font-name-complex { \string }?
5233 style-text-properties-attlist &=
5234 attribute fo:font-family { \string }?,
5235 attribute style:font-family-asian { \string }?,
5236 attribute style:font-family-complex { \string }?
5237 style-text-properties-attlist &=
5238 attribute style:font-family-generic { fontFamilyGeneric }?,
5239 attribute style:font-family-generic-asian { fontFamilyGeneric }?,
5240 attribute style:font-family-generic-complex { fontFamilyGeneric }?
5242 "roman" | "swiss" | "modern" | "decorative" | "script" | "system"
5243 style-text-properties-attlist &=
5244 attribute style:font-style-name { \string }?,
5245 attribute style:font-style-name-asian { \string }?,
5246 attribute style:font-style-name-complex { \string }?
5247 style-text-properties-attlist &=
5248 attribute style:font-pitch { fontPitch }?,
5249 attribute style:font-pitch-asian { fontPitch }?,
5250 attribute style:font-pitch-complex { fontPitch }?
5251 fontPitch = "fixed" | "variable"
5252 style-text-properties-attlist &=
5253 attribute style:font-charset { textEncoding }?,
5254 attribute style:font-charset-asian { textEncoding }?,
5255 attribute style:font-charset-complex { textEncoding }?
5256 textEncoding = xsd:string { pattern = "[A-Za-z][A-Za-z0-9._\-]*" }
5257 style-text-properties-attlist &=
5258 attribute fo:font-size { positiveLength | percent }?,
5259 attribute style:font-size-asian { positiveLength | percent }?,
5260 attribute style:font-size-complex { positiveLength | percent }?
5261 style-text-properties-attlist &=
5262 attribute style:font-size-rel { length }?,
5263 attribute style:font-size-rel-asian { length }?,
5264 attribute style:font-size-rel-complex { length }?
5265 style-text-properties-attlist &=
5266 attribute style:script-type {
5267 "latin" | "asian" | "complex" | "ignore"
5269 style-text-properties-attlist &=
5270 attribute fo:letter-spacing { length | "normal" }?
5271 style-text-properties-attlist &=
5272 attribute fo:language { languageCode }?,
5273 attribute style:language-asian { languageCode }?,
5274 attribute style:language-complex { languageCode }?
5275 style-text-properties-attlist &=
5276 attribute fo:country { countryCode }?,
5277 attribute style:country-asian { countryCode }?,
5278 attribute style:country-complex { countryCode }?
5279 style-text-properties-attlist &=
5280 attribute fo:font-style { fontStyle }?,
5281 attribute style:font-style-asian { fontStyle }?,
5282 attribute style:font-style-complex { fontStyle }?
5283 fontStyle = "normal" | "italic" | "oblique"
5284 style-text-properties-attlist &=
5285 attribute style:font-relief { "none" | "embossed" | "engraved" }?
5286 style-text-properties-attlist &=
5287 attribute fo:text-shadow { shadowType }?
5290 | # The following string must match an XSL shadow decl
5292 style-text-properties-attlist &=
5293 attribute style:text-underline-type { lineType }?
5294 lineType = "none" | "single" | "double"
5295 style-text-properties-attlist &=
5296 attribute style:text-underline-style { lineStyle }?
5306 style-text-properties-attlist &=
5307 attribute style:text-underline-width { lineWidth }?
5319 style-text-properties-attlist &=
5320 attribute style:text-underline-color { "font-color" | color }?
5321 style-text-properties-attlist &=
5322 attribute fo:font-weight { fontWeight }?,
5323 attribute style:font-weight-asian { fontWeight }?,
5324 attribute style:font-weight-complex { fontWeight }?
5337 style-text-properties-attlist &=
5338 attribute style:text-underline-mode { lineMode }?
5339 lineMode = "continuous" | "skip-white-space"
5340 style-text-properties-attlist &=
5341 attribute style:text-line-through-mode { lineMode }?
5342 style-text-properties-attlist &=
5343 attribute style:letter-kerning { boolean }?
5344 style-text-properties-attlist &=
5345 attribute style:text-blinking { boolean }?
5346 style-text-properties-attlist &= common-background-color-attlist
5347 style-text-properties-attlist &=
5348 attribute style:text-combine { "none" | "letters" | "lines" }?
5349 style-text-properties-attlist &=
5350 attribute style:text-combine-start-char { character }?,
5351 attribute style:text-combine-end-char { character }?
5352 style-text-properties-attlist &=
5353 attribute style:text-emphasize {
5356 ("none" | "accent" | "dot" | "circle" | "disc"),
5360 style-text-properties-attlist &= attribute style:text-scale { percent }?
5361 style-text-properties-attlist &=
5362 attribute style:text-rotation-angle { integer }?
5363 style-text-properties-attlist &=
5364 attribute style:text-rotation-scale { "fixed" | "line-height" }?
5365 style-text-properties-attlist &= attribute fo:hyphenate { boolean }?
5366 style-text-properties-attlist &=
5367 attribute fo:hyphenation-remain-char-count { positiveInteger }?
5368 style-text-properties-attlist &=
5369 attribute fo:hyphenation-push-char-count { positiveInteger }?
5370 style-text-properties-attlist &=
5371 attribute text:display { "true" }
5372 | attribute text:display { "none" }
5373 | (attribute text:display { "condition" },
5374 attribute text:condition { "none" })
5376 style-paragraph-properties =
5377 element style:paragraph-properties {
5378 style-paragraph-properties-content
5380 style-paragraph-properties-content = style-properties-content
5381 style-paragraph-properties-content-strict =
5382 style-paragraph-properties-attlist,
5383 style-paragraph-properties-elements
5384 style-paragraph-properties-attlist &=
5385 attribute fo:line-height { "normal" | nonNegativeLength | percent }?
5386 style-paragraph-properties-attlist &=
5387 attribute style:line-height-at-least { nonNegativeLength }?
5388 style-paragraph-properties-attlist &=
5389 attribute style:line-spacing { length }?
5390 style-paragraph-properties-attlist &=
5391 attribute style:font-independent-line-spacing { boolean }?
5392 style-paragraph-properties-attlist &= common-text-align
5394 attribute fo:text-align {
5395 "start" | "end" | "left" | "right" | "center" | "justify"
5397 style-paragraph-properties-attlist &=
5398 attribute fo:text-align-last { "start" | "center" | "justify" }?
5399 style-paragraph-properties-attlist &=
5400 attribute style:justify-single-word { boolean }?
5401 style-paragraph-properties-attlist &=
5402 attribute fo:keep-together { "auto" | "always" }?
5403 style-paragraph-properties-attlist &=
5404 attribute fo:widows { nonNegativeInteger }?
5405 style-paragraph-properties-attlist &=
5406 attribute fo:orphans { nonNegativeInteger }?
5407 style-paragraph-properties-elements &= style-tab-stops
5408 style-tab-stops = element style:tab-stops { style-tab-stop* }?
5410 element style:tab-stop { style-tab-stop-attlist, empty }
5411 style-tab-stop-attlist &= attribute style:position { nonNegativeLength }
5412 style-tab-stop-attlist &=
5413 [ a:defaultValue = "left" ]
5414 attribute style:type { "left" | "center" | "right" }?
5415 | (attribute style:type { "char" },
5416 style-tab-stop-char-attlist)
5417 style-tab-stop-char-attlist &= attribute style:char { character }
5418 style-tab-stop-attlist &= attribute style:leader-type { lineType }?
5419 style-tab-stop-attlist &= attribute style:leader-style { lineStyle }?
5420 style-tab-stop-attlist &= attribute style:leader-width { lineWidth }?
5421 style-tab-stop-attlist &=
5422 attribute style:leader-color { "font-color" | color }?
5423 style-tab-stop-attlist &=
5424 [ a:defaultValue = " " ] attribute style:leader-text { \string }?
5425 style-tab-stop-attlist &=
5426 attribute style:leader-text-style { styleNameRef }?
5427 style-paragraph-properties-attlist &=
5428 attribute style:tab-stop-distance { nonNegativeLength }?
5429 style-paragraph-properties-attlist &=
5430 attribute fo:hyphenation-keep { "auto" | "page" }?
5431 style-paragraph-properties-attlist &=
5432 attribute fo:hyphenation-ladder-count {
5433 "no-limit" | positiveInteger
5435 style-paragraph-properties-elements &= style-drop-cap
5437 element style:drop-cap { style-drop-cap-attlist, empty }?
5438 style-drop-cap-attlist &=
5439 [ a:defaultValue = "1" ]
5440 attribute style:length { "word" | positiveInteger }?
5441 style-drop-cap-attlist &=
5442 [ a:defaultValue = "1" ] attribute style:lines { positiveInteger }?
5443 style-drop-cap-attlist &=
5444 [ a:defaultValue = "0cm" ] attribute style:distance { length }?
5445 style-drop-cap-attlist &= attribute style:style-name { styleNameRef }?
5446 style-paragraph-properties-attlist &=
5447 attribute style:register-true { boolean }?
5448 style-paragraph-properties-attlist &= common-horizontal-margin-attlist
5449 common-horizontal-margin-attlist =
5450 attribute fo:margin-left { length | percent }?,
5451 attribute fo:margin-right { length | percent }?
5452 style-paragraph-properties-attlist &=
5453 attribute fo:text-indent { length | percent }?
5454 style-paragraph-properties-attlist &=
5455 attribute style:auto-text-indent { boolean }?
5456 style-paragraph-properties-attlist &= common-vertical-margin-attlist
5457 common-vertical-margin-attlist =
5458 attribute fo:margin-top { nonNegativeLength | percent }?,
5459 attribute fo:margin-bottom { nonNegativeLength | percent }?
5460 style-paragraph-properties-attlist &= common-margin-attlist
5461 common-margin-attlist =
5462 attribute fo:margin { nonNegativeLength | percent }?
5463 style-paragraph-properties-attlist &= common-break-attlist
5464 common-break-attlist =
5465 attribute fo:break-before { "auto" | "column" | "page" }?,
5466 attribute fo:break-after { "auto" | "column" | "page" }?
5467 style-paragraph-properties-attlist &= common-background-color-attlist
5468 common-background-color-attlist =
5469 attribute fo:background-color { "transparent" | color }?
5470 style-paragraph-properties-elements &= style-background-image
5471 style-background-image =
5472 element style:background-image {
5473 style-background-image-attlist,
5474 (common-draw-data-attlist | office-binary-data | empty)
5476 style-background-image-attlist &=
5477 [ a:defaultValue = "repeat" ]
5478 attribute style:repeat { "no-repeat" | "repeat" | "stretch" }?
5479 style-background-image-attlist &=
5480 [ a:defaultValue = "center" ]
5481 attribute style:position {
5487 | list { horiBackPos, vertBackPos }
5488 | list { vertBackPos, horiBackPos }
5490 horiBackPos = "left" | "center" | "right"
5491 vertBackPos = "top" | "center" | "bottom"
5492 style-background-image-attlist &=
5493 attribute style:filter-name { \string }?
5494 style-background-image-attlist &= attribute draw:opacity { percent }?
5495 style-paragraph-properties-attlist &= common-border-attlist
5496 common-border-attlist =
5497 attribute fo:border { \string }?,
5498 attribute fo:border-top { \string }?,
5499 attribute fo:border-bottom { \string }?,
5500 attribute fo:border-left { \string }?,
5501 attribute fo:border-right { \string }?
5502 style-paragraph-properties-attlist &= common-border-line-width-attlist
5503 common-border-line-width-attlist =
5504 attribute style:border-line-width { borderWidths }?,
5505 attribute style:border-line-width-top { borderWidths }?,
5506 attribute style:border-line-width-bottom { borderWidths }?,
5507 attribute style:border-line-width-left { borderWidths }?,
5508 attribute style:border-line-width-right { borderWidths }?
5509 borderWidths = list { positiveLength, positiveLength, positiveLength }
5510 style-paragraph-properties-attlist &= common-padding-attlist
5511 common-padding-attlist =
5512 attribute fo:padding { nonNegativeLength }?,
5513 attribute fo:padding-top { nonNegativeLength }?,
5514 attribute fo:padding-bottom { nonNegativeLength }?,
5515 attribute fo:padding-left { nonNegativeLength }?,
5516 attribute fo:padding-right { nonNegativeLength }?
5517 style-paragraph-properties-attlist &= common-shadow-attlist
5518 common-shadow-attlist = attribute style:shadow { shadowType }?
5519 style-paragraph-properties-attlist &= common-keep-with-next-attlist
5520 common-keep-with-next-attlist =
5521 attribute fo:keep-with-next { "auto" | "always" }?
5522 style-paragraph-properties-attlist &=
5523 [ a:defaultValue = "false" ] attribute text:number-lines { boolean }?
5524 style-paragraph-properties-attlist &=
5525 attribute text:line-number { nonNegativeInteger }?
5526 style-paragraph-properties-attlist &=
5527 attribute style:text-autospace { "none" | "ideograph-alpha" }?
5528 style-paragraph-properties-attlist &=
5529 attribute style:punctuation-wrap { "simple" | "hanging" }?
5530 style-paragraph-properties-attlist &=
5531 attribute style:line-break { "normal" | "strict" }?
5532 style-paragraph-properties-attlist &=
5533 [ a:defaultValue = "auto" ]
5534 attribute style:vertical-align {
5535 "top" | "middle" | "bottom" | "auto" | "baseline"
5537 style-paragraph-properties-attlist &= common-writing-mode-attlist
5538 common-writing-mode-attlist =
5539 attribute style:writing-mode {
5540 "lr-tb" | "rl-tb" | "tb-rl" | "tb-lr" | "lr" | "rl" | "tb" | "page"
5542 style-paragraph-properties-attlist &=
5543 attribute style:writing-mode-automatic { boolean }?
5544 style-paragraph-properties-attlist &=
5545 attribute style:snap-to-layout-grid { boolean }?
5546 style-paragraph-properties-attlist &= common-page-number-attlist
5547 common-page-number-attlist =
5548 attribute style:page-number { positiveInteger | "auto" }?
5549 style-paragraph-properties-attlist &=
5550 attribute style:background-transparency { percent }?
5551 style-ruby-properties =
5552 element style:ruby-properties { style-ruby-properties-content }
5553 style-ruby-properties-content = style-properties-content
5554 style-ruby-properties-content-strict =
5555 style-ruby-properties-attlist, style-ruby-properties-elements
5556 style-ruby-properties-elements = empty
5557 style-ruby-properties-attlist &=
5558 attribute style:ruby-position { "above" | "below" }?
5559 style-ruby-properties-attlist &=
5560 attribute style:ruby-align {
5564 | "distribute-letter"
5565 | "distribute-space"
5567 style-section-properties =
5568 element style:section-properties { style-section-properties-content }
5569 style-section-properties-content = style-properties-content
5570 style-section-properties-content-strict =
5571 style-section-properties-attlist, style-section-properties-elements
5572 style-section-properties-attlist &= common-background-color-attlist
5573 style-section-properties-elements &= style-background-image
5574 style-section-properties-attlist &= common-horizontal-margin-attlist
5575 style-section-properties-elements &= style-columns
5577 element style:columns {
5578 style-columns-attlist, style-column-sep?, style-column*
5580 style-columns-attlist &= attribute fo:column-count { positiveInteger }
5581 style-columns-attlist &= attribute fo:column-gap { length }?
5582 style-column = element style:column { style-column-attlist }
5583 style-column-attlist &= attribute style:rel-width { relativeLength }
5584 style-column-attlist &=
5585 [ a:defaultValue = "0cm" ] attribute fo:start-indent { length }?
5586 style-column-attlist &=
5587 [ a:defaultValue = "0cm" ] attribute fo:end-indent { length }?
5588 style-column-attlist &=
5589 [ a:defaultValue = "0cm" ] attribute fo:space-before { length }?
5590 style-column-attlist &=
5591 [ a:defaultValue = "0cm" ] attribute fo:space-after { length }?
5592 style-column-sep = element style:column-sep { style-column-sep-attlist }
5593 style-column-sep-attlist &=
5594 [ a:defaultValue = "solid" ]
5595 attribute style:style {
5596 "none" | "solid" | "dotted" | "dashed" | "dot-dashed"
5598 style-column-sep-attlist &= attribute style:width { length }
5599 style-column-sep-attlist &=
5600 [ a:defaultValue = "100%" ] attribute style:height { percent }?
5601 style-column-sep-attlist &=
5602 [ a:defaultValue = "top" ]
5603 attribute style:vertical-align { "top" | "middle" | "bottom" }?
5604 style-column-sep-attlist &=
5605 [ a:defaultValue = "#000000" ] attribute style:color { color }?
5606 style-section-properties-attlist &=
5607 [ a:defaultValue = "false" ] attribute style:protect { boolean }?
5608 style-section-properties-attlist &=
5609 attribute text:dont-balance-text-columns { boolean }?
5610 style-section-properties-attlist &= common-writing-mode-attlist
5611 style-section-properties-elements &= text-notes-configuration*
5612 style-table-properties =
5613 element style:table-properties { style-table-properties-content }
5614 style-table-properties-content = style-properties-content
5615 style-table-properties-content-strict =
5616 style-table-properties-attlist, style-table-properties-elements
5617 style-table-properties-attlist &=
5618 attribute style:width { positiveLength }?,
5619 attribute style:rel-width { percent }?
5620 style-table-properties-attlist &=
5621 attribute table:align { "left" | "center" | "right" | "margins" }?
5622 style-table-properties-attlist &= common-horizontal-margin-attlist
5623 style-table-properties-attlist &= common-vertical-margin-attlist
5624 style-table-properties-attlist &= common-margin-attlist
5625 style-table-properties-attlist &= common-page-number-attlist
5626 style-table-properties-attlist &= common-break-attlist
5627 style-table-properties-attlist &= common-background-color-attlist
5628 style-table-properties-elements &= style-background-image
5629 style-table-properties-attlist &= common-shadow-attlist
5630 style-table-properties-attlist &= common-keep-with-next-attlist
5631 style-table-properties-attlist &=
5632 attribute style:may-break-between-rows { boolean }?
5633 style-table-properties-attlist &=
5634 attribute table:border-model { "collapsing" | "separating" }?
5635 style-table-properties-attlist &= common-writing-mode-attlist
5636 style-table-properties-attlist &= attribute table:display { boolean }?
5637 style-table-column-properties =
5638 element style:table-column-properties {
5639 style-table-column-properties-content
5641 style-table-column-properties-content = style-properties-content
5642 style-table-column-properties-content-strict =
5643 style-table-column-properties-attlist,
5644 style-table-column-properties-elements
5645 style-table-column-properties-elements = empty
5646 style-table-column-properties-attlist &=
5647 attribute style:column-width { positiveLength }?,
5648 attribute style:rel-column-width { relativeLength }?
5649 style-table-column-properties-attlist &=
5650 attribute style:use-optimal-column-width { boolean }?
5651 style-table-column-properties-attlist &= common-break-attlist
5652 style-table-row-properties =
5653 element style:table-row-properties {
5654 style-table-row-properties-content
5656 style-table-row-properties-content = style-properties-content
5657 style-table-row-properties-content-strict =
5658 style-table-row-properties-attlist,
5659 style-table-row-properties-elements
5660 style-table-row-properties-attlist &=
5661 attribute style:row-height { positiveLength }?,
5662 attribute style:min-row-height { nonNegativeLength }?
5663 style-table-row-properties-attlist &=
5664 attribute style:use-optimal-row-height { boolean }?
5665 style-table-row-properties-attlist &= common-background-color-attlist
5666 style-table-row-properties-elements &= style-background-image
5667 style-table-row-properties-attlist &= common-break-attlist
5668 style-table-row-properties-attlist &=
5669 attribute fo:keep-together { "auto" | "always" }?
5670 style-table-cell-properties =
5671 element style:table-cell-properties {
5672 style-table-cell-properties-content
5674 style-table-cell-properties-content = style-properties-content
5675 style-table-cell-properties-content-strict =
5676 style-table-cell-properties-attlist,
5677 style-table-cell-properties-elements
5678 style-table-cell-properties-attlist &=
5679 attribute style:vertical-align {
5680 "top" | "middle" | "bottom" | "automatic"
5682 style-table-cell-properties-attlist &=
5683 attribute style:text-align-source { "fix" | "value-type" }?
5684 style-table-cell-properties-attlist &= common-style-direction-attlist
5685 common-style-direction-attlist =
5686 attribute style:direction { "ltr" | "ttb" }?
5687 style-table-cell-properties-attlist &=
5688 attribute style:glyph-orientation-vertical { "auto" | "0" }?
5689 style-table-cell-properties-attlist &= common-shadow-attlist
5690 style-table-cell-properties-attlist &= common-background-color-attlist
5691 style-table-cell-properties-elements &= style-background-image
5692 style-table-cell-properties-attlist &= common-border-attlist
5693 style-table-cell-properties-attlist &=
5694 attribute style:diagonal-tl-br { \string }?,
5695 attribute style:diagonal-tl-br-widths { borderWidths }?,
5696 attribute style:diagonal-bl-tr { \string }?,
5697 attribute style:diagonal-bl-tr-widths { borderWidths }?
5698 style-table-cell-properties-attlist &= common-border-line-width-attlist
5699 style-table-cell-properties-attlist &= common-padding-attlist
5700 style-table-cell-properties-attlist &=
5701 attribute fo:wrap-option { "no-wrap" | "wrap" }?
5702 style-table-cell-properties-attlist &= common-rotation-angle-attlist
5703 common-rotation-angle-attlist =
5704 attribute style:rotation-angle { nonNegativeInteger }?
5705 style-table-cell-properties-attlist &=
5706 attribute style:rotation-align {
5707 "none" | "bottom" | "top" | "center"
5709 style-table-cell-properties-attlist &=
5710 attribute style:cell-protect {
5712 | "hidden-and-protected"
5713 | list { ("protected" | "formula-hidden")+ }
5715 style-table-cell-properties-attlist &=
5716 attribute style:print-content { boolean }?
5717 style-table-cell-properties-attlist &=
5718 attribute style:decimal-places { nonNegativeInteger }?
5719 style-table-cell-properties-attlist &=
5720 attribute style:repeat-content { boolean }?
5721 style-table-cell-properties-attlist &=
5722 attribute style:shrink-to-fit { boolean }?
5723 style-list-level-properties =
5724 element style:list-level-properties {
5725 style-list-level-properties-content
5727 style-list-level-properties-content = style-properties-content
5728 style-list-level-properties-content-strict =
5729 style-list-level-properties-attlist,
5730 style-list-level-properties-elements
5731 style-list-level-properties-elements = empty
5732 style-list-level-properties-attlist &= common-text-align
5733 style-list-level-properties-attlist &=
5734 attribute text:space-before { nonNegativeLength }?
5735 style-list-level-properties-attlist &=
5736 attribute text:min-label-width { nonNegativeLength }?
5737 style-list-level-properties-attlist &=
5738 attribute text:min-label-distance { nonNegativeLength }?
5739 style-list-level-properties-attlist &=
5740 attribute style:font-name { \string }?
5741 style-list-level-properties-attlist &=
5742 attribute fo:width { positiveLength }?,
5743 attribute fo:height { positiveLength }?
5744 style-list-level-properties-attlist &=
5745 common-vertical-rel-attlist, common-vertical-pos-attlist
5746 style-graphic-properties-attlist &=
5747 attribute draw:stroke { "none" | "dash" | "solid" }?
5748 style-graphic-properties-attlist &=
5749 attribute draw:stroke-dash { styleNameRef }?
5750 style-graphic-properties-attlist &=
5751 attribute draw:stroke-dash-names { styleNameRefs }?
5752 style-graphic-properties-attlist &=
5753 attribute svg:stroke-width { length }?
5754 style-graphic-properties-attlist &=
5755 attribute svg:stroke-color { color }?
5756 style-graphic-properties-attlist &=
5757 attribute draw:marker-start { styleNameRef }?
5758 style-graphic-properties-attlist &=
5759 attribute draw:marker-end { styleNameRef }?
5760 style-graphic-properties-attlist &=
5761 attribute draw:marker-start-width { length }?
5762 style-graphic-properties-attlist &=
5763 attribute draw:marker-end-width { length }?
5764 style-graphic-properties-attlist &=
5765 attribute draw:marker-start-center { boolean }?
5766 style-graphic-properties-attlist &=
5767 attribute draw:marker-end-center { boolean }?
5768 style-graphic-properties-attlist &=
5769 attribute svg:stroke-opacity {
5770 xsd:double { minInclusive = "0" maxInclusive = "1" }
5773 style-graphic-properties-attlist &=
5774 attribute draw:stroke-linejoin {
5775 "miter" | "round" | "bevel" | "middle" | "none" | "inherit"
5777 style-graphic-fill-properties-attlist &=
5778 attribute draw:fill {
5779 "none" | "solid" | "bitmap" | "gradient" | "hatch"
5781 style-graphic-fill-properties-attlist &=
5782 attribute draw:fill-color { color }?
5783 style-graphic-fill-properties-attlist &=
5784 attribute draw:secondary-fill-color { color }?
5785 style-graphic-fill-properties-attlist &=
5786 attribute draw:fill-gradient-name { styleNameRef }?
5787 style-graphic-fill-properties-attlist &=
5788 attribute draw:gradient-step-count { nonNegativeInteger }?
5789 style-graphic-fill-properties-attlist &=
5790 attribute draw:fill-hatch-name { styleNameRef }?
5791 style-graphic-fill-properties-attlist &=
5792 attribute draw:fill-hatch-solid { boolean }?
5793 style-graphic-fill-properties-attlist &=
5794 attribute draw:fill-image-name { styleNameRef }?
5795 style-graphic-fill-properties-attlist &=
5796 attribute style:repeat { "no-repeat" | "repeat" | "stretch" }?
5797 style-graphic-fill-properties-attlist &=
5798 attribute draw:fill-image-width { length | percent }?,
5799 attribute draw:fill-image-height { length | percent }?
5800 style-graphic-fill-properties-attlist &=
5801 attribute draw:fill-image-ref-point-x { percent }?,
5802 attribute draw:fill-image-ref-point-y { percent }?,
5803 attribute draw:fill-image-ref-point {
5814 style-graphic-fill-properties-attlist &=
5815 attribute draw:tile-repeat-offset { text }?
5816 style-graphic-fill-properties-attlist &=
5817 attribute draw:opacity { percent }?
5818 style-graphic-fill-properties-attlist &=
5819 attribute draw:opacity-name { styleNameRef }?
5820 style-graphic-fill-properties-attlist &=
5821 attribute svg:fill-rule { "nonzero" | "evenodd" }?
5822 style-graphic-properties-attlist &=
5823 attribute draw:symbol-color { color }?
5824 style-graphic-properties-attlist &=
5825 attribute text:animation {
5826 "none" | "scroll" | "alternate" | "slide"
5828 style-graphic-properties-attlist &=
5829 attribute text:animation-direction {
5830 "left" | "right" | "up" | "down"
5832 style-graphic-properties-attlist &=
5833 attribute text:animation-start-inside { boolean }?
5834 style-graphic-properties-attlist &=
5835 attribute text:animation-stop-inside { boolean }?
5836 style-graphic-properties-attlist &=
5837 attribute text:animation-repeat { nonNegativeInteger }?
5838 style-graphic-properties-attlist &=
5839 attribute text:animation-delay { duration }?
5840 style-graphic-properties-attlist &=
5841 attribute text:animation-steps { length }?
5842 style-graphic-properties-attlist &=
5843 attribute draw:auto-grow-width { boolean }?,
5844 attribute draw:auto-grow-height { boolean }?
5845 style-graphic-properties-attlist &=
5846 attribute draw:fit-to-size { boolean }?
5847 style-graphic-properties-attlist &=
5848 attribute draw:fit-to-contour { boolean }?
5849 style-graphic-properties-attlist &=
5850 attribute draw:textarea-vertical-align {
5851 "top" | "middle" | "bottom" | "justify"
5853 style-graphic-properties-attlist &=
5854 attribute draw:textarea-horizontal-align {
5855 "left" | "center" | "right" | "justify"
5857 style-graphic-properties-attlist &=
5858 attribute fo:wrap-option { "no-wrap" | "wrap" }?
5859 style-graphic-properties-elements &= text-list-style?
5860 style-graphic-properties-attlist &=
5861 attribute draw:color-mode {
5862 "greyscale" | "mono" | "watermark" | "standard"
5864 style-graphic-properties-attlist &=
5865 attribute draw:color-inversion { boolean }?
5866 style-graphic-properties-attlist &=
5867 attribute draw:luminance { percent }?
5868 style-graphic-properties-attlist &= attribute draw:contrast { percent }?
5869 style-graphic-properties-attlist &= attribute draw:gamma { percent }?
5870 style-graphic-properties-attlist &= attribute draw:red { percent }?
5871 style-graphic-properties-attlist &= attribute draw:green { percent }?
5872 style-graphic-properties-attlist &= attribute draw:blue { percent }?
5873 style-graphic-properties-attlist &=
5874 attribute draw:image-opacity { percent }?
5875 style-graphic-properties-attlist &=
5876 attribute draw:shadow { "visible" | "hidden" }?
5877 style-graphic-properties-attlist &=
5878 attribute draw:shadow-offset-x { length }?,
5879 attribute draw:shadow-offset-y { length }?
5880 style-graphic-properties-attlist &=
5881 attribute draw:shadow-color { color }?
5882 style-graphic-properties-attlist &=
5883 attribute draw:shadow-opacity { percent }?
5884 style-graphic-properties-attlist &=
5885 attribute draw:start-line-spacing-horizontal { distance }?,
5886 attribute draw:start-line-spacing-vertical { distance }?
5887 style-graphic-properties-attlist &=
5888 attribute draw:end-line-spacing-horizontal { distance }?,
5889 attribute draw:end-line-spacing-vertical { distance }?
5890 style-graphic-properties-attlist &=
5891 attribute draw:line-distance { distance }?
5892 style-graphic-properties-attlist &=
5893 attribute draw:guide-overhang { length }?
5894 style-graphic-properties-attlist &=
5895 attribute draw:guide-distance { distance }?
5896 style-graphic-properties-attlist &=
5897 attribute draw:start-guide { length }?
5898 style-graphic-properties-attlist &= attribute draw:end-guide { length }?
5899 style-graphic-properties-attlist &=
5900 attribute draw:placing { "below" | "above" }?
5901 style-graphic-properties-attlist &= attribute draw:parallel { boolean }?
5902 style-graphic-properties-attlist &=
5903 attribute draw:measure-align {
5904 "automatic" | "left-outside" | "inside" | "right-outside"
5906 attribute draw:measure-vertical-align {
5907 "automatic" | "above" | "below" | "center"
5909 style-graphic-properties-attlist &=
5910 attribute draw:unit {
5922 style-graphic-properties-attlist &=
5923 attribute draw:show-unit { boolean }?
5924 style-graphic-properties-attlist &=
5925 attribute draw:decimal-places { nonNegativeInteger }?
5926 style-graphic-properties-attlist &=
5927 attribute draw:caption-type {
5928 "straight-line" | "angled-line" | "angled-connector-line"
5930 style-graphic-properties-attlist &=
5931 attribute draw:caption-angle-type { "fixed" | "free" }?
5932 style-graphic-properties-attlist &=
5933 attribute draw:caption-angle { nonNegativeInteger }?
5934 style-graphic-properties-attlist &=
5935 attribute draw:caption-gap { distance }?
5936 style-graphic-properties-attlist &=
5937 attribute draw:caption-escape-direction {
5938 "horizontal" | "vertical" | "auto"
5940 style-graphic-properties-attlist &=
5941 attribute draw:caption-escape { length | percent }?
5942 style-graphic-properties-attlist &=
5943 attribute draw:caption-line-length { length }?
5944 style-graphic-properties-attlist &=
5945 attribute draw:caption-fit-line-length { boolean }?
5946 style-graphic-properties-attlist &=
5947 attribute dr3d:horizontal-segments { nonNegativeInteger }?
5948 style-graphic-properties-attlist &=
5949 attribute dr3d:vertical-segments { nonNegativeInteger }?
5950 style-graphic-properties-attlist &=
5951 attribute dr3d:edge-rounding { percent }?
5952 style-graphic-properties-attlist &=
5953 attribute dr3d:edge-rounding-mode { "correct" | "attractive" }?
5954 style-graphic-properties-attlist &=
5955 attribute dr3d:back-scale { percent }?
5956 style-graphic-properties-attlist &= attribute dr3d:depth { length }?
5957 style-graphic-properties-attlist &=
5958 attribute dr3d:backface-culling { "enabled" | "disabled" }?
5959 style-graphic-properties-attlist &=
5960 attribute dr3d:end-angle { nonNegativeInteger }?
5961 style-graphic-properties-attlist &=
5962 attribute dr3d:close-front { boolean }?
5963 style-graphic-properties-attlist &=
5964 attribute dr3d:close-back { boolean }?
5965 style-graphic-properties-attlist &=
5966 attribute dr3d:lighting-mode { "standard" | "double-sided" }?
5967 style-graphic-properties-attlist &=
5968 attribute dr3d:normals-kind { "object" | "flat" | "sphere" }?
5969 style-graphic-properties-attlist &=
5970 attribute dr3d:normals-direction { "normal" | "inverse" }?
5971 style-graphic-properties-attlist &=
5972 attribute dr3d:texture-generation-mode-x {
5973 "object" | "parallel" | "sphere"
5975 attribute dr3d:texture-generation-mode-y {
5976 "object" | "parallel" | "sphere"
5978 style-graphic-properties-attlist &=
5979 attribute dr3d:texture-kind { "luminance" | "intensity" | "color" }?
5980 style-graphic-properties-attlist &=
5981 attribute dr3d:texture-filter { "enabled" | "disabled" }?
5982 style-graphic-properties-attlist &=
5983 attribute dr3d:texture-mode { "replace" | "modulate" | "blend" }?
5984 style-graphic-properties-attlist &=
5985 attribute dr3d:ambient-color { color }?,
5986 attribute dr3d:emissive-color { color }?,
5987 attribute dr3d:specular-color { color }?,
5988 attribute dr3d:diffuse-color { color }?
5989 style-graphic-properties-attlist &=
5990 attribute dr3d:shininess { percent }?
5991 style-graphic-properties-attlist &=
5992 attribute dr3d:shadow { "visible" | "hidden" }?
5993 style-graphic-properties-attlist &=
5994 common-draw-rel-size-attlist,
5995 attribute fo:min-width { length | percent }?
5996 style-graphic-properties-attlist &=
5997 attribute fo:min-height { length | percent }?
5998 style-graphic-properties-attlist &=
5999 attribute fo:max-height { length | percent }?,
6000 attribute fo:max-width { length | percent }?
6001 style-graphic-properties-attlist &= common-horizontal-margin-attlist
6002 style-graphic-properties-attlist &= common-vertical-margin-attlist
6003 style-graphic-properties-attlist &= common-margin-attlist
6004 style-graphic-properties-attlist &=
6005 attribute style:print-content { boolean }?
6006 style-graphic-properties-attlist &=
6007 attribute style:protect {
6009 | list { ("content" | "position" | "size")+ }
6011 style-graphic-properties-attlist &=
6012 attribute style:horizontal-pos {
6021 attribute svg:x { coordinate }?
6022 style-graphic-properties-attlist &=
6023 attribute style:horizontal-rel {
6026 | "page-start-margin"
6030 | "frame-start-margin"
6031 | "frame-end-margin"
6033 | "paragraph-content"
6034 | "paragraph-start-margin"
6035 | "paragraph-end-margin"
6038 style-graphic-properties-attlist &= common-vertical-pos-attlist
6039 common-vertical-pos-attlist =
6040 attribute style:vertical-pos {
6041 "top" | "middle" | "bottom" | "from-top" | "below"
6043 attribute svg:y { coordinate }?
6044 style-graphic-properties-attlist &= common-vertical-rel-attlist
6045 common-vertical-rel-attlist =
6046 attribute style:vertical-rel {
6052 | "paragraph-content"
6058 style-graphic-properties-attlist &= common-text-anchor-attlist
6059 style-graphic-properties-attlist &= common-border-attlist
6060 style-graphic-properties-attlist &= common-border-line-width-attlist
6061 style-graphic-properties-attlist &= common-padding-attlist
6062 style-graphic-properties-attlist &= common-shadow-attlist
6063 style-graphic-properties-attlist &= common-background-color-attlist
6064 style-graphic-properties-elements &= style-background-image
6065 style-graphic-properties-elements &= style-columns
6066 style-graphic-properties-attlist &=
6067 attribute style:editable { boolean }?
6068 style-graphic-properties-attlist &=
6069 attribute style:wrap {
6078 style-graphic-properties-attlist &=
6079 attribute style:wrap-dynamic-threshold { nonNegativeLength }?
6080 style-graphic-properties-attlist &=
6081 attribute style:number-wrapped-paragraphs {
6082 "no-limit" | positiveInteger
6084 style-graphic-properties-attlist &=
6085 attribute style:wrap-contour { boolean }?
6086 style-graphic-properties-attlist &=
6087 attribute style:wrap-contour-mode { "full" | "outside" }?
6088 style-graphic-properties-attlist &=
6089 attribute style:run-through { "foreground" | "background" }?
6090 style-graphic-properties-attlist &=
6091 attribute style:flow-with-text { boolean }?
6092 style-graphic-properties-attlist &=
6093 attribute style:overflow-behavior {
6094 "clip" | "auto-create-new-frame"
6096 style-graphic-properties-attlist &=
6097 attribute style:mirror {
6101 | list { "vertical", horizontal-mirror }
6102 | list { horizontal-mirror, "vertical" }
6105 "horizontal" | "horizontal-on-odd" | "horizontal-on-even"
6106 style-graphic-properties-attlist &=
6108 # The attribute value must match the one XSL's clip
6111 style-graphic-properties-attlist &=
6112 [ a:defaultValue = "iterative" ]
6113 attribute draw:wrap-influence-on-position {
6114 "iterative" | "once-concurrent" | "once-successive"
6116 style-graphic-properties-attlist &= common-writing-mode-attlist
6117 style-graphic-properties-attlist &=
6118 attribute draw:frame-display-scrollbar { boolean }?
6119 style-graphic-properties-attlist &=
6120 attribute draw:frame-display-border { boolean }?
6121 style-graphic-properties-attlist &=
6122 attribute draw:frame-margin-horizontal { nonNegativePixelLength }?,
6123 attribute draw:frame-margin-vertical { nonNegativePixelLength }?
6124 nonNegativePixelLength =
6125 xsd:string { pattern = "([0-9]+(\.[0-9]*)?|\.[0-9]+)(px)" }
6126 style-graphic-properties-attlist &=
6127 attribute draw:visible-area-left { nonNegativeLength }?,
6128 attribute draw:visible-area-top { nonNegativeLength }?,
6129 attribute draw:visible-area-width { positiveLength }?,
6130 attribute draw:visible-area-height { positiveLength }?
6131 style-graphic-properties-attlist &=
6132 attribute draw:ole-draw-aspect { nonNegativeInteger }?
6133 style-chart-properties =
6134 element style:chart-properties { style-chart-properties-content }
6135 style-chart-properties-content = style-properties-content
6136 style-chart-properties-content-strict =
6137 style-chart-properties-attlist, style-chart-properties-elements
6138 style-chart-properties-elements = empty
6139 style-chart-properties-attlist &=
6140 [ a:defaultValue = "true" ] attribute chart:scale-text { boolean }?
6141 style-chart-properties-attlist &=
6142 attribute chart:three-dimensional { boolean }?
6143 style-chart-properties-attlist &= attribute chart:deep { boolean }?
6144 style-chart-properties-attlist &=
6145 attribute chart:symbol-type { "none" }
6146 | attribute chart:symbol-type { "automatic" }
6147 | (attribute chart:symbol-type { "named-symbol" },
6148 attribute chart:symbol-name {
6165 | (attribute chart:symbol-type { "image" },
6166 element chart:symbol-image {
6167 attribute xlink:href { anyURI }
6170 style-chart-properties-attlist &=
6171 attribute chart:symbol-width { nonNegativeLength }?,
6172 attribute chart:symbol-height { nonNegativeLength }?
6173 style-chart-properties-attlist &=
6174 [ a:defaultValue = "false" ] attribute chart:vertical { boolean }?
6175 style-chart-properties-attlist &=
6176 [ a:defaultValue = "false" ] attribute chart:connect-bars { boolean }?
6177 style-chart-properties-attlist &=
6178 attribute chart:gap-width { integer }?,
6179 attribute chart:overlap { integer }?
6180 style-chart-properties-attlist &=
6181 [ a:defaultValue = "false" ]
6182 attribute chart:japanese-candle-stick { boolean }?
6183 style-chart-properties-attlist &=
6184 [ a:defaultValue = "none" ]
6185 attribute chart:interpolation {
6186 "none" | "cubic-spline" | "b-spline"
6188 [ a:defaultValue = "2" ]
6189 attribute chart:spline-order { positiveInteger }?,
6190 [ a:defaultValue = "20" ]
6191 attribute chart:spline-resolution { positiveInteger }?
6192 style-chart-properties-attlist &=
6193 [ a:defaultValue = "0" ]
6194 attribute chart:pie-offset { nonNegativeInteger }?
6195 style-chart-properties-attlist &=
6196 [ a:defaultValue = "false" ] attribute chart:lines { boolean }?
6197 style-chart-properties-attlist &=
6198 [ a:defaultValue = "cuboid" ]
6199 attribute chart:solid-type {
6200 "cuboid" | "cylinder" | "cone" | "pyramid"
6202 style-chart-properties-attlist &=
6203 [ a:defaultValue = "false" ] attribute chart:stacked { boolean }?,
6204 [ a:defaultValue = "false" ] attribute chart:percentage { boolean }?
6205 style-chart-properties-attlist &=
6206 attribute chart:link-data-style-to-source { boolean }?
6207 style-chart-properties-attlist &= attribute chart:visible { boolean }?
6208 style-chart-properties-attlist &=
6209 attribute chart:logarithmic { boolean }?
6210 style-chart-properties-attlist &=
6211 attribute chart:maximum { double }?,
6212 attribute chart:minimum { double }?,
6213 attribute chart:origin { double }?,
6214 attribute chart:interval-major { double }?,
6215 attribute chart:interval-minor-divisor { positiveInteger }?
6216 style-chart-properties-attlist &=
6217 attribute chart:tick-marks-major-inner { boolean }?,
6218 attribute chart:tick-marks-major-outer { boolean }?,
6219 attribute chart:tick-marks-minor-inner { boolean }?,
6220 attribute chart:tick-marks-minor-outer { boolean }?
6221 style-chart-properties-attlist &=
6222 attribute chart:display-label { boolean }?,
6223 attribute chart:text-overlap { boolean }?,
6224 attribute text:line-break { boolean }?,
6225 [ a:defaultValue = "side-by-side" ]
6226 attribute chart:label-arrangement {
6227 "side-by-side" | "stagger-even" | "stagger-odd"
6229 style-chart-properties-attlist &= common-style-direction-attlist
6230 style-chart-properties-attlist &= common-rotation-angle-attlist
6231 style-chart-properties-attlist &=
6232 attribute chart:data-label-number { "none" | "value" | "percentage" }?
6233 style-chart-properties-attlist &=
6234 attribute chart:data-label-text { boolean }?
6235 style-chart-properties-attlist &=
6236 attribute chart:data-label-symbol { boolean }?
6237 style-chart-properties-attlist &=
6238 attribute chart:mean-value { boolean }?
6239 style-chart-properties-attlist &=
6240 [ a:defaultValue = "none" ]
6241 attribute chart:error-category {
6244 | "standard-deviation"
6249 style-chart-properties-attlist &=
6250 attribute chart:error-percentage { double }?
6251 style-chart-properties-attlist &=
6252 attribute chart:error-margin { double }?
6253 style-chart-properties-attlist &=
6254 attribute chart:error-lower-limit { double }?,
6255 attribute chart:error-upper-limit { double }?
6256 style-chart-properties-attlist &=
6257 attribute chart:error-upper-indicator { boolean }?,
6258 attribute chart:error-lower-indicator { boolean }?
6259 style-chart-properties-attlist &=
6260 [ a:defaultValue = "columns" ]
6261 attribute chart:series-source { "columns" | "rows" }?
6262 style-chart-properties-attlist &=
6263 [ a:defaultValue = "none" ]
6264 attribute chart:regression-type {
6265 "none" | "linear" | "logarithmic" | "exponential" | "power"
6267 style-drawing-page-properties-attlist &=
6268 attribute presentation:transition-type {
6269 "manual" | "automatic" | "semi-automatic"
6271 style-drawing-page-properties-attlist &=
6272 attribute presentation:transition-style {
6277 | "fade-from-bottom"
6278 | "fade-from-upperleft"
6279 | "fade-from-upperright"
6280 | "fade-from-lowerleft"
6281 | "fade-from-lowerright"
6285 | "move-from-bottom"
6286 | "move-from-upperleft"
6287 | "move-from-upperright"
6288 | "move-from-lowerleft"
6289 | "move-from-lowerright"
6292 | "uncover-to-right"
6293 | "uncover-to-bottom"
6294 | "uncover-to-upperleft"
6295 | "uncover-to-upperright"
6296 | "uncover-to-lowerleft"
6297 | "uncover-to-lowerright"
6299 | "fade-from-center"
6300 | "vertical-stripes"
6301 | "horizontal-stripes"
6303 | "counterclockwise"
6307 | "close-horizontal"
6308 | "wavyline-from-left"
6309 | "wavyline-from-top"
6310 | "wavyline-from-right"
6311 | "wavyline-from-bottom"
6319 | "roll-from-bottom"
6320 | "stretch-from-left"
6321 | "stretch-from-top"
6322 | "stretch-from-right"
6323 | "stretch-from-bottom"
6325 | "horizontal-lines"
6328 | "vertical-checkerboard"
6329 | "horizontal-checkerboard"
6330 | "interlocking-horizontal-left"
6331 | "interlocking-horizontal-right"
6332 | "interlocking-vertical-top"
6333 | "interlocking-vertical-bottom"
6339 style-drawing-page-properties-attlist &=
6340 attribute presentation:transition-speed { presentationSpeeds }?
6341 style-drawing-page-properties-attlist &=
6342 attribute smil:type { \string }?
6343 style-drawing-page-properties-attlist &=
6344 attribute smil:subtype { \string }?
6345 style-drawing-page-properties-attlist &=
6346 [ a:defaultValue = "forward" ]
6347 attribute smil:direction { "forward" | "reverse" }?
6348 style-drawing-page-properties-attlist &=
6349 attribute smil:fadeColor { color }?
6350 style-drawing-page-properties-attlist &=
6351 attribute presentation:duration { duration }?
6352 style-drawing-page-properties-attlist &=
6353 attribute presentation:visibility { "visible" | "hidden" }?
6354 style-drawing-page-properties-elements &= presentation-sound?
6355 style-drawing-page-properties-attlist &=
6356 attribute draw:background-size { "full" | "border" }?
6357 style-drawing-page-properties-attlist &=
6358 attribute presentation:background-objects-visible { boolean }?
6359 style-drawing-page-properties-attlist &=
6360 attribute presentation:background-visible { boolean }?
6361 style-drawing-page-properties-attlist &=
6362 attribute presentation:display-header { boolean }?
6363 style-drawing-page-properties-attlist &=
6364 attribute presentation:display-footer { boolean }?
6365 style-drawing-page-properties-attlist &=
6366 attribute presentation:display-page-number { boolean }?
6367 style-drawing-page-properties-attlist &=
6368 attribute presentation:display-date-time { boolean }?
6369 \string = xsd:string
6372 dateTime = xsd:dateTime
6373 duration = xsd:duration
6374 integer = xsd:integer
6375 nonNegativeInteger = xsd:nonNegativeInteger
6376 positiveInteger = xsd:positiveInteger
6379 base64Binary = xsd:base64Binary
6383 boolean = "true" | "false"
6384 dateOrDateTime = xsd:date | xsd:dateTime
6385 timeOrDateTime = xsd:time | xsd:dateTime
6386 language = xsd:language
6387 countryCode = xsd:token { pattern = "[A-Za-z0-9]{1,8}" }
6388 languageCode = xsd:token { pattern = "[A-Za-z]{1,8}" }
6389 character = xsd:string { length = "1" }
6393 "-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))"
6398 "([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))"
6403 "([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))"
6405 percent = xsd:string { pattern = "-?([0-9]+(\.[0-9]*)?|\.[0-9]+)%" }
6406 relativeLength = xsd:string { pattern = "[0-9]+\*" }
6409 color = xsd:string { pattern = "#[0-9a-fA-F]{6}" }
6410 styleName = xsd:NCName
6411 styleNameRef = xsd:NCName | empty
6412 styleNameRefs = list { xsd:NCName* }
6413 variableName = xsd:string
6415 # A formula should start with a namespace prefix,
6417 # but has no restrictions
6419 targetFrameName = "_self" | "_blank" | "_parent" | "_top" | \string
6429 xsd:string { pattern = "-?[0-9]+,-?[0-9]+([ ]+-?[0-9]+,-?[0-9]+)*" }
6430 pathData = xsd:string
6434 "\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)([ ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)){2}[ ]*\)"
6437 xsd:string { pattern = "[0-9a-zA-Z_]+:[0-9a-zA-Z._\-]+" }
6438 anyAttListOrElements =
6439 attribute * { text }*,
6443 mixed { anyAttListOrElements }