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:style-name %styleName; #IMPLIED>
41
42<!ATTLIST chart:chart %presentation-class; >
43<!ATTLIST chart:chart %zindex;>
44<!ATTLIST chart:chart %draw-end-position; >
45<!ATTLIST chart:chart draw:id %draw-shape-id; >
46<!ATTLIST chart:chart draw:layer %layerName; #IMPLIED>
47
48<!ATTLIST style:properties
49		  chart:scale-text %boolean; "true"
50		  chart:stock-updown-bars %boolean; "false"
51		  chart:stock-with-volume %boolean; "false"
52		  chart:three-dimensional %boolean; "false"
53		  chart:deep %boolean; "false"
54		  chart:lines %boolean; "false"
55		  chart:percentage %boolean; "false"
56		  chart:solid-type %chart-solid-type; "cuboid"
57		  chart:splines %nonNegativeInteger; "0"
58		  chart:stacked %boolean; "false"
59		  chart:symbol %integer; "-1"
60		  chart:vertical %boolean; "false"
61		  chart:lines-used %nonNegativeInteger; "0"
62		  chart:connect-bars %boolean; "false">
63
64<!-- Main/Sub Title -->
65<!-- the cell-address attribute is currently not supported for titles -->
66<!ELEMENT chart:title (text:p)?>
67<!ATTLIST chart:title
68		  table:cell-range %cell-address; #IMPLIED
69		  svg:x %coordinate; #IMPLIED
70		  svg:y %coordinate; #IMPLIED
71		  chart:style-name %styleName; #IMPLIED >
72
73<!ELEMENT chart:subtitle (text:p)?>
74<!ATTLIST chart:subtitle
75		  table:cell-range %cell-address; #IMPLIED
76		  svg:x %coordinate; #IMPLIED
77		  svg:y %coordinate; #IMPLIED
78		  chart:style-name %styleName; #IMPLIED >
79
80<!-- you must specify either a legend-position or both, x and y coordinates -->
81<!ELEMENT chart:legend EMPTY>
82<!ATTLIST chart:legend
83		  chart:legend-position (top|left|bottom|right) "right"
84		  svg:x %coordinate; #IMPLIED
85		  svg:y %coordinate; #IMPLIED
86		  chart:style-name %styleName; #IMPLIED >
87
88<!-- Plot-Area specification -->
89
90<!ELEMENT chart:plot-area (dr3d:light*,
91						   chart:axis*,
92						   chart:categories?,
93						   chart:series*,
94						   chart:wall?,
95						   chart:floor?) >
96
97<!ATTLIST chart:plot-area
98		  svg:x %coordinate; #IMPLIED
99		  svg:y %coordinate; #IMPLIED
100		  svg:width %length; #IMPLIED
101		  svg:height %length; #IMPLIED
102		  chart:style-name %styleName; #IMPLIED
103		  table:cell-range-address %cell-range-address; #IMPLIED
104		  chart:table-number-list %string; #IMPLIED
105		  chart:data-source-has-labels (none|row|column|both) "none" >
106
107<!-- 3d scene attributes on plot-area -->
108<!ATTLIST chart:plot-area
109		  dr3d:vrp %vector3D; #IMPLIED
110		  dr3d:vpn %vector3D; #IMPLIED
111		  dr3d:vup %vector3D; #IMPLIED
112		  dr3d:projection (parallel|perspective) #IMPLIED
113		  dr3d:transform CDATA #IMPLIED
114		  dr3d:distance %length; #IMPLIED
115		  dr3d:focal-length %length; #IMPLIED
116		  dr3d:shadow-slant %nonNegativeInteger; #IMPLIED
117		  dr3d:shade-mode (flat|phong|gouraud|draft) #IMPLIED
118		  dr3d:ambient-color %color; #IMPLIED
119		  dr3d:lighting-mode %boolean; #IMPLIED >
120
121<!ATTLIST style:properties
122		  chart:series-source (columns|rows) "columns" >
123
124<!ELEMENT chart:wall EMPTY>
125<!ATTLIST chart:wall
126		  svg:width %length; #IMPLIED
127		  chart:style-name %styleName; #IMPLIED >
128
129<!ELEMENT chart:floor EMPTY>
130<!ATTLIST chart:floor
131		  svg:width %length; #IMPLIED
132		  chart:style-name %styleName; #IMPLIED >
133
134<!-- Axis -->
135
136<!ELEMENT chart:axis (chart:title?, chart:grid*)>
137<!ATTLIST chart:axis
138		  chart:class (category|value|series|domain) #REQUIRED
139		  chart:name %string; #IMPLIED
140		  chart:style-name %styleName; #IMPLIED >
141
142<!ATTLIST style:properties
143		  chart:tick-marks-major-inner %boolean; "false"
144		  chart:tick-marks-major-outer %boolean; "true"
145		  chart:tick-marks-minor-inner %boolean; "false"
146		  chart:tick-marks-minor-outer %boolean; "false"
147		  chart:logarithmic %boolean; "false"
148		  chart:maximum %float; #IMPLIED
149		  chart:minimum %float; #IMPLIED
150		  chart:origin %float; #IMPLIED
151		  chart:interval-major %float; #IMPLIED
152		  chart:interval-minor %float; #IMPLIED
153		  chart:gap-width %integer; #IMPLIED
154		  chart:overlap %integer; #IMPLIED
155		  text:line-break %boolean; "true"
156		  chart:display-label %boolean; "true"
157		  chart:label-arrangement (side-by-side|stagger-even|stagger-odd) "side-by-side"
158		  chart:visible %boolean; "true"
159		  chart:link-data-style-to-source %boolean; "true" >
160
161<!ELEMENT chart:grid EMPTY>
162<!ATTLIST chart:grid
163		  chart:class (major|minor) "major"
164		  chart:style-name %styleName; #IMPLIED >
165
166
167<!ELEMENT chart:categories EMPTY>
168<!ATTLIST chart:categories
169		  table:cell-range-address %cell-range-address; #REQUIRED >
170
171<!--
172	each series element must have an cell-range-address element that points
173	to the underlying table data.
174	Impl. Note: Internally all href elements are merged to one table range
175	that represents the data for the whole chart
176-->
177<!ELEMENT chart:series ( chart:domain*,
178						 chart:data-point* )>
179<!ATTLIST chart:series
180		  chart:values-cell-range-address %cell-range-address; #IMPLIED
181		  chart:label-cell-address %cell-address; #IMPLIED
182		  chart:class %chart-class; #IMPLIED
183		  chart:attached-axis %string; #IMPLIED
184		  chart:style-name %styleName; #IMPLIED >
185
186<!ELEMENT chart:domain EMPTY>
187<!ATTLIST chart:domain
188		  table:cell-range-address %cell-range-address; #IMPLIED >
189
190<!ELEMENT chart:data-point EMPTY>
191<!ATTLIST chart:data-point
192		  chart:repeated %nonNegativeInteger; #IMPLIED
193		  chart:style-name %styleName; #IMPLIED >
194
195<!-- statistical properties -->
196
197<!ATTLIST style:properties
198		  chart:mean-value %boolean; #IMPLIED
199		  chart:error-category (none|variance|standard-deviation|percentage|error-margin|constant) "none"
200		  chart:error-percentage %float; #IMPLIED
201		  chart:error-margin %float; #IMPLIED
202		  chart:error-lower-limit %float; #IMPLIED
203		  chart:error-upper-limit %float; #IMPLIED
204		  chart:error-upper-indicator %boolean; #IMPLIED
205		  chart:error-lower-indicator %boolean; #IMPLIED
206		  chart:regression-type (none|linear|logarithmic|exponential|power) "none" >
207
208<!-- data label properties -->
209
210<!ATTLIST style:properties
211		  chart:data-label-number (none|value|percentage) "none"
212		  chart:data-label-text %boolean; "false"
213		  chart:data-label-symbol %boolean; "false" >
214
215<!-- general text properties -->
216
217<!ATTLIST style:properties text:rotation-angle %integer; "0" >
218
219<!-- symbol properties -->
220
221<!ATTLIST style:properties
222		  chart:symbol-width %nonNegativeLength; #IMPLIED
223		  chart:symbol-height %nonNegativeLength; #IMPLIED
224		  chart:symbol-image-name %string; #IMPLIED >
225