File: GraphXML.dtd

package info (click to toggle)
phpwiki 1.3.12p3-5etch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 16,956 kB
  • ctags: 21,608
  • sloc: php: 82,335; xml: 3,840; sh: 1,522; sql: 1,198; perl: 625; makefile: 562; awk: 28
file content (285 lines) | stat: -rw-r--r-- 11,640 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
<!-- Graph Specification dtd                                                 -->
<!-- Centrum voor Wiskunde en Informatica (CWI)                              -->
<!--
 Copyright Stichting Mathematisch Centrum 2000

  Permission to use and distribute this software and its
  documentation for any purpose is hereby granted without fee, provided that
  the above copyright notice, author statement and this permission,
  warranties and liability notice appear in all copies of this software
  and related documentation.

  Warranties
  Stichting Mathematisch Centrum makes no warranties, express or implied, with
  regard to this software. In particular, but without limitation, SMC makes
  no warranty of fitness for a particular use, no warranty of freedom from
  infringement of any patent or copyright, nor any warranty as to accuracy.
  Accordingly, SMC assumes no obligation to furnish assistance of any kind
  whatsoever or to furnish additional information or documentation.

  Liability
  In no event shall Stichting Mathematisch Centrum be liable for any damages
  arising out of or in connection with the use or performance of this
  software.

  Amsterdam, 21 June, 2000
  
  Version 1.1
  
-->

<!-- These entities are just to make the description simpler -->
<!ENTITY % common-elements "label|data|dataref|properties">

<!-- These entities are the basis of the user's extension mechanism -->
<!ENTITY % rootExtensions "">
<!ENTITY % nodeExtensions "">
<!ENTITY % edgeExtensions "">
<!ENTITY % graphExtensions "">
<!ENTITY % editExtensions "">

<!ENTITY % admissibleProperties "">
<!ENTITY % admissibleGraphProperties "">

<!-- ========================================================================= -->
<!-- ========================================================================= -->

<!-- A file consists of a graph definition and, optionally,                    -->
<!-- addinitional definitions and edit nodes                                   -->
<!-- The real 'content' might be preceeded by optional data                    -->
<!ELEMENT GraphXML ((%common-elements;
                     %rootExtensions;
                     |style)*,graph*,(edit|edit-bundle)*)>

<!--
  Note that, according to the official W3C specification, the definition
  of the xlink namespace on the root level should be enough for the whole
  document (children should inherit namespaces). However, some xml processors
  (like IE5.0) does not know that feature yet, so the same attribute
  specification is repeated for all children nodes which use it.
-->
<!ATTLIST GraphXML 
    xmlns:xlink    CDATA    #FIXED    "http://www.w3.org/1999/xlink/namespace/"
>
<!-- ========================================================================= -->
<!-- ========================================================================= -->


<!-- ========================================================================= -->
<!--                      The definition part                                  -->
<!-- ========================================================================= -->

<!-- A graph consists of an optional label, references to icons, URL-s to      -->
<!-- external data, locally stored data and, finally, nodes and edges          -->
<!ELEMENT graph ((%common-elements;
                  %graphExtensions;
                  |style|icon|size)*,(node|edge)*)>
<!ATTLIST graph
    vendor           CDATA        #IMPLIED
    version          CDATA        #IMPLIED
    id               ID           #IMPLIED
    class            CDATA        #IMPLIED
    preferredlayout  CDATA        #IMPLIED
>

<!-- An icon to representing a full graph                                      -->
<!ELEMENT icon EMPTY>
<!ATTLIST icon
    xmlns:xlink     CDATA                #FIXED   "http://www.w3.org/1999/xlink/namespace/"
    xlink:type      CDATA                #FIXED   "simple"
    xlink:role      CDATA                #FIXED   "Icon image for the full graph"
    xlink:title     CDATA                #IMPLIED   
    xlink:show      (new|parsed|replace) #FIXED   "parsed"
    xlink:actuate   (user|auto)          #FIXED   "auto"
    xlink:href      CDATA                #REQUIRED
>

<!-- ========================================================================= -->
<!--                   Editing of graphs                                       -->
<!-- ========================================================================= -->
<!ELEMENT edit ((%common-elements;
                 %editExtensions;)*,
                 (node|edge)*)>
<!ATTLIST edit
    xmlns:xlink     CDATA                #FIXED   "http://www.w3.org/1999/xlink/namespace/"
    action          (replace|remove)     #REQUIRED
    xlink:type      CDATA                #FIXED   "simple"
    xlink:role      CDATA                #FIXED   "Reference to graph"
    xlink:title     CDATA                #IMPLIED   
    xlink:show      (new|parsed|replace) #FIXED   "new"
    xlink:actuate   (user|auto)          #FIXED   "user"
    xlink:href      CDATA                #IMPLIED
    class           CDATA                #IMPLIED
>

<!ELEMENT edit-bundle (edit*)>
<!ATTLIST edit-bundle
    class       CDATA        #IMPLIED
>

<!-- ========================================================================= -->
<!--                   Nodes and edges                                         -->
<!-- ========================================================================= -->

<!-- A node may include element information; it has a unique identifier        -->
<!ELEMENT node (%common-elements;
                %nodeExtensions;
                |style|position|size|transform|subgraph-style)*>
<!ATTLIST node
    xmlns:xlink     CDATA                #FIXED   "http://www.w3.org/1999/xlink/namespace/"
    name            CDATA                #REQUIRED
    isMetanode      (true|false)         "false"
    xlink:type      CDATA                #FIXED   "simple"
    xlink:role      CDATA                #FIXED   "Reference to graph"
    xlink:title     CDATA                #IMPLIED
    xlink:show      (new|parsed|replace) #FIXED   "new"
    xlink:actuate   (user|auto)          #FIXED   "user"
    xlink:href      CDATA                #IMPLIED
    class           CDATA                #IMPLIED
