xref: /AOO41X/main/xmloff/dtd/chart.mod (revision 83137a03adbb58b5b3bdafefefa1e93de35e0011)
1<!--***********************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 ***********************************************************-->
21
22
23
24
25<!ENTITY % chart-class "(line|area|circle|ring|scatter|radar|bar|stock|add-in)">
26<!ENTITY % chart-solid-type "(cuboid|cylinder|cone|pyramid)">
27
28<!-- Chart element -->
29<!ELEMENT chart:chart ( chart:title?, chart:subtitle?, chart:legend?,
30                        chart:plot-area,
31                        table:table? )>
32<!ATTLIST chart:chart
33          chart:class %chart-class; #REQUIRED
34          chart:add-in-name %string; #IMPLIED
35          chart:table-number-list %string; #IMPLIED
36          draw:name %string; #IMPLIED
37          %draw-position;
38          %draw-size;
39          %draw-style-name;
40          chart:column-mapping %string; #IMPLIED
41          chart:row-mapping %string; #IMPLIED
42          chart:style-name %styleName; #IMPLIED>
43
44<!ATTLIST chart:chart %presentation-class; >
45<!ATTLIST chart:chart %zindex;>
46<!ATTLIST chart:chart %draw-end-position; >
47<!ATTLIST chart:chart draw:id %draw-shape-id; >
48<!ATTLIST chart:chart draw:layer %layerName; #IMPLIED>
49
50<!ATTLIST style:properties
51          chart:scale-text %boolean; "true"
52          chart:stock-updown-bars %boolean; "false"
53          chart:stock-with-volume %boolean; "false"
54          chart:three-dimensional %boolean; "false"
55          chart:deep %boolean; "false"
56          chart:lines %boolean; "false"
57          chart:percentage %boolean; "false"
58          chart:solid-type %chart-solid-type; "cuboid"
59          chart:splines %nonNegativeInteger; "0"
60          chart:stacked %boolean; "false"
61          chart:symbol %integer; "-1"
62          chart:vertical %boolean; "false"
63          chart:lines-used %nonNegativeInteger; "0"
64          chart:connect-bars %boolean; "false"
65          chart:spline-order %nonNegativeInteger; "2"
66          chart:spline-resolution %nonNegativeInteger; "20"
67          chart:pie-offset %nonNegativeInteger; "0">
68
69<!-- Main/Sub Title -->
70<!-- the cell-address attribute is currently not supported for titles -->
71<!ELEMENT chart:title (text:p)?>
72<!ATTLIST chart:title
73          table:cell-range %cell-address; #IMPLIED
74          svg:x %coordinate; #IMPLIED
75          svg:y %coordinate; #IMPLIED
76          chart:style-name %styleName; #IMPLIED >
77
78<!ELEMENT chart:subtitle (text:p)?>
79<!ATTLIST chart:subtitle
80          table:cell-range %cell-address; #IMPLIED
81          svg:x %coordinate; #IMPLIED
82          svg:y %coordinate; #IMPLIED
83          chart:style-name %styleName; #IMPLIED >
84
85<!-- you must specify either a legend-position or both, x and y coordinates -->
86<!ELEMENT chart:legend EMPTY>
87<!ATTLIST chart:legend
88          chart:legend-position (top|left|bottom|right) "right"
89          svg:x %coordinate; #IMPLIED
90          svg:y %coordinate; #IMPLIED
91          chart:style-name %styleName; #IMPLIED >
92
93<!-- Plot-Area specification -->
94
95<!ELEMENT chart:plot-area (dr3d:light*,
96                           chart:axis*,
97                           chart:categories?,
98                           chart:series*,
99                           chart:stock-gain-marker?,
100                           chart:stock-loss-marker?,
101                           chart:stock-range-line?,
102                           chart:wall?,
103                           chart:floor?) >
104
105<!ATTLIST chart:plot-area
106          svg:x %coordinate; #IMPLIED
107          svg:y %coordinate; #IMPLIED
108          svg:width %length; #IMPLIED
109          svg:height %length; #IMPLIED
110          chart:style-name %styleName; #IMPLIED
111          table:cell-range-address %cell-range-address; #IMPLIED
112          chart:table-number-list %string; #IMPLIED
113          chart:data-source-has-labels (none|row|column|both) "none" >
114
115<!-- 3d scene attributes on plot-area -->
116<!ATTLIST chart:plot-area
117          dr3d:vrp %vector3D; #IMPLIED
118          dr3d:vpn %vector3D; #IMPLIED
119          dr3d:vup %vector3D; #IMPLIED
120          dr3d:projection (parallel|perspective) #IMPLIED
121          dr3d:transform CDATA #IMPLIED
122          dr3d:distance %length; #IMPLIED
123          dr3d:focal-length %length; #IMPLIED
124          dr3d:shadow-slant %nonNegativeInteger; #IMPLIED
125          dr3d:shade-mode (flat|phong|gouraud|draft) #IMPLIED
126          dr3d:ambient-color %color; #IMPLIED
127          dr3d:lighting-mode %boolean; #IMPLIED >
128
129<!ATTLIST style:properties
130          chart:series-source (columns|rows) "columns" >
131
132<!ELEMENT chart:wall EMPTY>
133<!ATTLIST chart:wall
134          svg:width %length; #IMPLIED
135          chart:style-name %styleName; #IMPLIED >
136
137<!ELEMENT chart:floor EMPTY>
138<!ATTLIST chart:floor
139          svg:width %length; #IMPLIED
140          chart:style-name %styleName; #IMPLIED >
141
142<!-- Stock chart elements -->
143
144<!ELEMENT chart:stock-gain-marker EMPTY>
145<!ATTLIST chart:stock-gain-marker
146          chart:style-name %styleName; #IMPLIED >
147
148<!ELEMENT chart:stock-loss-marker EMPTY>
149<!ATTLIST chart:stock-loss-marker
150          chart:style-name %styleName; #IMPLIED >
151
152<!ELEMENT chart:stock-range-line EMPTY>
153<!ATTLIST chart:stock-range-line
154          chart:style-name %styleName; #IMPLIED >
155
156<!-- Axis -->
157
158<!ELEMENT chart:axis (chart:title?, chart:grid*)>
159<!ATTLIST chart:axis
160          chart:class (category|value|series|domain) #REQUIRED
161          chart:name %string; #IMPLIED
162          chart:style-name %styleName; #IMPLIED >
163
164<!ATTLIST style:properties
165          chart:tick-marks-major-inner %boolean; "false"
166          chart:tick-marks-major-outer %boolean; "true"
167          chart:tick-marks-minor-inner %boolean; "false"
168          chart:tick-marks-minor-outer %boolean; "false"
169          chart:logarithmic %boolean; "false"
170          chart:maximum %float; #IMPLIED
171          chart:minimum %float; #IMPLIED
172          chart:origin %float; #IMPLIED
173          chart:interval-major %float; #IMPLIED
174          chart:interval-minor %float; #IMPLIED
175          chart:gap-width %integer; #IMPLIED
176          chart:overlap %integer; #IMPLIED
177          text:line-break %boolean; "true"
178          chart:display-label %boolean; "true"
179          chart:label-arrangement (side-by-side|stagger-even|stagger-odd) "side-by-side"
180          chart:text-overlap %boolean; "false"
181          chart:visible %boolean; "true"
182          chart:link-data-style-to-source %boolean; "true" >
183
184<!ELEMENT chart:grid EMPTY>
185<!ATTLIST chart:grid
186          chart:class (major|minor) "major"
187          chart:style-name %styleName; #IMPLIED >
188
189
190<!ELEMENT chart:categories EMPTY>
191<!ATTLIST chart:categories
192          table:cell-range-address %cell-range-address; #IMPLIED >
193
194<!--
195    each series element must have an cell-range-address element that points
196    to the underlying table data.
197    Impl. Note: Internally all href elements are merged to one table range
198    that represents the data for the whole chart
199-->
200<!ELEMENT chart:series ( chart:domain*,
201                         chart:mean-value?,
202                         chart:regression-curve?,
203                         chart:error-indicator?,
204                         chart:data-point* )>
205<!ATTLIST chart:series
206          chart:values-cell-range-address %cell-range-address; #IMPLIED
207          chart:label-cell-address %cell-address; #IMPLIED
208          chart:class %chart-class; #IMPLIED
209          chart:attached-axis %string; #IMPLIED
210          chart:style-name %styleName; #IMPLIED >
211
212<!ELEMENT chart:domain EMPTY>
213<!ATTLIST chart:domain
214          table:cell-range-address %cell-range-address; #IMPLIED >
215
216<!ELEMENT chart:data-point EMPTY>
217<!ATTLIST chart:data-point
218          chart:repeated %nonNegativeInteger; #IMPLIED
219          chart:style-name %styleName; #IMPLIED >
220
221<!-- statistical properties -->
222
223<!ELEMENT chart:mean-value EMPTY>
224<!ELEMENT chart:regression-curve EMPTY >
225<!ELEMENT chart:error-indicator EMPTY >
226<!ATTLIST chart:mean-value chart:style-name %styleName; #IMPLIED >
227<!ATTLIST chart:regression-curve chart:style-name %styleName; #IMPLIED >
228<!ATTLIST chart:error-indicator chart:style-name %styleName; #IMPLIED >
229
230<!ATTLIST style:properties
231          chart:mean-value %boolean; #IMPLIED
232          chart:error-category (none|variance|standard-deviation|percentage|error-margin|constant) "none"
233          chart:error-percentage %float; #IMPLIED
234          chart:error-margin %float; #IMPLIED
235          chart:error-lower-limit %float; #IMPLIED
236          chart:error-upper-limit %float; #IMPLIED
237          chart:error-upper-indicator %boolean; #IMPLIED
238          chart:error-lower-indicator %boolean; #IMPLIED
239          chart:regression-type (none|linear|logarithmic|exponential|power) "none" >
240
241<!-- data label properties -->
242
243<!ATTLIST style:properties
244          chart:data-label-number (none|value|percentage) "none"
245          chart:data-label-text %boolean; "false"
246          chart:data-label-symbol %boolean; "false" >
247
248<!-- general text properties -->
249
250<!ATTLIST style:properties
251          text:rotation-angle %integer; "0" >
252
253<!-- symbol properties -->
254
255<!ATTLIST style:properties
256          chart:symbol-width %nonNegativeLength; #IMPLIED
257          chart:symbol-height %nonNegativeLength; #IMPLIED
258          chart:symbol-image-name %string; #IMPLIED >
259