xref: /aoo41x/main/xmloff/dtd/table.mod (revision cdf0e10c)
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