3 DO NOT ALTER
OR REMOVE COPYRIGHT NOTICES
OR THIS FILE HEADER.
5 Copyright
2008 by Sun Microsystems
, Inc.
7 OpenOffice.org
- a multi
-platform office productivity suite
9 $RCSfile
: chart.mod
,v $
13 This file is part of OpenOffice.org.
15 OpenOffice.org is free software
: you can redistribute it and
/or modify
16 it under the terms of the GNU Lesser General Public License version
3
17 only
, as published by the Free Software Foundation.
19 OpenOffice.org is distributed in the hope that it will be useful
,
20 but WITHOUT ANY WARRANTY
; without even the implied warranty of
21 MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
22 GNU Lesser General Public License version
3 for more details
23 (a copy is included in the LICENSE file that accompanied this code
).
25 You should have received a copy of the GNU Lesser General Public License
26 version
3 along with OpenOffice.org. If not
, see
27 <http
://www.openoffice.org
/license.html
>
28 for a copy of the LGPLv3 License.
33 <!ENTITY
% chart
-class
"(line|area|circle|ring|scatter|radar|bar|stock|add-in)">
34 <!ENTITY
% chart
-solid
-type
"(cuboid|cylinder|cone|pyramid)">
36 <!-- Chart element
-->
37 <!ELEMENT chart
:chart ( chart
:title?
, chart
:subtitle?
, chart
:legend?
,
41 chart
:class
%chart
-class
; #REQUIRED
42 chart
:add
-in
-name
%string
; #IMPLIED
43 chart
:table
-number
-list
%string
; #IMPLIED
44 draw
:name
%string
; #IMPLIED
48 chart
:column
-mapping
%string
; #IMPLIED
49 chart
:row
-mapping
%string
; #IMPLIED
50 chart
:style
-name
%styleName
; #IMPLIED
>
52 <!ATTLIST chart
:chart
%presentation
-class
; >
53 <!ATTLIST chart
:chart
%zindex
;>
54 <!ATTLIST chart
:chart
%draw
-end
-position
; >
55 <!ATTLIST chart
:chart draw
:id
%draw
-shape
-id
; >
56 <!ATTLIST chart
:chart draw
:layer
%layerName
; #IMPLIED
>
58 <!ATTLIST style
:properties
59 chart
:scale
-text
%boolean
; "true"
60 chart
:stock
-updown
-bars
%boolean
; "false"
61 chart
:stock
-with
-volume
%boolean
; "false"
62 chart
:three
-dimensional
%boolean
; "false"
63 chart
:deep
%boolean
; "false"
64 chart
:lines
%boolean
; "false"
65 chart
:percentage
%boolean
; "false"
66 chart
:solid
-type
%chart
-solid
-type
; "cuboid"
67 chart
:splines
%nonNegativeInteger
; "0"
68 chart
:stacked
%boolean
; "false"
69 chart
:symbol
%integer
; "-1"
70 chart
:vertical
%boolean
; "false"
71 chart
:lines
-used
%nonNegativeInteger
; "0"
72 chart
:connect
-bars
%boolean
; "false"
73 chart
:spline
-order
%nonNegativeInteger
; "2"
74 chart
:spline
-resolution
%nonNegativeInteger
; "20"
75 chart
:pie
-offset
%nonNegativeInteger
; "0">
77 <!-- Main
/Sub Title
-->
78 <!-- the cell
-address attribute is currently not supported for titles
-->
79 <!ELEMENT chart
:title (text
:p
)?
>
81 table
:cell
-range
%cell
-address
; #IMPLIED
82 svg
:x
%coordinate
; #IMPLIED
83 svg
:y
%coordinate
; #IMPLIED
84 chart
:style
-name
%styleName
; #IMPLIED
>
86 <!ELEMENT chart
:subtitle (text
:p
)?
>
87 <!ATTLIST chart
:subtitle
88 table
:cell
-range
%cell
-address
; #IMPLIED
89 svg
:x
%coordinate
; #IMPLIED
90 svg
:y
%coordinate
; #IMPLIED
91 chart
:style
-name
%styleName
; #IMPLIED
>
93 <!-- you must specify either a legend
-position or both
, x and y coordinates
-->
94 <!ELEMENT chart
:legend EMPTY
>
95 <!ATTLIST chart
:legend
96 chart
:legend
-position (top|left|bottom|right
) "right"
97 svg
:x
%coordinate
; #IMPLIED
98 svg
:y
%coordinate
; #IMPLIED
99 chart
:style
-name
%styleName
; #IMPLIED
>
101 <!-- Plot
-Area specification
-->
103 <!ELEMENT chart
:plot
-area (dr3d
:light
*,
107 chart
:stock
-gain
-marker?
,
108 chart
:stock
-loss
-marker?
,
109 chart
:stock
-range
-line?
,
113 <!ATTLIST chart
:plot
-area
114 svg
:x
%coordinate
; #IMPLIED
115 svg
:y
%coordinate
; #IMPLIED
116 svg
:width
%length
; #IMPLIED
117 svg
:height
%length
; #IMPLIED
118 chart
:style
-name
%styleName
; #IMPLIED
119 table
:cell
-range
-address
%cell
-range
-address
; #IMPLIED
120 chart
:table
-number
-list
%string
; #IMPLIED
121 chart
:data
-source
-has
-labels (none|row|column|both
) "none" >
123 <!-- 3d scene attributes on plot
-area
-->
124 <!ATTLIST chart
:plot
-area
125 dr3d
:vrp
%vector3D
; #IMPLIED
126 dr3d
:vpn
%vector3D
; #IMPLIED
127 dr3d
:vup
%vector3D
; #IMPLIED
128 dr3d
:projection (parallel|perspective
) #IMPLIED
129 dr3d
:transform CDATA #IMPLIED
130 dr3d
:distance
%length
; #IMPLIED
131 dr3d
:focal
-length
%length
; #IMPLIED
132 dr3d
:shadow
-slant
%nonNegativeInteger
; #IMPLIED
133 dr3d
:shade
-mode (flat|phong|gouraud|draft
) #IMPLIED
134 dr3d
:ambient
-color
%color
; #IMPLIED
135 dr3d
:lighting
-mode
%boolean
; #IMPLIED
>
137 <!ATTLIST style
:properties
138 chart
:series
-source (columns|rows
) "columns" >
140 <!ELEMENT chart
:wall EMPTY
>
142 svg
:width
%length
; #IMPLIED
143 chart
:style
-name
%styleName
; #IMPLIED
>
145 <!ELEMENT chart
:floor EMPTY
>
146 <!ATTLIST chart
:floor
147 svg
:width
%length
; #IMPLIED
148 chart
:style
-name
%styleName
; #IMPLIED
>
150 <!-- Stock chart elements
-->
152 <!ELEMENT chart
:stock
-gain
-marker EMPTY
>
153 <!ATTLIST chart
:stock
-gain
-marker
154 chart
:style
-name
%styleName
; #IMPLIED
>
156 <!ELEMENT chart
:stock
-loss
-marker EMPTY
>
157 <!ATTLIST chart
:stock
-loss
-marker
158 chart
:style
-name
%styleName
; #IMPLIED
>
160 <!ELEMENT chart
:stock
-range
-line EMPTY
>
161 <!ATTLIST chart
:stock
-range
-line
162 chart
:style
-name
%styleName
; #IMPLIED
>
166 <!ELEMENT chart
:axis (chart
:title?
, chart
:grid*)
>
168 chart
:class (category|value|series|domain
) #REQUIRED
169 chart
:name
%string
; #IMPLIED
170 chart
:style
-name
%styleName
; #IMPLIED
>
172 <!ATTLIST style
:properties
173 chart
:tick
-marks
-major
-inner
%boolean
; "false"
174 chart
:tick
-marks
-major
-outer
%boolean
; "true"
175 chart
:tick
-marks
-minor
-inner
%boolean
; "false"
176 chart
:tick
-marks
-minor
-outer
%boolean
; "false"
177 chart
:logarithmic
%boolean
; "false"
178 chart
:maximum
%float
; #IMPLIED
179 chart
:minimum
%float
; #IMPLIED
180 chart
:origin
%float
; #IMPLIED
181 chart
:interval
-major
%float
; #IMPLIED
182 chart
:interval
-minor
%float
; #IMPLIED
183 chart
:gap
-width
%integer
; #IMPLIED
184 chart
:overlap
%integer
; #IMPLIED
185 text
:line
-break
%boolean
; "true"
186 chart
:display
-label
%boolean
; "true"
187 chart
:label
-arrangement (side
-by
-side|stagger
-even|stagger
-odd
) "side-by-side"
188 chart
:text
-overlap
%boolean
; "false"
189 chart
:visible
%boolean
; "true"
190 chart
:link
-data
-style
-to
-source
%boolean
; "true" >
192 <!ELEMENT chart
:grid EMPTY
>
194 chart
:class (major|minor
) "major"
195 chart
:style
-name
%styleName
; #IMPLIED
>
198 <!ELEMENT chart
:categories EMPTY
>
199 <!ATTLIST chart
:categories
200 table
:cell
-range
-address
%cell
-range
-address
; #IMPLIED
>
203 each series element must have an cell
-range
-address element that points
204 to the underlying table data.
205 Impl. Note
: Internally all href elements are merged to one table range
206 that represents the data for the whole chart
208 <!ELEMENT chart
:series ( chart
:domain
*,
210 chart
:regression
-curve?
,
211 chart
:error
-indicator?
,
213 <!ATTLIST chart
:series
214 chart
:values
-cell
-range
-address
%cell
-range
-address
; #IMPLIED
215 chart
:label
-cell
-address
%cell
-address
; #IMPLIED
216 chart
:class
%chart
-class
; #IMPLIED
217 chart
:attached
-axis
%string
; #IMPLIED
218 chart
:style
-name
%styleName
; #IMPLIED
>
220 <!ELEMENT chart
:domain EMPTY
>
221 <!ATTLIST chart
:domain
222 table
:cell
-range
-address
%cell
-range
-address
; #IMPLIED
>
224 <!ELEMENT chart
:data
-point EMPTY
>
225 <!ATTLIST chart
:data
-point
226 chart
:repeated
%nonNegativeInteger
; #IMPLIED
227 chart
:style
-name
%styleName
; #IMPLIED
>
229 <!-- statistical properties
-->
231 <!ELEMENT chart
:mean
-value EMPTY
>
232 <!ELEMENT chart
:regression
-curve EMPTY
>
233 <!ELEMENT chart
:error
-indicator EMPTY
>
234 <!ATTLIST chart
:mean
-value chart
:style
-name
%styleName
; #IMPLIED
>
235 <!ATTLIST chart
:regression
-curve chart
:style
-name
%styleName
; #IMPLIED
>
236 <!ATTLIST chart
:error
-indicator chart
:style
-name
%styleName
; #IMPLIED
>
238 <!ATTLIST style
:properties
239 chart
:mean
-value
%boolean
; #IMPLIED
240 chart
:error
-category (none|variance|standard
-deviation|percentage|error
-margin|constant
) "none"
241 chart
:error
-percentage
%float
; #IMPLIED
242 chart
:error
-margin
%float
; #IMPLIED
243 chart
:error
-lower
-limit
%float
; #IMPLIED
244 chart
:error
-upper
-limit
%float
; #IMPLIED
245 chart
:error
-upper
-indicator
%boolean
; #IMPLIED
246 chart
:error
-lower
-indicator
%boolean
; #IMPLIED
247 chart
:regression
-type (none|linear|logarithmic|exponential|power
) "none" >
249 <!-- data label properties
-->
251 <!ATTLIST style
:properties
252 chart
:data
-label
-number (none|value|percentage
) "none"
253 chart
:data
-label
-text
%boolean
; "false"
254 chart
:data
-label
-symbol
%boolean
; "false" >
256 <!-- general text properties
-->
258 <!ATTLIST style
:properties
259 text
:rotation
-angle
%integer
; "0" >
261 <!-- symbol properties
-->
263 <!ATTLIST style
:properties
264 chart
:symbol
-width
%nonNegativeLength
; #IMPLIED
265 chart
:symbol
-height
%nonNegativeLength
; #IMPLIED
266 chart
:symbol
-image
-name
%string
; #IMPLIED
>