[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: ODF 1.3 draft schema review
hi all, i've had an opportunity to do some review on the ODF 1.3 draft schema... OpenDocument-schema-v1.3-wd06.rng OpenDocument-manifest-schema-v1.3-wd01.rng OpenDocument-dsig-schema-v1.3-wd01.rng1. the ODF 1.3 draft schemas have huge superficial differences against the ODF 1.2 schema, because everything now has a namespace prefix and all of the patterns in it now come in alphabetically sorted order.
this was a bit irritating but then i found that there is a similarly sorted ODF 1.2 schema in the SVN repository:
https://tools.oasis-open.org/version-control/browse/wsvn/office/branches/v1.2/v1.2/OpenDocument-schema-v1.2.rng so at least this can be used to compare... 2. bugs in the schema:my motivation was that actually the ODF Toolkit validator complained that the schema wasn't valid :)
so i've fixed the following: * manifest schema: for no apparent reason, the QName pattern lost its +* OFFICE-2118: Fatal: reference to the undefined pattern "table-data-pilot-groups" * OFFICE-3857: Fatal: more than one attribute accepts the same name "scale-to"
* OFFICE-3933: the removal part of the diff was not applied * OFFICE-3883: applied one line off, with missing rng: namespace prefix * OFFICE-3928:- removed combine=interleave attribute (was in 1.1 but no longer used in 1.2 schema)
- added missing rng: prefix to <empty>please find & review the 2 new schema drafts in the OASIS document repository:
https://www.oasis-open.org/apps/org/workgroup/office/document.php?document_id=63305 https://www.oasis-open.org/apps/org/workgroup/office/document.php?document_id=63306 i'll attach a diff between wd06 and wd06-with-fixes for convenience. regards, michael -- Michael Stahl Senior Software-Entwickler LibreOffice ––– CIB software GmbH Geschäftsstelle Hamburg Flachsland 10 22083 Hamburg ––– T +49 (40) / 28 48 42 -296 F +49 (40) / 28 48 42 -100 Michael.Stahl@cib.de www.cib.de ––– Sitz: München Registergericht München, HRB 123286 Geschäftsführer: Dipl.-Ing. Ulrich Brandner
--- /home/ms/Documents/odf/tc/OpenDocument-schema-v1.3-wd06.rng 2018-06-19 17:03:16.916415578 +0200 +++ /tmp/OpenDocument-schema-v1.3-wd06-with-fixes.rng 2018-06-25 12:28:21.426724536 +0200 @@ -486,19 +486,19 @@ </rng:optional> <rng:optional> <rng:ref name="chart-footer"/> </rng:optional> <rng:optional> <rng:ref name="chart-legend"/> </rng:optional> <rng:ref name="chart-plot-area"/> <rng:zeroOrMore> - <rng:ref name="shape"/> + <rng:ref name="shape"/> </rng:zeroOrMore> <!-- https://issues.oasis-open.org/browse/OFFICE-2123 --> <rng:optional> <rng:ref name="table-table"/> </rng:optional> </rng:element> </rng:define> <rng:define name="chart-chart-attlist"> <rng:interleave> @@ -530,18 +530,29 @@ <rng:ref name="anyIRI"/> </rng:attribute> </rng:group> </rng:optional> <rng:optional> <rng:ref name="xml-id"/> </rng:optional> </rng:interleave> </rng:define> + <rng:define name="chart-coordinate-region"> + <rng:element name="chart:coordinate-region"> + <rng:ref name="chart-coordinate-region-attlist"/> + <rng:empty/> + </rng:element> + </rng:define> + <rng:define name="chart-coordinate-region-attlist"> + <rng:ref name="common-draw-position-attlist"/> + <rng:ref name="common-draw-size-attlist"/> + </rng:define> + <!-- https://issues.oasis-open.org/browse/OFFICE-3928 --> <rng:define name="chart-data-label"> <rng:element name="chart:data-label"> <rng:ref name="chart-data-label-attlist"/> <rng:optional> <rng:ref name="text-p"/> </rng:optional> </rng:element> </rng:define> <rng:define name="chart-data-label-attlist"> @@ -745,20 +756,20 @@ <rng:value>balanced</rng:value> </rng:choice> </rng:attribute> <rng:group> <rng:attribute name="style:legend-expansion"> <rng:value>custom</rng:value> </rng:attribute> <rng:attribute name="style:legend-expansion-aspect-ratio"> <rng:ref name="double"/> - <ref name="common-draw-size-attlist"/> </rng:attribute> + <rng:ref name="common-draw-size-attlist"/> <!-- https://issues.oasis-open.org/browse/OFFICE-3883 --> </rng:group> <rng:empty/> </rng:choice> <rng:optional> <rng:attribute name="chart:style-name"> <rng:ref name="styleNameRef"/> </rng:attribute> </rng:optional> @@ -776,20 +787,20 @@ <rng:ref name="styleNameRef"/> </rng:attribute> </rng:optional> </rng:define> <rng:define name="chart-plot-area"> <rng:element name="chart:plot-area"> <rng:ref name="chart-plot-area-attlist"/> <rng:optional> <!-- https://issues.oasis-open.org/browse/OFFICE-3928 --> - <rng:ref name="chart-coordinate-region"/> - </rng:optional> + <rng:ref name="chart-coordinate-region"/> + </rng:optional> <rng:zeroOrMore> <rng:ref name="dr3d-light"/> </rng:zeroOrMore> <rng:zeroOrMore> <rng:ref name="chart-axis"/> </rng:zeroOrMore> <rng:zeroOrMore> <rng:ref name="chart-series"/> </rng:zeroOrMore> @@ -835,28 +846,18 @@ </rng:attribute> </rng:optional> <rng:ref name="dr3d-scene-attlist"/> <rng:ref name="common-dr3d-transform-attlist"/> <rng:optional> <rng:ref name="xml-id"/> </rng:optional> </rng:interleave> </rng:define> - <rng:define name="chart-coordinate-region"> - <rng:element name="chart:coordinate-region"> - <rng:ref name="chart-coordinate-region-attlist"/> - <empty/> - </rng:element> - </rng:define> - <rng:define name="chart-coordinate-region-attlist" combine="interleave"> - <rng:ref name="common-draw-position-attlist"/> - <rng:ref name="common-draw-size-attlist"/> - </rng:define> <rng:define name="chart-regression-curve"> <rng:element name="chart:regression-curve"> <rng:ref name="chart-regression-curve-attlist"/> <rng:optional> <rng:ref name="chart-equation"/> </rng:optional> </rng:element> </rng:define> <rng:define name="chart-regression-curve-attlist"> @@ -1519,20 +1520,21 @@ </rng:define> <rng:define name="common-decimal-places-attlist"> <rng:optional> <rng:attribute name="number:decimal-places"> <rng:ref name="integer"/> </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="number:min-decimal-places"> - <rng:ref name="integer"/> + <rng:ref name="integer"/> </rng:attribute> + <!-- OFFICE-3860 --> </rng:optional> </rng:define> <rng:define name="common-delay-for-repeat"> <rng:optional> <rng:attribute name="form:delay-for-repeat"> <rng:ref name="duration"/> </rng:attribute> </rng:optional> </rng:define> @@ -1694,18 +1696,26 @@ </rng:optional> </rng:define> <rng:define name="common-draw-layer-name-attlist"> <rng:optional> <rng:attribute name="draw:layer"> <rng:ref name="string"/> </rng:attribute> </rng:optional> </rng:define> + <rng:define name="common-draw-mime-type-attlist"> + <rng:optional> + <rng:attribute name="draw:mime-type"> + <rng:ref name="string"/> + </rng:attribute> + </rng:optional> + </rng:define> + <!-- https://issues.oasis-open.org/browse/OFFICE-3943 --> <rng:define name="common-draw-name-attlist"> <rng:optional> <rng:attribute name="draw:name"> <rng:ref name="string"/> </rng:attribute> </rng:optional> </rng:define> <rng:define name="common-draw-path-data-attlist"> <rng:attribute name="svg:d"> @@ -4970,40 +4980,23 @@ <rng:attribute name="draw:formula"> <rng:ref name="string"/> </rng:attribute> </rng:optional> </rng:interleave> </rng:define> <rng:define name="draw-fill-image"> <rng:element name="draw:fill-image"> <rng:ref name="draw-fill-image-attlist"/> - <rng:attribute name="xlink:type"> - <rng:value>simple</rng:value> - </rng:attribute> - <rng:attribute name="xlink:href"> - <rng:ref name="anyIRI"/> - </rng:attribute> - <rng:optional> - <rng:attribute name="xlink:show"> - <rng:value>embed</rng:value> - </rng:attribute> - </rng:optional> - <rng:optional> - <rng:attribute name="xlink:actuate"> - <rng:value>onLoad</rng:value> - </rng:attribute> - </rng:optional> - <rng:empty/> <rng:choice> <rng:group> <rng:ref name="common-draw-data-attlist"/> - <rng:empty/> - </rng:group> + <rng:empty/> + </rng:group> <rng:ref name="office-binary-data"/> </rng:choice> <!-- https://issues.oasis-open.org/browse/OFFICE-3933 --> </rng:element> </rng:define> <rng:define name="draw-fill-image-attlist"> <rng:interleave> <rng:attribute name="draw:name"> <rng:ref name="styleName"/> @@ -5322,31 +5315,24 @@ </rng:define> <rng:define name="draw-image-attlist"> <rng:interleave> <rng:optional> <rng:attribute name="draw:filter-name"> <rng:ref name="string"/> </rng:attribute> </rng:optional> <rng:ref name="common-draw-mime-type-attlist"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-3943 --> <rng:optional> <rng:ref name="xml-id"/> </rng:optional> </rng:interleave> </rng:define> - <rng:define name="common-draw-mime-type-attlist"> - <rng:optional> - <rng:attribute name="draw:mime-type"> - <rng:ref name="string"/> - </rng:attribute> - </rng:optional> - </rng:define> - <!-- https://issues.oasis-open.org/browse/OFFICE-3943 --> <rng:define name="draw-image-map"> <rng:element name="draw:image-map"> <rng:zeroOrMore> <rng:choice> <rng:ref name="draw-area-rectangle"/> <rng:ref name="draw-area-circle"/> <rng:ref name="draw-area-polygon"/> </rng:choice> </rng:zeroOrMore> @@ -5687,19 +5673,19 @@ <rng:ref name="draw-plugin-attlist"/> <rng:ref name="common-draw-data-attlist"/> <rng:zeroOrMore> <rng:ref name="draw-param"/> </rng:zeroOrMore> </rng:element> </rng:define> <rng:define name="draw-plugin-attlist"> <rng:interleave> - <rng:ref name="common-draw-mime-type-attlist"/> + <rng:ref name="common-draw-mime-type-attlist"/> <rng:optional> <rng:ref name="xml-id"/> </rng:optional> </rng:interleave> </rng:define> <!-- https://issues.oasis-open.org/browse/OFFICE-3943 --> <rng:define name="draw-polygon"> <rng:element name="draw:polygon"> <rng:ref name="common-draw-points-attlist"/> @@ -7184,18 +7170,24 @@ <rng:optional> <rng:attribute name="number:style"> <rng:choice> <rng:value>short</rng:value> <rng:value>long</rng:value> </rng:choice> </rng:attribute> </rng:optional> </rng:define> + <rng:define name="number-fill-character"> + <rng:element name="number:fill-character"> + <rng:text/> + </rng:element> + </rng:define> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> <rng:define name="number-fraction"> <rng:element name="number:fraction"> <rng:ref name="number-fraction-attlist"/> <rng:ref name="common-number-attlist"/> <rng:empty/> </rng:element> </rng:define> <rng:define name="number-fraction-attlist"> <rng:interleave> @@ -7368,20 +7360,21 @@ </rng:define> <rng:define name="number-scientific-number-attlist"> <rng:optional> <rng:attribute name="number:min-exponent-digits"> <rng:ref name="integer"/> </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="number:forced-exponent-sign"> - <rng:ref name="boolean"/> + <rng:ref name="boolean"/> </rng:attribute> + <!-- OFFICE-3860 --> </rng:optional> </rng:define> <rng:define name="number-seconds"> <rng:element name="number:seconds"> <rng:ref name="number-seconds-attlist"/> <rng:empty/> </rng:element> </rng:define> <rng:define name="number-seconds-attlist"> @@ -7395,35 +7388,18 @@ </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="number:decimal-places"> <rng:ref name="integer"/> </rng:attribute> </rng:optional> </rng:interleave> </rng:define> - <rng:define name="number-text-with-fillchar"> - <rng:optional> - <rng:ref name="number-text"/> - </rng:optional> - <rng:optional> - <rng:ref name="number-fill-character"/> - <rng:optional> - <rng:ref name="number-text"/> - </rng:optional> - </rng:optional> - </rng:define> - <rng:define name="number-fill-character"> - <rng:element name="number:fill-character"> - <rng:text/> - </rng:element> - </rng:define> - <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> <rng:define name="number-text"> <rng:element name="number:text"> <rng:text/> </rng:element> </rng:define> <rng:define name="number-text-content"> <rng:element name="number:text-content"> <rng:empty/> </rng:element> @@ -7444,18 +7420,30 @@ <rng:ref name="number-text-with-fillchar"/> </rng:optional> <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> </rng:zeroOrMore> <rng:zeroOrMore> <rng:ref name="style-map"/> </rng:zeroOrMore> </rng:element> </rng:define> + <rng:define name="number-text-with-fillchar"> + <rng:optional> + <rng:ref name="number-text"/> + </rng:optional> + <rng:optional> + <rng:ref name="number-fill-character"/> + <rng:optional> + <rng:ref name="number-text"/> + </rng:optional> + </rng:optional> + </rng:define> + <!-- https://issues.oasis-open.org/browse/OFFICE-3765 --> <rng:define name="number-time-style"> <rng:element name="number:time-style"> <rng:ref name="number-time-style-attlist"/> <rng:ref name="common-data-style-attlist"/> <rng:ref name="common-format-source-attlist"/> <rng:optional> <rng:ref name="style-text-properties"/> </rng:optional> <rng:optional> @@ -7515,21 +7503,21 @@ <rng:ref name="dc-creator"/> </rng:optional> <rng:optional> <rng:ref name="dc-date"/> </rng:optional> <rng:optional> <rng:ref name="meta-date-string"/> </rng:optional> <rng:optional> - <rng:element name="meta:creator-initials"> - <rng:text/> - </rng:element> + <rng:element name="meta:creator-initials"> + <rng:text/> + </rng:element> </rng:optional> <!-- https://issues.oasis-open.org/browse/OFFICE-3776 --> <rng:zeroOrMore> <rng:choice> <rng:ref name="text-p"/> <rng:ref name="text-list"/> </rng:choice> </rng:zeroOrMore> </rng:element> @@ -8283,39 +8271,18 @@ </rng:group> </rng:optional> <rng:optional> <rng:ref name="common-in-content-meta-attlist"/> </rng:optional> </rng:interleave> </rng:define> <rng:define name="paragraph-content"> <rng:choice> - <rng:element name="text:drop-down"> -<rng:attribute name="text:name"> -<rng:ref name="string"/> -</rng:attribute> -<rng:zeroOrMore> -<rng:element name="text:label"> -<rng:optional> -<rng:attribute name="text:value"> -<rng:ref name="string"/> -</rng:attribute> -</rng:optional> -<rng:optional> -<rng:attribute name="text:current-selected"> -<rng:ref name="boolean"/> -</rng:attribute> -</rng:optional> -</rng:element> -</rng:zeroOrMore> -<rng:text/> - </rng:element> - <rng:text/> <rng:element name="text:s"> <rng:optional> <rng:attribute name="text:c"> <rng:ref name="nonNegativeInteger"/> </rng:attribute> </rng:optional> </rng:element> <rng:element name="text:tab"> @@ -8576,18 +8543,39 @@ <rng:ref name="common-field-display-value-formula-attlist"/> <rng:ref name="common-field-data-style-name-attlist"/> </rng:interleave> <rng:text/> </rng:element> <rng:element name="text:text-input"> <rng:ref name="common-field-description-attlist"/> <rng:text/> </rng:element> + <rng:element name="text:drop-down"> + <rng:attribute name="text:name"> + <rng:ref name="string"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="text:label"> + <rng:optional> + <rng:attribute name="text:value"> + <rng:ref name="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="text:current-selected"> + <rng:ref name="boolean"/> + </rng:attribute> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:text/> + </rng:element> + <!-- OFFICE-3881 --> <rng:element name="text:initial-creator"> <rng:ref name="common-field-fixed-attlist"/> <rng:text/> </rng:element> <rng:element name="text:creation-date"> <rng:interleave> <rng:ref name="common-field-fixed-attlist"/> <rng:ref name="common-field-data-style-name-attlist"/> <rng:optional> @@ -10089,26 +10077,26 @@ </rng:optional> <rng:optional> <rng:attribute name="chart:regression-type"> <rng:choice> <rng:value>none</rng:value> <rng:value>linear</rng:value> <rng:value>logarithmic</rng:value> <rng:value>exponential</rng:value> <rng:value>power</rng:value> - <rng:value>polynomial</rng:value> + <rng:value>polynomial</rng:value> </rng:choice> </rng:attribute> </rng:optional> - <rng:optional> - <rng:attribute name="chart:regression-max-degree"> + <rng:optional> + <rng:attribute name="chart:regression-max-degree"> <rng:ref name="positiveInteger"/> - </rng:attribute> + </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="chart:regression-force-intercept"> <rng:ref name="boolean"/> </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="chart:regression-intercept-value"> <rng:ref name="double"/> @@ -10148,21 +10136,21 @@ </rng:choice> </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="chart:include-hidden-cells"> <rng:ref name="boolean"/> </rng:attribute> </rng:optional> <rng:optional> - <rng:attribute name="chart:data-label-series"> - <rng:ref name="boolean"/> - </rng:attribute> + <rng:attribute name="chart:data-label-series"> + <rng:ref name="boolean"/> + </rng:attribute> </rng:optional> <!-- https://issues.oasis-open.org/browse/OFFICE-2117 --> </rng:interleave> </rng:define> <rng:define name="style-chart-properties-content-strict"> <rng:ref name="style-chart-properties-attlist"/> <rng:ref name="style-chart-properties-elements"/> </rng:define> <rng:define name="style-chart-properties-elements"> @@ -10697,43 +10685,37 @@ </rng:attribute> </rng:optional> <rng:optional> <rng:attribute name="style:font-charset"> <rng:ref name="textEncoding"/> </rng:attribute> </rng:optional> </rng:interleave> </rng:define> - <rng:define name="style-header-first"> - <rng:element name="style:header-first"> - <rng:ref name="common-style-header-footer-attlist"/> - <rng:ref name="header-footer-content"/> - </rng:element> -</rng:define> <rng:define name="style-footer"> <rng:element name="style:footer"> <rng:ref name="common-style-header-footer-attlist"/> <rng:ref name="header-footer-content"/> </rng:element> </rng:define> + <rng:define name="style-footer-first"> + <rng:element name="style:footer-first"> + <rng:ref name="common-style-header-footer-attlist"/> + <rng:ref name="header-footer-content"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-3789 --> + </rng:element> + </rng:define> <rng:define name="style-footer-left"> <rng:element name="style:footer-left"> <rng:ref name="common-style-header-footer-attlist"/> <rng:ref name="header-footer-content"/> </rng:element> </rng:define> - <rng:define name="style-footer-first"> - <rng:element name="style:footer-first"> - <rng:ref name="common-style-header-footer-attlist"/> - <rng:ref name="header-footer-content"/> - <!-- https://issues.oasis-open.org/browse/OFFICE-3789 --> - </rng:element> -</rng:define> <rng:define name="style-footer-style"> <rng:element name="style:footer-style"> <rng:optional> <rng:ref name="style-header-footer-properties"/> </rng:optional> </rng:element> </rng:define> <rng:define name="style-footnote-sep"> <rng:optional> @@ -11804,18 +11786,25 @@ </rng:optional> </rng:interleave> </rng:define> <rng:define name="style-header"> <rng:element name="style:header"> <rng:ref name="common-style-header-footer-attlist"/> <rng:ref name="header-footer-content"/> </rng:element> </rng:define> + <rng:define name="style-header-first"> + <rng:element name="style:header-first"> + <rng:ref name="common-style-header-footer-attlist"/> + <rng:ref name="header-footer-content"/> + <!-- https://issues.oasis-open.org/browse/OFFICE-3789 --> + </rng:element> + </rng:define> <rng:define name="style-header-footer-properties"> <rng:element name="style:header-footer-properties"> <rng:ref name="style-header-footer-properties-content-strict"/> </rng:element> </rng:define> <rng:define name="style-header-footer-properties-attlist"> <rng:interleave> <rng:optional> <rng:attribute name="svg:height"> @@ -11976,30 +11965,32 @@ </rng:define> <rng:define name="style-master-page"> <rng:element name="style:master-page"> <rng:ref name="style-master-page-attlist"/> <rng:optional> <rng:ref name="style-header"/> <rng:optional> <rng:ref name="style-header-left"/> </rng:optional> - <rng:optional> - <rng:ref name="style-header-first"/> - </rng:optional> + <rng:optional> + <rng:ref name="style-header-first"/> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3789 --> </rng:optional> <rng:optional> <rng:ref name="style-footer"/> <rng:optional> <rng:ref name="style-footer-left"/> </rng:optional> - <rng:optional> - <rng:ref name="style-footer-first"/> - </rng:optional> + <rng:optional> + <rng:ref name="style-footer-first"/> + </rng:optional> + <!-- https://issues.oasis-open.org/browse/OFFICE-3789 --> </rng:optional> <rng:optional> <rng:ref name="draw-layer-set"/> </rng:optional> <rng:optional> <rng:ref name="office-forms"/> </rng:optional> <rng:zeroOrMore> <rng:ref name="shape"/> @@ -12156,53 +12147,43 @@ </rng:optional> <rng:optional> <rng:attribute name="style:first-page-number"> <rng:choice> <rng:ref name="positiveInteger"/> <rng:value>continue</rng:value> </rng:choice> </rng:attribute> </rng:optional> - <rng:optional> - <rng:attribute name="style:scale-to"> - <rng:ref name="percent"/> - </rng:attribute> - </rng:optional> - <rng:optional> - <rng:attribute name="style:scale-to-pages"> - <rng:ref name="positiveInteger"/> - </rng:attribute> - </rng:optional> <rng:choice> <!-- https://issues.oasis-open.org/browse/OFFICE-3857 --> -<rng:optional> -<rng:attribute name="style:scale-to"> -<rng:ref name="percent"/> -</rng:attribute> -</rng:optional> -<rng:optional> -<rng:attribute name="style:scale-to-pages"> -<rng:ref name="positiveInteger"/> -</rng:attribute> -</rng:optional> -<rng:group> -<rng:optional> -<rng:attribute name="style:scale-to-X"> -<rng:ref name="positiveInteger"/> -</rng:attribute> -</rng:optional> -<rng:optional> -<rng:attribute name="style:scale-to-Y"> -<rng:ref name="positiveInteger"/> -</rng:attribute> -</rng:optional> -</rng:group> -</rng:choice> + <rng:optional> + <rng:attribute name="style:scale-to"> + <rng:ref name="percent"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="style:scale-to-pages"> + <rng:ref name="positiveInteger"/> + </rng:attribute> + </rng:optional> + <rng:group> + <rng:optional> + <rng:attribute name="style:scale-to-X"> + <rng:ref name="positiveInteger"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="style:scale-to-Y"> + <rng:ref name="positiveInteger"/> + </rng:attribute> + </rng:optional> + </rng:group> + </rng:choice> <rng:optional> <rng:attribute name="style:table-centering"> <rng:choice> <rng:value>horizontal</rng:value> <rng:value>vertical</rng:value> <rng:value>both</rng:value> <rng:value>none</rng:value> </rng:choice> </rng:attribute> @@ -12287,21 +12268,21 @@ </rng:define> <rng:define name="style-paragraph-properties"> <rng:element name="style:paragraph-properties"> <rng:ref name="style-paragraph-properties-content-strict"/> </rng:element> </rng:define> <rng:define name="style-paragraph-properties-attlist"> <rng:interleave> <rng:optional> - <rng:attribute name="style:contextual-spacing"> - <rng:ref name="boolean"/> - </rng:attribute> + <rng:attribute name="style:contextual-spacing"> + <rng:ref name="boolean"/> + </rng:attribute> </rng:optional> <!-- https://issues.oasis-open.org/browse/OFFICE-3767 --> <rng:optional> <rng:attribute name="fo:line-height"> <rng:choice> <rng:value>normal</rng:value> <rng:ref name="nonNegativeLength"/> <rng:ref name="percent"/> </rng:choice> @@ -13065,21 +13046,21 @@ </rng:attribute> </rng:optional> <rng:ref name="common-writing-mode-attlist"/> <rng:optional> <rng:attribute name="table:display"> <rng:ref name="boolean"/> </rng:attribute> </rng:optional> <rng:optional> - <rng:attribute name="table:tab-color"> - <rng:ref name="color"/> - </rng:attribute> + <rng:attribute name="table:tab-color"> + <rng:ref name="color"/> + </rng:attribute> </rng:optional> <!-- https://issues.oasis-open.org/browse/OFFICE-2173 --> </rng:interleave> </rng:define> <rng:define name="style-table-properties-content-strict"> <rng:ref name="style-table-properties-attlist"/> <rng:ref name="style-table-properties-elements"/> </rng:define> <rng:define name="style-table-properties-elements"> @@ -14284,74 +14265,82 @@ <rng:element name="table:data-pilot-group-member"> <rng:ref name="table-data-pilot-group-member-attlist"/> </rng:element> </rng:define> <rng:define name="table-data-pilot-group-member-attlist"> <rng:attribute name="table:name"> <rng:ref name="string"/> </rng:attribute> </rng:define> + <rng:define name="table-data-pilot-groups"> + <rng:element name="table:data-pilot-groups"> + <rng:ref name="table-data-pilot-groups-attlist"/> + <rng:oneOrMore> + <rng:ref name="table-data-pilot-group"/> + </rng:oneOrMore> + </rng:element> + </rng:define> <rng:define name="table-data-pilot-groups-attlist"> - <rng:interleave> - <rng:attribute name="table:source-field-name"> - <rng:ref name="string"/> - </rng:attribute> - <rng:optional> - <rng:choice> - <rng:attribute name="table:date-start"> - <rng:choice> - <rng:ref name="dateOrDateTime"/> - <rng:value>auto</rng:value> - </rng:choice> - </rng:attribute> - <rng:attribute name="table:start"> - <rng:choice> - <rng:ref name="double"/> - <rng:value>auto</rng:value> - </rng:choice> - </rng:attribute> - </rng:choice> - </rng:optional> - <rng:optional> - <rng:choice> - <rng:attribute name="table:date-end"> - <rng:choice> - <rng:ref name="dateOrDateTime"/> - <rng:value>auto</rng:value> - </rng:choice> - </rng:attribute> - <rng:attribute name="table:end"> - <rng:choice> - <rng:ref name="double"/> - <rng:value>auto</rng:value> - </rng:choice> - </rng:attribute> - </rng:choice> - </rng:optional> - <rng:optional> - <rng:attribute name="table:step"> - <rng:ref name="double"/> - </rng:attribute> - </rng:optional> - <rng:optional> - <rng:attribute name="table:grouped-by"> - <rng:choice> - <rng:value>seconds</rng:value> - <rng:value>minutes</rng:value> - <rng:value>hours</rng:value> - <rng:value>days</rng:value> - <rng:value>months</rng:value> - <rng:value>quarters</rng:value> - <rng:value>years</rng:value> - </rng:choice> - </rng:attribute> - </rng:optional> - </rng:interleave> + <rng:interleave> + <rng:attribute name="table:source-field-name"> + <rng:ref name="string"/> + </rng:attribute> + <rng:optional> + <rng:choice> + <rng:attribute name="table:date-start"> + <rng:choice> + <rng:ref name="dateOrDateTime"/> + <rng:value>auto</rng:value> + </rng:choice> + </rng:attribute> + <rng:attribute name="table:start"> + <rng:choice> + <rng:ref name="double"/> + <rng:value>auto</rng:value> + </rng:choice> + </rng:attribute> + </rng:choice> + </rng:optional> + <rng:optional> + <rng:choice> + <rng:attribute name="table:date-end"> + <rng:choice> + <rng:ref name="dateOrDateTime"/> + <rng:value>auto</rng:value> + </rng:choice> + </rng:attribute> + <rng:attribute name="table:end"> + <rng:choice> + <rng:ref name="double"/> + <rng:value>auto</rng:value> + </rng:choice> + </rng:attribute> + </rng:choice> + </rng:optional> + <rng:optional> + <rng:attribute name="table:step"> + <rng:ref name="double"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="table:grouped-by"> + <rng:choice> + <rng:value>seconds</rng:value> + <rng:value>minutes</rng:value> + <rng:value>hours</rng:value> + <rng:value>days</rng:value> + <rng:value>months</rng:value> + <rng:value>quarters</rng:value> + <rng:value>years</rng:value> + </rng:choice> + </rng:attribute> + </rng:optional> + </rng:interleave> </rng:define> <!-- https://issues.oasis-open.org/browse/OFFICE-2118 --> <rng:define name="table-data-pilot-layout-info"> <rng:element name="table:data-pilot-layout-info"> <rng:ref name="table-data-pilot-layout-info-attlist"/> <rng:empty/> </rng:element> </rng:define> <rng:define name="table-data-pilot-layout-info-attlist"> @@ -15563,35 +15552,36 @@ <rng:define name="table-source-cell-range"> <rng:element name="table:source-cell-range"> <rng:ref name="table-source-cell-range-attlist"/> <rng:optional> <rng:ref name="table-filter"/> </rng:optional> </rng:element> </rng:define> <rng:define name="table-source-cell-range-attlist"> - <rng:interleave> - <rng:choice> - <rng:attribute name="table:cell-range-address"> - <rng:ref name="cellRangeAddress"/> - </rng:attribute> - <rng:group> - <rng:attribute name="table:name"> - <rng:ref name="string"/> - </rng:attribute> - <rng:optional> - <rng:attribute name="table:cell-range-address"> - <rng:ref name="cellRangeAddress"/> - </rng:attribute> - </rng:optional> - </rng:group> - </rng:choice> - </rng:interleave> + <!-- OFFICE-3665 --> + <rng:interleave> + <rng:choice> + <rng:attribute name="table:cell-range-address"> + <rng:ref name="cellRangeAddress"/> + </rng:attribute> + <rng:group> + <rng:attribute name="table:name"> + <rng:ref name="string"/> + </rng:attribute> + <rng:optional> + <rng:attribute name="table:cell-range-address"> + <rng:ref name="cellRangeAddress"/> + </rng:attribute> + </rng:optional> + </rng:group> + </rng:choice> + </rng:interleave> </rng:define> <rng:define name="table-source-range-address"> <rng:element name="table:source-range-address"> <rng:ref name="common-table-range-attlist"/> <rng:empty/> </rng:element> </rng:define> <rng:define name="table-source-service"> <rng:element name="table:source-service"> @@ -16877,20 +16867,20 @@ <rng:define name="text-illustration-index-entry-content"> <rng:ref name="text-illustration-index-entry-template-attrs"/> <rng:zeroOrMore> <rng:choice> <rng:ref name="text-index-entry-chapter"/> <rng:ref name="text-index-entry-page-number"/> <rng:ref name="text-index-entry-text"/> <rng:ref name="text-index-entry-span"/> <rng:ref name="text-index-entry-tab-stop"/> - <rng:ref name="text-index-entry-link-start"/> - <rng:ref name="text-index-entry-link-end"/> + <rng:ref name="text-index-entry-link-start"/> + <rng:ref name="text-index-entry-link-end"/> <!-- https://issues.oasis-open.org/browse/OFFICE-3941 --> </rng:choice> </rng:zeroOrMore> </rng:define> <rng:define name="text-illustration-index-entry-template"> <rng:element name="text:illustration-index-entry-template"> <rng:ref name="text-illustration-index-entry-content"/> </rng:element> </rng:define> @@ -18120,20 +18110,20 @@ <rng:element name="text:user-index-entry-template"> <rng:ref name="text-user-index-entry-template-attrs"/> <rng:zeroOrMore> <rng:choice> <rng:ref name="text-index-entry-chapter"/> <rng:ref name="text-index-entry-page-number"/> <rng:ref name="text-index-entry-text"/> <rng:ref name="text-index-entry-span"/> <rng:ref name="text-index-entry-tab-stop"/> - <rng:ref name="text-index-entry-link-start"/> - <rng:ref name="text-index-entry-link-end"/> + <rng:ref name="text-index-entry-link-start"/> + <rng:ref name="text-index-entry-link-end"/> <!-- https://issues.oasis-open.org/browse/OFFICE-3941 --> </rng:choice> </rng:zeroOrMore> </rng:element> </rng:define> <rng:define name="text-user-index-entry-template-attrs"> <rng:interleave> <rng:attribute name="text:outline-level"> <rng:ref name="positiveInteger"/>
--- /home/ms/Documents/odf/tc/OpenDocument-manifest-schema-v1.3-wd01.rng 2018-06-19 17:02:52.819471566 +0200 +++ /tmp/OpenDocument-manifest-schema-v1.3-wd01-with-fixes.rng 2018-06-25 12:27:17.803877695 +0200 @@ -171,63 +171,63 @@ </rng:interleave> </rng:define> <rng:define name="key-derivation"> <rng:element name="manifest:key-derivation"> <rng:ref name="key-derivation-attlist"/> <rng:empty/> </rng:element> </rng:define> <rng:define name="key-derivation-attlist"> - <rng:choice> + <rng:choice> <rng:attribute name="manifest:key-derivation-name"> <rng:value>PGP</rng:value> </rng:attribute> -<rng:interleave> + <rng:interleave> <rng:attribute name="manifest:key-derivation-name"> <rng:choice> <rng:value>PBKDF2</rng:value> <rng:ref name="anyURI"/> </rng:choice> </rng:attribute> <rng:attribute name="manifest:salt"> <rng:ref name="base64Binary"/> </rng:attribute> <rng:attribute name="manifest:iteration-count"> <rng:ref name="nonNegativeInteger"/> </rng:attribute> - <rng:optional> + <rng:optional> <rng:attribute name="manifest:key-size"> <rng:ref name="nonNegativeInteger"/> </rng:attribute> </rng:optional> </rng:interleave> </rng:choice> </rng:define> <rng:define name="manifest"> <rng:element name="manifest:manifest"> <rng:ref name="manifest-attlist"/> - <rng:zeroOrMore> + <rng:zeroOrMore> <rng:ref name="encrypted-key"/> - </rng:zeroOrMore> + </rng:zeroOrMore> <!-- https://issues.oasis-open.org/browse/OFFICE-3940 --> <rng:oneOrMore> <rng:ref name="file-entry"/> </rng:oneOrMore> </rng:element> </rng:define> <rng:define name="manifest-attlist"> <rng:attribute name="manifest:version"> <rng:value>1.3</rng:value> </rng:attribute> </rng:define> <rng:define name="namespacedToken"> <rng:data type="QName"> - <rng:param name="pattern">[^:]:[^:]</rng:param> + <rng:param name="pattern">[^:]+:[^:]+</rng:param> </rng:data> </rng:define> <rng:define name="nonNegativeInteger"> <rng:data type="nonNegativeInteger"/> </rng:define> <rng:define name="start-key-generation"> <rng:element name="manifest:start-key-generation"> <rng:ref name="start-key-generation-attlist"/> <rng:empty/>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]