Avail feature updated
[ninja.git] / application / vendor / hypergraph / GraphXML.dtd
blob85c09080526b60d260271429f7b8f16a1f7f1796
1 <!-- Graph Specification dtd -->
2 <!-- Centrum voor Wiskunde en Informatica (CWI) -->
3 <!--
4 Copyright Stichting Mathematisch Centrum 2000
6 Permission to use and distribute this software and its
7 documentation for any purpose is hereby granted without fee, provided that
8 the above copyright notice, author statement and this permission,
9 warranties and liability notice appear in all copies of this software
10 and related documentation.
12 Warranties
13 Stichting Mathematisch Centrum makes no warranties, express or implied, with
14 regard to this software. In particular, but without limitation, SMC makes
15 no warranty of fitness for a particular use, no warranty of freedom from
16 infringement of any patent or copyright, nor any warranty as to accuracy.
17 Accordingly, SMC assumes no obligation to furnish assistance of any kind
18 whatsoever or to furnish additional information or documentation.
20 Liability
21 In no event shall Stichting Mathematisch Centrum be liable for any damages
22 arising out of or in connection with the use or performance of this
23 software.
25 Amsterdam, 21 June, 2000
27 Version 1.1
29 -->
31 <!-- These entities are just to make the description simpler -->
32 <!ENTITY % common-elements "label|data|dataref|properties">
34 <!-- These entities are the basis of the user's extension mechanism -->
35 <!ENTITY % rootExtensions "">
36 <!ENTITY % nodeExtensions "">
37 <!ENTITY % edgeExtensions "">
38 <!ENTITY % graphExtensions "">
39 <!ENTITY % editExtensions "">
41 <!ENTITY % admissibleProperties "">
42 <!ENTITY % admissibleGraphProperties "">
44 <!-- ========================================================================= -->
45 <!-- ========================================================================= -->
47 <!-- A file consists of a graph definition and, optionally, -->
48 <!-- addinitional definitions and edit nodes -->
49 <!-- The real 'content' might be preceeded by optional data -->
50 <!ELEMENT GraphXML ((%common-elements;
51 %rootExtensions;
52 |style)*,graph*,(edit|edit-bundle)*)>
54 <!--
55 Note that, according to the official W3C specification, the definition
56 of the xlink namespace on the root level should be enough for the whole
57 document (children should inherit namespaces). However, some xml processors
58 (like IE5.0) does not know that feature yet, so the same attribute
59 specification is repeated for all children nodes which use it.
60 -->
61 <!ATTLIST GraphXML
62 xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink/namespace/"
64 <!-- ========================================================================= -->
65 <!-- ========================================================================= -->
68 <!-- ========================================================================= -->
69 <!-- The definition part -->
70 <!-- ========================================================================= -->
72 <!-- A graph consists of an optional label, references to icons, URL-s to -->
73 <!-- external data, locally stored data and, finally, nodes and edges -->
74 <!ELEMENT graph ((%common-elements;
75 %graphExtensions;
76 |style|icon|size)*,(node|edge)*)>
77 <!ATTLIST graph
78 vendor CDATA #IMPLIED
79 version CDATA #IMPLIED
80 id ID #IMPLIED
81 class CDATA #IMPLIED
82 preferredlayout CDATA #IMPLIED
85 <!-- An icon to representing a full graph -->
86 <!ELEMENT icon EMPTY>
87 <!ATTLIST icon
88 xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink/namespace/"
89 xlink:type CDATA #FIXED "simple"
90 xlink:role CDATA #FIXED "Icon image for the full graph"
91 xlink:title CDATA #IMPLIED
92 xlink:show (new|parsed|replace) #FIXED "parsed"
93 xlink:actuate (user|auto) #FIXED "auto"
94 xlink:href CDATA #REQUIRED
97 <!-- ========================================================================= -->
98 <!-- Editing of graphs -->
99 <!-- ========================================================================= -->
100 <!ELEMENT edit ((%common-elements;
101 %editExtensions;)*,
102 (node|edge)*)>
103 <!ATTLIST edit
104 xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink/namespace/"
105 action (replace|remove) #REQUIRED
106 xlink:type CDATA #FIXED "simple"
107 xlink:role CDATA #FIXED "Reference to graph"
108 xlink:title CDATA #IMPLIED
109 xlink:show (new|parsed|replace) #FIXED "new"
110 xlink:actuate (user|auto) #FIXED "user"
111 xlink:href CDATA #IMPLIED
112 class CDATA #IMPLIED
115 <!ELEMENT edit-bundle (edit*)>
116 <!ATTLIST edit-bundle
117 class CDATA #IMPLIED
120 <!-- ========================================================================= -->
121 <!-- Nodes and edges -->
122 <!-- ========================================================================= -->
124 <!-- A node may include element information; it has a unique identifier -->
125 <!ELEMENT node (%common-elements;
126 %nodeExtensions;
127 |style|position|size|transform|subgraph-style)*>
128 <!ATTLIST node
129 xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink/namespace/"
130 name CDATA #REQUIRED
131 isMetanode (true|false) "false"
132 xlink:type CDATA #FIXED "simple"
133 xlink:role CDATA #FIXED "Reference to graph"
134 xlink:title CDATA #IMPLIED
135 xlink:show (new|parsed|replace) #FIXED "new"
136 xlink:actuate (user|auto) #FIXED "user"
137 xlink:href CDATA #IMPLIED
138 class CDATA #IMPLIED
141 <!-- An edge may include element information; it may have an identifier, and -->
142 <!-- it has to give its source and target -->
143 <!ELEMENT edge (%common-elements;
144 %edgeExtensions;
145 |style|path)*>
146 <!ATTLIST edge
147 name CDATA #IMPLIED
148 source CDATA #REQUIRED
149 target CDATA #REQUIRED
150 class CDATA #IMPLIED
151 isDirected (true|false) #IMPLIED
154 <!-- ========================================================================= -->
156 <!-- Properties are placeholders for key-value pairs -->
157 <!ELEMENT properties EMPTY>
158 <!ATTLIST properties
159 class CDATA #IMPLIED
160 %admissibleProperties;
163 <!-- Graph-specific-properties are placeholders for key-value pairs, -->
164 <!-- within the context of the current (innermost nested) graph -->
165 <!ELEMENT graph-specific-properties EMPTY>
166 <!ATTLIST graph-specific-properties
167 class CDATA #IMPLIED
168 %admissibleGraphProperties;
171 <!ELEMENT label (#PCDATA)>
172 <!ATTLIST label
173 class CDATA #IMPLIED
176 <!ELEMENT data (#PCDATA)>
177 <!ATTLIST data
178 class CDATA #IMPLIED
181 <!ELEMENT dataref (ref*)>
182 <!ATTLIST dataref
183 xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink/namespace/"
184 xlink:type CDATA #FIXED "extended"
185 xlink:role CDATA #FIXED "Reference to external application data"
186 xlink:title CDATA #IMPLIED
187 xlink:show (new|parsed|replace) #FIXED "new"
188 xlink:actuate (user|auto) #FIXED "user"
189 class CDATA #IMPLIED
192 <!-- links are like the html urls -->
193 <!ELEMENT ref EMPTY>
194 <!ATTLIST ref
195 xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink/namespace/"
196 xlink:type CDATA #FIXED "locator"
197 xlink:role CDATA #IMPLIED
198 xlink:title CDATA #IMPLIED
199 xlink:show (new|parsed|replace) #FIXED "new"
200 xlink:actuate (user|auto) #FIXED "user"
201 xlink:href CDATA #REQUIRED
202 class CDATA #IMPLIED
205 <!-- position of a node -->
206 <!ELEMENT position EMPTY>
207 <!ATTLIST position
208 x CDATA "0.0"
209 y CDATA "0.0"
210 z CDATA "0.0"
211 class CDATA #IMPLIED
214 <!-- size of a node or a graph -->
215 <!ELEMENT size EMPTY>
216 <!ATTLIST size
217 width CDATA #REQUIRED
218 height CDATA #REQUIRED
219 depth CDATA "0.0"
220 class CDATA #IMPLIED
223 <!-- the path of an edge is a sequence of positions -->
224 <!ELEMENT path (position)*>
225 <!ATTLIST path
226 type (polyline|spline|arc) "polyline"
227 class CDATA #IMPLIED
230 <!ELEMENT transform EMPTY>
231 <!ATTLIST transform
232 matrix CDATA "1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0"
233 class CDATA #IMPLIED
236 <!-- ========================================================================= -->
237 <!--
238 In all specifications, colour can be:
239 name: black, blue, cyan, darkGray, gray, green, lightGray, magenta, orange, pink, red, white, yellow
240 #rrggbb
241 #rrggbbaa
245 <!ELEMENT style (line|fill|implementation)*>
246 <!ELEMENT subgraph-style (line|fill|implementation)*>
248 <!ELEMENT line EMPTY>
249 <!-- linestyle can be: none, solid, dashed, dash-dotted, dotted, or #bbbb -->
250 <!ATTLIST line
251 tag (edge|node) "edge"
252 class CDATA #IMPLIED
253 color CDATA #IMPLIED
254 colour CDATA #IMPLIED
255 colour_start CDATA #IMPLIED
256 colour_end CDATA #IMPLIED
257 color_start CDATA #IMPLIED
258 color_end CDATA #IMPLIED
259 linestyle CDATA #IMPLIED
260 linewidth CDATA #IMPLIED
263 <!ELEMENT fill EMPTY>
264 <!ATTLIST fill
265 xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink/namespace/"
266 tag (edge|node) "node"
267 class CDATA #IMPLIED
268 color CDATA #IMPLIED
269 colour CDATA #IMPLIED
270 fillstyle (solid|none|background) #IMPLIED
271 xlink:type CDATA #FIXED "simple"
272 xlink:role CDATA #FIXED "Fill image or pattern"
273 xlink:title CDATA #IMPLIED
274 xlink:show (new|parsed|replace) #FIXED "parsed"
275 xlink:actuate (user|auto) #FIXED "user"
276 xlink:href CDATA #IMPLIED
277 imagefill (resize|duplicate|none) #IMPLIED
280 <!ELEMENT implementation EMPTY>
281 <!ATTLIST implementation
282 tag (edge|node) #REQUIRED
283 class CDATA #IMPLIED
284 scriptname CDATA #IMPLIED