annotate toolboxes/graph_visualisation/share/graphviz/doc/html/schema/attributes.xml @ 0:cc4b1211e677 tip

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