>

<!-- An edge may include element information; it may have an identifier, and   -->
<!-- it has to give its source and target                                      -->
<!ELEMENT edge (%common-elements;
                %edgeExtensions;
                |style|path)*>
<!ATTLIST edge
    name       CDATA        #IMPLIED
    source     CDATA        #REQUIRED
    target     CDATA        #REQUIRED
    class      CDATA        #IMPLIED
    isDirected (true|false) #IMPLIED
>

<!-- ========================================================================= -->

<!-- Properties are placeholders for key-value pairs                           -->
<!ELEMENT properties EMPTY>
<!ATTLIST properties 
    class   CDATA   #IMPLIED
    %admissibleProperties;
>

<!-- Graph-specific-properties are placeholders for key-value pairs,           -->
<!-- within the context of the current (innermost nested) graph                -->
<!ELEMENT graph-specific-properties EMPTY>
<!ATTLIST graph-specific-properties 
    class   CDATA   #IMPLIED
    %admissibleGraphProperties;
>

<!ELEMENT label (#PCDATA)>
<!ATTLIST label
    class       CDATA        #IMPLIED
>

<!ELEMENT data (#PCDATA)>
<!ATTLIST data
    class       CDATA        #IMPLIED
>

<!ELEMENT dataref (ref*)>
<!ATTLIST dataref
    xmlns:xlink     CDATA                #FIXED      "http://www.w3.org/1999/xlink/namespace/"
    xlink:type      CDATA                #FIXED   "extended"
    xlink:role      CDATA                #FIXED   "Reference to external application data"
    xlink:title     CDATA                #IMPLIED
    xlink:show      (new|parsed|replace) #FIXED   "new"
    xlink:actuate   (user|auto)          #FIXED   "user"
    class           CDATA                #IMPLIED
>

<!-- links are like the html urls                                              -->
<!ELEMENT ref EMPTY>
<!ATTLIST ref     
    xmlns:xlink     CDATA                #FIXED      "http://www.w3.org/1999/xlink/namespace/"
    xlink:type      CDATA                #FIXED   "locator"
    xlink:role      CDATA                #IMPLIED
    xlink:title     CDATA                #IMPLIED
    xlink:show      (new|parsed|replace) #FIXED   "new"
    xlink:actuate   (user|auto)          #FIXED   "user"
    xlink:href      CDATA                #REQUIRED
    class           CDATA                #IMPLIED
>

<!-- position of a node                                                        -->
<!ELEMENT position  EMPTY>
<!ATTLIST position
    x         CDATA   "0.0" 
    y         CDATA   "0.0" 
    z         CDATA   "0.0"
    class     CDATA   #IMPLIED
>

<!-- size of a node or a graph                                                 -->
<!ELEMENT size EMPTY>
<!ATTLIST size
    width   CDATA     #REQUIRED
    height  CDATA     #REQUIRED
    depth   CDATA     "0.0"
    class   CDATA     #IMPLIED
>

<!-- the path of an edge is a sequence of positions                            -->
<!ELEMENT path (position)*>
<!ATTLIST path
    type    (polyline|spline|arc)   "polyline"
    class   CDATA                   #IMPLIED
>

<!ELEMENT transform EMPTY>
<!ATTLIST transform
    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"
    class   CDATA   #IMPLIED
>

<!-- ========================================================================= -->
<!--
    In all specifications, colour can be:
        name: black, blue, cyan, darkGray, gray, green, lightGray, magenta, orange, pink, red, white, yellow
        #rrggbb
        #rrggbbaa
-->


<!ELEMENT style (line|fill|implementation)*>
<!ELEMENT subgraph-style (line|fill|implementation)*>

<!ELEMENT line EMPTY>
<!-- linestyle can be: none, solid, dashed, dash-dotted, dotted, or #bbbb -->
<!ATTLIST line
    tag         (edge|node)     "edge"
    class        CDATA           #IMPLIED
    color        CDATA           #IMPLIED
    colour       CDATA           #IMPLIED
    colour_start CDATA           #IMPLIED
    colour_end   CDATA           #IMPLIED
    color_start  CDATA           #IMPLIED
    color_end    CDATA           #IMPLIED
    linestyle    CDATA           #IMPLIED
    linewidth    CDATA           #IMPLIED
>

<!ELEMENT fill EMPTY>
<!ATTLIST fill
    xmlns:xlink     CDATA                   #FIXED      "http://www.w3.org/1999/xlink/namespace/"
    tag             (edge|node)             "node"
    class           CDATA                   #IMPLIED
    color           CDATA                   #IMPLIED
    colour          CDATA                   #IMPLIED
    fillstyle       (solid|none|background) #IMPLIED
    xlink:type      CDATA                   #FIXED   "simple"
    xlink:role      CDATA                   #FIXED   "Fill image or pattern"
    xlink:title     CDATA                   #IMPLIED
    xlink:show      (new|parsed|replace)    #FIXED   "parsed"
    xlink:actuate   (user|auto)             #FIXED   "user"
    xlink:href      CDATA                   #IMPLIED
    imagefill       (resize|duplicate|none) #IMPLIED
>

<!ELEMENT implementation EMPTY>
<!ATTLIST implementation
    tag         (edge|node)     #REQUIRED
    class       CDATA           #IMPLIED
    scriptname  CDATA           #IMPLIED
>