comparison toolboxes/graph_visualisation/share/graphviz/doc/html/schema/attributes.xml @ 0:e9a9cd732c1e tip

first hg version after svn
author wolffd
date Tue, 10 Feb 2015 15:05:51 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:e9a9cd732c1e
1 <?xml version="1.0"?>
2 <?xml-stylesheet href="attributes.xslt" type="text/xsl"?>
3 <xsd:schema
4 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5 xmlns:html="http://www.w3.org/1999/xhtml"
6 xmlns:gv="urn:graphviz">
7
8 <!--
9 microformats in xsd:documentation
10 ========================================
11
12 class
13 val: a value of the enclosing attribute
14
15 rel
16 attr: link to an attribute
17 type: link to an attribute type
18
19 -->
20
21 <!-- NOTES -->
22 <xsd:annotation id="introduction">
23 <xsd:documentation>
24 <html:p>
25 All Graphviz attributes are specified by name-value pairs. Thus, to
26 set the fillcolor of a node <html:code>abc</html:code>, one would use
27 </html:p>
28 <html:p>
29 <html:code>abc [fillcolor = red]</html:code>
30 </html:p>
31 <html:p>
32 Similarly, to set the arrowhead style of an edge <html:code>abc -> def</html:code>,
33 one would use
34 </html:p>
35 <html:p>
36 <html:code>abc -> def [arrowhead = diamond]</html:code>
37 </html:p>
38 <html:p>
39 Further details concerning the setting of attributes can be found
40 in the description of the
41 <html:a href="http://www.graphviz.org/doc/info/lang.html">DOT language.</html:a>
42 </html:p>
43 </xsd:documentation> </xsd:annotation>
44
45 <xsd:annotation id="points">
46 <xsd:documentation>
47 <html:p>
48 At present, most device-independent units are either inches or
49 <html:a href="http://en.wikipedia.org/wiki/Point_(typography)">points</html:a>,
50 which we take as 72 points per inch.
51 </html:p>
52 </xsd:documentation>
53
54 </xsd:annotation>
55
56 <xsd:annotation id="undirected">
57 <xsd:documentation>
58 <html:p>
59 Some attributes, such as
60 <html:a rel="attr">dir</html:a> or <html:a rel="attr">arrowtail</html:a>, are
61 ambiguous when used in
62 <html:a href="http://www.graphviz.org/doc/info/lang.html">DOT</html:a>
63 with an undirected graph since the head and tail of an edge are meaningless.
64 As a convention, the first time an undirected edge appears, the
65 <html:a href="http://www.graphviz.org/doc/info/lang.html">DOT</html:a>
66 parser will assign the left node as the tail node and the right node as
67 the head. For example, the edge <html:code>A -- B</html:code> will have tail <html:code>A</html:code>
68 and head <html:code>B</html:code>. It is the user's responsibility to handle such
69 edges consistently. If the edge appears later, in the format
70 </html:p>
71 <html:p>
72 <html:code>B -- A [taillabel = "tail"]</html:code>
73 </html:p>
74 <html:p>
75 the drawing will attach the tail label to node <html:code>A</html:code>.
76 To avoid possible confusion when such attributes are required, the user
77 is encouraged to use a directed graph.
78 If it is important to make the graph appear undirected, this can be
79 done using the <html:a rel="attr">dir</html:a>, <html:a rel="attr">arrowtail</html:a>
80 or <html:a rel="attr">arrowhead</html:a> attributes.
81 </html:p>
82 </xsd:documentation>
83 </xsd:annotation>
84
85 <!-- ATTRIBUTE TYPES -->
86
87 <!--
88 <xsd:simpleType name="arrowType">
89 </xsd:simpleType>
90 -->
91
92 <xsd:simpleType name="clusterMode">
93 <xsd:restriction base="xsd:string">
94 <xsd:enumeration value="local" />
95 <xsd:enumeration value="global" />
96 <xsd:enumeration value="none" />
97 </xsd:restriction>
98 </xsd:simpleType>
99
100 <!--
101 <xsd:simpleType name="color">
102 </xsd:simpleType>
103 -->
104
105 <xsd:simpleType name="colorList">
106 <xsd:list itemType="color" />
107 </xsd:simpleType>
108
109 <xsd:simpleType name="dirType">
110 <xsd:annotation>
111 <xsd:documentation>
112 <html:p>
113 For undirected edges <html:code>T -- H;</html:code>, one of the nodes, usually
114 the righthand one, is treated as the head for the purpose of
115 interpreting <html:span class="val">forward</html:span> and <html:span class="val">back</html:span>.
116 </html:p>
117 </xsd:documentation>
118 </xsd:annotation>
119 <xsd:restriction base="xsd:string">
120 <xsd:enumeration value="forward" />
121 <xsd:enumeration value="back" />
122 <xsd:enumeration value="both" />
123 <xsd:enumeration value="none" />
124 </xsd:restriction>
125 </xsd:simpleType>
126
127
128 <xsd:simpleType name="escString">
129 <xsd:annotation>
130 <xsd:documentation>
131 <html:p>
132 String allowing escape sequences which are replaced according
133 to the context.
134 For node attributes, the substring <html:code>\N</html:code> is replaced by the name of the node,
135 and the substring <html:code>\G</html:code> by the name of the graph.
136 For graph or cluster attributes, the substring <html:code>\G</html:code> is replaced by the
137 name of the graph or cluster.
138 For edge attributes, the substring <html:code>\E</html:code> is replaced by the name of the edge,
139 the substring <html:code>\G</html:code> is replaced by the name of the graph or cluster,
140 and the substrings <html:code>\T</html:code> and <html:code>\H</html:code> by the names of
141 the tail and head nodes, respectively.
142 The name of an edge is the string formed from the name of the
143 tail node, the appropriate edge operator (<html:code>--</html:code> or <html:code>-></html:code>) and the name of the
144 head node.
145 </html:p>
146 <html:p>
147 In addition, if the associated attribute is
148 <html:a rel="attr">label</html:a>,
149 <html:a rel="attr">headlabel</html:a> or <html:a rel="attr">taillabel</html:a>,
150 the escape sequences <html:code>\n</html:code>, <html:code>\l</html:code> and <html:code>\r</html:code>
151 divide the label into lines, centered, left-justified, and right-justified,
152 respectively.
153 </html:p>
154 </xsd:documentation>
155 </xsd:annotation>
156 <xsd:restriction base="xsd:string" />
157 </xsd:simpleType>
158 <!--
159 layerList
160 layerRange
161 lblString
162 -->
163
164 <xsd:simpleType name="outputMode">
165 <xsd:annotation>
166 <xsd:documentation>
167 <html:p>
168 These specify the order in which nodes and edges are drawn in concrete
169 output. The default <html:span class="val">breadthfirst</html:span> is the simplest, but when the graph
170 layout does not avoid edge-node overlap, this mode will sometimes have
171 edges drawn over nodes and sometimes on top of nodes. If the mode
172 <html:span class="val">nodesfirst</html:span> is chosen, all nodes are drawn first, followed by the
173 edges. This guarantees an edge-node overlap will not be mistaken for
174 an edge ending at a node. On the other hand, usually for aesthetic
175 reasons, it may be desirable that all edges appear beneath nodes, even
176 if the resulting drawing is ambiguous. This can be achieved by choosing
177 <html:span class="val">edgesfirst</html:span>.
178 </html:p>
179 </xsd:documentation>
180 </xsd:annotation>
181 <xsd:restriction base="xsd:string">
182 <xsd:enumeration value="breadthfirst" />
183 <xsd:enumeration value="nodesfirst" />
184 <xsd:enumeration value="edgesfirst" />
185 </xsd:restriction>
186 </xsd:simpleType>
187
188 <xsd:simpleType name="packMode">
189 <xsd:annotation>
190 <xsd:documentation>
191 <html:p>
192 These specify the granularity of packing connected components when
193 the <html:a rel="attr">pack</html:a> attribute is true. A value of <html:span class="val">node</html:span> causes
194 packing at the node and edge label, with no overlapping of these objects.
195 This produces a layout with the least area, but it also allows interleaving,
196 where a node of one component may lie between two nodes in another
197 component. A value of <html:span class="val">graph</html:span> does a packing using the bounding box of the
198 component. Thus, there will be a rectangular region around a component
199 free of elements of any other component.
200 A value of <html:span class="val">clust</html:span> guarantees that top-level clusters are kept intact.
201 What effect a value has also depends on the layout algorithm. For
202 example, neato does not support clusters, so a value of <html:span class="val">clust</html:span> will
203 have the same effect as the default <html:span class="val">node</html:span> value.
204 </html:p>
205 </xsd:documentation>
206 </xsd:annotation>
207 <xsd:restriction base="xsd:string">
208 <xsd:enumeration value="node" />
209 <xsd:enumeration value="clust" />
210 <xsd:enumeration value="graph" />
211 </xsd:restriction>
212 </xsd:simpleType>
213
214 <xsd:simpleType name="pagedir">
215 <xsd:annotation>
216 <xsd:documentation>
217 <html:p>
218 These specify the 8 row or column major orders for traversing a
219 rectangular array, the first character corresponding to the major
220 order and the second to the minor order. Thus, for "BL", the
221 major order is from bottom to top, and the minor order is from left
222 to right. This means the bottom row is traversed first, from left
223 to right, then the next row up, from left to right, and so on,
224 until the topmost row is traversed.
225 </html:p>
226 </xsd:documentation>
227 </xsd:annotation>
228 <xsd:restriction base="xsd:string">
229 <xsd:enumeration value="BL" />
230 <xsd:enumeration value="BR" />
231 <xsd:enumeration value="TL" />
232 <xsd:enumeration value="TR" />
233 <xsd:enumeration value="RB" />
234 <xsd:enumeration value="RT" />
235 <xsd:enumeration value="LB" />
236 <xsd:enumeration value="LT" />
237 </xsd:restriction>
238 </xsd:simpleType>
239
240 <!--
241 point
242 pointf
243 -->
244
245 <xsd:simpleType name="pointfList">
246 <xsd:annotation>
247 <xsd:documentation>
248 <html:p>
249 List of <html:a rel="type">pointf</html:a>, separated by spaces.
250 </html:p>
251 </xsd:documentation>
252 </xsd:annotation>
253 <xsd:list itemType="pointf" />
254 </xsd:simpleType>
255 <!--
256 portPos
257 -->
258
259 <xsd:simpleType name="rankType">
260 <xsd:restriction base="xsd:string">
261 <xsd:enumeration value="same" />
262 <xsd:enumeration value="min" />
263 <xsd:enumeration value="source" />
264 <xsd:enumeration value="max" />
265 <xsd:enumeration value="sink" />
266 </xsd:restriction>
267 </xsd:simpleType>
268
269 <xsd:simpleType name="rankdir">
270 <xsd:annotation>
271 <xsd:documentation>
272 <html:p>
273 Corresponding to directed graphs drawn
274 from top to bottom, from left to right, from bottom to top, and from
275 right to left, respectively.
276 </html:p>
277 </xsd:documentation>
278 </xsd:annotation>
279 <xsd:restriction base="xsd:string">
280 <xsd:enumeration value="TB" />
281 <xsd:enumeration value="LR" />
282 <xsd:enumeration value="BT" />
283 <xsd:enumeration value="RL" />
284 </xsd:restriction>
285 </xsd:simpleType>
286
287 <!--
288 rect
289 -->
290
291 <xsd:simpleType name="shape">
292 <xsd:restriction base="xsd:string">
293 <xsd:enumeration value="box" />
294 <xsd:enumeration value="polygon" />
295 <xsd:enumeration value="ellipse" />
296 <xsd:enumeration value="circle" />
297 <xsd:enumeration value="point" />
298 <xsd:enumeration value="egg" />
299 <xsd:enumeration value="triangle" />
300 <xsd:enumeration value="plaintext" />
301 <xsd:enumeration value="diamond" />
302 <xsd:enumeration value="trapezium" />
303 <xsd:enumeration value="parallelogram" />
304 <xsd:enumeration value="house" />
305 <xsd:enumeration value="pentagon" />
306 <xsd:enumeration value="hexagon" />
307 <xsd:enumeration value="septagon" />
308 <xsd:enumeration value="octagon" />
309 <xsd:enumeration value="doublecircle" />
310 <xsd:enumeration value="doubleoctagon" />
311 <xsd:enumeration value="tripleoctagon" />
312 <xsd:enumeration value="invtriangle" />
313 <xsd:enumeration value="invtrapezium" />
314 <xsd:enumeration value="invhouse" />
315 <xsd:enumeration value="Mdiamond" />
316 <xsd:enumeration value="Msquare" />
317 <xsd:enumeration value="Mcircle" />
318 <xsd:enumeration value="rect" />
319 <xsd:enumeration value="rectangle" />
320 <xsd:enumeration value="none" />
321 <xsd:enumeration value="note" />
322 <xsd:enumeration value="tab" />
323 <xsd:enumeration value="box3d" />
324 <xsd:enumeration value="component" />
325 </xsd:restriction>
326 </xsd:simpleType>
327
328 <!--
329 splineType
330 startType
331 style
332 viewPort
333 -->
334
335 <!-- ATTRIBUTES -->
336
337 <xsd:attribute name="Damping" type="xsd:decimal" default="0.99" gv:layouts="neato">
338 <xsd:annotation>
339 <xsd:documentation>
340 <html:p>
341 Factor damping force motions. On each iteration, a nodes movement
342 is limited to this factor of its potential motion. By being less than
343 1.0, the system tends to "cool", thereby preventing cycling.
344 </html:p>
345 </xsd:documentation>
346 </xsd:annotation>
347 </xsd:attribute>
348
349 <xsd:attribute name="K" type="xsd:decimal" default="0.3" gv:layouts="fdp">
350 <xsd:annotation>
351 <xsd:documentation>
352 <html:p>
353 Spring constant used in virtual physical model. It roughly corresponds
354 to an ideal edge length (in inches), in that increasing K tends to
355 increase the distance between nodes.
356 Note that the edge attribute <html:a rel="attr">len</html:a> can be used to
357 override this value for adjacent nodes.
358 </html:p>
359 </xsd:documentation>
360 </xsd:annotation>
361 </xsd:attribute>
362
363 <xsd:attribute name="URL" type="xsd:anyURI" gv:formats="svg ps ps2 map">
364 <xsd:annotation>
365 <xsd:documentation>
366 <html:p>
367 Hyperlinks incorporated into device-dependent output.
368 At present, used in ps2, cmap, i*map and svg formats.
369 For all these formats, URLs can be attached to nodes, edges and
370 clusters. URL attributes can also be attached to the root graph in ps2,
371 cmap and i*map formats. This serves as the base URL for relative URLs in the
372 former, and as the default image map file in the latter.
373 </html:p>
374 <html:p>
375 For svg, cmapx and imap output, the active area for a node is its
376 visible image.
377 For example, an unfilled node with no drawn boundary will only be active on its label.
378 For other output, the active area is its bounding box.
379 The active area for a cluster is its bounding box.
380 For edges, the active areas are small circles where the edge contacts its head
381 and tail nodes. In addition, for svg, cmapx and imap, the active area
382 includes a thin polygon approximating the edge. The circles may
383 overlap the related node, and the edge URL dominates.
384 If the edge has a label, this will also be active.
385 Finally, if the edge has a head or tail label, this will also be active.
386 </html:p>
387 <html:p>
388 Note that, for edges, the attributes <html:a rel="attr">headURL</html:a>,
389 <html:a rel="attr">tailURL</html:a>, <html:a rel="attr">labelURL</html:a> and
390 <html:a rel="attr">edgeURL</html:a> allow control of various parts of an
391 edge. Also note that, if active areas of two edges overlap, it is unspecified
392 which area dominates.
393 </html:p>
394 </xsd:documentation>
395 </xsd:annotation>
396 </xsd:attribute>
397
398 <xsd:attribute name="arrowhead" type="arrowType" default="normal">
399 <xsd:annotation>
400 <xsd:documentation>
401 <html:p>
402 Style of arrowhead on the head node of an edge.
403 See also the <html:a rel="attr">dir</html:a> attribute,
404 and the <html:a rel="note">undirected</html:a> note.
405 </html:p>
406 </xsd:documentation>
407 </xsd:annotation>
408 </xsd:attribute>
409
410 <xsd:attribute name="arrowsize" type="xsd:decimal" default="1.0">
411 <xsd:annotation>
412 <xsd:documentation>
413 <html:p>
414 Multiplicative scale factor for arrowheads.
415 </html:p>
416 </xsd:documentation>
417 </xsd:annotation>
418 </xsd:attribute>
419
420 <xsd:attribute name="arrowtail" type="arrowType" default="normal">
421 <xsd:annotation>
422 <xsd:documentation>
423 <html:p>
424 Style of arrowhead on the tail node of an edge.
425 See also the <html:a rel="attr">dir</html:a> attribute,
426 and the <html:a rel="note">undirected</html:a> note.
427 </html:p>
428 </xsd:documentation>
429 </xsd:annotation>
430 </xsd:attribute>
431
432 <xsd:attribute name="bb" type="rect">
433 <xsd:annotation>
434 <xsd:documentation>
435 <html:p>
436 Bounding box of drawing in integer points.
437 </html:p>
438 </xsd:documentation>
439 </xsd:annotation>
440 </xsd:attribute>
441
442 <xsd:attribute name="bgcolor" type="color">
443 <xsd:annotation>
444 <xsd:documentation>
445 <html:p>
446 When attached to the root graph, this color is used as the background for
447 entire canvas. When a cluster attribute, it is used as the initial
448 background for the cluster. If a cluster has a filled
449 <html:a rel="attr">style</html:a>, the
450 cluster's <html:a rel="attr">fillcolor</html:a> will overlay the
451 background color.
452 </html:p>
453 <html:p>
454 If no background color is specified for the root graph, no graphics
455 operation are performed on the background. This works fine for
456 PostScript but for bitmap output, all bits are initialized to something.
457 This means that when the bitmap output is included in some other
458 document, all of the bits within the bitmap's bounding box will be
459 set, overwriting whatever color or graphics where already on the page.
460 If this effect is not desired, and you only want to set bits explicitly
461 assigned in drawing the graph, set <html:a rel="attr">bgcolor</html:a>="transparent".
462 </html:p>
463 </xsd:documentation>
464 </xsd:annotation>
465 </xsd:attribute>
466
467 <xsd:attribute name="center" type="xsd:boolean" default="false">
468 <xsd:annotation>
469 <xsd:documentation>
470 <html:p>
471 If true, the drawing is centered in the output canvas.
472 </html:p>
473 </xsd:documentation>
474 </xsd:annotation>
475 </xsd:attribute>
476
477 <xsd:attribute name="charset" type="xsd:string" default="UTF-8">
478 <xsd:annotation>
479 <xsd:documentation>
480 <html:p>
481 Specifies the character encoding used when interpreting string input
482 as a text label. The default value is <html:span class="val">UTF-8</html:span>.
483 The other legal value is <html:span class="val">iso-8859-1</html:span> or,
484 equivalently,
485 <html:span class="val">Latin1</html:span>. The <html:a rel="attr">charset</html:a> attribute is case-insensitive.
486 Note that if the character encoding used in the input does not
487 match the <html:a rel="attr">charset</html:a> value, the resulting output may be very strange.
488 </html:p>
489 </xsd:documentation>
490 </xsd:annotation>
491 </xsd:attribute>
492
493 <xsd:attribute name="clusterrank" type="clusterMode" default="local" gv:layouts="dot">
494 <xsd:annotation>
495 <xsd:documentation>
496 <html:p>
497 Mode used for handling clusters. If <html:a rel="attr">clusterrank</html:a> is <html:span class="val">local</html:span>, a
498 subgraph whose name begins with "cluster" is given special treatment.
499 The subgraph is laid out separately, and then integrated as a unit into
500 its parent graph, with a bounding rectangle drawn about it.
501 If the cluster has a <html:a rel="attr">label</html:a> parameter, this label
502 is displayed within the rectangle.
503 Note also that there can be clusters within clusters.
504 At present, the modes <html:span class="val">global</html:span> and <html:span class="val">none</html:span>
505 appear to be identical, both turning off the special cluster processing.
506 </html:p>
507 </xsd:documentation>
508 </xsd:annotation>
509 </xsd:attribute>
510
511 <xsd:attribute name="color" type="colorList" default="black">
512 <xsd:annotation>
513 <xsd:documentation>
514 <html:p>
515 Basic drawing color for graphics, not text. For the latter, use the
516 <html:a rel="attr">fontcolor</html:a> attribute.
517 </html:p>
518 <html:p>
519 For edges, the value
520 can either be a single <html:a rel="type">color</html:a> or a <html:a rel="type">colorList</html:a>.
521 In the latter case, the edge is drawn using parallel splines or lines,
522 one for each color in the list, in the order given.
523 The head arrow, if any, is drawn using the first color in the list,
524 and the tail arrow, if any, the second color. This supports the common
525 case of drawing opposing edges, but using parallel splines instead of
526 separately routed multiedges.
527 </html:p>
528 </xsd:documentation>
529 </xsd:annotation>
530 </xsd:attribute>
531
532 <xsd:attribute name="colorscheme" type="xsd:string">
533 <xsd:annotation>
534 <xsd:documentation>
535 <html:p>
536 This attribute specifies a color scheme namespace. If defined, it specifies
537 the context for interpreting color names. In particular, if a
538 <html:a rel="type">color</html:a> value has form <html:code>xxx</html:code> or <html:code>//xxx</html:code>,
539 then the color <html:code>xxx</html:code> will be evaluated according to the current color scheme.
540 If no color scheme is set, the standard X11 naming is used.
541 For example, if <html:code>colorscheme=bugn9</html:code>, then <html:code>color=7</html:code>
542 is interpreted as <html:code>/bugn9/7</html:code>.
543 </html:p>
544 </xsd:documentation>
545 </xsd:annotation>
546 </xsd:attribute>
547
548 <xsd:attribute name="comment" type="xsd:string">
549 <xsd:annotation>
550 <xsd:documentation>
551 <html:p>
552 Comments are inserted into output. Device-dependent.
553 </html:p>
554 </xsd:documentation>
555 </xsd:annotation>
556 </xsd:attribute>
557
558 <xsd:attribute name="compound" type="xsd:boolean" default="false" gv:layouts="dot">
559 <xsd:annotation>
560 <xsd:documentation>
561 <html:p>
562 If <html:span class="val">true</html:span>, allow edges between clusters. (See <html:a rel="attr">lhead</html:a> and <html:a rel="attr">ltail</html:a> below.)
563 </html:p>
564 </xsd:documentation>
565 </xsd:annotation>
566 </xsd:attribute>
567
568 <xsd:attribute name="concentrate" type="xsd:boolean" default="false" gv:layouts="dot">
569 <xsd:annotation>
570 <xsd:documentation>
571 <html:p>
572 If <html:span class="val">true</html:span>, use edge concentrators.
573 </html:p>
574 </xsd:documentation>
575 </xsd:annotation>
576 </xsd:attribute>
577
578 <xsd:attribute name="constraint" type="xsd:boolean" default="true" gv:layouts="dot">
579 <xsd:annotation>
580 <xsd:documentation>
581 <html:p>
582 If <html:span class="val">false</html:span>, the edge is not used in ranking the nodes.
583 </html:p>
584 </xsd:documentation>
585 </xsd:annotation>
586 </xsd:attribute>
587
588 <xsd:attribute name="decorate" type="xsd:boolean" default="false">
589 <xsd:annotation>
590 <xsd:documentation>
591 <html:p>
592 If <html:span class="val">true</html:span>, attach edge label to edge by a 2-segment
593 polyline, underlining the label, then going to the closest point of spline.
594 </html:p>
595 </xsd:documentation>
596 </xsd:annotation>
597 </xsd:attribute>
598
599 <xsd:attribute name="defaultdist" type="xsd:decimal" gv:layouts="neato">
600 <xsd:annotation>
601 <xsd:documentation>
602 <html:p>
603 This specifies the distance between nodes in separate connected
604 components. If set too small, connected components may overlap.
605 Only applicable if <html:a rel="attr">pack</html:a>=false.
606 </html:p>
607 </xsd:documentation>
608 </xsd:annotation>
609 </xsd:attribute>
610
611 <xsd:attribute name="dim" type="xsd:integer" default="2" gv:layouts="fdp neato">
612 <xsd:annotation>
613 <xsd:documentation>
614 <html:p>
615 Set the number of dimensions used for the layout. The maximum value
616 allowed is 10.
617 </html:p>
618 </xsd:documentation>
619 </xsd:annotation>
620 </xsd:attribute>
621
622 <xsd:attribute name="dir" type="dirType">
623 <xsd:annotation>
624 <xsd:documentation>
625 <html:p>
626 Set edge type for drawing arrowheads. This indicates which ends of the
627 edge should be decorated with an arrowhead. The actual style of the
628 arrowhead can be specified using the <html:a rel="attr">arrowhead</html:a>
629 and <html:a rel="attr">arrowtail</html:a> attributes.
630 See <html:a rel="note">undirected</html:a>.
631 </html:p>
632 </xsd:documentation>
633 </xsd:annotation>
634 </xsd:attribute>
635
636 <xsd:attribute name="diredgeconstraints" type="xsd:string" default="false" gv:layouts="neato">
637 <xsd:annotation>
638 <xsd:documentation>
639 <html:p>
640 Only valid when <html:a rel="attr">mode</html:a>="ipsep".
641 If <html:span class="val">true</html:span>, constraints are generated for each edge in the largest (heuristic)
642 directed acyclic subgraph such that the edge must point downwards.
643 If <html:span class="val">hier</html:span>, generates level constraints similar to those used with
644 <html:a rel="attr">mode</html:a>="hier". The main difference is that, in the latter
645 case, only these constraints are involved, so a faster solver can be used.
646 </html:p>
647 </xsd:documentation>
648 </xsd:annotation>
649 </xsd:attribute>
650
651 <xsd:attribute name="distortion" type="xsd:decimal" default="0.0">
652 <xsd:annotation>
653 <xsd:documentation>
654 <html:p>
655 Distortion factor for <html:a rel="attr">shape</html:a>=polygon.
656 Positive values cause top part to
657 be larger than bottom; negative values do the opposite.
658 </html:p>
659 </xsd:documentation>
660 </xsd:annotation>
661 </xsd:attribute>
662
663 <xsd:attribute name="dpi" type="xsd:decimal" default="96.0">
664 <xsd:annotation>
665 <xsd:documentation>
666 <html:p>
667 This specifies the expected number of pixels per inch on a display device.
668 For bitmap output, this guarantees that text rendering will be
669 done more accurately, both in size and in placement. For SVG output,
670 it is used to guarantee that the dimensions in the output correspond to
671 the correct number of points or inches.
672 </html:p>
673 </xsd:documentation>
674 </xsd:annotation>
675 </xsd:attribute>
676
677 <xsd:attribute name="edgeURL" type="xsd:anyURI" gv:formats="svg map">
678 <xsd:annotation>
679 <xsd:documentation>
680 <html:p>
681 If <html:a rel="attr">edgeURL</html:a> is defined, this is the link used for the non-label
682 parts of an edge. This value overrides any <html:a rel="attr">URL</html:a>
683 defined for the edge.
684 Also, this value is used near the head or tail node unless overridden
685 by a <html:a rel="attr">headURL</html:a> or <html:a rel="attr">tailURL</html:a> value,
686 respectively.
687 See <html:a rel="note">undirected</html:a>.
688 </html:p>
689 </xsd:documentation>
690 </xsd:annotation>
691 </xsd:attribute>
692
693 <xsd:attribute name="edgehref" type="xsd:anyURI" gv:formats="svg map">
694 <xsd:annotation>
695 <xsd:documentation>
696 <html:p>
697 Synonym for <html:a rel="attr">edgeURL</html:a>.
698 </html:p>
699 </xsd:documentation>
700 </xsd:annotation>
701 </xsd:attribute>
702
703 <xsd:attribute name="edgetarget" type="escString" gv:formats="svg map">
704 <xsd:annotation>
705 <xsd:documentation>
706 <html:p>
707 If the edge has a <html:a rel="attr">URL</html:a> or <html:a rel="attr">edgeURL</html:a>
708 attribute, this attribute determines which window of the
709 browser is used
710 for the URL attached to the non-label part of the edge.
711 Setting it to "_graphviz" will open a new window if it
712 doesn't already exist, or reuse it if it does.
713 If undefined, the value of the <html:a rel="attr">target</html:a> is used.
714 </html:p>
715 </xsd:documentation>
716 </xsd:annotation>
717 </xsd:attribute>
718
719 <xsd:attribute name="edgetooltip" type="escString" gv:formats="svg cmap">
720 <xsd:annotation>
721 <xsd:documentation>
722 <html:p>
723 Tooltip annotation attached to the non-label part of an edge.
724 This is used only if the edge has a <html:a rel="attr">URL</html:a>
725 or <html:a rel="attr">edgeURL</html:a> attribute.
726 </html:p>
727 </xsd:documentation>
728 </xsd:annotation>
729 </xsd:attribute>
730
731 <xsd:attribute name="epsilon" type="xsd:decimal" gv:layouts="neato">
732 <xsd:annotation>
733 <xsd:documentation>
734 <html:p>
735 Terminating condition. If the length squared of all energy gradients are
736 &lt; <html:a rel="attr">epsilon</html:a>, the algorithm stops.
737 </html:p>
738 </xsd:documentation>
739 </xsd:annotation>
740 </xsd:attribute>
741
742 <xsd:attribute name="esep" type="xsd:decimal" gv:layouts="neato circo fdp">
743 <xsd:annotation>
744 <xsd:documentation>
745 <html:p>
746 Fraction to increase polygons (multiply
747 coordinates by 1 + esep) for purposes of spline edge routing.
748 This should normally be strictly less than
749 <html:a rel="attr">sep</html:a>.
750 </html:p>
751 </xsd:documentation>
752 </xsd:annotation>
753 </xsd:attribute>
754
755 <xsd:attribute name="fillcolor" type="color">
756 <xsd:annotation>
757 <xsd:documentation>
758 <html:p>
759 Color used to fill the background of a node or cluster
760 assuming <html:a rel="attr">style</html:a>=filled.
761 If <html:a rel="attr">fillcolor</html:a> is not defined, <html:a rel="attr">color</html:a> is
762 used. (For clusters, if <html:a rel="attr">color</html:a> is not defined,
763 <html:a rel="attr">bgcolor</html:a> is used.) If this is not defined,
764 the default is used, except for
765 <html:a rel="attr">shape</html:a>=point or when the output
766 format is MIF,
767 which use black by default.
768 </html:p>
769 <html:p>
770 Note that a cluster inherits the root graph's attributes if defined.
771 Thus, if the root graph has defined a <html:a rel="attr">fillcolor</html:a>, this will override a
772 <html:a rel="attr">color</html:a> or <html:a rel="attr">bgcolor</html:a> attribute set for the cluster.
773 </html:p>
774 </xsd:documentation>
775 </xsd:annotation>
776 </xsd:attribute>
777
778 <xsd:attribute name="fixedsize" type="xsd:boolean" default="false">
779 <xsd:annotation>
780 <xsd:documentation>
781 <html:p>
782 If true, the node size is specified by the values of the
783 <html:a rel="attr">width</html:a>
784 and <html:a rel="attr">height</html:a> attributes only
785 and is not expanded to contain the text label.
786 </html:p>
787 </xsd:documentation>
788 </xsd:annotation>
789 </xsd:attribute>
790
791 <xsd:attribute name="fontcolor" type="color" default="black">
792 <xsd:annotation>
793 <xsd:documentation>
794 <html:p>
795 Color used for text.
796 </html:p>
797 </xsd:documentation>
798 </xsd:annotation>
799 </xsd:attribute>
800
801 <xsd:attribute name="fontname" type="xsd:string" default="Times-Roman">
802 <xsd:annotation>
803 <xsd:documentation>
804 <html:p>
805 Font used for text. This very much depends on the output format and, for
806 non-bitmap output such as PostScript or SVG, the availability of the font
807 when the graph is displayed or printed. As such, it is best to rely on
808 font faces that are generally available, such as Times-Roman, Helvetica or
809 Courier.
810 </html:p>
811 <html:p>
812 If Graphviz was built using the
813 <html:a href="http://pdx.freedesktop.org/~fontconfig/fontconfig-user.html">fontconfig library</html:a>, the latter library
814 will be used to search for the font. However, if the <html:a rel="attr">fontname</html:a> string
815 contains a slash character "/", it is treated as a pathname for the font
816 file, though font lookup will append the usual font suffixes.
817 </html:p>
818 <html:p>
819 If Graphviz does not use fontconfig, <html:a rel="attr">fontname</html:a> will be
820 considered the name of a Type 1 or True Type font file.
821 If you specify <html:code>fontname=schlbk</html:code>, the tool will look for a
822 file named <html:code>schlbk.ttf</html:code> or <html:code>schlbk.pfa</html:code> or <html:code>schlbk.pfb</html:code>
823 in one of the directories specified by
824 the <html:a rel="attr">fontpath</html:a> attribute.
825 The lookup does support various aliases for the common fonts.
826 </html:p>
827 </xsd:documentation>
828 </xsd:annotation>
829 </xsd:attribute>
830
831 <xsd:attribute name="fontnames" type="xsd:string" gv:formats="svg">
832 <xsd:annotation>
833 <xsd:documentation>
834 <html:p>
835 Allows user control of how basic fontnames are represented in SVG output.
836 If <html:a rel="attr">fontnames</html:a> is undefined or <html:span class="val">svg</html:span>,
837 the output will try to use known SVG fontnames. For example, the
838 default font <html:code>Times-Roman</html:code> will be mapped to the
839 basic SVG font <html:code>serif</html:code>. This can be overridden by setting
840 <html:a rel="attr">fontnames</html:a> to <html:span class="val">ps</html:span> or <html:span class="val">gd</html:span>.
841 In the former case, known PostScript font names such as
842 <html:code>Times-Roman</html:code> will be used in the output.
843 In the latter case, the fontconfig font conventions
844 are used. Thus, <html:code>Times-Roman</html:code> would be treated as
845 <html:code>Nimbus Roman No9 L</html:code>. These last two options are useful
846 with SVG viewers that support these richer fontname spaces.
847 </html:p>
848 </xsd:documentation>
849 </xsd:annotation>
850 </xsd:attribute>
851
852 <xsd:attribute name="fontpath" type="xsd:string">
853 <xsd:annotation>
854 <xsd:documentation>
855 <html:p>
856 Directory list used by libgd to search for bitmap fonts if Graphviz
857 was not built with the fontconfig library.
858 If <html:a rel="attr">fontpath</html:a> is not set, the environment
859 variable <html:code>DOTFONTPATH</html:code> is checked.
860 If that is not set, <html:code>GDFONTPATH</html:code> is checked.
861 If not set, libgd uses its compiled-in font path.
862 Note that fontpath is an attribute of the root graph.
863 </html:p>
864 </xsd:documentation>
865 </xsd:annotation>
866 </xsd:attribute>
867
868 <xsd:attribute name="fontsize" type="xsd:decimal" default="14.0">
869 <xsd:annotation>
870 <xsd:documentation>
871 <html:p>
872 Font size, in <html:a rel="note">points</html:a>, used for text.
873 </html:p>
874 </xsd:documentation>
875 </xsd:annotation>
876 </xsd:attribute>
877
878 <xsd:attribute name="group" type="xsd:string" gv:layouts="dot">
879 <xsd:annotation>
880 <xsd:documentation>
881 <html:p>
882 If the end points of an edge belong to the same group, i.e., have the
883 same group attribute, parameters are set to avoid crossings and keep
884 the edges straight.
885 </html:p>
886 </xsd:documentation>
887 </xsd:annotation>
888 </xsd:attribute>
889
890 <xsd:attribute name="headURL" type="xsd:anyURI" gv:formats="svg map">
891 <xsd:annotation>
892 <xsd:documentation>
893 <html:p>
894 If <html:a rel="attr">headURL</html:a> is defined, it is
895 output as part of the head label of the edge.
896 Also, this value is used near the head node, overriding any
897 <html:a rel="attr">URL</html:a> value.
898 See <html:a rel="note">undirected</html:a>.
899 </html:p>
900 </xsd:documentation>
901 </xsd:annotation>
902 </xsd:attribute>
903
904 <xsd:attribute name="headclip" type="xsd:boolean" default="true">
905 <xsd:annotation>
906 <xsd:documentation>
907 <html:p>
908 If <html:span class="val">true</html:span>, the head of an edge is clipped to the boundary of the head node;
909 otherwise, the end of the edge goes to the center of the node, or the
910 center of a port, if applicable.
911 </html:p>
912 </xsd:documentation>
913 </xsd:annotation>
914 </xsd:attribute>
915
916 <xsd:attribute name="headhref" type="xsd:anyURI" gv:formats="svg map">
917 <xsd:annotation>
918 <xsd:documentation>
919 <html:p>
920 Synonym for <html:a rel="attr">headURL</html:a>.
921 </html:p>
922 </xsd:documentation>
923 </xsd:annotation>
924 </xsd:attribute>
925
926 <xsd:attribute name="headlabel" type="lblString">
927 <xsd:annotation>
928 <xsd:documentation>
929 <html:p>
930 Text label to be placed near head of edge.
931 See <html:a rel="note">undirected</html:a>.
932 </html:p>
933 </xsd:documentation>
934 </xsd:annotation>
935 </xsd:attribute>
936
937 <xsd:attribute name="headport" type="portPos" default="center">
938 <xsd:annotation>
939 <xsd:documentation>
940 <html:p>
941 Indicates where on the head node to attach the head of the edge.
942 In the default case, the edge is aimed towards the center of the node,
943 and then clipped at the node boundary.
944 See <html:a rel="note">undirected</html:a>.
945 </html:p>
946 </xsd:documentation>
947 </xsd:annotation>
948 </xsd:attribute>
949
950 <xsd:attribute name="headtarget" type="escString" gv:formats="svg map">
951 <xsd:annotation>
952 <xsd:documentation>
953 <html:p>
954 If the edge has a <html:a rel="attr">headURL</html:a>,
955 this attribute determines which window of the
956 browser is used
957 for the URL. Setting it to "_graphviz" will open a new window if it
958 doesn't already exist, or reuse it if it does.
959 If undefined, the value of the <html:a rel="attr">target</html:a> is used.
960 </html:p>
961 </xsd:documentation>
962 </xsd:annotation>
963 </xsd:attribute>
964
965 <xsd:attribute name="headtooltip" type="escString" gv:formats="svg cmap">
966 <xsd:annotation>
967 <xsd:documentation>
968 <html:p>
969 Tooltip annotation attached to the head of an edge. This is used only
970 if the edge has a <html:a rel="attr">headURL</html:a> attribute.
971 </html:p>
972 </xsd:documentation>
973 </xsd:annotation>
974 </xsd:attribute>
975
976 <xsd:attribute name="height" type="xsd:decimal" default="0.5">
977 <xsd:annotation>
978 <xsd:documentation>
979 <html:p>
980 Height of node, in inches. This is taken as the initial, minimum height
981 of the node. If <html:a rel="attr">fixedsize</html:a> is true, this
982 will be the final height of the node. Otherwise, if the node label
983 requires more height to fit, the node's height will be increased to
984 contain the label. Note also that, if the output format is dot, the
985 value given to <html:a rel="attr">height</html:a> will be the final value.
986 </html:p>
987 </xsd:documentation>
988 </xsd:annotation>
989 </xsd:attribute>
990
991 <xsd:attribute name="href" type="xsd:anyURI" gv:formats="svg ps ps2 map">
992 <xsd:annotation>
993 <xsd:documentation>
994 <html:p>
995 Synonym for <html:a rel="attr">URL</html:a>.
996 </html:p>
997 </xsd:documentation>
998 </xsd:annotation>
999 </xsd:attribute>
1000
1001 <xsd:attribute name="image" type="xsd:string">
1002 <xsd:annotation>
1003 <xsd:documentation>
1004 <html:p>
1005 Gives the name of a file containing an image to be displayed inside
1006 a node. The image file must be in one of the recognized formats,
1007 typically JPEG, PNG, GIF or Postscript, and be able to be converted
1008 into the desired output format.
1009 </html:p>
1010 <html:p>
1011 Unlike with the <html:a rel="attr">shapefile</html:a> attribute,
1012 the image is treated as node
1013 content rather than the entire node. In particular, an image can
1014 be contained in a node of any shape, not just a rectangle.
1015 </html:p>
1016 </xsd:documentation>
1017 </xsd:annotation>
1018 </xsd:attribute>
1019
1020 <xsd:attribute name="imagescale" type="xsd:string" default="false">
1021 <xsd:annotation>
1022 <xsd:documentation>
1023 <html:p>
1024 Attribute controlling how an image fills its
1025 containing node. In general, the image is given its natural size,
1026 (cf. <html:a rel="attr">dpi</html:a>),
1027 and the node size is made large enough to contain its image, its
1028 label, its margin, and its peripheries.
1029 Its width and height will also be at least as large as its
1030 minimum <html:a rel="attr">width</html:a> and <html:a rel="attr">height</html:a>.
1031 If, however, <html:code>fixedsize=true</html:code>,
1032 the width and height attributes specify the exact size of the node.
1033 </html:p>
1034 <html:p>
1035 During rendering, in the default case (<html:code>imagescale=false</html:code>),
1036 the image retains its natural size.
1037 If <html:span class="val">true</html:span>,
1038 the image is uniformly scaled (i.e., its aspect ratio is
1039 preserved) to fit inside the node.
1040 At least one dimension of the image will be as large as possible
1041 given the size of the node.
1042 When <html:span class="val">width</html:span>,
1043 the width of the image is scaled to fill the node width.
1044 The corresponding property holds when <html:tt>imagescale=height</html:tt>.
1045 When <html:span class="val">both</html:span>,
1046 both the height and the width are scaled separately to fill the node.
1047 </html:p>
1048 <html:p>
1049 In all cases, if a dimension of the image is larger than the
1050 corresponding dimension of the node, that dimension of the
1051 image is scaled down to fit the node. As with the case of
1052 expansion, if <html:code>imagescale=true</html:code>, width and height are
1053 scaled uniformly.
1054 </html:p>
1055 </xsd:documentation>
1056 </xsd:annotation>
1057 </xsd:attribute>
1058
1059 <xsd:attribute name="label" type="lblString">
1060 <xsd:annotation>
1061 <xsd:documentation>
1062 <html:p>
1063 Text label attached to objects.
1064 If a node's <html:a rel="attr">shape</html:a> is record, then the label can
1065 have a <html:a href="http://www.graphviz.org/doc/info/shapes.html#record">special format</html:a>
1066 which describes the record layout.
1067 </html:p>
1068 </xsd:documentation>
1069 </xsd:annotation>
1070 </xsd:attribute>
1071
1072 <xsd:attribute name="labelURL" type="xsd:anyURI">
1073 <xsd:annotation>
1074 <xsd:documentation>
1075 <html:p>
1076 If <html:a rel="attr">labelURL</html:a> is defined, this is the link used for the label
1077 of an edge. This value overrides any <html:a rel="attr">URL</html:a>
1078 defined for the edge.
1079 </html:p>
1080 </xsd:documentation>
1081 </xsd:annotation>
1082 </xsd:attribute>
1083
1084 <xsd:attribute name="labelangle" type="xsd:decimal">
1085 <xsd:annotation>
1086 <xsd:documentation>
1087 <html:p>
1088 This, along with <html:a rel="attr">labeldistance</html:a>, determine
1089 where the
1090 headlabel (taillabel) are placed with respect to the head (tail)
1091 in polar coordinates. The origin in the coordinate system is
1092 the point where the edge touches the node. The ray of 0 degrees
1093 goes from the origin back along the edge, parallel to the edge
1094 at the origin.
1095 </html:p>
1096 <html:p>
1097 The angle, in degrees, specifies the rotation from the 0 degree ray,
1098 with positive angles moving counterclockwise and negative angles
1099 moving clockwise.
1100 </html:p>
1101 </xsd:documentation>
1102 </xsd:annotation>
1103 </xsd:attribute>
1104
1105 <xsd:attribute name="labeldistance" type="xsd:decimal">
1106 <xsd:annotation>
1107 <xsd:documentation>
1108 <html:p>
1109 Multiplicative scaling factor adjusting the distance that
1110 the headlabel (taillabel) is from the head (tail) node.
1111 The default distance is 10 points. See <html:a rel="attr">labelangle</html:a>
1112 for more details.
1113 </html:p>
1114 </xsd:documentation>
1115 </xsd:annotation>
1116 </xsd:attribute>
1117
1118 <xsd:attribute name="labelfloat" type="xsd:boolean">
1119 <xsd:annotation>
1120 <xsd:documentation>
1121 <html:p>
1122 If true, allows edge labels to be less constrained in position.
1123 In particular, it may appear on top of other edges.
1124 </html:p>
1125 </xsd:documentation>
1126 </xsd:annotation>
1127 </xsd:attribute>
1128
1129 <xsd:attribute name="labelfontcolor" type="color">
1130 <xsd:annotation>
1131 <xsd:documentation>
1132 <html:p>
1133 Color used for headlabel and taillabel.
1134 If not set, defaults to edge's fontcolor.
1135 </html:p>
1136 </xsd:documentation>
1137 </xsd:annotation>
1138 </xsd:attribute>
1139
1140 <xsd:attribute name="labelfontname" type="xsd:string">
1141 <xsd:annotation>
1142 <xsd:documentation>
1143 <html:p>
1144 Font used for headlabel and taillabel.
1145 If not set, defaults to edge's fontname.
1146 </html:p>
1147 </xsd:documentation>
1148 </xsd:annotation>
1149 </xsd:attribute>
1150
1151 <xsd:attribute name="labelfontsize" type="xsd:decimal">
1152 <xsd:annotation>
1153 <xsd:documentation>
1154 <html:p>
1155 Font size, in <html:a rel="note">points</html:a>, used for headlabel and taillabel.
1156 If not set, defaults to edge's fontsize.
1157 </html:p>
1158 </xsd:documentation>
1159 </xsd:annotation>
1160 </xsd:attribute>
1161
1162 <xsd:attribute name="labelhref" type="xsd:anyURI">
1163 <xsd:annotation>
1164 <xsd:documentation>
1165 <html:p>
1166 Synonym for <html:a rel="attr">labelURL</html:a>.
1167 </html:p>
1168 </xsd:documentation>
1169 </xsd:annotation>
1170 </xsd:attribute>
1171
1172 <xsd:attribute name="labeljust" type="xsd:string">
1173 <xsd:annotation>
1174 <xsd:documentation>
1175 <html:p>
1176 Justification for cluster labels. If <html:span class="val">r</html:span>, the label
1177 is right-justified within bounding rectangle; if <html:span class="val">l</html:span>, left-justified;
1178 else the label is centered.
1179 Note that a subgraph inherits attributes from its parent. Thus, if
1180 the root graph sets <html:a rel="attr">labeljust</html:a> to <html:span class="val">l</html:span>, the subgraph inherits
1181 this value.
1182 </html:p>
1183 </xsd:documentation>
1184 </xsd:annotation>
1185 </xsd:attribute>
1186
1187 <xsd:attribute name="labelloc" type="xsd:string">
1188 <xsd:annotation>
1189 <xsd:documentation>
1190 <html:p>
1191 Top/bottom placement of graph and cluster labels.
1192 If the attribute is <html:span class="val">t</html:span>, place label at the top;
1193 if the attribute is <html:span class="val">b</html:span>, place label at the bottom.
1194 By default, root
1195 graph labels go on the bottom and cluster labels go on the top.
1196 Note that a subgraph inherits attributes from its parent. Thus, if
1197 the root graph sets <html:a rel="attr">labelloc</html:a> to <html:span class="val">b</html:span>, the subgraph inherits
1198 this value.
1199 </html:p>
1200 </xsd:documentation>
1201 </xsd:annotation>
1202 </xsd:attribute>
1203
1204 <xsd:attribute name="labeltarget" type="escString">
1205 <xsd:annotation>
1206 <xsd:documentation>
1207 <html:p>
1208 If the edge has a <html:a rel="attr">URL</html:a> or <html:a rel="attr">labelURL</html:a>
1209 attribute, this attribute determines which window of the
1210 browser is used
1211 for the URL attached to the label.
1212 Setting it to "_graphviz" will open a new window if it
1213 doesn't already exist, or reuse it if it does.
1214 If undefined, the value of the <html:a rel="attr">target</html:a> is used.
1215 </html:p>
1216 </xsd:documentation>
1217 </xsd:annotation>
1218 </xsd:attribute>
1219
1220 <xsd:attribute name="labeltooltip" type="escString">
1221 <xsd:annotation>
1222 <xsd:documentation>
1223 <html:p>
1224 Tooltip annotation attached to label of an edge.
1225 This is used only if the edge has a <html:a rel="attr">URL</html:a>
1226 or <html:a rel="attr">labelURL</html:a> attribute.
1227 </html:p>
1228 </xsd:documentation>
1229 </xsd:annotation>
1230 </xsd:attribute>
1231
1232 <xsd:attribute name="landscape" type="xsd:boolean">
1233 <xsd:annotation>
1234 <xsd:documentation>
1235 <html:p>
1236 If true, the graph is rendered in landscape mode. Synonymous with
1237 <html:code><html:a rel="attr">rotate</html:a>=90</html:code> or
1238 <html:code><html:a rel="attr">orientation</html:a>=landscape</html:code>.
1239 </html:p>
1240 </xsd:documentation>
1241 </xsd:annotation>
1242 </xsd:attribute>
1243
1244 <xsd:attribute name="layer" type="layerRange">
1245 <xsd:annotation>
1246 <xsd:documentation>
1247 <html:p>
1248 Specifies layers in which the node or edge is present.
1249 </html:p>
1250 </xsd:documentation>
1251 </xsd:annotation>
1252 </xsd:attribute>
1253
1254 <xsd:attribute name="layers" type="layerList">
1255 <xsd:annotation>
1256 <xsd:documentation>
1257 <html:p>
1258 Specifies a linearly ordered list of layer names attached to the graph
1259 The graph is then output in separate layers. Only those components
1260 belonging to the current output layer appear. For more information,
1261 see the page <html:a href="http://www.graphviz.org/Documentation/html/layers/">How to use drawing layers (overlays)</html:a>.
1262 </html:p>
1263 </xsd:documentation>
1264 </xsd:annotation>
1265 </xsd:attribute>
1266
1267 <xsd:attribute name="layersep" type="xsd:string">
1268 <xsd:annotation>
1269 <xsd:documentation>
1270 <html:p>
1271 Specifies the separator characters used to split the
1272 <html:a rel="attr">layers </html:a>attribute into a list of layer names.
1273 </html:p>
1274 </xsd:documentation>
1275 </xsd:annotation>
1276 </xsd:attribute>
1277
1278 <xsd:attribute name="len" type="xsd:decimal">
1279 <xsd:annotation>
1280 <xsd:documentation>
1281 <html:p>
1282 Preferred edge length, in inches.
1283 </html:p>
1284 </xsd:documentation>
1285 </xsd:annotation>
1286 </xsd:attribute>
1287
1288 <xsd:attribute name="levelsgap" type="xsd:decimal">
1289 <xsd:annotation>
1290 <xsd:documentation>
1291 <html:p>
1292 Specifies strictness of level constraints in neato
1293 when <html:code><html:a rel="attr">mode</html:a>="ipsep" or "hier"</html:code>.
1294 Larger positive values mean stricter constraints, which demand more
1295 separation between levels. On the other hand, negative values will relax
1296 the constraints by allowing some overlap between the levels.
1297 </html:p>
1298 </xsd:documentation>
1299 </xsd:annotation>
1300 </xsd:attribute>
1301
1302 <xsd:attribute name="lhead" type="xsd:string">
1303 <xsd:annotation>
1304 <xsd:documentation>
1305 <html:p>
1306 Logical head of an edge. When <html:a rel="attr">compound</html:a> is true,
1307 if <html:a rel="attr">lhead</html:a> is defined and is the name of a cluster containing
1308 the real head,
1309 the edge is clipped to the boundary of the cluster.
1310 See <html:a rel="note">undirected</html:a>.
1311 </html:p>
1312 </xsd:documentation>
1313 </xsd:annotation>
1314 </xsd:attribute>
1315
1316 <xsd:attribute name="lp" type="point">
1317 <xsd:annotation>
1318 <xsd:documentation>
1319 <html:p>
1320 Label position, in <html:a rel="note">points</html:a>.
1321 The position indicates the center of the label.
1322 </html:p>
1323 </xsd:documentation>
1324 </xsd:annotation>
1325 </xsd:attribute>
1326
1327 <xsd:attribute name="ltail" type="xsd:string">
1328 <xsd:annotation>
1329 <xsd:documentation>
1330 <html:p>
1331 Logical tail of an edge. When <html:a rel="attr">compound</html:a> is true,
1332 if <html:a rel="attr">ltail</html:a> is defined and is the name of a cluster
1333 containing the real tail,
1334 the edge is clipped to the boundary of the cluster.
1335 See <html:a rel="note">undirected</html:a>.
1336 </html:p>
1337 </xsd:documentation>
1338 </xsd:annotation>
1339 </xsd:attribute>
1340
1341 <xsd:attribute name="margin" type="pointf">
1342 <xsd:annotation>
1343 <xsd:documentation>
1344 <html:p>
1345 For graphs, this sets x and y margins of canvas, in inches. If the margin
1346 is a single double, both margins are set equal to the given value.
1347 </html:p>
1348 <html:p>
1349 Note that the margin is not part of the drawing but just empty space
1350 left around the drawing. It basically corresponds to a translation of
1351 drawing, as would be necessary to center a drawing on a page. Nothing
1352 is actually drawn in the margin. To actually extend the background of
1353 a drawing, see the <html:a rel="attr">pad</html:a> attribute.
1354 </html:p>
1355 <html:p>
1356 For nodes, this attribute specifies space left around the node's label.
1357 By default, the value is <html:code>0.11,0.055</html:code>.
1358 </html:p>
1359 </xsd:documentation>
1360 </xsd:annotation>
1361 </xsd:attribute>
1362
1363 <xsd:attribute name="maxiter" type="xsd:integer">
1364 <xsd:annotation>
1365 <xsd:documentation>
1366 <html:p>
1367 Sets the number of iterations used.
1368 </html:p>
1369 </xsd:documentation>
1370 </xsd:annotation>
1371 </xsd:attribute>
1372
1373 <xsd:attribute name="mclimit" type="xsd:decimal">
1374 <xsd:annotation>
1375 <xsd:documentation>
1376 <html:p>
1377 Multiplicative scale factor used to alter the MinQuit (default = 8)
1378 and MaxIter (default = 24) parameters used during crossing
1379 minimization. These correspond to the
1380 number of tries without improvement before quitting and the
1381 maximum number of iterations in each pass.
1382 </html:p>
1383 </xsd:documentation>
1384 </xsd:annotation>
1385 </xsd:attribute>
1386
1387 <xsd:attribute name="mindist" type="xsd:decimal">
1388 <xsd:annotation>
1389 <xsd:documentation>
1390 <html:p>
1391 Specifies the minimum separation between all nodes.
1392 </html:p>
1393 </xsd:documentation>
1394 </xsd:annotation>
1395 </xsd:attribute>
1396
1397 <xsd:attribute name="minlen" type="xsd:integer">
1398 <xsd:annotation>
1399 <xsd:documentation>
1400 <html:p>
1401 Minimum edge length (rank difference between head and tail).
1402 </html:p>
1403 </xsd:documentation>
1404 </xsd:annotation>
1405 </xsd:attribute>
1406
1407 <xsd:attribute name="mode" type="xsd:string">
1408 <xsd:annotation>
1409 <xsd:documentation>
1410 <html:p>
1411 Technique for optimizing the layout. If <html:a rel="attr">mode</html:a> is <html:span class="val">major</html:span>,
1412 neato uses stress majorization. If <html:a rel="attr">mode</html:a> is <html:span class="val">KK</html:span>,
1413 neato uses a version of the gradient descent method. The only advantage
1414 to the latter technique is that it is sometimes appreciably faster for
1415 small (number of nodes &lt; 100) graphs. A significant disadvantage is that
1416 it may cycle.
1417 </html:p>
1418 <html:p>
1419 There are two new, experimental modes in neato, <html:span class="val">hier</html:span>, which adds a top-down
1420 directionality similar to the layout used in dot, and <html:span class="val">ipsep</html:span>, which
1421 allows the graph to specify minimum vertical and horizontal distances
1422 between nodes. (See the <html:a rel="attr">sep</html:a> attribute.)
1423 </html:p>
1424 </xsd:documentation>
1425 </xsd:annotation>
1426 </xsd:attribute>
1427
1428 <xsd:attribute name="model" type="xsd:string">
1429 <xsd:annotation>
1430 <xsd:documentation>
1431 <html:p>
1432 This value specifies how the distance matrix is computed for the input
1433 graph. The distance matrix specifies the ideal distance between every
1434 pair of nodes. neato attemps to find a layout which best achieves
1435 these distances. By default, it uses the length of the shortest path,
1436 where the length of each edge is given by its <html:a rel="attr">len</html:a>
1437 attribute. If <html:a rel="attr">model</html:a> is <html:span class="val">circuit</html:span>, neato uses the
1438 circuit resistance
1439 model to compute the distances. This tends to emphasize clusters. If
1440 <html:a rel="attr">model</html:a> is <html:span class="val">subset</html:span>, neato uses the subset model. This sets the
1441 edge length to be the number of nodes that are neighbors of exactly one
1442 of the end points, and then calculates the shortest paths. This helps
1443 to separate nodes with high degree.
1444 </html:p>
1445 </xsd:documentation>
1446 </xsd:annotation>
1447 </xsd:attribute>
1448
1449 <xsd:attribute name="mosek" type="xsd:boolean">
1450 <xsd:annotation>
1451 <xsd:documentation>
1452 <html:p>
1453 If Graphviz is built with MOSEK defined, mode=ipsep and mosek=true,
1454 the Mosek software (www.mosek.com) is use to solve the ipsep constraints.
1455 </html:p>
1456 </xsd:documentation>
1457 </xsd:annotation>
1458 </xsd:attribute>
1459
1460 <xsd:attribute name="nodesep" type="xsd:decimal">
1461 <xsd:annotation>
1462 <xsd:documentation>
1463 <html:p>
1464 Minimum space between two adjacent nodes in the same rank, in inches.
1465 </html:p>
1466 </xsd:documentation>
1467 </xsd:annotation>
1468 </xsd:attribute>
1469
1470 <xsd:attribute name="nojustify" type="xsd:boolean">
1471 <xsd:annotation>
1472 <xsd:documentation>
1473 <html:p>
1474 By default, the justification of multi-line labels is done within the
1475 largest context that makes sense. Thus, in the label of a polygonal
1476 node, a left-justified line will align with the left side of the node
1477 (shifted by the prescribed <html:a rel="attr">margin</html:a>).
1478 In record nodes, left-justified
1479 line will line up with the left side of the enclosing column of fields.
1480 If <html:a rel="attr">nojustify</html:a> is <html:span class="val">true</html:span>, multi-line labels will be justified
1481 in the context of itself. For example, if the attribute is set,
1482 the first label line is long, and the second is shorter and left-justified,
1483 the second will align with the left-most character in the first line,
1484 regardless of how large the node might be.
1485 </html:p>
1486 </xsd:documentation>
1487 </xsd:annotation>
1488 </xsd:attribute>
1489
1490 <xsd:attribute name="normalize" type="xsd:boolean">
1491 <xsd:annotation>
1492 <xsd:documentation>
1493 <html:p>
1494 If set, normalize coordinates of final
1495 layout so that the first point is at the origin, and then rotate the
1496 layout so that the first edge is horizontal.
1497 </html:p>
1498 </xsd:documentation>
1499 </xsd:annotation>
1500 </xsd:attribute>
1501
1502 <xsd:attribute name="nslimit" type="xsd:decimal">
1503 <xsd:annotation>
1504 <xsd:documentation>
1505 <html:p>
1506 Used to set number of iterations in
1507 network simplex applications, used in
1508 computing node x coordinates.
1509 If defined, # iterations = <html:a rel="attr">nslimit</html:a> * # nodes;
1510 otherwise, # iterations = MAXINT.
1511 </html:p>
1512 </xsd:documentation>
1513 </xsd:annotation>
1514 </xsd:attribute>
1515
1516 <xsd:attribute name="nslimit1" type="xsd:decimal">
1517 <xsd:annotation>
1518 <xsd:documentation>
1519 <html:p>
1520 Used to set number of iterations in
1521 network simplex applications, used for ranking nodes.
1522 If defined, # iterations = <html:a rel="attr">nslimit1</html:a> * # nodes;
1523 otherwise, # iterations = MAXINT.
1524 </html:p>
1525 </xsd:documentation>
1526 </xsd:annotation>
1527 </xsd:attribute>
1528
1529 <xsd:attribute name="ordering" type="xsd:string">
1530 <xsd:annotation>
1531 <xsd:documentation>
1532 <html:p>
1533 If "out" for a graph G, and n is a node in G, then edges n-&gt;* appear
1534 left-to-right in the same order in which they are defined.
1535 If "in", the edges *-&gt;n appear
1536 left-to-right in the same order in which they are defined for all
1537 nodes n.
1538 </html:p>
1539 </xsd:documentation>
1540 </xsd:annotation>
1541 </xsd:attribute>
1542
1543 <!--
1544 <xsd:attribute name="orientation" type="xsd:decimal">
1545 <xsd:annotation>
1546 <xsd:documentation>
1547 Angle, in degrees, used to rotate node shapes.
1548 </xsd:documentation>
1549 </xsd:annotation>
1550 </xsd:attribute>
1551
1552 <xsd:attribute name="orientation" type="xsd:string">
1553 <xsd:annotation>
1554 <xsd:documentation>
1555 If "[lL]*", set graph orientation to landscape
1556 Used only if <html:a rel="attr">rotate</html:a> is not defined.
1557 </xsd:documentation>
1558 </xsd:annotation>
1559 </xsd:attribute>
1560 -->
1561
1562 <xsd:attribute name="outputorder" type="outputMode">
1563 <xsd:annotation>
1564 <xsd:documentation>
1565 <html:p>
1566 Specify order in which nodes and edges are drawn.
1567 </html:p>
1568 </xsd:documentation>
1569 </xsd:annotation>
1570 </xsd:attribute>
1571
1572 <xsd:attribute name="overlap" type="xsd:string">
1573 <xsd:annotation>
1574 <xsd:documentation>
1575 <html:p>
1576 Determines if and how node overlaps should be removed. Nodes are first
1577 enlarged using the <html:a rel="attr">sep</html:a> attribute.
1578 If <html:span class="val">true</html:span>, overlaps are retained.
1579 If the value is <html:span class="val">scale</html:span>, overlaps are removed by uniformly scaling in x and y.
1580 If the value converts to <html:span class="val">false</html:span>, node overlaps are removed by a
1581 Voronoi-based technique.
1582 If the value is <html:span class="val">scalexy</html:span>, x and y are separately
1583 scaled to remove overlaps.
1584 If the value is <html:span class="val">orthoxy</html:span> or <html:span class="val">orthoyx</html:span>, overlaps
1585 are moved by optimizing two constraint problems, one for the x axis and
1586 one for the y. The suffix indicates which axis is processed first.
1587 If the value is <html:span class="val">ortho</html:span>, the technique is similar to <html:span class="val">orthoxy</html:span> except a
1588 heuristic is used to reduce the bias between the two passes.
1589 If the value is <html:span class="val">ortho_yx</html:span>, the technique is the same as <html:span class="val">ortho</html:span>, except
1590 the roles of x and y are reversed.
1591 The values <html:span class="val">portho</html:span>, <html:span class="val">porthoxy</html:span>, <html:span class="val">porthoxy</html:span>, and <html:span class="val">portho_yx</html:span> are similar
1592 to the previous four, except only pseudo-orthogonal ordering is
1593 enforced.
1594 </html:p>
1595 <html:p>
1596 If the value is <html:span class="val">compress</html:span>, the layout will be scaled down as much as
1597 possible without introducing any overlaps, obviously assuming there are
1598 none to begin with.
1599 </html:p>
1600 <html:p>
1601 If the value is <html:span class="val">ipsep</html:span>, and the layout is done by neato with
1602 <html:a rel="attr">mode</html:a>="ipsep", the overlap removal constraints are
1603 incorporated into the layout algorithm itself.
1604 N.B. At present, this only supports one level of clustering.
1605 </html:p>
1606 <html:p>
1607 If the value is <html:span class="val">vpsc</html:span>, overlap removal is similarly to <html:span class="val">ortho</html:span>, except
1608 quadratic optimization is used to minimize node displacement.
1609 N.B. At present, this mode only works when <html:a rel="attr">mode</html:a>="ipsep".
1610 </html:p>
1611 <html:p>
1612 Except for fdp, the layouts assume <html:code>overlap="true"</html:code> as the default.
1613 Fdp first uses a number of passes using built-in, force-directed technique
1614 to remove overlaps. Thus, fdp accepts <html:a rel="attr">overlap</html:a> with an integer
1615 prefix followed by a colon, specifying the number of tries. If there is
1616 no prefix, no initial tries will be performed. If there is nothing following
1617 a colon, none of the above methods will be attempted. By default, fdp
1618 uses <html:code>overlap="9:portho"</html:code>. Note that <html:code>overlap="true"</html:code>,
1619 <html:code>overlap="0:true"</html:code> and <html:code>overlap="0:"</html:code> all turn off all overlap
1620 removal.
1621 </html:p>
1622 <html:p>
1623 Except for the Voronoi method, all of these transforms preserve the
1624 orthogonal ordering of the original layout. That is, if the x coordinates
1625 of two nodes are originally the same, they will remain the same, and if
1626 the x coordinate of one node is originally less than the x coordinate of
1627 another, this relation will still hold in the transformed layout. The
1628 similar properties hold for the y coordinates.
1629 This is not quite true for the "porth*" cases. For these, orthogonal
1630 ordering is only preserved among nodes related by an edge.
1631 </html:p>
1632 <html:p>
1633 <html:b>NOTE</html:b>The methods <html:span class="val">orthoxy</html:span> and <html:span class="val">orthoyx</html:span> are still evolving. The semantics of these may change, or these methods may disappear altogether.
1634 </html:p>
1635 </xsd:documentation>
1636 </xsd:annotation>
1637 </xsd:attribute>
1638
1639 <xsd:attribute name="pack" type="xsd:string">
1640 <xsd:annotation>
1641 <xsd:documentation>
1642 <html:p>
1643 This is true if the value of pack is <html:span class="val">true</html:span> (case-insensitive) or a
1644 non-negative integer. If true, each connected component of the graph is
1645 laid out separately, and then the graphs are packed tightly.
1646 If pack has an integral value, this is used as the size,
1647 in <html:a href="#points">points</html:a>, of
1648 a margin around each part; otherwise, a default margin of 8 is used.
1649 If pack is interpreted as false, the entire graph is laid out together.
1650 The granularity and method of packing is influenced by the
1651 <html:a rel="attr">packmode</html:a> attribute.
1652 </html:p>
1653 <html:p>
1654 For layouts which always do packing, such a twopi, the <html:a rel="attr">pack</html:a>
1655 attribute is just used to set the margin.
1656 </html:p>
1657 </xsd:documentation>
1658 </xsd:annotation>
1659 </xsd:attribute>
1660
1661 <xsd:attribute name="packmode" type="packMode">
1662 <xsd:annotation>
1663 <xsd:documentation>
1664 <html:p>
1665 This indicates the granularity and method used for packing
1666 (cf. <html:a rel="type">packMode</html:a>). Note that defining
1667 <html:a rel="attr">packmode</html:a> will automatically turn on packing as though one had
1668 set <html:code>pack=true</html:code>.
1669 </html:p>
1670 </xsd:documentation>
1671 </xsd:annotation>
1672 </xsd:attribute>
1673
1674 <xsd:attribute name="pad" type="pointf">
1675 <xsd:annotation>
1676 <xsd:documentation>
1677 <html:p>
1678 The pad attribute specifies how much, in inches, to extend the
1679 drawing area around the minimal area needed to draw the graph.
1680 If the pad is a single double, both the x and y pad values are set
1681 equal to the given value. This area is part of the
1682 drawing and will be filled with the background color, if appropriate.
1683 </html:p>
1684 <html:p>
1685 Normally, a small pad is used for aesthetic reasons, especially when
1686 a background color is used, to avoid having nodes and edges abutting
1687 the boundary of the drawn region.
1688 </html:p>
1689 </xsd:documentation>
1690 </xsd:annotation>
1691 </xsd:attribute>
1692
1693 <xsd:attribute name="page" type="pointf">
1694 <xsd:annotation>
1695 <xsd:documentation>
1696 <html:p>
1697 Width and height of output pages, in inches. If this is set and is
1698 smaller than the size of the layout, a rectangular array of pages of
1699 the specified page size is overlaid on the layout, with origins
1700 aligned in the lower-left corner, thereby partitioning the layout
1701 into pages. The pages are then produced one at a time, in
1702 <html:a rel="attr">pagedir</html:a> order.
1703 </html:p>
1704 <html:p>
1705 At present, this only works for PostScript output. For other types of
1706 output, one should use another tool to split the output into multiple
1707 output files. Or use the <html:a rel="attr">viewport</html:a> to generate
1708 multiple files.
1709 </html:p>
1710 </xsd:documentation>
1711 </xsd:annotation>
1712 </xsd:attribute>
1713
1714 <xsd:attribute name="pagedir" type="pagedir">
1715 <xsd:annotation>
1716 <xsd:documentation>
1717 <html:p>
1718 If the <html:a rel="attr">page</html:a> attribute is set and applicable,
1719 this attribute specifies the order in which the pages are emitted.
1720 This is limited to one of the 8 row or column major orders.
1721 </html:p>
1722 </xsd:documentation>
1723 </xsd:annotation>
1724 </xsd:attribute>
1725
1726 <xsd:attribute name="pencolor" type="color">
1727 <xsd:annotation>
1728 <xsd:documentation>
1729 <html:p>
1730 Color used to draw the bounding box around a cluster.
1731 If <html:a rel="attr">pencolor</html:a> is not defined, <html:a rel="attr">color</html:a> is
1732 used. If this is not defined, <html:a rel="attr">bgcolor</html:a> is used.
1733 If this is not defined, the default is used.
1734 </html:p>
1735 <html:p>
1736 Note that a cluster inherits the root graph's attributes if defined.
1737 Thus, if the root graph has defined a <html:a rel="attr">pencolor</html:a>, this will override a
1738 <html:a rel="attr">color</html:a> or <html:a rel="attr">bgcolor</html:a> attribute set for the cluster.
1739 </html:p>
1740 </xsd:documentation>
1741 </xsd:annotation>
1742 </xsd:attribute>
1743
1744 <xsd:attribute name="peripheries" type="xsd:integer">
1745 <xsd:annotation>
1746 <xsd:documentation>
1747 <html:p>
1748 Set number of peripheries used in polygonal shapes and cluster
1749 boundaries. Note that
1750 <html:a href="http://www.graphviz.org/doc/info/shapes.html#epsf">user-defined shapes</html:a> are treated as a
1751 form of box shape, so the default
1752 peripheries value is 1 and the user-defined shape will be drawn in
1753 a bounding rectangle. Setting <html:code>peripheries=0</html:code> will turn this off.
1754 Also, 1 is the maximum peripheries value for clusters.
1755 </html:p>
1756 </xsd:documentation>
1757 </xsd:annotation>
1758 </xsd:attribute>
1759
1760 <xsd:attribute name="pin" type="xsd:boolean">
1761 <xsd:annotation>
1762 <xsd:documentation>
1763 <html:p>
1764 If true and the node has a pos attribute on input, neato prevents the
1765 node from moving from the input position. This property can also be specified
1766 in the pos attribute itself (cf. the <html:a rel="attr">point</html:a> type).
1767 </html:p>
1768 </xsd:documentation>
1769 </xsd:annotation>
1770 </xsd:attribute>
1771
1772 <xsd:attribute name="pos" type="splineType">
1773 <xsd:annotation>
1774 <xsd:documentation>
1775 <html:p>
1776 Position of node, or spline control points.
1777 For nodes, the position indicates the center of the node.
1778 On output, the coordinates are in <html:a href="#points">points</html:a>.
1779 </html:p>
1780 <html:p>
1781 In neato and fdp, pos can be used to set the initial position of a node.
1782 By default, the coordinates are assumed to be in inches. However, the
1783 <html:a href="http://www.graphviz.org/doc/info/command.html#d:s">-s</html:a> command line flag can be used to specify
1784 different units.
1785 </html:p>
1786 <html:p>
1787 When the <html:a href="http://www.graphviz.org/doc/info/command.html#d:n">-n</html:a> command line flag is used with
1788 neato, it is assumed the positions have been set by one of the layout
1789 programs, and are therefore in points. Thus, <html:code>neato -n</html:code> can accept
1790 input correctly without requiring a <html:code>-s</html:code> flag and, in fact,
1791 ignores any such flag.
1792 </html:p>
1793 </xsd:documentation>
1794 </xsd:annotation>
1795 </xsd:attribute>
1796
1797 <xsd:attribute name="quantum" type="xsd:decimal">
1798 <xsd:annotation>
1799 <xsd:documentation>
1800 <html:p>
1801 If <html:a rel="attr">quantum</html:a> &gt; 0.0, node label dimensions
1802 will be rounded to integral multiples of the quantum.
1803 </html:p>
1804 </xsd:documentation>
1805 </xsd:annotation>
1806 </xsd:attribute>
1807
1808 <xsd:attribute name="rank" type="rankType">
1809 <xsd:annotation>
1810 <xsd:documentation>
1811 <html:p>
1812 Rank constraints on the nodes in a subgraph.
1813 If <html:span class="val">same</html:span>, all nodes are placed on the same rank.
1814 If <html:span class="val">min</html:span>, all nodes are placed on the minimum rank.
1815 If <html:span class="val">source</html:span>, all nodes are placed on the minimum rank, and
1816 the only nodes on the minimum rank belong to some subgraph whose
1817 rank attribute is "source" or "min".
1818 Analogous criteria hold for <html:a rel="attr">rank</html:a>=<html:span class="val">max</html:span> and <html:a rel="attr">rank</html:a>=<html:span class="val">sink</html:span>.
1819 (Note: the
1820 minimum rank is topmost or leftmost, and the maximum rank is bottommost
1821 or rightmost.)
1822 </html:p>
1823 </xsd:documentation>
1824 </xsd:annotation>
1825 </xsd:attribute>
1826
1827 <xsd:attribute name="rankdir" type="rankdir">
1828 <xsd:annotation>
1829 <xsd:documentation>
1830 <html:p>
1831 Sets direction of graph layout. For example, if <html:a rel="attr">rankdir</html:a>="LR",
1832 and barring cycles, an edge <html:code>T -&gt; H;</html:code> will go
1833 from left to right. By default, graphs are laid out from top to bottom.
1834 </html:p>
1835 </xsd:documentation>
1836 </xsd:annotation>
1837 </xsd:attribute>
1838
1839 <xsd:attribute name="ranksep" type="xsd:decimal">
1840 <xsd:annotation>
1841 <xsd:documentation>
1842 <html:p>
1843 In dot, this gives the desired rank separation, in inches. This is
1844 the minimum vertical distance between the bottom of the nodes in one
1845 rank and the tops of nodes in the next. If the value
1846 contains "equally", the centers of all ranks are spaced equally apart.
1847 Note that both
1848 settings are possible, e.g., ranksep = "1.2 equally".
1849 In twopi, specifies radial separation of concentric circles.
1850 </html:p>
1851 </xsd:documentation>
1852 </xsd:annotation>
1853 </xsd:attribute>
1854
1855 <xsd:attribute name="ratio" type="xsd:string">
1856 <xsd:annotation>
1857 <xsd:documentation>
1858 <html:p>
1859 Sets the aspect ratio (drawing height/drawing width) for the drawing.
1860 Note that this is adjusted before
1861 the <html:a rel="attr">size</html:a> attribute constraints are enforced.
1862 </html:p>
1863 <html:p>
1864 If <html:a rel="attr">ratio</html:a> is numeric, it is taken as the desired aspect ratio.
1865 Then, if the actual aspect ratio is less than the desired ratio,
1866 the drawing height is scaled up to achieve the
1867 desired ratio; if the actual ratio is greater than that desired ratio,
1868 the drawing width is scaled up.
1869 </html:p>
1870 <html:p>
1871 If <html:a rel="attr">ratio</html:a> = <html:span class="val">fill</html:span> and the <html:a rel="attr">size</html:a>
1872 attribute is set, node positions are scaled, separately in both x
1873 and y, so that the final drawing exactly fills the specified size.
1874 </html:p>
1875 <html:p>
1876 If <html:a rel="attr">ratio</html:a> = <html:span class="val">compress</html:span> and the <html:a rel="attr">size</html:a>
1877 attribute is set, dot attempts to compress the initial layout to fit
1878 in the given size. This achieves a tighter packing of nodes but
1879 reduces the balance and symmetry. This feature only works in dot.
1880 </html:p>
1881 <html:p>
1882 If <html:a rel="attr">ratio</html:a> = <html:span class="val">expand</html:span>, the <html:a rel="attr">size</html:a>
1883 attribute is set, and both the width and the height of the graph are
1884 less than the value in <html:a rel="attr">size</html:a>, node positions are scaled
1885 uniformly until at least
1886 one dimension fits <html:a rel="attr">size</html:a> exactly.
1887 Note that this is distinct from using <html:a rel="attr">size</html:a> as the
1888 desired size, as here the drawing is expanded before edges are generated and
1889 all node and text sizes remain unchanged.
1890 </html:p>
1891 <html:p>
1892 If <html:a rel="attr">ratio</html:a> = <html:span class="val">auto</html:span>, the <html:a rel="attr">page</html:a>
1893 attribute is set and the graph cannot be drawn on a single page,
1894 then <html:a rel="attr">size</html:a> is set to an ``ideal'' value.
1895 In particular, the size in a given dimension will be the smallest integral
1896 multiple of the page size in that dimension which is at least half the
1897 current size. The two dimensions are then scaled independently to the
1898 new size. This feature only works in dot.
1899 </html:p>
1900 </xsd:documentation>
1901 </xsd:annotation>
1902 </xsd:attribute>
1903
1904 <xsd:attribute name="rects" type="rect">
1905 <xsd:annotation>
1906 <xsd:documentation>
1907 <html:p>
1908 Rectangles for fields of records, in <html:a rel="note">points</html:a>.
1909 </html:p>
1910 </xsd:documentation>
1911 </xsd:annotation>
1912 </xsd:attribute>
1913
1914 <xsd:attribute name="regular" type="xsd:boolean">
1915 <xsd:annotation>
1916 <xsd:documentation>
1917 <html:p>
1918 If true, force polygon to be regular.
1919 </html:p>
1920 </xsd:documentation>
1921 </xsd:annotation>
1922 </xsd:attribute>
1923
1924 <xsd:attribute name="remincross" type="xsd:boolean">
1925 <xsd:annotation>
1926 <xsd:documentation>
1927 <html:p>
1928 If true and there are multiple clusters, run cross
1929 minimization a second time.
1930 </html:p>
1931 </xsd:documentation>
1932 </xsd:annotation>
1933 </xsd:attribute>
1934
1935 <xsd:attribute name="resolution" type="xsd:decimal">
1936 <xsd:annotation>
1937 <xsd:documentation>
1938 <html:p>
1939 This is a synonym for the <html:a rel="attr">dpi</html:a> attribute.
1940 </html:p>
1941 </xsd:documentation>
1942 </xsd:annotation>
1943 </xsd:attribute>
1944
1945 <xsd:attribute name="root" type="xsd:string">
1946 <xsd:annotation>
1947 <xsd:documentation>
1948 <html:p>
1949 This specifies nodes to be used as the center of the
1950 layout and the root of the generated spanning tree. As a graph attribute,
1951 this gives the name of the node. As a node attribute (circo only), it
1952 specifies that the node should be used as a central node. In twopi,
1953 this will actually be the central node. In circo, the block containing
1954 the node will be central in the drawing of its connected component.
1955 If not defined,
1956 twopi will pick a most central node, and circo will pick a random node.
1957 </html:p>
1958 </xsd:documentation>
1959 </xsd:annotation>
1960 </xsd:attribute>
1961
1962 <xsd:attribute name="rotate" type="xsd:integer">
1963 <xsd:annotation>
1964 <xsd:documentation>
1965 <html:p>
1966 If 90, set drawing orientation to landscape.
1967 </html:p>
1968 </xsd:documentation>
1969 </xsd:annotation>
1970 </xsd:attribute>
1971
1972 <xsd:attribute name="samehead" type="xsd:string">
1973 <xsd:annotation>
1974 <xsd:documentation>
1975 <html:p>
1976 Edges with the same head and the same <html:a rel="attr">samehead</html:a> value are aimed
1977 at the same point on the head.
1978 See <html:a rel="note">undirected</html:a>.
1979 </html:p>
1980 </xsd:documentation>
1981 </xsd:annotation>
1982 </xsd:attribute>
1983
1984 <xsd:attribute name="sametail" type="xsd:string">
1985 <xsd:annotation>
1986 <xsd:documentation>
1987 <html:p>
1988 Edges with the same tail and the same <html:a rel="attr">sametail</html:a> value are aimed
1989 at the same point on the tail.
1990 See <html:a rel="note">undirected</html:a>.
1991 </html:p>
1992 </xsd:documentation>
1993 </xsd:annotation>
1994 </xsd:attribute>
1995
1996 <xsd:attribute name="samplepoints" type="xsd:integer">
1997 <xsd:annotation>
1998 <xsd:documentation>
1999 <html:p>
2000 If the input graph defines the <html:a rel="attr"><html:a rel="attr">vertices</html:a></html:a>
2001 attribute, and output is dot or xdot, this gives
2002 the number of points used for a node whose shape is a circle or ellipse.
2003 It plays the same role in neato, when adjusting the layout to avoid
2004 overlapping nodes, and in image maps.
2005 </html:p>
2006 </xsd:documentation>
2007 </xsd:annotation>
2008 </xsd:attribute>
2009
2010 <xsd:attribute name="searchsize" type="xsd:integer">
2011 <xsd:annotation>
2012 <xsd:documentation>
2013 <html:p>
2014 During network simplex, maximum number of edges with negative cut values
2015 to search when looking for one with minimum cut value.
2016 </html:p>
2017 </xsd:documentation>
2018 </xsd:annotation>
2019 </xsd:attribute>
2020
2021 <xsd:attribute name="sep" type="pointf">
2022 <xsd:annotation>
2023 <xsd:documentation>
2024 <html:p>
2025 Fraction to increase polygons (multiply
2026 coordinates by 1 + sep) for purposes of determining overlap. Guarantees
2027 a minimal non-zero distance between nodes.
2028 If unset but <html:a rel="attr">esep</html:a> is defined, <html:a rel="attr">sep</html:a> will be
2029 set to <html:code>esep/0.8</html:code>. If <html:a rel="attr">esep</html:a> is unset, the default value
2030 is used.
2031 </html:p>
2032 <html:p>
2033 When <html:a rel="attr">overlap</html:a>="ipsep" or "vpsc",
2034 <html:a rel="attr">sep</html:a> gives a minimum distance, in inches, to be left between nodes.
2035 In this case, if <html:a rel="attr">sep</html:a> is a pointf, the x and y separations can be
2036 specified separately.
2037 </html:p>
2038 </xsd:documentation>
2039 </xsd:annotation>
2040 </xsd:attribute>
2041
2042 <xsd:attribute name="shape" type="shape">
2043 <xsd:annotation>
2044 <xsd:documentation>
2045 <html:p>
2046 Set the shape of a node.
2047 </html:p>
2048 </xsd:documentation>
2049 </xsd:annotation>
2050 </xsd:attribute>
2051
2052 <xsd:attribute name="shapefile" type="xsd:string">
2053 <xsd:annotation>
2054 <xsd:documentation>
2055 <html:p>
2056 (Deprecated) If defined, shapefile specifies a file containing user-supplied node content.
2057 The <html:a rel="attr">shape</html:a> of the node is set to box.
2058 The image in the shapefile must be
2059 rectangular. The image formats supported as well as the precise semantics of
2060 how the file is used depends on the
2061 <html:a href="http://www.graphviz.org/doc/info/output.html">output format</html:a>. For further details, see
2062 <html:a href="http://www.graphviz.org/Documentation/html/shapehowto.html#ext_image">External PostScript files</html:a>.
2063 </html:p>
2064 <html:p>
2065 There is one exception to this usage.
2066 If <html:a rel="attr">shape</html:a> is set to "epsf", shapefile gives
2067 a filename containing a definition of the node in PostScript.
2068 The graphics defined must be contain all of the
2069 node content, including any desired boundaries.
2070 For further details, see
2071 <html:a href="http://www.graphviz.org/Documentation/html/shapehowto.html#ext_ps">
2072 External PostScript files</html:a>.
2073 </html:p>
2074 </xsd:documentation>
2075 </xsd:annotation>
2076 </xsd:attribute>
2077
2078 <xsd:attribute name="showboxes" type="xsd:integer">
2079 <xsd:annotation>
2080 <xsd:documentation>
2081 <html:p>
2082 Print guide boxes in PostScript at the beginning of
2083 routesplines if 1, or at the end if 2. (Debugging)
2084 </html:p>
2085 </xsd:documentation>
2086 </xsd:annotation>
2087 </xsd:attribute>
2088
2089 <xsd:attribute name="sides" type="xsd:integer">
2090 <xsd:annotation>
2091 <xsd:documentation>
2092 <html:p>
2093 Number of sides if <html:a rel="attr">shape</html:a>=polygon.
2094 </html:p>
2095 </xsd:documentation>
2096 </xsd:annotation>
2097 </xsd:attribute>
2098
2099 <xsd:attribute name="size" type="pointf">
2100 <xsd:annotation>
2101 <xsd:documentation>
2102 <html:p>
2103 Maximum width and height of drawing, in inches.
2104 If defined and the drawing is too large, the drawing is uniformly
2105 scaled down so that it fits within the given size.
2106 </html:p>
2107 <html:p>
2108 If <html:a rel="attr">size</html:a> ends in an exclamation point (<html:tt>!</html:tt>),
2109 then it is taken to be
2110 the desired size. In this case, if both dimensions of the drawing are
2111 less than <html:a rel="attr">size</html:a>, the drawing is scaled up uniformly until at
2112 least one dimension equals its dimension in <html:a rel="attr">size</html:a>.
2113 </html:p>
2114 <html:p>
2115 Note that there is some interaction between the <html:a rel="attr">size</html:a> and
2116 <html:a rel="attr">ratio</html:a> attributes.
2117 </html:p>
2118 </xsd:documentation>
2119 </xsd:annotation>
2120 </xsd:attribute>
2121
2122 <xsd:attribute name="skew" type="xsd:decimal">
2123 <xsd:annotation>
2124 <xsd:documentation>
2125 <html:p>
2126 Skew factor for <html:a rel="attr">shape</html:a>=polygon. Positive values
2127 skew top of polygon to right; negative to left.
2128 </html:p>
2129 </xsd:documentation>
2130 </xsd:annotation>
2131 </xsd:attribute>
2132
2133 <xsd:attribute name="splines" type="xsd:string">
2134 <xsd:annotation>
2135 <xsd:documentation>
2136 <html:p>
2137 Controls how, and if, edges are represented. If true, edges are drawn as
2138 splines routed around nodes; if false, edges are drawn as line segments.
2139 If set to "", no edges are drawn at all.
2140 </html:p>
2141 <html:p>
2142 (1 March 2007) The values <html:span class="val">line</html:span> and <html:span class="val">spline</html:span> can be
2143 used as synonyms for <html:span class="val">false</html:span> and <html:span class="val">true</html:span>, respectively.
2144 In addition, the value <html:span class="val">polyline</html:span> specifies that edges should be
2145 drawn as polylines.
2146 </html:p>
2147 <html:p>
2148 By default, the attribute is unset. How this is interpreted depends on
2149 the layout. For dot, the default is to draw edges as splines. For all
2150 other layouts, the default is to draw edges as line segments. Note that
2151 for these latter layouts, if <html:code>splines="true"</html:code>, this
2152 requires non-overlapping nodes (cf. <html:a rel="attr">overlap</html:a>).
2153 If fdp is used for layout and <html:tt>splines="compound"</html:tt>, then the edges are
2154 drawn to avoid clusters as well as nodes.
2155 </html:p>
2156 </xsd:documentation>
2157 </xsd:annotation>
2158 </xsd:attribute>
2159
2160 <xsd:attribute name="start" type="startType">
2161 <xsd:annotation>
2162 <xsd:documentation>
2163 <html:p>
2164 Parameter used to determine the initial layout of nodes. If unset, the
2165 nodes are randomly placed in a unit square with
2166 the same seed is always used for the random number generator, so the
2167 initial placement is repeatable.
2168 </html:p>
2169 </xsd:documentation>
2170 </xsd:annotation>
2171 </xsd:attribute>
2172
2173 <xsd:attribute name="style" type="style">
2174 <xsd:annotation>
2175 <xsd:documentation>
2176 <html:p>
2177 Set style for node or edge. For cluster subgraph, if "filled", the
2178 cluster box's background is filled.
2179 </html:p>
2180 </xsd:documentation>
2181 </xsd:annotation>
2182 </xsd:attribute>
2183
2184 <xsd:attribute name="stylesheet" type="xsd:string">
2185 <xsd:annotation>
2186 <xsd:documentation>
2187 <html:p>
2188 A URL or pathname specifying an XML style sheet, used in SVG output.
2189 </html:p>
2190 </xsd:documentation>
2191 </xsd:annotation>
2192 </xsd:attribute>
2193
2194 <xsd:attribute name="tailURL" type="xsd:anyURI">
2195 <xsd:annotation>
2196 <xsd:documentation>
2197 <html:p>
2198 If <html:a rel="attr">tailURL</html:a> is defined, it is
2199 output as part of the tail label of the edge.
2200 Also, this value is used near the tail node, overriding any
2201 <html:a rel="attr">URL</html:a> value.
2202 See <html:a rel="note">undirected</html:a>.
2203 </html:p>
2204 </xsd:documentation>
2205 </xsd:annotation>
2206 </xsd:attribute>
2207
2208 <xsd:attribute name="tailclip" type="xsd:boolean">
2209 <xsd:annotation>
2210 <xsd:documentation>
2211 <html:p>
2212 If <html:span class="val">true</html:span>, the tail of an edge is clipped to the boundary of the tail node;
2213 otherwise, the end of the edge goes to the center of the node, or the
2214 center of a port, if applicable.
2215 </html:p>
2216 </xsd:documentation>
2217 </xsd:annotation>
2218 </xsd:attribute>
2219
2220 <xsd:attribute name="tailhref" type="xsd:anyURI">
2221 <xsd:annotation>
2222 <xsd:documentation>
2223 <html:p>
2224 Synonym for <html:a rel="attr">tailURL</html:a>.
2225 </html:p>
2226 </xsd:documentation>
2227 </xsd:annotation>
2228 </xsd:attribute>
2229
2230 <xsd:attribute name="taillabel" type="lblString">
2231 <xsd:annotation>
2232 <xsd:documentation>
2233 <html:p>
2234 Text label to be placed near tail of edge.
2235 See <html:a rel="note">undirected</html:a>.
2236 </html:p>
2237 </xsd:documentation>
2238 </xsd:annotation>
2239 </xsd:attribute>
2240
2241 <xsd:attribute name="tailport" type="portPos">
2242 <xsd:annotation>
2243 <xsd:documentation>
2244 <html:p>
2245 Indicates where on the tail node to attach the tail of the edge.
2246 See <html:a rel="note">undirected</html:a>.
2247 </html:p>
2248 </xsd:documentation>
2249 </xsd:annotation>
2250 </xsd:attribute>
2251
2252 <xsd:attribute name="tailtarget" type="escString">
2253 <xsd:annotation>
2254 <xsd:documentation>
2255 <html:p>
2256 If the edge has a <html:a rel="attr">tailURL</html:a>,
2257 this attribute determines which window of the
2258 browser is used
2259 for the URL. Setting it to "_graphviz" will open a new window if it
2260 doesn't already exist, or reuse it if it does.
2261 If undefined, the value of the <html:a rel="attr">target</html:a> is used.
2262 </html:p>
2263 </xsd:documentation>
2264 </xsd:annotation>
2265 </xsd:attribute>
2266
2267 <xsd:attribute name="tailtooltip" type="escString">
2268 <xsd:annotation>
2269 <xsd:documentation>
2270 <html:p>
2271 Tooltip annotation attached to the tail of an edge. This is used only
2272 if the edge has a <html:a rel="attr">tailURL</html:a> attribute.
2273 </html:p>
2274 </xsd:documentation>
2275 </xsd:annotation>
2276 </xsd:attribute>
2277
2278 <xsd:attribute name="target" type="escString">
2279 <xsd:annotation>
2280 <xsd:documentation>
2281 <html:p>
2282 If the object has a URL, this attribute determines which window
2283 of the browser is used for the URL.
2284 See <html:a href="http://www.w3.org/TR/html401/present/frames.html#adef-target">W3C documentation</html:a>.
2285 </html:p>
2286 </xsd:documentation>
2287 </xsd:annotation>
2288 </xsd:attribute>
2289
2290 <xsd:attribute name="tooltip" type="escString">
2291 <xsd:annotation>
2292 <xsd:documentation>
2293 <html:p>
2294 Tooltip annotation attached to the node or edge. If unset, Graphviz
2295 will use the object's <html:a rel="attr">label</html:a> if defined.
2296 Note that if the label is a record specification or an HTML-like
2297 label, the resulting tooltip may be unhelpful. In this case, if
2298 tooltips will be generated, the user should set a <html:tt>tooltip</html:tt>
2299 attribute explicitly.
2300 </html:p>
2301 </xsd:documentation>
2302 </xsd:annotation>
2303 </xsd:attribute>
2304
2305 <xsd:attribute name="truecolor" type="xsd:boolean">
2306 <xsd:annotation>
2307 <xsd:documentation>
2308 <html:p>
2309 If set explicitly to true or false, the value determines whether or not
2310 internal bitmap rendering relies on a truecolor color model or uses
2311 a color palette.
2312 If the attribute is unset, truecolor is not used
2313 unless there is a <html:a rel="attr">shapefile</html:a> property
2314 for some node in the graph.
2315 The output model will use the input model when possible.
2316 </html:p>
2317 <html:p>
2318 Use of color palettes results in less memory usage during creation of the
2319 bitmaps and smaller output files.
2320 </html:p>
2321 <html:p>
2322 Usually, the only time it is necessary to specify the truetype model
2323 is if the graph uses more than 256 colors.
2324 However, if one uses <html:a rel="attr">bgcolor</html:a>=transparent with
2325 a color palette, font
2326 antialiasing can show up as a fuzzy white area around characters.
2327 Using <html:a rel="attr">truecolor</html:a>=true avoids this problem.
2328 </html:p>
2329 </xsd:documentation>
2330 </xsd:annotation>
2331 </xsd:attribute>
2332
2333 <xsd:attribute name="vertices" type="pointfList">
2334 <xsd:annotation>
2335 <xsd:documentation>
2336 <html:p>
2337 If the input graph defines this attribute, the node is polygonal,
2338 and output is dot or xdot, this attribute provides the
2339 coordinates of the vertices of the node's polygon, in inches.
2340 If the node is an ellipse or circle, the
2341 <html:a rel="attr">samplepoints</html:a> attribute affects
2342 the output.
2343 </html:p>
2344 </xsd:documentation>
2345 </xsd:annotation>
2346 </xsd:attribute>
2347
2348 <xsd:attribute name="viewport" type="viewPort">
2349 <xsd:annotation>
2350 <xsd:documentation>
2351 <html:p>
2352 Clipping window on final drawing.
2353 </html:p>
2354 </xsd:documentation>
2355 </xsd:annotation>
2356 </xsd:attribute>
2357
2358 <xsd:attribute name="voro_margin" type="xsd:decimal">
2359 <xsd:annotation>
2360 <xsd:documentation>
2361 <html:p>
2362 Factor to scale up drawing to allow margin for expansion in
2363 Voronoi technique. dim' = (1+2*margin)*dim.
2364 </html:p>
2365 </xsd:documentation>
2366 </xsd:annotation>
2367 </xsd:attribute>
2368
2369 <xsd:attribute name="weight" type="xsd:decimal">
2370 <xsd:annotation>
2371 <xsd:documentation>
2372 <html:p>
2373 Weight of edge. In dot, the heavier the weight, the shorter,
2374 straighter and more vertical the edge is. In neato, the heavier the
2375 weight, the more neato will try to place the end points so that the
2376 length of the edge is <html:a rel="attr">len</html:a>.
2377 </html:p>
2378 </xsd:documentation>
2379 </xsd:annotation>
2380 </xsd:attribute>
2381
2382 <xsd:attribute name="width" type="xsd:decimal">
2383 <xsd:annotation>
2384 <xsd:documentation>
2385 <html:p>
2386 Width of node, in inches. This is taken as the initial, minimum width
2387 of the node. If <html:a rel="attr">fixedsize</html:a> is true, this
2388 will be the final width of the node. Otherwise, if the node label
2389 requires more width to fit, the node's width will be increased to
2390 contain the label. Note also that, if the output format is dot, the
2391 value given to <html:a rel="attr">width</html:a> will be the final value.
2392 </html:p>
2393 </xsd:documentation>
2394 </xsd:annotation>
2395 </xsd:attribute>
2396
2397 <xsd:attribute name="z" type="xsd:decimal">
2398 <xsd:annotation>
2399 <xsd:documentation>
2400 <html:p>
2401 Provides z coordinate value for 3D layouts and displays. If the
2402 graph has <html:a rel="attr">dim</html:a> set to 3 (or more),
2403 neato will use a node's <html:a rel="attr">z</html:a> value
2404 for the z coordinate of its initial position if
2405 its <html:a rel="attr">pos</html:a> attribute is also defined.
2406 </html:p>
2407 <html:p>
2408 Even if no <html:a rel="attr">z</html:a> values are specified in the input, it is necessary to
2409 declare a <html:a rel="attr">z</html:a> attribute for nodes, e.g, using <html:tt>node[z=""]</html:tt>
2410 in order to get z values on output.
2411 Thus, setting <html:tt>dim=3</html:tt> but not declaring <html:a rel="attr">z</html:a> will
2412 cause <html:tt>neato -Tvrml</html:tt> to
2413 layout the graph in 3D but project the layout onto the xy-plane
2414 for the rendering. If the <html:a rel="attr">z</html:a> attribute is declared, the final rendering
2415 will be in 3D.
2416 </html:p>
2417 </xsd:documentation>
2418 </xsd:annotation>
2419 </xsd:attribute>
2420
2421 <!-- COMPONENTS -->
2422
2423 <xsd:complexType name="edge">
2424 <xsd:attribute ref="URL" />
2425 <xsd:attribute ref="arrowhead" default="normal" />
2426 <xsd:attribute ref="arrowsize" default="1.0" />
2427 <xsd:attribute ref="arrowtail" default="normal" />
2428 <xsd:attribute ref="color" default="black" />
2429 <xsd:attribute ref="colorscheme" />
2430 <xsd:attribute ref="comment" />
2431 <xsd:attribute ref="constraint" default="true" />
2432 <xsd:attribute ref="decorate" default="false" />
2433 <xsd:attribute ref="dir" />
2434 <xsd:attribute ref="edgeURL" />
2435 <xsd:attribute ref="edgehref"/>
2436 <xsd:attribute ref="edgetarget" />
2437 <xsd:attribute ref="edgetooltip" />
2438 <xsd:attribute ref="fontcolor" default="black" />
2439 <xsd:attribute ref="fontname" default="Times-Roman" />
2440 <xsd:attribute ref="fontsize" default="14.0" />
2441 <xsd:attribute ref="headURL" />
2442 <xsd:attribute ref="headclip" default="true" />
2443 <xsd:attribute ref="headhref"/>
2444 <xsd:attribute ref="headlabel" />
2445 <xsd:attribute ref="headport" default="center"/>
2446 <xsd:attribute ref="headtarget" />
2447 <xsd:attribute ref="headtooltip" />
2448 <xsd:attribute ref="href" />
2449 <xsd:attribute ref="label" />
2450 <xsd:attribute ref="labelURL" />
2451 <xsd:attribute ref="labelangle" default="-25.0" />
2452 <xsd:attribute ref="labeldistance" default="1.0" />
2453 <xsd:attribute ref="labelfloat" default="false" />
2454 <xsd:attribute ref="labelfontcolor" default="black" />
2455 <xsd:attribute ref="labelfontname" default="Times-Roman" />
2456 <xsd:attribute ref="labelfontsize" default="14.0" />
2457 <xsd:attribute ref="labelhref" />
2458 <xsd:attribute ref="labeltarget" />
2459 <xsd:attribute ref="labeltooltip" />
2460 <xsd:attribute ref="layer" />
2461 <xsd:attribute ref="len" />
2462 <xsd:attribute ref="lhead" />
2463 <xsd:attribute ref="lp" />
2464 <xsd:attribute ref="ltail" />
2465 <xsd:attribute ref="minlen" default="1" />
2466 <xsd:attribute ref="nojustify" default="false" />
2467 <xsd:attribute ref="pos" />
2468 <xsd:attribute ref="samehead" />
2469 <xsd:attribute ref="sametail" />
2470 <xsd:attribute ref="showboxes" default="0" />
2471 <xsd:attribute ref="style" />
2472 <xsd:attribute ref="tailURL" />
2473 <xsd:attribute ref="tailclip" default="true" />
2474 <xsd:attribute ref="tailhref"/>
2475 <xsd:attribute ref="taillabel" />
2476 <xsd:attribute ref="tailport" default="center"/>
2477 <xsd:attribute ref="tailtarget" />
2478 <xsd:attribute ref="tailtooltip" />
2479 <xsd:attribute ref="target" />
2480 <xsd:attribute ref="tooltip" />
2481 <xsd:attribute ref="weight" default="1.0" />
2482 </xsd:complexType>
2483
2484 <xsd:complexType name="node">
2485 <xsd:attribute ref="URL" />
2486 <xsd:attribute ref="color" default="black" />
2487 <xsd:attribute ref="colorscheme" />
2488 <xsd:attribute ref="comment" />
2489 <xsd:attribute ref="distortion" default="0.0" />
2490 <xsd:attribute ref="fillcolor" default="lightgrey" />
2491 <xsd:attribute ref="fixedsize" default="false" />
2492 <xsd:attribute ref="fontcolor" default="black" />
2493 <xsd:attribute ref="fontname" default="Times-Roman" />
2494 <xsd:attribute ref="fontsize" default="14.0" />
2495 <xsd:attribute ref="group" />
2496 <xsd:attribute ref="height" default="0.5" />
2497 <xsd:attribute ref="image" />
2498 <xsd:attribute ref="imagescale" default="false" />
2499 <xsd:attribute ref="label" default="\N" />
2500 <xsd:attribute ref="layer" />
2501 <xsd:attribute ref="margin" />
2502 <xsd:attribute ref="nojustify" default="false" />
2503 <!-- <xsd:attribute ref="orientation" default="0.0" /> -->
2504 <xsd:attribute ref="peripheries" />
2505 <xsd:attribute ref="pin" default="false" />
2506 <xsd:attribute ref="pos" />
2507 <xsd:attribute ref="rects" />
2508 <xsd:attribute ref="regular" default="false" />
2509 <xsd:attribute ref="root" default="false" />
2510 <xsd:attribute ref="samplepoints" default="false" />
2511 <xsd:attribute ref="shape" default="ellipse" />
2512 <xsd:attribute ref="shapefile" />
2513 <xsd:attribute ref="showboxes" default="0" />
2514 <xsd:attribute ref="sides" default="4" />
2515 <xsd:attribute ref="skew" default="0.0" />
2516 <xsd:attribute ref="style" />
2517 <xsd:attribute ref="target" />
2518 <xsd:attribute ref="tooltip" />
2519 <xsd:attribute ref="vertices" />
2520 <xsd:attribute ref="width" default="0.75" />
2521 <xsd:attribute ref="z" default="0.0" />
2522 </xsd:complexType>
2523
2524 <xsd:complexType name="graph">
2525 <xsd:attribute ref="Damping" default="0.99" />
2526 <xsd:attribute ref="K" default="0.3" />
2527 <xsd:attribute ref="URL" />
2528 <xsd:attribute ref="bb" />
2529 <xsd:attribute ref="bgcolor" />
2530 <xsd:attribute ref="center" />
2531 <xsd:attribute ref="charset" />
2532 <xsd:attribute ref="clusterrank" default="local" />
2533 <xsd:attribute ref="colorscheme" />
2534 <xsd:attribute ref="comment" />
2535 <xsd:attribute ref="compound" default="false" />
2536 <xsd:attribute ref="concentrate" default="false" />
2537 <xsd:attribute ref="defaultdist" />
2538 <xsd:attribute ref="dim" default="2" />
2539 <xsd:attribute ref="diredgeconstraints" default="false" />
2540 <xsd:attribute ref="dpi" default="96.0" />
2541 <xsd:attribute ref="epsilon" />
2542 <xsd:attribute ref="esep" />
2543 <xsd:attribute ref="fontcolor" default="black" />
2544 <xsd:attribute ref="fontname" default="Times-Roman" />
2545 <xsd:attribute ref="fontnames" />
2546 <xsd:attribute ref="fontpath" />
2547 <xsd:attribute ref="fontsize" default="14.0" />
2548 <xsd:attribute ref="label" />
2549 <xsd:attribute ref="labeljust" default="c" />
2550 <xsd:attribute ref="labelloc" default="b" />
2551 <xsd:attribute ref="landscape" default="false" />
2552 <xsd:attribute ref="layers" default="false" />
2553 <xsd:attribute ref="layersep" default=" : " />
2554 <xsd:attribute ref="levelsgap" default="0.0" />
2555 <xsd:attribute ref="lp" />
2556 <xsd:attribute ref="margin" />
2557 <xsd:attribute ref="maxiter" />
2558 <xsd:attribute ref="mclimit" default="1.0" />
2559 <xsd:attribute ref="mindist" default="1.0" />
2560 <xsd:attribute ref="mode" default="major" />
2561 <xsd:attribute ref="model" default="shortpath" />
2562 <xsd:attribute ref="mosek" default="false" />
2563 <xsd:attribute ref="nodesep" default="0.25" />
2564 <xsd:attribute ref="nojustify" default="false" />
2565 <xsd:attribute ref="normalize" default="false" />
2566 <xsd:attribute ref="nslimit" />
2567 <xsd:attribute ref="nslimit1" />
2568 <xsd:attribute ref="ordering" />
2569 <!-- <xsd:attribute ref="orientation" /> -->
2570 <xsd:attribute ref="outputorder" default="breadthfirst" />
2571 <xsd:attribute ref="overlap" default="true" />
2572 <xsd:attribute ref="pack" default="false" />
2573 <xsd:attribute ref="packmode" default="node" />
2574 <xsd:attribute ref="pad" />
2575 <xsd:attribute ref="page" />
2576 <xsd:attribute ref="pagedir" />
2577 <xsd:attribute ref="quantum" default="0.0" />
2578 <xsd:attribute ref="rankdir" default="TB" />
2579 <xsd:attribute ref="ranksep" />
2580 <xsd:attribute ref="ratio" />
2581 <xsd:attribute ref="remincross" default="false" />
2582 <xsd:attribute ref="resolution" default="96.0" />
2583 <xsd:attribute ref="root" />
2584 <xsd:attribute ref="rotate" default="0" />
2585 <xsd:attribute ref="searchsize" default="30" />
2586 <xsd:attribute ref="sep" default="0.1" />
2587 <xsd:attribute ref="showboxes" default="0" />
2588 <xsd:attribute ref="size" />
2589 <xsd:attribute ref="splines" />
2590 <xsd:attribute ref="start" />
2591 <xsd:attribute ref="stylesheet" />
2592 <xsd:attribute ref="target" />
2593 <xsd:attribute ref="truecolor" />
2594 <xsd:attribute ref="viewport" />
2595 <xsd:attribute ref="voro_margin" default="0.05" />
2596 </xsd:complexType>
2597
2598 <xsd:complexType name="subgraph">
2599 <xsd:attribute ref="rank" />
2600 </xsd:complexType>
2601
2602 <xsd:complexType name="cluster">
2603 <xsd:attribute ref="K" />
2604 <xsd:attribute ref="URL" />
2605 <xsd:attribute ref="bgcolor" />
2606 <xsd:attribute ref="color" default="black" />
2607 <xsd:attribute ref="colorscheme" />
2608 <xsd:attribute ref="fillcolor" default="black" />
2609 <xsd:attribute ref="fixedsize" default="false" />
2610 <xsd:attribute ref="fontcolor" default="black" />
2611 <xsd:attribute ref="fontname" default="Times-Roman" />
2612 <xsd:attribute ref="fontsize" default="14.0" />
2613 <xsd:attribute ref="label" />
2614 <xsd:attribute ref="labeljust" default="c" />
2615 <xsd:attribute ref="labelloc" default="t" />
2616 <xsd:attribute ref="lp" />
2617 <xsd:attribute ref="nojustify" default="false" />
2618 <xsd:attribute ref="pencolor" default="black" />
2619 <xsd:attribute ref="style" />
2620 <xsd:attribute ref="target" />
2621 <xsd:attribute ref="tooltip" />
2622 </xsd:complexType>
2623
2624 </xsd:schema>