.gnumeric: if we see a shared array formula, fix it.
[gnumeric.git] / test / ods-ext-schema.patch
blobc1cbf621c8feb31221696ec8cbf12ba8a0f16e5a
1 --- ods-schema/OpenDocument-v1.2-os-schema.rng 2015-04-08 21:49:54.000000000 -0600
2 +++ ods-schema/OpenDocument-v1.2-os-ext-schema.rng 2016-01-01 19:47:48.204868483 -0700
3 @@ -62,6 +62,12 @@
4 xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
5 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
6 xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"
8 + xmlns:gnm="http://www.gnumeric.org/odf-extension/1.0"
9 + xmlns:css3t="http://www.w3.org/TR/css3-text/"
10 + xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
11 + xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0"
12 + xmlns:tableooo="http://openoffice.org/2009/table"
14 <define name="office-process-content">
15 <optional>
16 @@ -2484,6 +2490,11 @@
17 <ref name="string"/>
18 </attribute>
19 </optional>
20 + <optional>
21 + <attribute name="gnm:error-value">
22 + <ref name="string"/>
23 + </attribute>
24 + </optional>
25 </group>
26 </choice>
27 </define>
28 @@ -3380,6 +3391,9 @@
29 <optional>
30 <ref name="table-named-expressions"/>
31 </optional>
32 + <optional>
33 + <ref name="gnm-selections"/>
34 + </optional>
35 </element>
36 </define>
37 <define name="table-columns-and-groups">
38 @@ -3670,6 +3684,11 @@
39 </attribute>
40 </optional>
41 <optional>
42 + <attribute name="gnm:columns-spanned-fake">
43 + <ref name="boolean"/>
44 + </attribute>
45 + </optional>
46 + <optional>
47 <attribute name="table:number-rows-spanned">
48 <ref name="positiveInteger"/>
49 </attribute>
50 @@ -6369,6 +6388,26 @@
51 </define>
52 <define name="common-draw-position-attlist">
53 <optional>
54 + <attribute name="gnm:is-position-manual">
55 + <ref name="boolean"/>
56 + </attribute>
57 + </optional>
58 + <optional>
59 + <attribute name="gnm:position">
60 + <ref name="string"/>
61 + </attribute>
62 + </optional>
63 + <optional>
64 + <attribute name="gnm:anchor">
65 + <ref name="string"/>
66 + </attribute>
67 + </optional>
68 + <optional>
69 + <attribute name="gnm:compass">
70 + <ref name="string"/>
71 + </attribute>
72 + </optional>
73 + <optional>
74 <attribute name="svg:x">
75 <ref name="coordinate"/>
76 </attribute>
77 @@ -8354,9 +8393,14 @@
78 <define name="chart-title-attlist">
79 <interleave>
80 <optional>
81 - <attribute name="table:cell-range">
82 - <ref name="cellRangeAddressList"/>
83 - </attribute>
84 + <choice>
85 + <attribute name="table:cell-range">
86 + <ref name="cellRangeAddressList"/>
87 + </attribute>
88 + <attribute name="gnm:expression">
89 + <ref name="string"/>
90 + </attribute>
91 + </choice>
92 </optional>
93 <ref name="common-draw-position-attlist"/>
94 <optional>
95 @@ -8638,6 +8682,9 @@
96 <optional>
97 <ref name="chart-data-label"/>
98 </optional>
99 + <zeroOrMore>
100 + <ref name="gnm-droplines"/>
101 + </zeroOrMore>
102 </element>
103 </define>
104 <define name="chart-series-attlist">
105 @@ -8648,9 +8695,14 @@
106 </attribute>
107 </optional>
108 <optional>
109 - <attribute name="chart:label-cell-address">
110 - <ref name="cellRangeAddressList"/>
111 - </attribute>
112 + <choice>
113 + <attribute name="chart:label-cell-address">
114 + <ref name="cellRangeAddressList"/>
115 + </attribute>
116 + <attribute name="gnm:label-cell-expression">
117 + <ref name="string"/>
118 + </attribute>
119 + </choice>
120 </optional>
121 <optional>
122 <attribute name="chart:class">
123 @@ -10473,6 +10525,7 @@
124 <ref name="common-data-field-attlist"/>
125 <ref name="list-source"/>
126 <ref name="list-source-type"/>
127 + <ref name="gnm-list-linkage-type"/>
128 <ref name="common-linked-cell"/>
129 <ref name="common-source-cell-range"/>
130 <optional>
131 @@ -10637,6 +10690,7 @@
132 <ref name="selected"/>
133 <ref name="common-tab-attlist"/>
134 <ref name="common-title-attlist"/>
135 + <ref name="gnm-value-type-attlist"/>
136 <ref name="common-value-attlist"/>
137 <ref name="common-data-field-attlist"/>
138 <ref name="common-form-visual-effect-attlist"/>
139 @@ -12676,11 +12730,28 @@
140 </element>
141 </define>
142 <define name="number-scientific-number-attlist">
143 - <optional>
144 - <attribute name="number:min-exponent-digits">
145 - <ref name="integer"/>
146 - </attribute>
147 - </optional>
148 + <interleave>
149 + <optional>
150 + <attribute name="number:min-exponent-digits">
151 + <ref name="integer"/>
152 + </attribute>
153 + </optional>
154 + <optional>
155 + <attribute name="gnm:forced-exponent-sign">
156 + <ref name="boolean"/>
157 + </attribute>
158 + </optional>
159 + <optional>
160 + <attribute name="gnm:engineering">
161 + <ref name="boolean"/>
162 + </attribute>
163 + </optional>
164 + <optional>
165 + <attribute name="gnm:literal-E">
166 + <ref name="boolean"/>
167 + </attribute>
168 + </optional>
169 + </interleave>
170 </define>
171 <define name="number-fraction">
172 <element name="number:fraction">
173 @@ -12702,10 +12773,22 @@
174 </attribute>
175 </optional>
176 <optional>
177 + <attribute name="gnm:max-denominator-digits">
178 + <ref name="integer"/>
179 + </attribute>
180 + </optional>
181 + <optional>
182 <attribute name="number:denominator-value">
183 <ref name="integer"/>
184 </attribute>
185 </optional>
186 + <optional>
187 + <attribute name="gnm:display-factor">
188 + <choice>
189 + <value>pi</value>
190 + </choice>
191 + </attribute>
192 + </optional>
193 </interleave>
194 </define>
195 <define name="number-currency-style">
196 @@ -12997,14 +13080,17 @@
197 </element>
198 </define>
199 <define name="number-hours-attlist">
200 - <optional>
201 - <attribute name="number:style">
202 - <choice>
203 - <value>short</value>
204 - <value>long</value>
205 - </choice>
206 - </attribute>
207 - </optional>
208 + <interleave>
209 + <ref name="gnm-truncate-on-overflow"/>
210 + <optional>
211 + <attribute name="number:style">
212 + <choice>
213 + <value>short</value>
214 + <value>long</value>
215 + </choice>
216 + </attribute>
217 + </optional>
218 + </interleave>
219 </define>
220 <define name="number-minutes">
221 <element name="number:minutes">
222 @@ -13013,14 +13099,17 @@
223 </element>
224 </define>
225 <define name="number-minutes-attlist">
226 - <optional>
227 - <attribute name="number:style">
228 - <choice>
229 - <value>short</value>
230 - <value>long</value>
231 - </choice>
232 - </attribute>
233 - </optional>
234 + <interleave>
235 + <ref name="gnm-truncate-on-overflow"/>
236 + <optional>
237 + <attribute name="number:style">
238 + <choice>
239 + <value>short</value>
240 + <value>long</value>
241 + </choice>
242 + </attribute>
243 + </optional>
244 + </interleave>
245 </define>
246 <define name="number-seconds">
247 <element name="number:seconds">
248 @@ -13030,6 +13119,7 @@
249 </define>
250 <define name="number-seconds-attlist">
251 <interleave>
252 + <ref name="gnm-truncate-on-overflow"/>
253 <optional>
254 <attribute name="number:style">
255 <choice>
256 @@ -13047,7 +13137,16 @@
257 </define>
258 <define name="number-am-pm">
259 <element name="number:am-pm">
260 - <empty/>
261 + <optional>
262 + <attribute name="gnm:am-suffix">
263 + <ref name="string"/>
264 + </attribute>
265 + </optional>
266 + <optional>
267 + <attribute name="gnm:pm-suffix">
268 + <ref name="string"/>
269 + </attribute>
270 + </optional>
271 </element>
272 </define>
273 <define name="number-boolean-style">
274 @@ -13097,7 +13196,15 @@
275 </define>
276 <define name="number-text">
277 <element name="number:text">
278 - <text/>
279 + <zeroOrMore>
280 + <optional>
281 + <ref name="gnm-invisible"/>
282 + </optional>
283 + <optional>
284 + <ref name="gnm-repeated"/>
285 + </optional>
286 + <text/>
287 + </zeroOrMore>
288 </element>
289 </define>
290 <define name="number-text-content">
291 @@ -13169,6 +13276,11 @@
292 </choice>
293 </attribute>
294 </optional>
295 + <optional>
296 + <attribute name="gnm:format-magic">
297 + <ref name="integer"/>
298 + </attribute>
299 + </optional>
300 </interleave>
301 </define>
302 <define name="common-auto-reorder-attlist">
303 @@ -13203,6 +13315,11 @@
304 </attribute>
305 </optional>
306 <optional>
307 + <attribute name="gnm:min-integer-chars">
308 + <ref name="integer"/>
309 + </attribute>
310 + </optional>
311 + <optional>
312 <attribute name="number:grouping">
313 <ref name="boolean"/>
314 </attribute>
315 @@ -14101,6 +14218,22 @@
316 <ref name="string"/>
317 </attribute>
318 </optional>
319 + <optional>
320 + <group>
321 + <attribute name="gnm:arrow-type">
322 + <ref name="integer"/>
323 + </attribute>
324 + <attribute name="gnm:arrow-a">
325 + <ref name="double"/>
326 + </attribute>
327 + <attribute name="gnm:arrow-b">
328 + <ref name="double"/>
329 + </attribute>
330 + <attribute name="gnm:arrow-c">
331 + <ref name="double"/>
332 + </attribute>
333 + </group>
334 + </optional>
335 </interleave>
336 </define>
337 <define name="draw-stroke-dash">
338 @@ -14383,6 +14516,21 @@
339 <ref name="boolean"/>
340 </attribute>
341 </optional>
342 + <optional>
343 + <attribute name="gnm:style-print">
344 + <ref name="string"/>
345 + </attribute>
346 + </optional>
347 + <optional>
348 + <attribute name="gnm:scale-to-X">
349 + <ref name="positiveInteger"/>
350 + </attribute>
351 + </optional>
352 + <optional>
353 + <attribute name="gnm:scale-to-Y">
354 + <ref name="positiveInteger"/>
355 + </attribute>
356 + </optional>
357 </interleave>
358 </define>
359 <define name="style-page-layout-properties-elements">
360 @@ -14874,11 +15022,33 @@
361 </attribute>
362 </optional>
363 <optional>
364 + <attribute name="gnm:font-stretch-pango">
365 + <ref name="integer"/>
366 + </attribute>
367 + </optional>
368 + <optional>
369 + <attribute name="gnm:font-gravity-pango">
370 + <ref name="integer"/>
371 + </attribute>
372 + </optional>
373 + <optional>
374 + <attribute name="gnm:auto-font">
375 + <ref name="boolean"/>
376 + </attribute>
377 + </optional>
378 + <optional>
379 <attribute name="style:text-underline-mode">
380 <ref name="lineMode"/>
381 </attribute>
382 </optional>
383 <optional>
384 + <attribute name="gnm:text-underline-placement">
385 + <choice>
386 + <value>low</value>
387 + </choice>
388 + </attribute>
389 + </optional>
390 + <optional>
391 <attribute name="style:text-line-through-mode">
392 <ref name="lineMode"/>
393 </attribute>
394 @@ -15090,6 +15260,18 @@
395 <define name="style-paragraph-properties-attlist">
396 <interleave>
397 <optional>
398 + <attribute name="gnm:GnmHAlign">
399 + <ref name="integer"/>
400 + </attribute>
401 + </optional>
402 + <optional>
403 + <attribute name="css3t:text-justify">
404 + <choice>
405 + <value>distribute</value>
406 + </choice>
407 + </attribute>
408 + </optional>
409 + <optional>
410 <attribute name="fo:line-height">
411 <choice>
412 <value>normal</value>
413 @@ -15461,14 +15643,21 @@
414 </optional>
415 </define>
416 <define name="common-background-color-attlist">
417 - <optional>
418 - <attribute name="fo:background-color">
419 - <choice>
420 - <value>transparent</value>
421 + <interleave>
422 + <optional>
423 + <attribute name="fo:background-color">
424 + <choice>
425 + <value>transparent</value>
426 + <ref name="color"/>
427 + </choice>
428 + </attribute>
429 + </optional>
430 + <optional>
431 + <attribute name="gnm:background-colour">
432 <ref name="color"/>
433 - </choice>
434 - </attribute>
435 - </optional>
436 + </attribute>
437 + </optional>
438 + </interleave>
439 </define>
440 <define name="style-background-image">
441 <optional>
442 @@ -15564,6 +15753,36 @@
443 <ref name="string"/>
444 </attribute>
445 </optional>
446 + <optional>
447 + <attribute name="gnm:border-line-style-top">
448 + <ref name="string"/>
449 + </attribute>
450 + </optional>
451 + <optional>
452 + <attribute name="gnm:border-line-style-bottom">
453 + <ref name="string"/>
454 + </attribute>
455 + </optional>
456 + <optional>
457 + <attribute name="gnm:border-line-style-left">
458 + <ref name="string"/>
459 + </attribute>
460 + </optional>
461 + <optional>
462 + <attribute name="gnm:border-line-style-right">
463 + <ref name="string"/>
464 + </attribute>
465 + </optional>
466 + <optional>
467 + <attribute name="gnm:diagonal-bl-tr-line-style">
468 + <ref name="string"/>
469 + </attribute>
470 + </optional>
471 + <optional>
472 + <attribute name="gnm:diagonal-tl-br-line-style">
473 + <ref name="string"/>
474 + </attribute>
475 + </optional>
476 </define>
477 <define name="common-border-line-width-attlist">
478 <optional>
479 @@ -15904,6 +16123,37 @@
480 <ref name="boolean"/>
481 </attribute>
482 </optional>
483 + <optional>
484 + <attribute name="gnm:display-formulas">
485 + <ref name="boolean"/>
486 + </attribute>
487 + </optional>
488 + <optional>
489 + <attribute name="gnm:display-col-header">
490 + <ref name="boolean"/>
491 + </attribute>
492 + </optional>
493 + <optional>
494 + <attribute name="gnm:display-row-header">
495 + <ref name="boolean"/>
496 + </attribute>
497 + </optional>
498 + <optional>
499 + <attribute name="gnm:tab-color">
500 + <ref name="color"/>
501 + </attribute>
502 + </optional>
503 + <optional>
504 + <attribute name="gnm:tab-text-color">
505 + <ref name="color"/>
506 + </attribute>
507 + </optional>
508 + <optional>
509 + <attribute name="tableooo:tab-color">
510 + <ref name="color"/>
511 + </attribute>
512 + </optional>
514 </interleave>
515 </define>
516 <define name="style-table-properties-elements">
517 @@ -16004,6 +16254,11 @@
518 </attribute>
519 </optional>
520 <optional>
521 + <attribute name="gnm:GnmVAlign">
522 + <ref name="integer"/>
523 + </attribute>
524 + </optional>
525 + <optional>
526 <attribute name="style:text-align-source">
527 <choice>
528 <value>fix</value>
529 @@ -16028,6 +16283,16 @@
530 <ref name="common-background-color-attlist"/>
531 <ref name="common-border-attlist"/>
532 <optional>
533 + <attribute name="gnm:pattern-colour">
534 + <ref name="color"/>
535 + </attribute>
536 + </optional>
537 + <optional>
538 + <attribute name="gnm:pattern">
539 + <ref name="integer"/>
540 + </attribute>
541 + </optional>
542 + <optional>
543 <attribute name="style:diagonal-tl-br">
544 <ref name="string"/>
545 </attribute>
546 @@ -16104,6 +16369,16 @@
547 <ref name="boolean"/>
548 </attribute>
549 </optional>
550 + <optional>
551 + <attribute name="gnm:input-title">
552 + <ref name="string"/>
553 + </attribute>
554 + </optional>
555 + <optional>
556 + <attribute name="gnm:input-msg">
557 + <ref name="string"/>
558 + </attribute>
559 + </optional>
560 </interleave>
561 </define>
562 <define name="common-style-direction-attlist">
563 @@ -17060,6 +17335,46 @@
564 <ref name="nonNegativeInteger"/>
565 </attribute>
566 </optional>
567 + <optional>
568 + <attribute name="gnm:auto-dash">
569 + <ref name="boolean"/>
570 + </attribute>
571 + </optional>
572 + <optional>
573 + <attribute name="gnm:auto-width">
574 + <ref name="boolean"/>
575 + </attribute>
576 + </optional>
577 + <optional>
578 + <attribute name="gnm:auto-color">
579 + <ref name="boolean"/>
580 + </attribute>
581 + </optional>
582 + <optional>
583 + <attribute name="gnm:auto-type">
584 + <ref name="boolean"/>
585 + </attribute>
586 + </optional>
587 + <optional>
588 + <attribute name="gnm:foreground-solid">
589 + <ref name="boolean"/>
590 + </attribute>
591 + </optional>
592 + <optional>
593 + <attribute name="gnm:pattern">
594 + <ref name="integer"/>
595 + </attribute>
596 + </optional>
597 + <optional>
598 + <attribute name="gnm:marker-outline-colour">
599 + <ref name="color"/>
600 + </attribute>
601 + </optional>
602 + <optional>
603 + <attribute name="gnm:marker-fill-colour">
604 + <ref name="color"/>
605 + </attribute>
606 + </optional>
607 </interleave>
608 </define>
609 <define name="style-graphic-fill-properties-attlist">
610 @@ -17388,6 +17703,10 @@
611 <value>none</value>
612 <value>cubic-spline</value>
613 <value>b-spline</value>
614 + <value>gnm:closed-spline</value>
615 + <value>gnm:parabolic-cspline</value>
616 + <value>gnm:cubic-cspline</value>
617 + <value>gnm:clamped-cspline</value>
618 </choice>
619 </attribute>
620 </optional>
621 @@ -17661,6 +17980,10 @@
622 <value>logarithmic</value>
623 <value>exponential</value>
624 <value>power</value>
625 + <value>gnm:polynomial</value>
626 + <value>gnm:log-fit</value>
627 + <value>gnm:moving-average</value>
628 + <value>gnm:exponential-smoothed</value>
629 </choice>
630 </attribute>
631 </optional>
632 @@ -17697,6 +18020,62 @@
633 <ref name="boolean"/>
634 </attribute>
635 </optional>
636 + <optional>
637 + <attribute name="gnm:outliers">
638 + <ref name="boolean"/>
639 + </attribute>
640 + </optional>
641 + <optional>
642 + <attribute name="gnm:multi-series">
643 + <ref name="boolean"/>
644 + </attribute>
645 + </optional>
646 + <optional>
647 + <attribute name="gnm:vary-style-by-element">
648 + <ref name="boolean"/>
649 + </attribute>
650 + </optional>
651 + <optional>
652 + <attribute name="gnm:show-negatives">
653 + <ref name="boolean"/>
654 + </attribute>
655 + </optional>
656 + <optional>
657 + <attribute name="gnm:radius-ratio">
658 + <ref name="double"/>
659 + </attribute>
660 + </optional>
661 + <optional>
662 + <attribute name="gnm:default-separation">
663 + <ref name="percent"/>
664 + </attribute>
665 + </optional>
666 + <optional>
667 + <attribute name="gnm:regression-affine">
668 + <ref name="boolean"/>
669 + </attribute>
670 + </optional>
671 + <optional>
672 + <attribute name="loext:regression-force-intercept">
673 + <ref name="boolean"/>
674 + </attribute>
675 + </optional>
676 + <optional>
677 + <attribute name="loext:regression-intercept-value">
678 + <ref name="double"/>
679 + </attribute>
680 + </optional>
681 + <optional>
682 + <attribute name="gnm:regression-polynomial-dims">
683 + <ref name="nonNegativeInteger"/>
684 + </attribute>
685 + </optional>
686 + <optional>
687 + <attribute name="loext:regression-max-degree">
688 + <ref name="nonNegativeInteger"/>
689 + </attribute>
690 + </optional>
692 </interleave>
693 </define>
694 <define name="labelPositions">
695 @@ -18124,4 +18503,85 @@
696 </element>
697 </zeroOrMore>
698 </define>
700 + <define name="gnm-selections">
701 + <element name="gnm:selections">
702 + <attribute name="gnm:cursor-col">
703 + <ref name="integer"/>
704 + </attribute>
705 + <attribute name="gnm:cursor-row">
706 + <ref name="integer"/>
707 + </attribute>
708 + <zeroOrMore>
709 + <ref name="gnm-selection"/>
710 + </zeroOrMore>
711 + </element>
712 + </define>
713 + <define name="gnm-selection">
714 + <element name="gnm:selection">
715 + <attribute name="gnm:start-col">
716 + <ref name="integer"/>
717 + </attribute>
718 + <attribute name="gnm:start-row">
719 + <ref name="integer"/>
720 + </attribute>
721 + <attribute name="gnm:end-col">
722 + <ref name="integer"/>
723 + </attribute>
724 + <attribute name="gnm:end-row">
725 + <ref name="integer"/>
726 + </attribute>
727 + </element>
728 + </define>
729 + <define name="gnm-list-linkage-type">
730 + <optional>
731 + <attribute name="gnm:list-linkage-type">
732 + <choice>
733 + <value>selection</value>
734 + <value>selection-indices</value>
735 + </choice>
736 + </attribute>
737 + </optional>
738 + </define>
739 + <define name="gnm-value-type-attlist">
740 + <optional>
741 + <attribute name="gnm:value-type">
742 + <ref name="valueType"/>
743 + </attribute>
744 + </optional>
745 + </define>
746 + <define name="gnm-truncate-on-overflow">
747 + <optional>
748 + <attribute name="gnm:truncate-on-overflow">
749 + <ref name="boolean"/>
750 + </attribute>
751 + </optional>
752 + </define>
753 + <define name="gnm-invisible">
754 + <element name="gnm:invisible">
755 + <optional>
756 + <attribute name="gnm:char">
757 + <ref name="string"/>
758 + </attribute>
759 + </optional>
760 + <optional>
761 + <attribute name="office:process-content">
762 + <ref name="boolean"/>
763 + </attribute>
764 + </optional>
765 + <empty/>
766 + </element>
767 + </define>
768 + <define name="gnm-repeated">
769 + <element name="gnm:repeated">
770 + <text/>
771 + </element>
772 + </define>
773 + <define name="gnm-droplines">
774 + <element name="gnm:droplines">
775 + <attribute name="chart:style-name">
776 + <ref name="styleNameRef"/>
777 + </attribute>
778 + </element>
779 + </define>
780 </grammar>