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