xref: /AOO41X/main/xmloff/dtd/table.mod (revision 5979ef3c542ac870a02043decc543300c0ec3dfb)
1<!--
2
3  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
5  Copyright 2000, 2010 Oracle and/or its affiliates.
6
7  OpenOffice.org - a multi-platform office productivity suite
8
9  This file is part of OpenOffice.org.
10
11  OpenOffice.org is free software: you can redistribute it and/or modify
12  it under the terms of the GNU Lesser General Public License version 3
13  only, as published by the Free Software Foundation.
14
15  OpenOffice.org is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  GNU Lesser General Public License version 3 for more details
19  (a copy is included in the LICENSE file that accompanied this code).
20
21  You should have received a copy of the GNU Lesser General Public License
22  version 3 along with OpenOffice.org.  If not, see
23  <http://www.openoffice.org/license.html>
24  for a copy of the LGPLv3 License.
25
26-->
27
28<!ELEMENT table:calculation-settings (table:null-date?, table:iteration?)>
29<!ATTLIST table:calculation-settings
30    table:case-sensitive %boolean; "true"
31    table:precision-as-shown %boolean; "false"
32    table:search-criteria-must-apply-to-whole-cell %boolean; "true"
33    table:automatic-find-labels %boolean; "true"
34    table:use-regular-expressions %boolean; "true"
35    table:null-year %positiveInteger; "1930"
36>
37<!ELEMENT table:null-date EMPTY>
38<!ATTLIST table:null-date
39    table:value-type %valueType; #FIXED "date"
40    table:date-value %date; "1899-12-30"
41>
42<!ELEMENT table:iteration EMPTY>
43<!ATTLIST table:iteration
44    table:status (enable | disable) "disable"
45    table:steps %positiveInteger; "100"
46    table:maximum-difference %float; "0.001"
47>
48
49<!ELEMENT table:tracked-changes (table:cell-content-change | table:insertion | table:deletion | table:movement | table:rejection)*>
50<!ATTLIST table:tracked-changes table:track-changes %boolean; "true"
51                table:protected %boolean; "false"
52                table:protection-key CDATA #IMPLIED
53>
54
55<!ELEMENT table:dependences (table:dependence)+>
56<!ELEMENT table:dependence EMPTY>
57<!ATTLIST table:dependence
58    table:id CDATA #REQUIRED
59>
60<!ELEMENT table:deletions (table:cell-content-deletion | table:change-deletion)+>
61<!ELEMENT table:cell-content-deletion (table:cell-address?, table:change-track-table-cell?)>
62<!ATTLIST table:cell-content-deletion
63    table:id CDATA #IMPLIED
64>
65<!ELEMENT table:change-deletion EMPTY>
66<!ATTLIST table:change-deletion
67    table:id CDATA #IMPLIED
68>
69<!ELEMENT table:insertion (office:change-info, table:dependences?, table:deletions?)>
70<!ATTLIST table:insertion
71    table:id CDATA #REQUIRED
72    table:acceptance-state (accepted | rejected | pending) "pending"
73    table:rejecting-change-id %positiveInteger; #IMPLIED
74    table:type (row | column | table) #REQUIRED
75    table:position %integer; #REQUIRED
76    table:count %positiveInteger; "1"
77    table:table %integer; #IMPLIED
78>
79<!ELEMENT table:deletion (office:change-info, table:dependences?, table:deletions?, table:cut-offs?)>
80<!ATTLIST table:deletion
81    table:id CDATA #REQUIRED
82    table:acceptance-state (accepted | rejected | pending) "pending"
83    table:rejecting-change-id %positiveInteger; #IMPLIED
84    table:type (row | column | table) #REQUIRED
85    table:position %integer; #REQUIRED
86    table:count %positiveInteger; "1"
87    table:table %integer; #IMPLIED
88    table:multi-deletion-spanned %integer; #IMPLIED
89>
90<!ELEMENT table:cut-offs (table:movement-cut-off+ | (table:insertion-cut-off, table:movement-cut-off*))>
91<!ELEMENT table:insertion-cut-off EMPTY>
92<!ATTLIST table:insertion-cut-off
93    table:id CDATA #REQUIRED
94    table:position %integer; #REQUIRED
95>
96<!ELEMENT table:movement-cut-off EMPTY>
97<!ATTLIST table:movement-cut-off
98    table:id CDATA #REQUIRED
99    table:start-position %integer; #IMPLIED
100    table:end-position %integer; #IMPLIED
101    table:position %integer; #IMPLIED
102>
103<!ELEMENT table:movement (table:source-range-address, table:target-range-address, office:change-info, table:dependences?, table:deletions?)>
104<!ATTLIST table:movement
105    table:id CDATA #REQUIRED
106    table:acceptance-state (accepted | rejected | pending) "pending"
107    table:rejecting-change-id %positiveInteger; #IMPLIED
108>
109<!ELEMENT table:target-range-address EMPTY>
110<!ATTLIST table:target-range-address
111    table:column %integer; #IMPLIED
112    table:row %integer; #IMPLIED
113    table:table %integer; #IMPLIED
114    table:start-column %integer; #IMPLIED
115    table:start-row %integer; #IMPLIED
116    table:start-table %integer; #IMPLIED
117    table:end-column %integer; #IMPLIED
118    table:end-row %integer; #IMPLIED
119    table:end-table %integer; #IMPLIED
120>
121<!ELEMENT table:source-range-address EMPTY>
122<!ATTLIST table:source-range-address
123    table:column %integer; #IMPLIED
124    table:row %integer; #IMPLIED
125    table:table %integer; #IMPLIED
126    table:start-column %integer; #IMPLIED
127    table:start-row %integer; #IMPLIED
128    table:start-table %integer; #IMPLIED
129    table:end-column %integer; #IMPLIED
130    table:end-row %integer; #IMPLIED
131    table:end-table %integer; #IMPLIED
132>
133<!ELEMENT table:change-track-table-cell (text:p*)>
134<!ATTLIST table:change-track-table-cell
135    table:cell-address %cell-address; #IMPLIED
136    table:matrix-covered (true | false) "false"
137    table:formula %string; #IMPLIED
138    table:number-matrix-rows-spanned %positiveInteger; #IMPLIED
139    table:number-matrix-columns-spanned %positiveInteger; #IMPLIED
140    table:value-type %valueType; "string"
141    table:value %float; #IMPLIED
142    table:date-value %date; #IMPLIED
143    table:time-value %timeInstance; #IMPLIED
144    table:string-value %string; #IMPLIED
145>
146<!ELEMENT table:cell-content-change (table:cell-address, office:change-info, table:dependences?, table:deletions?, table:previous)>
147<!ATTLIST table:cell-content-change
148    table:id CDATA #REQUIRED
149    table:acceptance-state (accepted | rejected | pending) "pending"
150    table:rejecting-change-id %positiveInteger; #IMPLIED
151>
152<!ELEMENT table:cell-address EMPTY>
153<!ATTLIST table:cell-address
154    table:column %integer; #IMPLIED
155    table:row %integer; #IMPLIED
156    table:table %integer; #IMPLIED
157>
158<!ELEMENT table:previous (table:change-track-table-cell)>
159<!ATTLIST table:previous
160    table:id CDATA #IMPLIED
161>
162<!ELEMENT table:rejection (office:change-info, table:dependences?, table:deletions?)>
163<!ATTLIST table:rejection
164    table:id CDATA #REQUIRED
165    table:acceptance-state (accepted | rejected | pending) "pending"
166    table:rejecting-change-id %positiveInteger; #IMPLIED
167>
168
169<!ENTITY % table-columns "table:table-columns | ( table:table-column | table:table-column-group )+">
170<!ENTITY % table-header-columns "table:table-header-columns">
171<!ENTITY % table-rows "table:table-rows | ( table:table-row | table:table-row-group )+">
172<!ENTITY % table-header-rows "table:table-header-rows">
173<!ENTITY % table-column-groups "((%table-columns;),(%table-header-columns;,(%table-columns;)?)?) | (%table-header-columns;,(%table-columns;)?)">
174<!ENTITY % table-row-groups "((%table-rows;),(%table-header-rows;,(%table-rows;)?)?) | (%table-header-rows;,(%table-rows;)?)">
175<!ELEMENT table:table (table:table-source?, table:scenario?, office:forms?, table:shapes?, (%table-column-groups;), (%table-row-groups;))>
176<!ATTLIST table:table
177    table:name %string; #IMPLIED
178    table:style-name %styleName; #IMPLIED
179    table:protected %boolean; "false"
180    table:protection-key CDATA #IMPLIED
181    table:print-ranges %cell-range-address-list; #IMPLIED
182    table:automatic-print-range %boolean; #IMPLIED
183>
184<!ELEMENT table:table-source EMPTY>
185<!ATTLIST table:table-source
186    table:mode (copy-all | copy-results-only) "copy-all"
187    xlink:type (simple) #FIXED "simple"
188    xlink:actuate (onRequest) "onRequest"
189    xlink:href %uriReference; #REQUIRED
190    table:filter-name CDATA #IMPLIED
191    table:table-name CDATA #IMPLIED
192    table:filter-options CDATA #IMPLIED
193    table:refresh-delay %timeDuration; #IMPLIED
194>
195<!ELEMENT table:scenario EMPTY>
196<!ATTLIST table:scenario
197    table:display-border %boolean; "true"
198    table:border-color %color; #IMPLIED
199    table:copy-back %boolean; "true"
200    table:copy-styles %boolean; "true"
201    table:copy-formulas %boolean; "true"
202    table:is-active %boolean; #REQUIRED
203    table:scenario-ranges %cell-range-address-list; #REQUIRED
204    table:comment CDATA #IMPLIED
205>
206<!ELEMENT table:shapes %shapes;>
207<!ELEMENT table:table-column-group (table:table-header-columns | table:table-column | table:table-column-group)+>
208<!ATTLIST table:table-column-group
209    table:display %boolean; "true"
210>
211<!ELEMENT table:table-header-columns (table:table-column | table:table-column-group)+>
212<!ELEMENT table:table-columns (table:table-column | table:table-column-group)+>
213<!ELEMENT table:table-column EMPTY>
214<!ATTLIST table:table-column
215    table:number-columns-repeated %positiveInteger; "1"
216    table:style-name %styleName; #IMPLIED
217    table:visibility (visible | collapse | filter) "visible"
218    table:default-cell-style-name %styleName; #IMPLIED
219>
220<!ELEMENT table:table-row-group (table:table-header-rows | table:table-row | table:table-row-group)+>
221<!ATTLIST table:table-row-group
222    table:display %boolean; "true"
223>
224<!ELEMENT table:table-header-rows (table:table-row | table:table-row-group)+>
225<!ELEMENT table:table-rows (table:table-row | table:table-row-group)+>
226<!ENTITY % table-cells "(table:table-cell|table:covered-table-cell)+">
227<!ELEMENT table:table-row %table-cells;>
228<!ATTLIST table:table-row
229    table:number-rows-repeated %positiveInteger; "1"
230    table:style-name %styleName; #IMPLIED
231    table:visibility (visible | collapse | filter) "visible"
232    table:default-cell-style-name %styleName; #IMPLIED
233>
234
235<!ENTITY % text-wo-table "(text:h|text:p|text:ordered-list|text:unordered-list|%shapes;)*">
236<!ENTITY % cell-content "(table:cell-range-source?,office:annotation?,table:detective?,(table:sub-table|%text-wo-table;))">
237<!ELEMENT table:table-cell %cell-content;>
238<!ELEMENT table:covered-table-cell %cell-content;>
239<!ATTLIST table:table-cell
240    table:number-columns-repeated %positiveInteger; "1"
241    table:number-rows-spanned %positiveInteger; "1"
242    table:number-columns-spanned %positiveInteger; "1"
243    table:style-name %styleName; #IMPLIED
244    table:validation-name CDATA #IMPLIED
245    table:formula %string; #IMPLIED
246    table:number-matrix-rows-spanned %positiveInteger; #IMPLIED
247    table:number-matrix-columns-spanned %positiveInteger; #IMPLIED
248    table:value-type %valueType; "string"
249    table:value %float; #IMPLIED
250    table:date-value %date; #IMPLIED
251    table:time-value %timeInstance; #IMPLIED
252    table:boolean-value %boolean; #IMPLIED
253    table:string-value %string; #IMPLIED
254    table:currency %string; #IMPLIED
255>
256<!ATTLIST table:covered-table-cell
257    table:number-columns-repeated %positiveInteger; "1"
258    table:style-name %styleName; #IMPLIED
259    table:validation-name CDATA #IMPLIED
260    table:formula %string; #IMPLIED
261    table:number-matrix-rows-spanned %positiveInteger; #IMPLIED
262    table:number-matrix-columns-spanned %positiveInteger; #IMPLIED
263    table:value-type %valueType; "string"
264    table:value %float; #IMPLIED
265    table:date-value %date; #IMPLIED
266    table:time-value %timeInstance; #IMPLIED
267    table:boolean-value %boolean; #IMPLIED
268    table:string-value %string; #IMPLIED
269    table:currency %string; #IMPLIED
270>
271<!-- cell protection in writer: cell attribute; calc uses format -->
272<!ATTLIST table:table-cell table:protected %boolean; "false">
273
274<!ELEMENT table:cell-range-source EMPTY>
275<!ATTLIST table:cell-range-source
276    table:name %string; #REQUIRED
277    xlink:type (simple) #FIXED "simple"
278    xlink:actuate (onRequest) #FIXED "onRequest"
279    xlink:href %uriReference; #REQUIRED
280    table:filter-name %string; #REQUIRED
281    table:filter-options %string; #IMPLIED
282    table:last-column-spanned %positiveInteger; #REQUIRED
283    table:last-row-spanned %positiveInteger; #REQUIRED
284    table:refresh-delay %timeDuration; #IMPLIED
285>
286
287<!ELEMENT table:detective (table:highlighted-range*, table:operation*)>
288<!ELEMENT table:highlighted-range EMPTY>
289<!ATTLIST table:highlighted-range
290    table:cell-range-address %cell-range-address; #IMPLIED
291    table:direction (from-another-table | to-another-table | from-same-table | to-same-table) #IMPLIED
292    table:contains-error %boolean; #IMPLIED
293    table:marked-invalid %boolean; #IMPLIED
294>
295<!ELEMENT table:operation EMPTY>
296<!ATTLIST table:operation
297    table:name (trace-dependents | remove-dependents | trace-precedents | remove-precedents | trace-errors) #REQUIRED
298    table:index %nonNegativeInteger; #REQUIRED
299>
300
301<!ELEMENT table:content-validations (table:content-validation)+>
302<!ELEMENT table:content-validation (table:help-message?, (table:error-message | (table:error-macro, office:events?))?)>
303<!ATTLIST table:content-validation
304    table:name CDATA #REQUIRED
305    table:condition CDATA #IMPLIED
306    table:base-cell-address %cell-address; #IMPLIED
307    table:allow-empty-cell %boolean; #IMPLIED
308    table:show-list (no | unsorted | sorted-ascending) #IMPLIED
309>
310<!ELEMENT table:help-message (text:p*)>
311<!ATTLIST table:help-message
312    table:title CDATA #IMPLIED
313    table:display %boolean; #IMPLIED
314>
315<!ELEMENT table:error-message (text:p*)>
316<!ATTLIST table:error-message
317    table:title CDATA #IMPLIED
318    table:message-type (stop | warning | information) #IMPLIED
319    table:display %boolean; #IMPLIED
320>
321<!ELEMENT table:error-macro EMPTY>
322<!ATTLIST table:error-macro
323    table:name CDATA #IMPLIED
324    table:execute %boolean; #IMPLIED
325>
326
327<!ELEMENT table:sub-table ((%table-column-groups;) , (%table-row-groups;))>
328
329<!ELEMENT table:label-ranges (table:label-range)*>
330<!ELEMENT table:label-range EMPTY>
331<!ATTLIST table:label-range
332    table:label-cell-range-address %cell-range-address; #REQUIRED
333    table:data-cell-range-address %cell-range-address; #REQUIRED
334    table:orientation (column | row) #REQUIRED
335>
336
337<!ELEMENT table:named-expressions (table:named-range | table:named-expression)*>
338<!ELEMENT table:named-range EMPTY>
339<!ATTLIST table:named-range
340    table:name CDATA #REQUIRED
341    table:cell-range-address %cell-range-address; #REQUIRED
342    table:base-cell-address %cell-address; #IMPLIED
343    table:range-usable-as CDATA "none"
344>
345<!ELEMENT table:named-expression EMPTY>
346<!ATTLIST table:named-expression
347    table:name CDATA #REQUIRED
348    table:expression CDATA #REQUIRED
349    table:base-cell-address %cell-address; #IMPLIED
350>
351
352<!ELEMENT table:filter (table:filter-condition | table:filter-and | table:filter-or)>
353<!ATTLIST table:filter
354    table:target-range-address %cell-range-address; #IMPLIED
355    table:condition-source-range-address %cell-range-address; #IMPLIED
356    table:condition-source (self | cell-range) "self"
357    table:display-duplicates %boolean; "true"
358>
359<!ELEMENT table:filter-and (table:filter-or | table:filter-condition)+>
360<!ELEMENT table:filter-or (table:filter-and | table:filter-condition)+>
361<!ELEMENT table:filter-condition EMPTY>
362<!ATTLIST table:filter-condition
363    table:field-number %nonNegativeInteger; #REQUIRED
364    table:case-sensitive %boolean; "false"
365    table:data-type (text | number) "text"
366    table:value CDATA #REQUIRED
367    table:operator CDATA #REQUIRED
368>
369
370<!ELEMENT table:database-ranges (table:database-range)*>
371<!ELEMENT table:database-range ((table:database-source-sql | table:database-source-table | table:database-source-query)?, table:filter?, table:sort?, table:subtotal-rules?)>
372<!ATTLIST table:database-range
373    table:name CDATA #IMPLIED
374    table:is-selection %boolean; "false"
375    table:on-update-keep-styles %boolean; "false"
376    table:on-update-keep-size %boolean; "true"
377    table:has-persistant-data %boolean; "true"
378    table:orientation (row | column) "row"
379    table:contains-header %boolean; "true"
380    table:display-filter-buttons %boolean; "false"
381    table:target-range-address %cell-range-address; #REQUIRED
382    table:refresh-delay %timeDuration; #IMPLIED
383>
384<!ELEMENT table:database-source-sql EMPTY>
385<!ATTLIST table:database-source-sql
386    table:database-name CDATA #REQUIRED
387    table:sql-statement CDATA #REQUIRED
388    table:parse-sql-statements %boolean; "false"
389>
390<!ELEMENT table:database-source-table EMPTY>
391<!ATTLIST table:database-source-table
392    table:database-name CDATA #REQUIRED
393    table:table-name CDATA #REQUIRED
394>
395<!ELEMENT table:database-source-query EMPTY>
396<!ATTLIST table:database-source-query
397    table:database-name CDATA #REQUIRED
398    table:query-name CDATA #REQUIRED
399>
400
401<!ELEMENT table:sort (table:sort-by)+>
402<!ATTLIST table:sort
403    table:bind-styles-to-content %boolean; "true"
404    table:target-range-address %cell-range-address; #IMPLIED
405    table:case-sensitive %boolean; "false"
406    table:language CDATA #IMPLIED
407    table:country CDATA #IMPLIED
408    table:algorithm CDATA #IMPLIED
409>
410<!ELEMENT table:sort-by EMPTY>
411<!ATTLIST table:sort-by
412    table:field-number %nonNegativeInteger; #REQUIRED
413    table:data-type CDATA "automatic"
414    table:order (ascending | descending) "ascending"
415>
416
417<!ELEMENT table:subtotal-rules (table:sort-groups? | table:subtotal-rule*)?>
418<!ATTLIST table:subtotal-rules
419    table:bind-styles-to-content %boolean; "true"
420    table:case-sensitive %boolean; "false"
421    table:page-breaks-on-group-change %boolean; "false"
422>
423<!ELEMENT table:sort-groups EMPTY>
424<!ATTLIST table:sort-groups
425    table:data-type CDATA "automatic"
426    table:order (ascending | descending) "ascending"
427>
428<!ELEMENT table:subtotal-rule (table:subtotal-field)*>
429<!ATTLIST table:subtotal-rule
430    table:group-by-field-number %nonNegativeInteger; #REQUIRED
431>
432<!ELEMENT table:subtotal-field EMPTY>
433<!ATTLIST table:subtotal-field
434    table:field-number %nonNegativeInteger; #REQUIRED
435    table:function CDATA #REQUIRED
436>
437
438<!ELEMENT table:data-pilot-tables (table:data-pilot-table)*>
439<!ELEMENT table:data-pilot-table ((table:database-source-sql | table:database-source-table | table:database-source-query | table:source-service | table:source-cell-range)?, table:data-pilot-field+)>
440<!ATTLIST table:data-pilot-table
441    table:name CDATA #REQUIRED
442    table:application-data CDATA #IMPLIED
443    table:grand-total (none | row | column | both) "both"
444    table:ignore-empty-rows %boolean; "false"
445    table:identify-categories %boolean; "false"
446    table:target-range-address %cell-range-address; #REQUIRED
447    table:buttons %cell-range-address-list; #REQUIRED
448>
449<!ELEMENT table:source-service EMPTY>
450<!ATTLIST table:source-service
451    table:name CDATA #REQUIRED
452    table:source-name CDATA #REQUIRED
453    table:object-name CDATA #REQUIRED
454    table:username CDATA #IMPLIED
455    table:password CDATA #IMPLIED
456>
457<!ELEMENT table:source-cell-range (table:filter)?>
458<!ATTLIST table:source-cell-range
459    table:cell-range-address %cell-range-address; #REQUIRED
460>
461<!ELEMENT table:data-pilot-field (table:data-pilot-level)?>
462<!ATTLIST table:data-pilot-field
463    table:source-field-name CDATA #REQUIRED
464    table:is-data-layout-field %boolean; "false"
465    table:function CDATA #REQUIRED
466    table:orientation (row | column | data | page | hidden) #REQUIRED
467    table:used-hierarchy %positiveInteger; "1"
468>
469<!ELEMENT table:data-pilot-level (table:data-pilot-subtotals?, table:data-pilot-members?)>
470<!ATTLIST table:data-pilot-level
471    table:display-empty %boolean; #IMPLIED
472>
473<!ELEMENT table:data-pilot-subtotals (table:data-pilot-subtotal)*>
474<!ELEMENT table:data-pilot-subtotal EMPTY>
475<!ATTLIST table:data-pilot-subtotal
476    table:function CDATA #REQUIRED
477>
478<!ELEMENT table:data-pilot-members (table:data-pilot-member)*>
479<!ELEMENT table:data-pilot-member EMPTY>
480<!ATTLIST table:data-pilot-member
481    table:name CDATA #REQUIRED
482    table:display %boolean; #IMPLIED
483    table:display-details %boolean; #IMPLIED
484>
485
486<!ELEMENT table:consolidation EMPTY>
487<!ATTLIST table:consolidation
488    table:function CDATA #REQUIRED
489    table:source-cell-range-addresses %cell-range-address-list; #REQUIRED
490    table:target-cell-address %cell-address; #REQUIRED
491    table:use-label (none | column | row | both) "none"
492    table:link-to-source-data %boolean; "false"
493>
494
495<!ELEMENT table:dde-links (table:dde-link)+>
496<!ELEMENT table:dde-link (office:dde-source, table:table)>
497