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