draft-xgmml.html 120 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531
  1. <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
  6. <meta name="Author" content="John Punin, Mukkai Krishnamoorthy">
  7. <title>XGMML (eXtensible Graph Markup and Modeling Language) 1.0 Draft Specification</title>
  8. </head>
  9. <body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
  10. <h1>
  11. XGMML (eXtensible Graph Markup and Modeling Language)</h1>
  12. <h2>
  13. XGMML 1.0 Draft Specification.</h2>
  14. This version:
  15. <br>&nbsp;&nbsp;&nbsp; <a href="http://www.cs.rpi.edu/~puninj/XGMML/draft-xgmml-20010628.html">http://www.cs.rpi.edu/~puninj/XGMML/draft-xgmml-20010628.html</a>
  16. <br>&nbsp;&nbsp;&nbsp; (provision of the <a href="xgmml.xsd">schema</a>
  17. and <a href="xgmml.dtd">DTD</a> for XGMML)
  18. <p>Newest version:
  19. <br>&nbsp;&nbsp;&nbsp; <a href="http://www.cs.rpi.edu/~puninj/XGMML/draft-xgmml.html">http://www.cs.rpi.edu/~puninj/XGMML/draft-xgmml.html</a>
  20. <p>Previous version:
  21. <br>&nbsp;&nbsp;&nbsp; <a href="http://www.cs.rpi.edu/~puninj/XGMML/draft-xgmml-20010625.html">http://www.cs.rpi.edu/~puninj/XGMML/draft-xgmml-20010625.html</a>
  22. <p>Editors:
  23. <br>&nbsp;&nbsp;&nbsp; John Punin <a href="mailto:puninj@cs.rpi.edu">&lt;puninj@cs.rpi.edu></a>,
  24. (RPI)
  25. <br>&nbsp;&nbsp;&nbsp; Mukkai Krishnamoorthy <a href="mailto:moorthy@cs.rpi.edu">&lt;moorthy@cs.rpi.edu></a>,
  26. (RPI)
  27. <p>
  28. <hr WIDTH="100%">
  29. <h2>
  30. Abstract</h2>
  31. This draft specification defines the syntax of the Extensible Graph Markup
  32. and Modeling Language (XGMML). XGMML is an XML application for describing
  33. Graphs.
  34. <h2>
  35. Table of Contents</h2>
  36. <a href="#Intro">1. Introduction</a>
  37. <br><a href="#XGMML-Doc">2. XGMML Documents</a>
  38. <br>&nbsp;&nbsp;&nbsp; <a href="#XGMML-WF-Doc">2.1 Well-Formed XGMML Documents</a>
  39. <br>&nbsp;&nbsp;&nbsp; <a href="#XGMML-V-Doc">2.2 Valid XGMML Documents</a>
  40. <br><a href="#XGMML-GML">3. XGMML and GML</a>
  41. <br><a href="#StructXGMMLDoc">4. Structure of XGMML Documents</a>
  42. <br><a href="#XGMMLDT">5. XGMML Data Types</a>
  43. <br>&nbsp;&nbsp;&nbsp; <a href="#BT">5.1 Boolean Type</a>
  44. <br>&nbsp;&nbsp;&nbsp; <a href="#NT">5.2 Number Type</a>
  45. <br>&nbsp;&nbsp;&nbsp; <a href="#ST">5.3 String Type</a>
  46. <br>&nbsp;&nbsp;&nbsp; <a href="#UT">5.4 URI Type</a>
  47. <br>&nbsp;&nbsp;&nbsp; <a href="#AT">5.5 Anchor Type</a>
  48. <br>&nbsp;&nbsp;&nbsp; <a href="#TypeGO">5.6 Type of Graphic objects.</a>
  49. <br>&nbsp;&nbsp;&nbsp; <a href="#LT">5.7 Line Types</a>
  50. <br>&nbsp;&nbsp;&nbsp; <a href="#TT">5.8 Text Types</a>
  51. <br>&nbsp;&nbsp;&nbsp; <a href="#CT">5.9 Color Type</a>
  52. <br>&nbsp;&nbsp;&nbsp; <a href="#AnT">5.10 Angle Type</a>
  53. <br>&nbsp;&nbsp;&nbsp; <a href="#OT">5.11 Object Type</a>
  54. <br><a href="#GraphE">6. Graph Element</a>
  55. <br>&nbsp;&nbsp;&nbsp; <a href="#GlobalA">6.1 Global Attributes</a>
  56. <br>&nbsp;&nbsp;&nbsp; <a href="#XMLA">6.2 XML Attributes</a>
  57. <br>&nbsp;&nbsp;&nbsp; <a href="#XLinkA">6.3 XLink Attributes</a>
  58. <br>&nbsp;&nbsp;&nbsp; <a href="#GraphA">6.4 Graph Attributes</a>
  59. <br>&nbsp;&nbsp;&nbsp; <a href="#GraphMC">6.5 Graph Mixed Content</a>
  60. <br><a href="#NodeE">7. Node Element</a>
  61. <br>&nbsp;&nbsp;&nbsp; <a href="#NodeA">7.1 Node Attributes</a>
  62. <br>&nbsp;&nbsp;&nbsp; <a href="#NodeMC">7.2 Node Mixed Content</a>
  63. <br><a href="#EdgeE">8. Edge Element</a>
  64. <br>&nbsp;&nbsp;&nbsp; <a href="#EdgeA">8.1 Edge Attributes</a>
  65. <br>&nbsp;&nbsp;&nbsp; <a href="#EdgeMC">8.2 Edge Mixed Content</a>
  66. <br><a href="#AttE">9. Att Element</a>
  67. <br>&nbsp;&nbsp;&nbsp; <a href="#AttA">9.1 Att&nbsp; Attributes</a>
  68. <br>&nbsp;&nbsp;&nbsp; <a href="#AttMC">9.2 Att Mixed Content</a>
  69. <br><a href="#GLCPE">10. Graphics, Line, Center and Point elements</a>
  70. <br>&nbsp;&nbsp;&nbsp; <a href="#GraphicsA">10.1 Graphics Attributes</a>
  71. <br>&nbsp;&nbsp;&nbsp; <a href="#LPCA">10.2 Line, Point and Center Attributes</a>
  72. <br><a href="#XGMML-RDF">11. XGMML and RDF</a>
  73. <h3>
  74. <a href="#Appendices">Appendices</a></h3>
  75. <a href="#Characters">A. Characters</a>
  76. <br><a href="#XGMML-DTD">B. XGMML 1.0 DTD</a>
  77. <br><a href="#XGMML-Schema">C. XGMML 1.0 Schema</a>
  78. <br><a href="#XGMML-Ex">D. XGMML Examples</a>
  79. <br><a href="#XGMML-MIME">E. XGMML Internet Media Type</a>
  80. <br><a href="#Ref">F. References</a>
  81. <br>
  82. <hr WIDTH="100%">
  83. <h2>
  84. <a NAME="Intro"></a>1. Introduction</h2>
  85. Extensible Graph Markup and Modeling Language (XGMML) is an XML 1.0 application
  86. based on Graph Modeling Language (GML) to describe Graphs [<a href="#Ref">GML</a>].
  87. A Graph, G= (V,E), is a set of nodes V and a set of edges E. Each edge
  88. is either an ordered (directed graph) or unordered (undirected) pair of
  89. nodes. Since graphs can be described&nbsp; as a data object whose elements
  90. are nodes and edges which are data objects, XML is an ideal way to represent
  91. graphs. Structure of the World Wide Web is a typical example of a graph
  92. where the web pages are "nodes," and the hyperlinks are "edges." The best
  93. way to describe a web site structure is using a graph structure so XGMML
  94. documents are a good choice for containing the structural information of
  95. a web site.
  96. <h2>
  97. <a NAME="XGMML-Doc"></a>2. XGMML Documents</h2>
  98. Since XGMML is an application of XML, XGMML documents can be well-formed
  99. documents or valid documents.
  100. <h3>
  101. <a NAME="XGMML-WF-Doc"></a>2.1 XGMML Well-formed Documents</h3>
  102. An XGMML well-formed document is an XML well-formed document that described
  103. a graph using the graph, node and edge elements of XGMML. A <b>graph</b>
  104. element may be the root element of the XGMML well-formed document. Two
  105. cases of XGMML well-formed document can be found.&nbsp; The first case
  106. is XGMML documents with additional proprietary elements from a vendor.
  107. The second case is&nbsp; XGMML documents that are contained&nbsp; on other
  108. XML documents.
  109. <h3>
  110. <a NAME="XGMML-V-Doc"></a>2.2 XGMML Valid Documents</h3>
  111. An XGMML valid document can be validated against an XGMML DTD or XGMML
  112. Schema [<a href="#Ref">XML-SCHEMA</a>]. The XGMML DTD and XGMML Schema
  113. are provided in the Appendices section. A valid XML document can have multiple
  114. schemas. The namespace for XGMML is: <i>http://www.cs.rpi.edu/XGMML </i>and
  115. the suffix for the XGMML elements is <i>xgmml</i>:.
  116. <h2>
  117. <a NAME="XGMML-GML"></a>3. XGMML and GML</h2>
  118. XGMML is based on GML [<a href="#Ref">GML</a>]. GML is a powerful language
  119. used on many software applications to describe graph structures. XGMML
  120. uses all tags of GML and a few additional tags. Conversion of a GML description
  121. to an XGMML description is easy. A GML description is a collection of key-value
  122. pairs. The keys are string identifiers such as
  123. <i>graph</i>,
  124. <i>node
  125. </i>and
  126. <i>edge</i>
  127. and the values can be numbers, strings or a list of key-value pairs. The
  128. following rule is used to map GML to XGMML:
  129. <blockquote>A GML key is a name of an XGMML element if its value is a list
  130. of key-value pairs. A GML key is a name of an XGMML attribute if its value
  131. is a number or string.</blockquote>
  132. Two exceptions are considered: the <i>comment</i> GML tag and the GML lines
  133. starting with "#" character must be ignored or translated to XML comments
  134. &lt;!-- <i>comment </i>-->
  135. <p>GML consider key names as safe or unsafe. Unsafe key names are the ones
  136. that the application program discards when a change to the graph occurred.
  137. They can be recognized if the key name starts with a capital letter. This
  138. rule is included in XGMML. The XGMML attributes are classified as safe
  139. and unsafe attributes.
  140. <h2>
  141. <a NAME="StructXGMMLDoc"></a>4. Structure of XGMML Documents</h2>
  142. An XGMML document describes a graph structure. The root element is <b>graph</b>
  143. and it can contain <b>node, edge</b> and <b>att </b>elements. The <b>node</b>
  144. element describes a node of a graph and the
  145. <b>edge</b> element describes
  146. an edge of a graph. Additional information for graphs, nodes and edges
  147. can be attached using the <b>att</b> element. A <b>graph</b> element can
  148. be contained in an <b>att</b> element and this graph will be considered
  149. as subgraph of the main graph. The <b>graphics </b>element can be included
  150. in a <b>node</b> or <b>edge </b>element, and it describes the graphic representation
  151. either of a node or an edge. The following example is a graph with just
  152. one node.
  153. <pre>&lt;?xml version="1.0"?>
  154. &lt;!DOCTYPE graph PUBLIC "-//John Punin//DTD graph description//EN" "http://www.cs.rpi.edu/~puninj/XGMML/xgmml.dtd">
  155. &lt;graph directed="1" id="2">
  156. &lt;node id="1" label="Node 1"/>
  157. &lt;/graph></pre>
  158. The following XGMML document describes a graph with two nodes and one edge.
  159. <pre>&lt;?xml version="1.0"?>
  160. &lt;!DOCTYPE graph PUBLIC "-//John Punin//DTD graph description//EN" "http://www.cs.rpi.edu/~puninj/XGMML/xgmml.dtd">
  161. &lt;graph directed="1" id="5">
  162. &lt;node id="1" label="Node 1"/>
  163. &lt;node id="2" label="Node 2"/>
  164. &lt;edge source="1" target="2" label="Edge 1"/>
  165. &lt;/graph></pre>
  166. XGMML documents can be validated against the DTD <i>"<a href="#XGMML-DTD">xgmml.dtd</a>"</i>
  167. whose URL is: <i><a href="http://www.cs.rpi.edu/~puninj/XGMML/xgmml.dtd">http://www.cs.rpi.edu/~puninj/XGMML/xgmml.dtd</a></i>
  168. <p>XGMML well formed documents can be part of other XML documents.&nbsp;
  169. The following example is a graph inside of an XHTML document [<a href="#Ref">XHTML
  170. 1.0</a>]:
  171. <pre>&lt;?xml version="1.0" encoding="UTF-8"?>
  172. &lt;html xmlns="http://www.w3.org/1999/xhtml"&nbsp;
  173. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance"
  174. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns:xgmml="http://www.cs.rpi.edu/XGMML"
  175. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xsi:schemaLocation="http://www.w3.org/1999/Style/Transform
  176. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.w3.org/1999/Style/Transform/xslt.xsd
  177. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.w3.org/1999/xhtml
  178. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.w3.org/1999/xhtml/xhtml.xsd
  179. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.cs.rpi.edu/XGMML
  180. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.cs.rpi.edu/~puninj/XGMML/xgmml.xsd"</pre>
  181. <pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xml:lang="en">
  182. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  183. &lt;head>
  184. &lt;title>Graph Information&lt;/title>
  185. &lt;/head>
  186. &lt;body>
  187. &lt;!-- XHTML Document here -->
  188. &nbsp;&nbsp;&nbsp;&nbsp; &lt;xgmml:graph directed="1" graphic="1" Layout="points">
  189. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xgmml:node id="1" label="1" weight="0">
  190. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xgmml:graphics type="circle" x="250" y="90" />
  191. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xgmml:node>
  192. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xgmml:node id="2" label="2"weight="0">
  193. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xgmml:graphics type="circle" x="190" y="150" />
  194. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xgmml:node>
  195. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xgmml:edge source="1" target="2" weight="0" />
  196. &nbsp;&nbsp;&nbsp;&nbsp; &lt;/xgmml:graph>
  197. &lt;!-- XHTML Document here -->
  198. &lt;/body>
  199. &lt;/html></pre>
  200. Other examples of XGMML Documents can be found in Apendix D of this draft.
  201. <h2>
  202. <a NAME="XGMMLDT"></a>5. XGMML Data Types</h2>
  203. XGMML data types are defined based on the following XML data types:
  204. <ul>
  205. <li>
  206. <a href="http://www.w3.org/TR/1998/REC-xml-19980210#NT-Nmtoken">NMTOKEN</a>
  207. is any mixture of name characters.</li>
  208. <li>
  209. <a href="http://www.w3.org/TR/1998/REC-xml-19980210#NT-AttValue">CDATA</a>
  210. is XML Literal data. It is any quoted string.</li>
  211. <li>
  212. PCDATA is Parsed Character Data. It is any string that does not contain
  213. markup text.</li>
  214. </ul>
  215. <h3>
  216. <a NAME="BT"></a>5.1 Boolean Type</h3>
  217. <pre>&lt;!ENTITY % boolean.type "(0|1)" ></pre>
  218. Boolean values are 0 for false and 1 for True.
  219. <h3>
  220. <a NAME="NT"></a>5.2 Number Type</h3>
  221. <pre>&lt;!ENTITY % number.type "NMTOKEN"></pre>
  222. Numbers can be integers or reals.
  223. <h3>
  224. <a NAME="ST"></a>5.3 String Type</h3>
  225. <pre>&lt;!ENTITY % string.type "CDATA"></pre>
  226. Strings are XML Literal data that can not contain a quoted character.
  227. <h3>
  228. <a NAME="UT"></a>5.4 URI Type</h3>
  229. <pre>&lt;!ENTITY % uri.type "%string.type;"></pre>
  230. URI are strings that are Uniform Resource Identifiers as defined in [<a href="#Ref">RFC1630</a>].
  231. URIs include relative and absolute Uniform Resource Locators as defined
  232. in [<a href="#Ref">RFC1738</a>] and [<a href="#Ref">RFC1808</a>].
  233. <h3>
  234. <a NAME="AT"></a>5.5 Anchor Type</h3>
  235. <pre>&lt;!ENTITY % anchor.type "(c|n|ne|e|se|s|sw|w|nw)"></pre>
  236. Anchor type is defined in GML as the relative position of an object. Anchor
  237. type is an enumerated type whose possible values are c (center), n (north),
  238. ne (northeast), e (east), se (southeast), s (south), sw (southweast), w
  239. (west) and nw (northwest).
  240. <h3>
  241. <a NAME="TypeGO"></a>5.6 Type of Graphic Objects</h3>
  242. <pre>&lt;!ENTITY % type-graphics-gml.type "arc|bitmap|image|line|oval|polygon|
  243. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rectangle|text">
  244. &lt;!ENTITY % type-graphics-app.type "box|circle|ver_ellipsis|hor_ellipsis|
  245. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rhombus|triangle|pentagon|hexagon|
  246. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; octagon"></pre>
  247. The type of graphic objects is an enumerated type whose values depend mainly
  248. on the application that reads XGMML documents. XGMML extends the possible
  249. values of the GML type of graphic objects.
  250. <h3>
  251. <a NAME="LT"></a>5.7 Line Types</h3>
  252. <pre>&lt;!ENTITY % arrow.type "(none | first | last | both)">
  253. &lt;!ENTITY % capstyle.type "(butt | projecting | round)">
  254. &lt;!ENTITY % joinstyle.type "(bevel | miter | round)">
  255. &lt;!ENTITY % arcstyle.type "(pieslice | chord | arc)"></pre>
  256. Line Types are enumerated types and they are: Arrow, Capstyle, Joinstyle
  257. and Arcstyle. Arrow type defines the position of the arrow. Capstyle type
  258. defines the end of the line. Joinstyle type defines the Line joints. Arcstyle
  259. defines the style of an arc.
  260. <h3>
  261. <a NAME="TT"></a>5.8 Text Types</h3>
  262. <pre>&lt;!ENTITY % justify.type "(left | right | center)">
  263. &lt;!ENTITY % font.type "%string.type;"></pre>
  264. Justify type is an enumerated type that defines the text justification.
  265. Font type is a string that represents the name of the font to be used for
  266. the text.
  267. <h3>
  268. <a NAME="CT"></a>5.9 Color Type</h3>
  269. <pre>&lt;!ENTITY % color.type "%string.type;"></pre>
  270. Color type is a string that represents the color to be used by the Graphic
  271. object. The format is the same as the <a href="http://www.w3.org/TR/REC-CSS2/syndata.html#color-units">color
  272. type in CSS2</a> [<a href="#Ref">CSS2</a>]. The color can be either a keyword
  273. or a numerical RGB specification. Examples are the strings : "white", "#FFFFF",
  274. "rgb(100,150,30)".
  275. <h3>
  276. <a NAME="AnT"></a>5.10 Angle Type</h3>
  277. <pre>&lt;!ENTITY % angle.type "%string.type;"></pre>
  278. Angle type is a string that represents the angle to be used by an arc.
  279. The format is the same as the <a href="http://www.w3.org/TR/REC-CSS2/syndata.html#q19">angles
  280. type in CSS2</a> [<a href="#Ref">CSS2</a>]. It starts with a number (<i>number.type</i>)
  281. followed by an angle unit identifier: <i>deg</i> (degrees), <i>grad</i>
  282. (grads), <i>rad</i> (radians). If no angle unit identifier is given, <i>deg</i>
  283. (degrees) is the default.
  284. <h3>
  285. <a NAME="OT"></a>5.11 Object Type</h3>
  286. <pre>&lt;!ENTITY % object.type "(list | string | real | integer)"></pre>
  287. Object type is an enumerated type that consist of the GML possible values
  288. of an object. A GML file is composed of key-value pairs. The type of the
  289. possible values of the keys are <i>list</i>, <i>string</i>, <i>real</i>
  290. or <i>integer</i>.
  291. <h2>
  292. <a NAME="GraphE"></a>6. Graph Element</h2>
  293. <pre>&lt;!ELEMENT graph (att*,(node | edge)*)>
  294. &lt;!ATTLIST graph
  295. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %global-atts;
  296. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %xml-atts;
  297. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %xlink-atts;
  298. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %graph-atts-safe;
  299. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %graph-atts-gml-unsafe;
  300. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %graph-atts-app-unsafe;></pre>
  301. The <b>graph</b> element is the root element of an XGMML valid document.
  302. This <b>graph</b> element contains the rest of the XGMML elements. The
  303. <b>graph</b>
  304. element&nbsp; may not be unique in the XGMML document. Other graphs can
  305. be included as subgraphs of the main graph. Please refer to the <b>att</b>
  306. element.
  307. <h3>
  308. <a NAME="GlobalA"></a>6.1 Global Attributes</h3>
  309. <pre>&lt;!ENTITY % global-atts "id %number.type; #IMPLIED
  310. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name %string.type; #IMPLIED
  311. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; label %string.type; #IMPLIED
  312. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; labelanchor %string.type; #IMPLIED"></pre>
  313. The following attributes are attributes of all XGMML elements :
  314. <ul>
  315. <li>
  316. <b>id</b> - Unique number to identify the elements of XGMML document</li>
  317. <li>
  318. <b>name</b> - String to identify the elements of XGMML document</li>
  319. <li>
  320. <b>label</b> - Text representation of the XGMML element</li>
  321. <li>
  322. <b>labelanchor</b> - Anchor position of the label related to the graphic
  323. representation of the XGMML element</li>
  324. </ul>
  325. <h3>
  326. <a NAME="XMLA"></a>6.2 XML Attributes</h3>
  327. <pre>&lt;!ENTITY % xml-atts "xmlns CDATA #FIXED 'http://www.cs.rpi.edu/XGMML'
  328. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xml:lang NMTOKEN #IMPLIED
  329. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xml:space (default | preserve) #IMPLIED"></pre>
  330. These attributes are standard XML attributes:
  331. <ul>
  332. <li>
  333. <b>xmlns</b> - This attribute identifies the XML Namespace. [<a href="#Ref">XML-NS</a>]
  334. The namespace for XGMML is the URI : <i>http://www.cs.rpi.edu/XGMML .</i></li>
  335. <li>
  336. <b>xml:lang</b> - This attribute specifies the language used in the values
  337. of the attributes and elements. [<a href="#Ref">ISO 639</a>] [<a href="#Ref">XML-1.0</a>]</li>
  338. <li>
  339. <b>xml:space</b> - This attribute specifies if white space is preserved
  340. or not. The possible values are <i>default </i>and <i>preserve</i>. [<a href="#Ref">XML-1.0</a>]</li>
  341. </ul>
  342. <h3>
  343. <a NAME="XLinkA"></a>6.3 XLink Attributes</h3>
  344. <pre>&lt;!ENTITY % xlink-atts "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
  345. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:type (simple) #FIXED 'simple'
  346. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:role CDATA #IMPLIED
  347. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:title CDATA #IMPLIED
  348. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:show (new|embed|replace) #IMPLIED
  349. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:actuate (onLoad|onRequest) #IMPLIED
  350. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:href CDATA #IMPLIED"></pre>
  351. Nodes and Edges can reference XGMML documents.&nbsp; For example, a node
  352. can represent a graph that can be shown when the user points&nbsp; in the
  353. node. This behavior is similar to hyperlinks in HTML documents. XGMML uses
  354. XLink framework [<a href="#Ref">XLINK</a>]&nbsp; to create hyperlinks either
  355. in nodes or edges. All these attributes are taking directly from the XLink
  356. Working Draft.
  357. <ul>
  358. <li>
  359. <b>xmlns:xlink</b> - This attribute identifies the XML Namespace of XLink.
  360. The namespace for XLink is <i>http://www.w3.org/1999/xlink .</i></li>
  361. <li>
  362. <b>xlink:type</b> - This attribute identifies the type of Xlink. The only
  363. possible value is: <i>simple</i>. The default value is <i>simple</i>. A
  364. simple link associates only two resources.</li>
  365. <li>
  366. <b>xlink:role </b>- This attribute is a machine-readable string to describe
  367. the link's remote resource.</li>
  368. <li>
  369. <b>xlink:title</b> - This attribute is a human-readable string to describe
  370. the link's remote resource.</li>
  371. <li>
  372. <b>xlink:show</b> - This attribute describes the behavior of the application
  373. after an activation of the link. The possible values are <i>new</i> (open
  374. new window), <i>embed </i>(replace the starting resource), <i>replace </i>(load&nbsp;
  375. the resource in the same window).</li>
  376. <li>
  377. <b>xlink:actuate</b> - This attribute also describes the behavior of the
  378. application after an activation of the link. The possible values are <i>onLoad</i>
  379. (the application automatically traverses the link) and <i>onRequest </i>(the
  380. application waits for an event to traverse the link).</li>
  381. <li>
  382. <b>xlink:href</b> - This attribute refers to the URI of the remote resource.</li>
  383. </ul>
  384. <h3>
  385. <a NAME="GraphA"></a>6.4 Graph Attributes</h3>
  386. <pre>&lt;!ENTITY % graph-atts-safe "directed %boolean.type; '0' ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  387. &lt;!ENTITY % graph-atts-gml-unsafe "Vendor %string.type;&nbsp; #IMPLIED">
  388. &lt;!ENTITY % graph-atts-app-unsafe "Scale %number.type; #IMPLIED
  389. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rootnode %number.type; #IMPLIED
  390. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Layout %string.type; #IMPLIED
  391. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Graphic %boolean.type; #IMPLIED"></pre>
  392. The <b>graph</b> attributes can be safe or unsafe and they are:
  393. <ul>
  394. <li>
  395. global attributes</li>
  396. <li>
  397. xml attributes</li>
  398. <li>
  399. xlink attributes</li>
  400. <li>
  401. <b>directed</b> - Boolean value. Graph is directed if this attribute is
  402. 1 (true) otherwise is undirected. The default value is 0 (false).</li>
  403. <li>
  404. <b>Vendor</b> - Unsafe GML key to show the application that created the
  405. XGMML file.</li>
  406. <li>
  407. <b>Scale </b>- Unsafe numeric value to scale the size of the displayed
  408. graph.</li>
  409. <li>
  410. <b>Rootnode </b>- Unsafe id number to identify the root node of the graph.
  411. Useful for tree drawing.</li>
  412. <li>
  413. <b>Layout </b>- Unsafe string that represent the layout that can be applied
  414. to display the graph. The layout name is the name of the algorithm to assign
  415. position to the nodes of the graph. For example: circular.</li>
  416. <li>
  417. <b>Graphic</b> - Unsafe boolean value. If this value is 1 (true), the XGMML
  418. file includes graphical representation of the graph. False means that the
  419. XGMML file includes only topological structure of the graph and the application
  420. program is free to display the graph using any layout.</li>
  421. </ul>
  422. <h3>
  423. <a NAME="GraphMC"></a>6.5 Graph Mixed Content</h3>
  424. The only elements allowed in a <b>graph</b> element are: <b>node</b>, <b>edge</b>
  425. and <b>att</b>. The <b>graph</b> element can be an empty graph. For valid
  426. XGMML documents, <b>att</b>s may be placed first or last, and <b>node</b>s
  427. and <b>edge</b>s may be freely intermingled. Nodes must have different
  428. <b>id</b>s
  429. and <b>name</b>s attributes. Edges can not reference to nodes that are
  430. not included in the XGMML definition.
  431. <h2>
  432. <a NAME="NodeE"></a>7. Node Element</h2>
  433. <pre>&lt;!ELEMENT node (graphics?,att*)>
  434. &lt;!ATTLIST node
  435. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %global-atts;
  436. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %xlink-atts;
  437. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %node-atts-gml-safe;
  438. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %node-atts-app-safe;></pre>
  439. A <b>node</b> element must be included in a <b>graph</b> element. Each
  440. <b>node</b>
  441. element describes the properties of a node object. The node can be rendered
  442. as a graphic object and also can have additional meta information to be
  443. used for the application program. The only elements allowed inside the
  444. node are <b>graphics</b> and <b>att</b>. The graphic representation of
  445. the node is reported on the <b>graphics </b>element. The additional meta
  446. information is reported on the <b>att</b> element.
  447. <h3>
  448. <a NAME="NodeA"></a>7.1 Node Attributes</h3>
  449. <pre>&lt;!ENTITY % node-atts-gml-safe "edgeanchor %anchor.type; #IMPLIED">
  450. &lt;!ENTITY % node-atts-app-safe "weight %string.type;&nbsp; #IMPLIED"></pre>
  451. The node attributes are:
  452. <ul>
  453. <li>
  454. global attributes</li>
  455. <li>
  456. xlink attributes</li>
  457. <li>
  458. <b>edgeancho</b>r - GML key to position the edges related to the node</li>
  459. <li>
  460. <b>weight</b> - value (usually numerical) to show the node weight -Useful
  461. for weight graphs</li>
  462. </ul>
  463. <h2>
  464. <a NAME="NodeMC"></a>7.2 Node Mixed Content</h2>
  465. The<b> graphics</b> and <b>att</b> are the only elements allowed in the
  466. <b>node</b>
  467. element. The <b>graphics</b> element shows the graphical representation
  468. of the node. For example, a graphical representation of a node can be a
  469. rectangle, a circle or a bitmap.&nbsp; An <b>att</b> element is used to
  470. attach additional meta information related to the node. For example, if
  471. a node is a representation of a web page, useful metadata is the title,
  472. date of creation and&nbsp; size of the web page. A node of a graph can
  473. be a subgraph so the <b>att </b>element can be used to include the subgraph.
  474. Please see <b>att</b> element for more details.
  475. <h2>
  476. <a NAME="EdgeE"></a>8. Edge Element</h2>
  477. <pre>&lt;!ELEMENT edge (graphics?,att*)>
  478. &lt;!ATTLIST edge
  479. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %global-atts;
  480. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %xlink-atts;
  481. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %edge-atts-gml-safe;
  482. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %edge-atts-app-safe;></pre>
  483. An <b>edge</b> element must be included in a <b>graph</b> element. For
  484. each <b>edge</b> element at least two <b>node</b> elements have to be included
  485. in the <b>graph</b> element. An edge is between a source node and a target
  486. node. The application program must verify if the source node and target
  487. node are included in the XGMML document. The edge element as the node element
  488. can have a graphical representation and additional metadata information.
  489. The <b>graphics</b> and <b>att </b>elements are the only elements allowed
  490. inside of the <b>edge </b>element. The graphic representation of the edge
  491. is reported on the <b>graphics </b>element. The additional meta information
  492. is reported on the <b>att</b> element.
  493. <h3>
  494. <a NAME="EdgeA"></a>8.1 Edge Attributes</h3>
  495. <pre>&lt;!ENTITY % edge-atts-gml-safe "source %number.type; #REQUIRED
  496. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; target %number.type; #REQUIRED">
  497. &lt;!ENTITY % edge-atts-app-safe "weight %string.type; #IMPLIED"></pre>
  498. The edge attributes are:
  499. <ul>
  500. <li>
  501. global attributes</li>
  502. <li>
  503. xlink attributes</li>
  504. <li>
  505. <b>source </b>- The id number of the source node of the edge</li>
  506. <li>
  507. <b>target</b> - The id number of the target node of the edge</li>
  508. <li>
  509. <b>weight </b>- A string (usually a number) representing the weight of
  510. the edge.</li>
  511. </ul>
  512. <h3>
  513. <a NAME="EdgeMC"></a>8.2 Edge Mixed Content</h3>
  514. The<b> graphics</b> and <b>att</b> are the only elements allowed in an
  515. <b>edge</b>
  516. element. The <b>graphics</b> element shows the graphical representation
  517. of an edge. For example, a graphical representation of an edge can be a&nbsp;
  518. line or an arc.&nbsp; An <b>att</b> element is used to attach additional
  519. meta information related to an edge. For example, if an edge is a representation
  520. of a&nbsp; hyperlink, useful metadata is anchor string and type of the
  521. hyperlink.
  522. <h2>
  523. <a NAME="AttE"></a>9. Att Element</h2>
  524. <pre>&lt;!ELEMENT att (#PCDATA | att | graph)*>
  525. &lt;!ATTLIST att
  526. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %global-atts;
  527. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %attribute-value;
  528. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %attribute-type;></pre>
  529. An <b>att </b>element is used to hold meta information about the element
  530. that contains the <b>att</b> element. An <b>att</b> element can contain
  531. other <b>att</b> elements, for example to represent structured metadata
  532. such as records, lists, etc. A <b>graph </b>element can be contained in
  533. an <b>att</b> element. This graph is considered as a subgraph of the main
  534. graph.
  535. <h2>
  536. <a NAME="AttA"></a>9.1 Att Attributes</h2>
  537. <pre>&lt;!ENTITY % attribute-value "value %string.type; #IMPLIED">
  538. &lt;!ENTITY % attribute-type "type %object.type;&nbsp; #IMPLIED"></pre>
  539. The att attributes are:
  540. <ul>
  541. <li>
  542. global attributes</li>
  543. <li>
  544. <b>name</b> - Global attribute that contains the name of the metadata information.</li>
  545. <li>
  546. <b>value</b> - The value of the metadata information.</li>
  547. <li>
  548. <b>type</b> - The object type of the metadata information. Please refer
  549. to object type section. The default object type is string.</li>
  550. </ul>
  551. For example to attach the information [integer rad = 30] to a node the
  552. following line is included in the node element :
  553. <pre>&lt;att type="integer" name="rad" value="30"/></pre>
  554. <h3>
  555. <a NAME="AttMC"></a>9.2 Att Mixed Content</h3>
  556. All of <b>att</b>, <b>graph</b> and PCDATA can be inside of <b>att</b>
  557. element. An <b>att</b> is an empty element for object types such as integers,
  558. reals and integers. When the object type is a list, other <b>att </b>element
  559. must be inside of the <b>att</b> element to hold the list information.
  560. When a <b>graph</b> element is contained in the <b>att</b> element, that
  561. graph is a subgraph of the main graph.
  562. <p>For example, the metadata of an object&nbsp; <i>person</i> A is name:John,
  563. ssn: 123456789 and e-mail:john@rpi.edu. To attach this metadata to a node
  564. of a graph using the <b>att</b> element, the following lines must be included
  565. in the <b>node</b> element:
  566. <pre>&lt;att type="list" name="person_description">
  567. &lt;att name="name" value="John"/>
  568. &lt;att name="ssn" value="123456789"/>
  569. &lt;att name="e-mail" value="john@rpi.edu"/>
  570. &lt;/att></pre>
  571. <h2>
  572. <a NAME="GLCPE"></a>10. Graphics, Line, Center and Point elements</h2>
  573. <pre>&lt;!ELEMENT graphics ((Line? | center?),att*)>
  574. &lt;!ATTLIST graphics
  575. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %graphics-type-att;
  576. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %point-atts;
  577. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %dimension-atts;
  578. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %external-atts;
  579. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %line-atts;
  580. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %text-atts;
  581. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %bitmap-atts;
  582. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %arc-atts;
  583. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %object-atts;>
  584. &lt;!ELEMENT center EMPTY>
  585. &lt;!ATTLIST center&nbsp;
  586. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %point-atts;>
  587. &lt;!ELEMENT Line (point,point+)>
  588. &lt;!ELEMENT point EMPTY>
  589. &lt;!ATTLIST point&nbsp;
  590. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %point-atts;></pre>
  591. The <b>graphics</b> element defines the graphical representation a graph,
  592. a node or an edge. A <b>graphics </b>element must be&nbsp; included in
  593. a <b>graph</b>, <b>node</b> or <b>edge</b> element. <b>Line</b>, <b>center</b>
  594. and <b>att </b>elements are the only elements that can be contained in
  595. a <b>graphics</b> element. <b>Line</b> element is defined between two <b>point</b>
  596. elements and it is used to represent edges. <b>center </b>element is a
  597. special <b>point </b>element to represent the central point of the graphical
  598. representation of a node. The <b>att </b>element permits to add information
  599. to the graphical representation. All these elements are inherited from
  600. GML.
  601. <h3>
  602. <a NAME="GraphicsA"></a>10.1 Graphics Attributes</h3>
  603. <pre>&lt;!ENTITY % graphics-type-att "type (%type-graphics-gml.type;|
  604. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %type-graphics-app.type;) #IMPLIED">
  605. &lt;!ENTITY % point-atts "x %number.type; #IMPLIED
  606. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y %number.type; #IMPLIED
  607. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; z %number.type; #IMPLIED">
  608. &lt;!ENTITY % dimension-atts "w %number.type; #IMPLIED
  609. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; h %number.type; #IMPLIED
  610. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d %number.type; #IMPLIED">
  611. &lt;!ENTITY % external-atts "image %uri.type; #IMPLIED
  612. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bitmap %uri.type; #IMPLIED">
  613. &lt;!ENTITY % line-atts "width %number.type; #IMPLIED
  614. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arrow %arrow.type; #IMPLIED
  615. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; capstyle %capstyle.type; #IMPLIED
  616. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; joinstyle %joinstyle.type; #IMPLIED
  617. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; smooth %boolean.type; #IMPLIED
  618. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; splinesteps %number.type; #IMPLIED">
  619. &lt;!ENTITY % text-atts "justify %justify.type; #IMPLIED
  620. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font&nbsp; %font.type; #IMPLIED">
  621. &lt;!ENTITY % bitmap-atts "background %color.type; #IMPLIED
  622. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreground %color.type; #IMPLIED">
  623. &lt;!ENTITY % arc-atts "extent %angle.type; #IMPLIED
  624. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start %angle.type; #IMPLIED
  625. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style %arcstyle.type;&nbsp; #IMPLIED">
  626. &lt;!ENTITY % object-atts "stipple %string.type; #IMPLIED
  627. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; visible %boolean.type; #IMPLIED
  628. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fill %color.type; #IMPLIED
  629. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outline %color.type; #IMPLIED
  630. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; anchor %anchor.type; #IMPLIED"></pre>
  631. The graphics attributes are divided in the following groups:
  632. <ul>
  633. <li>
  634. Graphics type attribute</li>
  635. <ul>
  636. <li>
  637. <b>type</b> - The type of the graphic object. The type of graphics objects
  638. are mentioned in section 5.6</li>
  639. </ul>
  640. <li>
  641. Point attributes</li>
  642. <ul>
  643. <li>
  644. <b>x</b>, <b>y</b> and <b>z</b> - The coordinates of a point (x, y, z).
  645. The point can be two or three dimensional</li>
  646. </ul>
  647. <li>
  648. Dimension attributes</li>
  649. <ul>
  650. <li>
  651. <b>w</b>, <b>h</b> and <b>d</b> - The dimensions of the graphic object:
  652. width, height and depth</li>
  653. </ul>
  654. <li>
  655. External attributes</li>
  656. <ul>
  657. <li>
  658. <b>image</b> - The URI of the image that represents a node.</li>
  659. <li>
  660. <b>bitmap</b> - The URI of the bitmap that represents a node.</li>
  661. </ul>
  662. <li>
  663. Line attributes</li>
  664. <ul>
  665. <li>
  666. <b>width </b>- The width of the line.</li>
  667. <li>
  668. <b>arrow</b> - The type of the arrow for directed edges. See section 5.7
  669. for arrow type</li>
  670. <li>
  671. <b>capstyle</b> - Defines the end of the line. See section 5.7</li>
  672. <li>
  673. <b>joinstyle</b> - Defines the Line Joints. See section 5.7</li>
  674. <li>
  675. <b>smooth</b> - Boolean value. If the smooth value is true, the line is
  676. drawn as splines. Otherwise, the line is drawn as straight line</li>
  677. <li>
  678. <b>splinestep</b>s - The number of line segments for the spline</li>
  679. </ul>
  680. <li>
  681. Text attributes</li>
  682. <ul>
  683. <li>
  684. <b>justify</b> - Text justification. See section 5.8</li>
  685. <li>
  686. <b>font</b> - Name of the font to be used for the text</li>
  687. </ul>
  688. <li>
  689. Bitmap attributes</li>
  690. <ul>
  691. <li>
  692. <b>background</b> - Background color to be used for the bitmap</li>
  693. <li>
  694. <b>foreground</b> - Foreground color to be used for the bitmap</li>
  695. </ul>
  696. <li>
  697. Arc attributes</li>
  698. <ul>
  699. <li>
  700. <b>extent</b> - The extension of the arc</li>
  701. <li>
  702. <b>start</b> - The starting angle</li>
  703. <li>
  704. <b>style</b> - The style of the arc. See section 5.7</li>
  705. </ul>
  706. <li>
  707. Graphic object attributes</li>
  708. <ul>
  709. <li>
  710. <b>stipple</b> - The name of the stipple (pattern) to be used for the graphic
  711. object</li>
  712. <li>
  713. <b>visible</b> - Boolean value. If the visible value is true, the graphic
  714. object is visible</li>
  715. <li>
  716. <b>fill</b> - The color of the interior of the graphic object</li>
  717. <li>
  718. <b>outline</b> - The color of the border of the graphic object</li>
  719. <li>
  720. <b>anchor</b> - The anchor position of the graphic object.&nbsp; See Section
  721. 5.5</li>
  722. </ul>
  723. </ul>
  724. <h3>
  725. <a NAME="LPCA"></a>10.2 Line, Point and Center Attributes</h3>
  726. <b>Line</b> element does not have attributes. <b>Line</b> element contains
  727. two or more <b>point</b> elements to define a polyline. <b>Line</b> is
  728. used to represent an edge.
  729. <p>A <b>point </b>element is an empty element that has <b>x</b>, <b>y</b>
  730. and <b>z</b> numeric values as attributes. A <b>center</b> point has the
  731. <b>x</b>,
  732. <b>y
  733. </b>and
  734. <b>z</b>
  735. also as attributes.
  736. <h2>
  737. <a NAME="XGMML-RDF"></a>11. XGMML and RDF</h2>
  738. XGMML well formed documents can include other XML vocabularies. In the
  739. near future, several vocabularies can be combined in one document and validate
  740. it using XML Schemas and Namespaces. RDF (Resource Description Framework)
  741. [<a href="#Ref">RDF</a>] is one way to describe metadata about resources.
  742. XGMML allows the inclusion of metadata information for a Graph, Node and/or
  743. Edge using the
  744. <b>att</b> tag.
  745. <p>These two examples show how to combine XGMML and RDF. The first example
  746. is a graph describing a simple website. The nodes represent webpages and
  747. the edges represent hyperlinks. The metadata of the webpages is included
  748. as attribute of a node. RDF and DC (Dublin Core) [<a href="#Ref">DC</a>]
  749. vocabularies have been used to describe the metadata of the nodes.
  750. <pre>&lt;?xml version="1.0"?>
  751. &lt;graph xmlns = "http://www.cs.rpi.edu/XGMML"
  752. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; directed="1" >
  753. &lt;node id="3" label="http://www.cs.rpi.edu/courses/" weight="5427">
  754. &lt;att>
  755. &lt;rdf:RDF
  756. &nbsp; xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  757. &nbsp; xmlns:dc="http://purl.org/dc/elements/1.0/">
  758. &nbsp; &lt;rdf:Description about="http://www.cs.rpi.edu/courses/"
  759. &nbsp;&nbsp;&nbsp; dc:title="Courses at Rensselaer Computer Science
  760. &nbsp;&nbsp;&nbsp; Department"
  761. &nbsp;&nbsp;&nbsp; dc:subject="www@cs.rpi.edu; M.S. requirements; CSCI-1190
  762. &nbsp;&nbsp;&nbsp; Beginning C Programming for Engineers; Courses; People;
  763. &nbsp;&nbsp;&nbsp; Graduate Program; CSCI-4020 Computer&nbsp; Algorithms; CSCI-
  764. &nbsp;&nbsp;&nbsp; 2220-01&nbsp; Programming in Java; Research; Course Selection
  765. &nbsp;&nbsp;&nbsp; Guide; CSCI-4961-01,&nbsp; CSCI-6961-01 Advanced Robotics;&nbsp;
  766. &nbsp;&nbsp;&nbsp; Programming in Java; CSCI-2400 Models&nbsp; of Computation"
  767. &nbsp;&nbsp;&nbsp; dc:date="2000-01-31"
  768. &nbsp;&nbsp;&nbsp; dc:type="Text"
  769. &nbsp;&nbsp;&nbsp; >
  770. &nbsp;&nbsp;&nbsp; &lt;dc:format>
  771. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:Bag
  772. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rdf:_1="text/html"
  773. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rdf:_2="5427 bytes"
  774. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; />
  775. &nbsp;&nbsp;&nbsp; &lt;/dc:format>
  776. &nbsp; &lt;/rdf:Description>
  777. &lt;/rdf:RDF>
  778. &lt;/att>
  779. &lt;/node>
  780. &lt;node id="7" label="http://www.cs.rpi.edu/research/" weight="5508">
  781. &lt;att>
  782. &lt;rdf:RDF
  783. &nbsp; xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  784. &nbsp; xmlns:dc="http://purl.org/dc/elements/1.0/">
  785. &nbsp; &lt;rdf:Description about="http://www.cs.rpi.edu/research/"
  786. &nbsp;&nbsp;&nbsp; dc:title="Research at Rensselaer Computer Science
  787. &nbsp;&nbsp;&nbsp; Department"
  788. &nbsp;&nbsp;&nbsp; dc:subject="www@cs.rpi.edu; Computing&nbsp; Twin Primes and
  789. &nbsp;&nbsp;&nbsp; Brun's Constant; Generic Programming; ASHE; Current
  790. &nbsp;&nbsp;&nbsp; Events; TEMPEST; Courses; People; Graduate Program; High-
  791. &nbsp;&nbsp;&nbsp; Performance&nbsp; Object-Oriented Programming in Fortran 90;
  792. &nbsp;&nbsp;&nbsp; High Performance&nbsp; Problem-Solving Environment for
  793. &nbsp;&nbsp;&nbsp; Optimization and Control of&nbsp; Chemical and Biological
  794. &nbsp;&nbsp;&nbsp; Processes; Computer Vision; Theory and Algorithms;
  795. &nbsp;&nbsp;&nbsp; technical report library; RPInfo; Undergraduate&nbsp; Program;
  796. &nbsp;&nbsp;&nbsp; Research; Research; Design Conference Room; Rensselaer;
  797. &nbsp;&nbsp;&nbsp; Bryan Rudge; Engineering Databases; anonymous ftp; I.SEE;
  798. &nbsp;&nbsp;&nbsp; info@cs.rpi.edu; Scientific Computing; OpenMath; Proactive
  799. &nbsp;&nbsp;&nbsp; Network Problem Avoidance; Computing&nbsp;&nbsp; Facilities; Computer
  800. &nbsp;&nbsp;&nbsp; Science Department"
  801. &nbsp;&nbsp;&nbsp; dc:date="1999-11-19"
  802. &nbsp;&nbsp;&nbsp; dc:type="Text"
  803. &nbsp;&nbsp;&nbsp; >
  804. &nbsp;&nbsp;&nbsp; &lt;dc:format>
  805. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:Bag
  806. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rdf:_1="text/html"
  807. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rdf:_2="5508 bytes"
  808. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; />
  809. &nbsp;&nbsp;&nbsp; &lt;/dc:format>
  810. &nbsp; &lt;/rdf:Description>
  811. &lt;/rdf:RDF>
  812. &lt;/att>
  813. &lt;/node>
  814. &lt;node id="8" label="http://www.cs.rpi.edu/undergrad/" weight="7511">
  815. &lt;att>
  816. &lt;rdf:RDF
  817. &nbsp; xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  818. &nbsp; xmlns:dc="http://purl.org/dc/elements/1.0/">
  819. &nbsp; &lt;rdf:Description about="http://www.cs.rpi.edu/undergrad/"
  820. &nbsp;&nbsp;&nbsp; dc:title="Undergraduate Program at Rensselaer Computer
  821. &nbsp;&nbsp;&nbsp; Science Department"
  822. &nbsp;&nbsp;&nbsp; dc:subject="www@cs.rpi.edu; Association for Computing
  823. &nbsp;&nbsp;&nbsp; Machinery; People; Graduate Program; Minor; Prospective
  824. &nbsp;&nbsp;&nbsp; Students FAQ; Admissions Office; Research; BS-MS Degree;
  825. &nbsp;&nbsp;&nbsp; Rensselaer Catalog; Dual Majors; Admissions; ; Computing
  826. &nbsp;&nbsp;&nbsp; Facilities; Undergraduate&nbsp; Program; Rensselaer; Course&nbsp;&nbsp;
  827. &nbsp;&nbsp;&nbsp; Descriptions;Computer Science Department"
  828. &nbsp;&nbsp;&nbsp; dc:date="2000-01-26"
  829. &nbsp;&nbsp;&nbsp; dc:type="Text"
  830. &nbsp;&nbsp;&nbsp; >
  831. &nbsp;&nbsp;&nbsp; &lt;dc:format>
  832. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:Bag
  833. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rdf:_1="text/html"
  834. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rdf:_2="7511 bytes"
  835. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; />
  836. &nbsp;&nbsp;&nbsp; &lt;/dc:format>
  837. &nbsp; &lt;/rdf:Description>
  838. &lt;/rdf:RDF>
  839. &lt;/att>
  840. &lt;/node>
  841. &lt;node id="1" label="http://www.cs.rpi.edu/" weight="3352">
  842. &lt;att>
  843. &lt;rdf:RDF
  844. &nbsp; xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  845. &nbsp; xmlns:dc="http://purl.org/dc/elements/1.0/">
  846. &nbsp; &lt;rdf:Description about="http://www.cs.rpi.edu/"
  847. &nbsp;&nbsp;&nbsp; dc:title="Rensselaer Computer Science Department"
  848. &nbsp;&nbsp;&nbsp; dc:subject="www@cs.rpi.edu; faculty positions; Rensselaer;
  849. &nbsp;&nbsp;&nbsp; Bryan Rudge; Computing Facilities; Courses; People;
  850. &nbsp;&nbsp;&nbsp; Graduate Program; info@cs.rpi.edu; Current Events; ;
  851. &nbsp;&nbsp;&nbsp; RPInfo; Research; Undergraduate&nbsp; Program"
  852. &nbsp;&nbsp;&nbsp; dc:date="2000-01-26"
  853. &nbsp;&nbsp;&nbsp; dc:type="Text"
  854. &nbsp;&nbsp;&nbsp; >
  855. &nbsp;&nbsp;&nbsp; &lt;dc:format>
  856. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:Bag
  857. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rdf:_1="text/html"
  858. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rdf:_2="3352 bytes"
  859. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; />
  860. &nbsp;&nbsp;&nbsp; &lt;/dc:format>
  861. &nbsp; &lt;/rdf:Description>
  862. &lt;/rdf:RDF>
  863. &lt;/att>
  864. &lt;/node>
  865. &lt;edge source="1" target="3" weight="0" label="SRC IMG gfx/courses2.jpg" />
  866. &lt;edge source="7" target="3" weight="0" label="SRC IMG ../gfx/courses2.jpg" />
  867. &lt;edge source="8" target="3" weight="0" label="SRC IMG ../gfx/courses2.jpg" />
  868. &lt;edge source="3" target="7" weight="0" label="SRC IMG ../../gfx/research2.jpg" />
  869. &lt;edge source="1" target="7" weight="0" label="SRC IMG gfx/research2.jpg" />
  870. &lt;edge source="8" target="7" weight="0" label="SRC IMG ../gfx/research2.jpg" />
  871. &lt;edge source="3" target="8" weight="0" label="SRC IMG ../../gfx/ugrad2.jpg" />
  872. &lt;edge source="7" target="8" weight="0" label="SRC IMG ../gfx/ugrad2.jpg" />
  873. &lt;edge source="1" target="8" weight="0" label="SRC IMG gfx/ugrad2.jpg" />
  874. &lt;edge source="3" target="1" weight="0" label="SRC IMG ../../gfx/corner2.jpg" />
  875. &lt;edge source="7" target="1" weight="0" label="SRC IMG ../gfx/corner2.jpg" />
  876. &lt;edge source="8" target="1" weight="0" label="SRC IMG ../gfx/corner2.jpg" />
  877. &lt;/graph></pre>
  878. The second example is a simple graph showing a relationship between two
  879. people. The metadata information about a person can be included as an attribute
  880. of the node. RDF and VCard (The Electronic Business Card) [<a href="#Ref">VCARD</a>]
  881. vocabularies have been used to describe the metadata of the nodes
  882. <br>&nbsp;
  883. <pre>&lt;?xml version="1.0"?>
  884. &lt;graph xmlns = "http://www.cs.rpi.edu/XGMML"&nbsp; directed="1" >
  885. &lt;node id="1" label="Mukkai Krishnamoorthy">
  886. &lt;att>
  887. &nbsp;&nbsp;&nbsp; &lt;rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  888. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns:vCard = "http://imc.org/vCard/3.0#" >
  889. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:Description about = "http://www.cs.rpi.edu/~moorthy" >
  890. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:FN> Mukkai Krishnamoorthy &lt;/vCard:FN>
  891. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:N rdf:parseType="Resource">
  892. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:Family> Krishnamoorthy &lt;/vCard:Family>
  893. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:Given> Mukkai &lt;/vCard:Given>
  894. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/vCard:N>
  895. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:EMAIL>
  896. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:value> moorthy@cs.rpi.edu &lt;/rdf:value>
  897. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:type resource ="http://imc.org/vCard/3.0#internet" />
  898. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/vCard:EMAIL>
  899. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:ORG rdf:parseType="Resource">
  900. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:Orgname> RPI &lt;/vCard:Orgname>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  901. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:Orgunit>
  902. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:seq>
  903. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:li> Computer Science &lt;/rdf:li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  904. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:li> Professor &lt;/rdf:li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  905. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/rdf:seq>
  906. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/vCard:Orgunit>
  907. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/vCard:ORG>
  908. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/rdf:Description>
  909. &nbsp;&nbsp;&nbsp; &lt;/rdf:RDF>
  910. &lt;/att>
  911. &lt;/node>
  912. &lt;node id="2" label="John Punin">
  913. &lt;att>
  914. &nbsp;&nbsp;&nbsp; &lt;rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  915. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns:vCard = "http://imc.org/vCard/3.0#" >
  916. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:Description about = "http://www.cs.rpi.edu/~puninj" >
  917. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:FN> John Punin &lt;/vCard:FN>
  918. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:N rdf:parseType="Resource">
  919. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:Family> Punin &lt;/vCard:Family>
  920. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:Given>&nbsp; John &lt;/vCard:Given>
  921. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/vCard:N>
  922. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:EMAIL>
  923. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:value> puninj@cs.rpi.edu &lt;/rdf:value>
  924. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:type resource ="http://imc.org/vCard/3.0#internet" />
  925. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/vCard:EMAIL>
  926. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:ORG rdf:parseType="Resource">
  927. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:Orgname> RPI &lt;/vCard:Orgname>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  928. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;vCard:Orgunit>
  929. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:seq>
  930. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:li> Computer Science &lt;/rdf:li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  931. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rdf:li> PhD student &lt;/rdf:li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  932. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/rdf:seq>
  933. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/vCard:Orgunit>
  934. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/vCard:ORG>
  935. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/rdf:Description>
  936. &nbsp;&nbsp;&nbsp; &lt;/rdf:RDF>
  937. &lt;/att>
  938. &lt;/node>
  939. &lt;edge source="1" target="2" weight="0" label="advisor"/>
  940. &lt;edge source="2" target="1" weight="0" label="advisee"/>
  941. &lt;/graph></pre>
  942. <h2>
  943. <a NAME="Appendices"></a>Appendices</h2>
  944. <h2>
  945. <a NAME="Characters"></a>A. Characters</h2>
  946. Since XGMML is an application of XML, XGMML supports Unicode [<a href="#Ref">XML-1.0</a>].
  947. An XGMML character is defined to be an Unicode character [<a href="#Ref">Unicode</a>].
  948. Any Unicode character allowed by XML is also allowed by XGMML. XGMML documents
  949. are assumed to be written in UTF-8 if the encoding specification is omitted.
  950. XGMML applications besides supporting UTF-8 default encoding, should also
  951. support iso-8859-1 (Latin 1) encoding. <a href="http://www.w3.org/TR/REC-xml#CharClasses">Appendix
  952. B of XML 1.0</a> document explains in more detail what Unicode characters
  953. can be used for tag names.
  954. <h2>
  955. <a NAME="XGMML-DTD"></a>B. XGMML 1.0 DTD</h2>
  956. <pre>&lt;!-- DTD for XGMML 1.0 -->
  957. &lt;!-- Authors: John Punin and Mukkai Krishnamoorthy -->
  958. &lt;!-- Computer Science Department -->
  959. &lt;!-- Rensselaer Polytechnic Institute -->
  960. &lt;!-- xgmml.dtd,v 1.0 06/27/2001 -->
  961. &lt;!-- Boolean type -->
  962. &lt;!ENTITY % boolean.type "(0|1)" >
  963. &lt;!-- Positive number type -->
  964. &lt;!ENTITY % number.type "NMTOKEN">
  965. &lt;!-- ID type -->
  966. &lt;!ENTITY % id.type "NMTOKEN">
  967. &lt;!-- String type -->
  968. &lt;!ENTITY % string.type "CDATA">
  969. &lt;!-- Standard XML Namespace attribute -->
  970. &lt;!ENTITY % nds 'xmlns'>
  971. &lt;!-- URI type -->
  972. &lt;!ENTITY % uri.type "%string.type;">
  973. &lt;!-- Anchor type -->
  974. &lt;!ENTITY % anchor.type "(c|n|ne|e|se|s|sw|w|nw)">
  975. &lt;!-- Type of Graphics (GML types) -->
  976. &lt;!ENTITY % type-graphics-gml.type "arc|bitmap|image|line|oval|polygon|
  977. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rectangle|text">
  978. &lt;!-- Type of Graphics (New types) -->
  979. &lt;!ENTITY % type-graphics-app.type "box|circle|ver_ellipsis|hor_ellipsis|
  980. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rhombus|triangle|pentagon|hexagon|
  981. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; octagon">
  982. &lt;!-- Line types -->
  983. &lt;!-- Arrow type -->
  984. &lt;!ENTITY % arrow.type "(none | first | last | both)">
  985. &lt;!-- Capstyle type -->
  986. &lt;!ENTITY % capstyle.type "(butt | projecting | round)">
  987. &lt;!-- Joinstyle type -->
  988. &lt;!ENTITY % joinstyle.type "(bevel | miter | round)">
  989. &lt;!-- Arc style&nbsp; type -->
  990. &lt;!ENTITY % arcstyle.type "(pieslice | chord | arc)">
  991. &lt;!-- Text types -->
  992. &lt;!-- Text justification type -->
  993. &lt;!ENTITY % justify.type "(left | right | center)">
  994. &lt;!-- Font type -->
  995. &lt;!ENTITY % font.type "%string.type;">
  996. &lt;!-- Color type -->
  997. &lt;!ENTITY % color.type "%string.type;">
  998. &lt;!-- Angle type -->
  999. &lt;!ENTITY % angle.type "%string.type;">
  1000. &lt;!-- Object type -->
  1001. &lt;!ENTITY % object.type "(list | string | real | integer)">
  1002. &lt;!-- Global Attributes -->
  1003. &lt;!ENTITY % global-atts "id %number.type; #IMPLIED
  1004. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name %string.type; #IMPLIED
  1005. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; label %string.type; #IMPLIED
  1006. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; labelanchor %string.type; #IMPLIED">
  1007. &lt;!-- Standard XML Attributes -->
  1008. &lt;!ENTITY % xml-atts "%nds; %uri.type; #FIXED 'http://www.cs.rpi.edu/XGMML'&nbsp;
  1009. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xml:lang NMTOKEN #IMPLIED
  1010. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xml:space (default | preserve) #IMPLIED">
  1011. &lt;!-- Standard XLink Attributes -->
  1012. &lt;!ENTITY % xlink-atts&nbsp;
  1013. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
  1014. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:type (simple) #FIXED 'simple'&nbsp;
  1015. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:role CDATA #IMPLIED
  1016. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:title CDATA #IMPLIED
  1017. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:show (new|embed|replace) #FIXED 'replace'
  1018. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:actuate (onLoad|onRequest) #FIXED 'onRequest'
  1019. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:href CDATA #IMPLIED">
  1020. &lt;!-- Safe Graph Attributes -->
  1021. &lt;!ENTITY % graph-atts-safe "directed %boolean.type; '0' ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1022. &lt;!-- Unsafe Graph Attributes (GML) -->
  1023. &lt;!ENTITY % graph-atts-gml-unsafe "Vendor %string.type;&nbsp; #IMPLIED">
  1024. &lt;!-- Unsafe Graph Attributes (new attributes) -->
  1025. &lt;!ENTITY % graph-atts-app-unsafe "Scale %number.type; #IMPLIED
  1026. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rootnode %number.type; #IMPLIED
  1027. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Layout %string.type; #IMPLIED
  1028. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Graphic %boolean.type; #IMPLIED">
  1029. &lt;!-- Graph Element -->
  1030. &lt;!ELEMENT graph (att*,(node | edge)*)>
  1031. &lt;!-- Graph Attributes -->
  1032. &lt;!ATTLIST graph
  1033. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %global-atts;
  1034. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %xml-atts;
  1035. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %xlink-atts;
  1036. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %graph-atts-safe;
  1037. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %graph-atts-gml-unsafe;
  1038. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %graph-atts-app-unsafe;>
  1039. &lt;!-- Safe Node Attributes (GML) -->
  1040. &lt;!ENTITY % node-atts-gml-safe "edgeanchor %string.type; #IMPLIED">
  1041. &lt;!-- Safe Node Attributes (new attributes) -->
  1042. &lt;!ENTITY % node-atts-app-safe "weight %string.type;&nbsp; #IMPLIED">
  1043. &lt;!-- Node Element -->
  1044. &lt;!ELEMENT node (graphics?,att*)>
  1045. &lt;!-- Node Attributes -->
  1046. &lt;!ATTLIST node
  1047. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %global-atts;
  1048. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %xlink-atts;
  1049. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %node-atts-gml-safe;
  1050. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %node-atts-app-safe;>
  1051. &lt;!-- Safe Edge Attributes (GML) -->
  1052. &lt;!ENTITY % edge-atts-gml-safe "source %number.type; #REQUIRED
  1053. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; target %number.type; #REQUIRED">
  1054. &lt;!-- Safe Edge Attributes (new attributes) -->
  1055. &lt;!ENTITY % edge-atts-app-safe "weight %string.type; #IMPLIED">
  1056. &lt;!-- Edge Element -->
  1057. &lt;!ELEMENT edge (graphics?,att*)>
  1058. &lt;!-- Edge Attributes -->
  1059. &lt;!ATTLIST edge
  1060. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %global-atts;
  1061. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %xlink-atts;
  1062. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %edge-atts-gml-safe;
  1063. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %edge-atts-app-safe;>
  1064. &lt;!-- Graphics Type&nbsp; -->
  1065. &lt;!ENTITY % graphics-type-att "type (%type-graphics-gml.type;|
  1066. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %type-graphics-app.type;) #IMPLIED">
  1067. &lt;!-- Point Attributes (x,y,z)&nbsp; -->
  1068. &lt;!ENTITY % point-atts "x %number.type; #IMPLIED
  1069. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y %number.type; #IMPLIED
  1070. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; z %number.type; #IMPLIED">
  1071. &lt;!-- Dimension Attributes (width,height,depth)&nbsp; -->
  1072. &lt;!ENTITY % dimension-atts "w %number.type; #IMPLIED
  1073. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; h %number.type; #IMPLIED
  1074. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d %number.type; #IMPLIED">
  1075. &lt;!-- External Attributes (Image and Bitmap)&nbsp; -->
  1076. &lt;!ENTITY % external-atts "image %uri.type; #IMPLIED
  1077. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bitmap %uri.type; #IMPLIED">
  1078. &lt;!-- Line Attributes -->
  1079. &lt;!ENTITY % line-atts "width %number.type; #IMPLIED
  1080. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arrow %arrow.type; #IMPLIED
  1081. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; capstyle %capstyle.type; #IMPLIED
  1082. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; joinstyle %joinstyle.type; #IMPLIED
  1083. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; smooth %boolean.type; #IMPLIED
  1084. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; splinesteps %number.type; #IMPLIED">
  1085. &lt;!-- Text Attributes -->
  1086. &lt;!ENTITY % text-atts "justify %justify.type; #IMPLIED
  1087. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font&nbsp; %font.type; #IMPLIED">
  1088. &lt;!-- Bitmap Attributes -->
  1089. &lt;!ENTITY % bitmap-atts "background %color.type; #IMPLIED
  1090. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreground %color.type; #IMPLIED">
  1091. &lt;!-- Arc Attributes -->
  1092. &lt;!ENTITY % arc-atts "extent %angle.type; #IMPLIED
  1093. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start %angle.type; #IMPLIED
  1094. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; style %arcstyle.type;&nbsp; #IMPLIED">
  1095. &lt;!-- Graphical Object Attributes -->
  1096. &lt;!ENTITY % object-atts "stipple %string.type; #IMPLIED
  1097. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; visible %boolean.type; #IMPLIED
  1098. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fill %color.type; #IMPLIED
  1099. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outline %color.type; #IMPLIED
  1100. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; anchor %anchor.type; #IMPLIED">
  1101. &lt;!-- Graphics Element -->
  1102. &lt;!ELEMENT graphics ((Line? | center?),att*)>
  1103. &lt;!-- Graphics Attributes -->
  1104. &lt;!ATTLIST graphics
  1105. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %graphics-type-att;
  1106. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %point-atts;
  1107. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %dimension-atts;
  1108. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %external-atts;
  1109. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %line-atts;
  1110. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %text-atts;
  1111. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %bitmap-atts;
  1112. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %arc-atts;
  1113. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %object-atts;>
  1114. &lt;!-- Center Point Element -->
  1115. &lt;!ELEMENT center EMPTY>
  1116. &lt;!ATTLIST center&nbsp;
  1117. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %point-atts;>
  1118. &lt;!-- Line Element -->
  1119. &lt;!ELEMENT Line (point,point+)>
  1120. &lt;!-- Point Element -->
  1121. &lt;!ELEMENT point EMPTY>
  1122. &lt;!ATTLIST point&nbsp;
  1123. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %point-atts;>
  1124. &lt;!-- Value Attribute -->
  1125. &lt;!ENTITY % attribute-value "value %string.type; #IMPLIED">
  1126. &lt;!-- Type Attribute -->
  1127. &lt;!ENTITY % attribute-type "type %object.type;&nbsp; #IMPLIED">
  1128. &lt;!-- Att Element -->
  1129. &lt;!ELEMENT att (#PCDATA | att | graph)*>
  1130. &lt;!-- Att Attributes -->
  1131. &lt;!ATTLIST att
  1132. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %global-atts;
  1133. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %attribute-value;
  1134. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %attribute-type;></pre>
  1135. <h2>
  1136. <a NAME="XGMML-Schema"></a>C. XGMML 1.0 Schema</h2>
  1137. <pre>&lt;?xml version='1.0'?>
  1138. &lt;!-- XML schema for XGMML 1.0 -->
  1139. &lt;!-- Authors: John Punin and Mukkai Krishnamoorthy -->
  1140. &lt;!-- Computer Science Department -->
  1141. &lt;!-- Rensselaer Polytechnic Institute -->
  1142. &lt;!-- xgmml.xsd,v 1.0 06/27/2001 -->
  1143. &lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"&nbsp;
  1144. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; targetNamespace="http://www.cs.rpi.edu/XGMML"&nbsp;
  1145. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns:xml="http://www.w3.org/XML/1998/namespace"
  1146. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns:xlink="http://www.w3.org/1999/xlink"
  1147. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns="http://www.cs.rpi.edu/XGMML"&nbsp;
  1148. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elementFormDefault="qualified"
  1149. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; attributeFormDefault="unqualified"
  1150. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; version="xgmml 1.0">
  1151. &lt;!-- get access to the xml: attribute groups for xml:lang -->
  1152. &lt;xsd:import namespace="http://www.w3.org/XML/1998/namespace"&nbsp;
  1153. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; schemaLocation="http://www.w3.org/2001/xml.xsd"/>
  1154. &lt;!-- get access to the xlink: attribute groups for xlink:type (simple) -->
  1155. &lt;xsd:import namespace="http://www.w3.org/1999/xlink"&nbsp;
  1156. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; schemaLocation="xlinks-2001.xsd"/>
  1157. &lt;!-- Boolean type -->
  1158. &lt;xsd:simpleType name="boolean.type">
  1159. &nbsp;&lt;xsd:restriction base="xsd:nonNegativeInteger">
  1160. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="0"/>
  1161. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="1"/>
  1162. &nbsp;&lt;/xsd:restriction>
  1163. &lt;/xsd:simpleType>
  1164. &lt;!-- Positive number type -->
  1165. &lt;xsd:simpleType name="number.type">
  1166. &nbsp; &lt;xsd:restriction base="xsd:nonNegativeInteger"/>
  1167. &lt;/xsd:simpleType>
  1168. &lt;!-- ID type -->
  1169. &lt;xsd:simpleType name="id.type">
  1170. &nbsp; &lt;xsd:restriction base="number.type"/>
  1171. &lt;/xsd:simpleType>
  1172. &lt;!-- String type -->
  1173. &lt;xsd:simpleType name="string.type">
  1174. &nbsp; &lt;xsd:restriction base="xsd:string"/>
  1175. &lt;/xsd:simpleType>
  1176. &lt;!-- URI type -->
  1177. &lt;xsd:simpleType name="uri.type">
  1178. &nbsp; &lt;xsd:restriction base="xsd:anyURI"/>
  1179. &lt;/xsd:simpleType>
  1180. &lt;!-- Anchor type -->
  1181. &lt;xsd:simpleType name="anchor.type">
  1182. &nbsp; &lt;xsd:restriction base="xsd:NMTOKEN">
  1183. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="c"/>
  1184. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="n"/>
  1185. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="ne"/>
  1186. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="e"/>
  1187. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="se"/>
  1188. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="s"/>
  1189. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="sw"/>
  1190. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="w"/>
  1191. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="nw"/>
  1192. &nbsp; &lt;/xsd:restriction>
  1193. &lt;/xsd:simpleType>
  1194. &lt;!-- Graphics Type&nbsp; -->
  1195. &lt;xsd:simpleType name="type-graphics.type">
  1196. &nbsp; &lt;xsd:restriction base="xsd:NMTOKEN">
  1197. &lt;!-- Type of Graphics (GML types) type-graphics-gml.type -->
  1198. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="arc"/>
  1199. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="bitmap"/>
  1200. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="image"/>
  1201. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="line"/>
  1202. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="oval"/>
  1203. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="polygon"/>
  1204. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="rectangle"/>
  1205. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="text"/>
  1206. &lt;!-- Type of Graphics (New types) type-graphics-app.type -->
  1207. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="box"/>
  1208. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="circle"/>
  1209. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="ver_ellipsis"/>
  1210. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="hor_ellipsis"/>
  1211. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="rhombus"/>
  1212. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="triangle"/>
  1213. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="pentagon"/>
  1214. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="hexagon"/>
  1215. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="octagon"/>
  1216. &nbsp;&nbsp; &lt;/xsd:restriction>
  1217. &lt;/xsd:simpleType>
  1218. &lt;!-- Line types -->
  1219. &lt;!-- Arrow type -->
  1220. &lt;xsd:simpleType name="arrow.type">
  1221. &nbsp; &lt;xsd:restriction base="xsd:NMTOKEN">
  1222. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="none"/>
  1223. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="first"/>
  1224. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="last"/>
  1225. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="both"/>
  1226. &nbsp; &lt;/xsd:restriction>
  1227. &lt;/xsd:simpleType>
  1228. &lt;!-- Capstyle type -->
  1229. &lt;xsd:simpleType name="capstyle.type">
  1230. &nbsp;&nbsp; &lt;xsd:restriction base="xsd:NMTOKEN">
  1231. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="butt"/>
  1232. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="projecting"/>
  1233. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="round"/>
  1234. &nbsp;&nbsp; &lt;/xsd:restriction>
  1235. &lt;/xsd:simpleType>
  1236. &lt;!-- Joinstyle type -->
  1237. &lt;xsd:simpleType name="joinstyle.type">&nbsp;
  1238. &nbsp;&nbsp; &lt;xsd:restriction base="xsd:NMTOKEN">
  1239. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="bevel"/>
  1240. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="miter"/>
  1241. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="round"/>
  1242. &nbsp;&nbsp; &lt;/xsd:restriction>
  1243. &lt;/xsd:simpleType>
  1244. &lt;!-- Arc style&nbsp; type -->
  1245. &lt;xsd:simpleType name="arcstyle.type">&nbsp;
  1246. &nbsp;&nbsp; &lt;xsd:restriction base="xsd:NMTOKEN">
  1247. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="pieslice"/>
  1248. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="chord"/>
  1249. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="arc"/>
  1250. &nbsp;&nbsp; &lt;/xsd:restriction>
  1251. &lt;/xsd:simpleType>
  1252. &lt;!-- Text types -->
  1253. &lt;!-- Text justification type -->
  1254. &lt;xsd:simpleType name="justify.type">
  1255. &nbsp;&nbsp; &lt;xsd:restriction base="xsd:NMTOKEN">
  1256. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="left"/>
  1257. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="right"/>
  1258. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="center"/>
  1259. &nbsp;&nbsp; &lt;/xsd:restriction>
  1260. &lt;/xsd:simpleType>
  1261. &lt;!-- Font type -->
  1262. &lt;xsd:simpleType name="font.type">
  1263. &nbsp; &lt;xsd:restriction base="xsd:string"/>
  1264. &lt;/xsd:simpleType>
  1265. &lt;!-- Color type -->
  1266. &lt;xsd:simpleType name="color.type">&nbsp;
  1267. &nbsp;&nbsp; &lt;xsd:restriction base="xsd:string"/>
  1268. &lt;/xsd:simpleType>
  1269. &lt;!-- Angle type -->
  1270. &lt;!-- Number followed by unit identifier (deg, grad or rad)&nbsp; -->
  1271. &lt;xsd:simpleType name="angle.type">
  1272. &nbsp;&nbsp; &lt;xsd:restriction base="xsd:string">
  1273. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:pattern value="(\+|-)?\d*(deg|grad|rad)?"/>
  1274. &nbsp;&nbsp; &lt;/xsd:restriction>
  1275. &lt;/xsd:simpleType>
  1276. &lt;!-- Object type -->
  1277. &lt;xsd:simpleType name="object.type">&nbsp;
  1278. &nbsp;&nbsp; &lt;xsd:restriction base="xsd:NMTOKEN">
  1279. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="list"/>
  1280. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="string"/>
  1281. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="real"/>
  1282. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:enumeration value="integer"/>
  1283. &nbsp;&nbsp; &lt;/xsd:restriction>
  1284. &lt;/xsd:simpleType>
  1285. &lt;!-- Global Attributes -->
  1286. &lt;xsd:attributeGroup name="global-atts">
  1287. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="id" type="number.type"/>
  1288. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="name" type="string.type"/>
  1289. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="label" type="string.type"/>
  1290. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="labelanchor" type="string.type"/>
  1291. &lt;/xsd:attributeGroup>
  1292. &lt;!-- Standard XML Attributes -->
  1293. &lt;xsd:attributeGroup name="xml-atts">
  1294. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute ref="xml:lang"/>
  1295. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute ref="xml:space"/>
  1296. &lt;/xsd:attributeGroup>
  1297. &lt;!-- Safe Graph Attributes -->
  1298. &lt;xsd:attributeGroup name="graph-atts-safe">
  1299. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="directed" type="boolean.type"&nbsp;
  1300. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default="0"/>
  1301. &lt;/xsd:attributeGroup>
  1302. &lt;!-- Unsafe Graph Attributes (GML) -->
  1303. &lt;xsd:attributeGroup name="graph-atts-gml-unsafe">
  1304. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="Vendor" type="string.type"/>
  1305. &lt;/xsd:attributeGroup>
  1306. &lt;!-- Unsafe Graph Attributes (new attributes) (Graphics attributes) -->
  1307. &lt;xsd:attributeGroup name="graph-atts-app-unsafe-gr">
  1308. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="Scale" type="xsd:integer"/>
  1309. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="Layout" type="string.type"/>
  1310. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="Graphic" type="boolean.type"/>
  1311. &lt;/xsd:attributeGroup>
  1312. &lt;!-- Unsafe Graph Attributes (new attributes) (Structural attributes) -->
  1313. &lt;xsd:attributeGroup name="graph-atts-app-unsafe-ngr">
  1314. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="Rootnode" type="number.type"/>
  1315. &lt;/xsd:attributeGroup>
  1316. &lt;!-- Simple Graph (Structural graph) -->
  1317. &lt;xsd:complexType name="simpleGraph">
  1318. &nbsp;&nbsp; &lt;xsd:sequence>
  1319. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element ref="att" minOccurs="0" maxOccurs="unbounded"/>
  1320. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:choice minOccurs="0" maxOccurs="unbounded">&nbsp;
  1321. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element ref="node"/>
  1322. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element ref="edge"/>
  1323. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:choice>
  1324. &nbsp;&nbsp; &lt;/xsd:sequence>
  1325. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="global-atts"/>
  1326. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="xml-atts"/>
  1327. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="xlink:simpleLink"/>
  1328. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="graph-atts-safe"/>
  1329. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="graph-atts-gml-unsafe"/>
  1330. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="graph-atts-app-unsafe-ngr"/>
  1331. &lt;/xsd:complexType>
  1332. &lt;!-- Graphical Graph "is a" Simple Graph -->
  1333. &lt;xsd:complexType name="graphicGraph">
  1334. &nbsp;&nbsp; &lt;xsd:complexContent>
  1335. &nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:extension base="simpleGraph">&nbsp;
  1336. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="graph-atts-app-unsafe-gr"/>
  1337. &nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:extension>
  1338. &nbsp;&nbsp; &lt;/xsd:complexContent>
  1339. &lt;/xsd:complexType>
  1340. &lt;!-- Graph Element -->
  1341. &lt;xsd:element name="graph" type="graphicGraph"/>
  1342. &lt;!-- Safe Node Attributes (GML) -->
  1343. &lt;xsd:attributeGroup name="node-atts-gml-safe">
  1344. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="edgeanchor" type="string.type"/>
  1345. &lt;/xsd:attributeGroup>
  1346. &lt;!-- Safe Node Attributes (new attributes) -->
  1347. &lt;xsd:attributeGroup name="node-atts-app-safe">
  1348. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="weight" type="string.type"/>
  1349. &lt;/xsd:attributeGroup>
  1350. &lt;!-- Simple Node (Structural Node) -->
  1351. &lt;xsd:complexType name="simpleNode">
  1352. &nbsp;&nbsp; &lt;xsd:sequence>
  1353. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element ref="att" minOccurs="0" maxOccurs="unbounded"/>
  1354. &nbsp;&nbsp; &lt;/xsd:sequence>
  1355. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="global-atts"/>
  1356. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="xlink:simpleLink"/>
  1357. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="node-atts-app-safe"/>
  1358. &lt;/xsd:complexType>
  1359. &lt;!-- Graphical Node "is a" Simple Node -->
  1360. &lt;xsd:complexType name="graphicNode">&nbsp;
  1361. &nbsp; &lt;xsd:complexContent>
  1362. &nbsp;&nbsp;&nbsp; &lt;xsd:extension base="simpleNode">
  1363. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:sequence>
  1364. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element ref="graphics" minOccurs="0"/>
  1365. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:sequence>
  1366. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="node-atts-gml-safe"/>
  1367. &nbsp;&nbsp;&nbsp; &lt;/xsd:extension>
  1368. &nbsp; &lt;/xsd:complexContent>
  1369. &lt;/xsd:complexType>
  1370. &lt;!-- Node Element -->
  1371. &lt;xsd:element name="node" type="graphicNode"/>
  1372. &lt;!-- Safe Edge Attributes (GML) -->
  1373. &lt;xsd:attributeGroup name="edge-atts-gml-safe">
  1374. &nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="source" type="number.type" use="required"/>
  1375. &nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="target" type="number.type" use="required"/>
  1376. &lt;/xsd:attributeGroup>
  1377. &lt;!-- Safe Edge Attributes (new attributes) -->
  1378. &lt;xsd:attributeGroup name="edge-atts-app-safe">
  1379. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="weight" type="string.type"/>
  1380. &lt;/xsd:attributeGroup>
  1381. &lt;!-- Simple Edge (Structural Edge) -->
  1382. &lt;xsd:complexType name="simpleEdge">
  1383. &nbsp;&nbsp; &lt;xsd:sequence>
  1384. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element ref="att" minOccurs="0" maxOccurs="unbounded"/>
  1385. &nbsp;&nbsp; &lt;/xsd:sequence>
  1386. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="global-atts"/>
  1387. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="xlink:simpleLink"/>
  1388. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="edge-atts-gml-safe"/>
  1389. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="edge-atts-app-safe"/>
  1390. &lt;/xsd:complexType>
  1391. &lt;!-- Graphical Edge "is a" Simple Edge -->
  1392. &lt;xsd:complexType name="graphicEdge">
  1393. &nbsp;&nbsp; &lt;xsd:complexContent>&nbsp;&nbsp;
  1394. &nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:extension base="simpleEdge">
  1395. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:sequence>
  1396. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element ref="graphics" minOccurs="0"/>
  1397. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:sequence>
  1398. &nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:extension>
  1399. &nbsp;&nbsp; &lt;/xsd:complexContent>
  1400. &lt;/xsd:complexType>
  1401. &lt;!-- Edge Element -->
  1402. &lt;xsd:element name="edge" type="graphicEdge"/>
  1403. &lt;!-- Graphics Type&nbsp; -->
  1404. &lt;xsd:attributeGroup name="graphics-type-att">
  1405. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="type" type="type-graphics.type"/>
  1406. &lt;/xsd:attributeGroup>
  1407. &lt;!-- Point Attributes (x,y,z)&nbsp; -->
  1408. &lt;xsd:attributeGroup name="point-atts">
  1409. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="x" type="xsd:double"/>
  1410. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="y" type="xsd:double"/>
  1411. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="z" type="xsd:double"/>
  1412. &lt;/xsd:attributeGroup>
  1413. &lt;!-- Dimension Attributes (width,height,depth)&nbsp; -->
  1414. &lt;xsd:attributeGroup name="dimension-atts">
  1415. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="w" type="xsd:double"/>
  1416. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="h" type="xsd:double"/>
  1417. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="d" type="xsd:double"/>
  1418. &lt;/xsd:attributeGroup>
  1419. &lt;!-- External Attributes (Image and Bitmap)&nbsp; -->
  1420. &lt;xsd:attributeGroup name="external-atts">
  1421. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="image" type="uri.type"/>
  1422. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="bitmap" type="uri.type"/>
  1423. &lt;/xsd:attributeGroup>
  1424. &lt;!-- Line Attributes -->
  1425. &lt;xsd:attributeGroup name="line-atts">
  1426. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="width" type="number.type"/>
  1427. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="arrow" type="arrow.type"/>
  1428. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="capstyle" type="capstyle.type"/>
  1429. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="joinstyle" type="joinstyle.type"/>
  1430. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="smooth" type="boolean.type"/>
  1431. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="splinesteps" type="number.type"/>
  1432. &lt;/xsd:attributeGroup>
  1433. &lt;!-- Text Attributes -->
  1434. &lt;xsd:attributeGroup name="text-atts">
  1435. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="justify" type="justify.type"/>
  1436. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="font" type="font.type"/>
  1437. &lt;/xsd:attributeGroup>
  1438. &lt;!-- Bitmap Attributes -->
  1439. &lt;xsd:attributeGroup name="bitmap-atts">
  1440. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="background" type="color.type"/>
  1441. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="foreground" type="color.type"/>
  1442. &lt;/xsd:attributeGroup>
  1443. &lt;!-- Arc Attributes -->
  1444. &lt;xsd:attributeGroup name="arc-atts">
  1445. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="extent" type="xsd:integer"/>
  1446. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="start" type="xsd:integer"/>
  1447. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="style" type="arcstyle.type"/>
  1448. &lt;/xsd:attributeGroup>
  1449. &lt;!-- Graphical Object Attributes -->
  1450. &lt;xsd:attributeGroup name="object-atts">
  1451. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="stipple" type="string.type"/>
  1452. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="visible" type="boolean.type"/>
  1453. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="fill" type="color.type"/>
  1454. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="outline" type="color.type"/>
  1455. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="anchor" type="anchor.type"/>
  1456. &lt;/xsd:attributeGroup>
  1457. &lt;!-- Graphics Element -->
  1458. &lt;xsd:element name="graphics">
  1459. &nbsp; &lt;xsd:complexType>
  1460. &nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:sequence>
  1461. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:choice minOccurs="0" maxOccurs="1">
  1462. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element ref="Line"/>
  1463. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element ref="center"/>
  1464. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:choice>
  1465. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element ref="att" minOccurs="0" maxOccurs="unbounded"/>
  1466. &nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:sequence>
  1467. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="graphics-type-att"/>
  1468. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="point-atts"/>
  1469. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="dimension-atts"/>
  1470. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="external-atts"/>
  1471. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="line-atts"/>
  1472. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="text-atts"/>
  1473. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="bitmap-atts"/>
  1474. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="arc-atts"/>
  1475. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="object-atts"/>
  1476. &nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:complexType>
  1477. &lt;/xsd:element>
  1478. &lt;!-- Center Point Element -->
  1479. &lt;xsd:element name="center">
  1480. &nbsp;&nbsp; &lt;xsd:complexType>
  1481. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="point-atts"/>
  1482. &nbsp; &lt;/xsd:complexType>
  1483. &lt;/xsd:element>
  1484. &lt;!-- Line Element -->
  1485. &lt;xsd:element name="Line">
  1486. &nbsp;&nbsp; &lt;xsd:complexType>
  1487. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:sequence>
  1488. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element ref="point" minOccurs="2" maxOccurs="unbounded"/>
  1489. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:sequence>
  1490. &nbsp;&nbsp; &lt;/xsd:complexType>
  1491. &lt;/xsd:element>
  1492. &lt;!-- Point Element -->
  1493. &lt;xsd:element name="point">
  1494. &nbsp;&nbsp; &lt;xsd:complexType>&nbsp;
  1495. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="point-atts"/>
  1496. &nbsp; &lt;/xsd:complexType>
  1497. &lt;/xsd:element>
  1498. &lt;!-- Value Attribute -->
  1499. &lt;xsd:attributeGroup name="attribute-value">
  1500. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="value" type="string.type"/>
  1501. &lt;/xsd:attributeGroup>
  1502. &lt;!-- Type Attribute -->
  1503. &lt;xsd:attributeGroup name="attribute-type">
  1504. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="type" type="object.type"/>
  1505. &lt;/xsd:attributeGroup>
  1506. &lt;!-- Att Element -->
  1507. &lt;xsd:element name="att">
  1508. &nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:complexType mixed="true">
  1509. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:sequence>
  1510. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element ref="att" minOccurs="0" maxOccurs="unbounded"/>
  1511. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element ref="graph" minOccurs="0" maxOccurs="unbounded"/>
  1512. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:sequence>
  1513. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="global-atts"/>
  1514. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="attribute-value"/>
  1515. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attributeGroup ref="attribute-type"/>
  1516. &nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:complexType>
  1517. &lt;/xsd:element>
  1518. &lt;/xsd:schema></pre>
  1519. <h2>
  1520. <a NAME="XGMML-Ex"></a>D. XGMML Examples</h2>
  1521. <h3>
  1522. D.1 Graph file in GML format&nbsp; and&nbsp; XGMML format.</h3>
  1523. This GML example is taken from the GML web site: http://infosun.fmi.uni-passau.de/Graphlet/GML/example1.html.
  1524. <p><b>GML Format</b>
  1525. <pre>graph [
  1526. &nbsp;&nbsp;&nbsp; comment "This is a sample graph"
  1527. &nbsp;&nbsp;&nbsp; directed 1
  1528. &nbsp;&nbsp;&nbsp; id 42
  1529. &nbsp;&nbsp;&nbsp; label "Hello, I am a graph"
  1530. &nbsp;&nbsp;&nbsp; node [
  1531. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id 1
  1532. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; label "Node 1"
  1533. &nbsp;&nbsp;&nbsp; ]
  1534. &nbsp;&nbsp;&nbsp; node [
  1535. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id 2
  1536. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; label "node 2"
  1537. &nbsp;&nbsp;&nbsp; ]
  1538. &nbsp;&nbsp;&nbsp; node [
  1539. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id 3
  1540. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; label "node 3"
  1541. &nbsp;&nbsp;&nbsp; ]
  1542. &nbsp;&nbsp;&nbsp; edge [
  1543. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; source 1
  1544. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; target 2
  1545. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; label "Edge from node 1 to node 2"
  1546. &nbsp;&nbsp;&nbsp; ]
  1547. &nbsp;&nbsp;&nbsp; edge [
  1548. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; source 2
  1549. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; target 3
  1550. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; label "Edge from node 2 to node 3"
  1551. &nbsp;&nbsp;&nbsp; ]
  1552. &nbsp;&nbsp;&nbsp; edge [
  1553. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; source 3
  1554. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; target 1
  1555. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; label "Edge from node 3 to node 1"
  1556. &nbsp;&nbsp;&nbsp; ]
  1557. ]</pre>
  1558. <b>XGMML Format</b>
  1559. <pre>&lt;?xml version="1.0"?>
  1560. &lt;!DOCTYPE graph PUBLIC "-//John Punin//DTD graph description//EN" "http://www.cs.rpi.edu/~puninj/XGMML/xgmml.dtd">
  1561. &lt;graph directed="1" id="42" label="Hello, I am a graph">
  1562. &lt;node id="1" label="Node 1">
  1563. &lt;/node>
  1564. &lt;node id="2" label="node 2">
  1565. &lt;/node>
  1566. &lt;node id="3" label="node 3">
  1567. &lt;/node>
  1568. &lt;edge source="1" target="2" label="Edge from node 1 to node 2">
  1569. &lt;/edge>
  1570. &lt;edge source="2" target="3" label="Edge from node 2 to node 3">
  1571. &lt;/edge>
  1572. &lt;edge source="3" target="1" label="Edge from node 3 to node 1">
  1573. &lt;/edge>
  1574. &lt;/graph></pre>
  1575. <h3>
  1576. D.2 XGMML graph file with graphics information.</h3>
  1577. <pre>&lt;?xml version="1.0"?>
  1578. &lt;!DOCTYPE graph PUBLIC "-//John Punin//DTD graph description//EN" "http://www.cs.rpi.edu/~puninj/XGMML/xgmml.dtd">
  1579. &lt;graph directed="1" graphic="1" Layout="points">
  1580. &lt;node id="1" label="Node 1"
  1581. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; weight="0">
  1582. &lt;graphics type="rhombus" x="270" y="90" >
  1583. &lt;/graphics>
  1584. &lt;/node>
  1585. &lt;node id="2" label="node 2"
  1586. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; weight="0">
  1587. &lt;graphics type="ver_ellipsis" x="350" y="190" >
  1588. &lt;/graphics>
  1589. &lt;/node>
  1590. &lt;node id="3" label="node 3"
  1591. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; weight="0">
  1592. &lt;graphics type="circle" x="190" y="190" >
  1593. &lt;/graphics>
  1594. &lt;/node>
  1595. &lt;edge source="3" target="1" weight="0"&nbsp;
  1596. label="Edge from node 3 to node 1" >
  1597. &lt;/edge>
  1598. &lt;edge source="1" target="2" weight="0"&nbsp;
  1599. label="Edge from node 1 to node 2" >
  1600. &lt;/edge>
  1601. &lt;edge source="2" target="3" weight="0"&nbsp;
  1602. label="Edge from node 2 to node 3" >
  1603. &lt;/edge>
  1604. &lt;/graph></pre>
  1605. <h3>
  1606. D.3 XGMML graph file of a simple website.</h3>
  1607. <pre>&lt;?xml version="1.0"?>
  1608. &lt;!DOCTYPE graph SYSTEM "xgmml.dtd">
  1609. &lt;graph directed="1" Rootnode="1">
  1610. &lt;node id="58" label="http://www.deitel.com/products_and_services/publications/jhtp2.htm" weight="-1">
  1611. &lt;/node>
  1612. &lt;node id="57" label="http://www.inquiry.com/techtips/java_pro/" weight="-1">
  1613. &lt;/node>
  1614. &lt;node id="56" label="http://java.sun.com/products/jdk/1.1/docs/api/packages.html" weight="-1">
  1615. &lt;/node>
  1616. &lt;node id="55" label="http://www.gamelan.com/" weight="-1">
  1617. &lt;/node>
  1618. &lt;node id="54" label="http://java.sun.com/" weight="-1">
  1619. &lt;/node>
  1620. &lt;node id="53" label="http://www.yahoo.com/Computers_and_Internet/Programming_Languages/Java/" weight="-1">
  1621. &lt;/node>
  1622. &lt;node id="52" label="http://www.cs.rpi.edu/~puninj/JAVA/tests/esum98.html" weight="8025">
  1623. &lt;att name="title" value="Java Exam"/>
  1624. &lt;att name="mime" value="text/html"/>
  1625. &lt;att name="size" value="8025"/>
  1626. &lt;att name="date" value="Tue Sep 29 14:55:04 1998"/>
  1627. &lt;att name="code" value="200"/>
  1628. &lt;/node>
  1629. &lt;node id="51" label="http://www.cs.rpi.edu/~puninj/JAVA/projects/proj1.html" weight="1910">
  1630. &lt;att name="title" value="Project 1"/>
  1631. &lt;att name="mime" value="text/html"/>
  1632. &lt;att name="size" value="1910"/>
  1633. &lt;att name="date" value="Wed Jun&nbsp; 9 23:01:06 1999"/>
  1634. &lt;att name="code" value="200"/>
  1635. &lt;/node>
  1636. &lt;node id="50" label="http://www.cs.rpi.edu/~puninj/JAVA/homeworks/hw2.html" weight="2795">
  1637. &lt;att name="title" value="Homework 2"/>
  1638. &lt;att name="mime" value="text/html"/>
  1639. &lt;att name="size" value="2795"/>
  1640. &lt;att name="date" value="Sun May 30 22:28:52 1999"/>
  1641. &lt;att name="code" value="200"/>
  1642. &lt;/node>
  1643. &lt;node id="49" label="http://www.cs.rpi.edu/~puninj/JAVA/homeworks/hw1.html" weight="3157">
  1644. &lt;att name="title" value="Homework 1"/>
  1645. &lt;att name="mime" value="text/html"/>
  1646. &lt;att name="size" value="3157"/>
  1647. &lt;att name="date" value="Wed May 19 10:40:54 1999"/>
  1648. &lt;att name="code" value="200"/>
  1649. &lt;/node>
  1650. &lt;node id="48" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec4.ppt" weight="53760">
  1651. &lt;att name="title" value="No title"/>
  1652. &lt;att name="mime" value="application/vnd.ms-powerpoint"/>
  1653. &lt;att name="size" value="53760"/>
  1654. &lt;att name="date" value="Mon Sep 14 13:22:26 1998"/>
  1655. &lt;att name="code" value="200"/>
  1656. &lt;/node>
  1657. &lt;node id="47" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec4.rtf" weight="26048">
  1658. &lt;att name="title" value="No title"/>
  1659. &lt;att name="mime" value="text/rtf"/>
  1660. &lt;att name="size" value="26048"/>
  1661. &lt;att name="date" value="Mon Sep 14 13:22:29 1998"/>
  1662. &lt;att name="code" value="200"/>
  1663. &lt;/node>
  1664. &lt;node id="46" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec4.ps" weight="211388">
  1665. &lt;att name="title" value="No title"/>
  1666. &lt;att name="mime" value="application/postscript"/>
  1667. &lt;att name="size" value="211388"/>
  1668. &lt;att name="date" value="Mon Sep 14 13:34:29 1998"/>
  1669. &lt;att name="code" value="200"/>
  1670. &lt;/node>
  1671. &lt;node id="45" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec4.html" weight="9192">
  1672. &lt;att name="title" value="Programming in Java:&nbsp; Lecture Notes 4"/>
  1673. &lt;att name="mime" value="text/html"/>
  1674. &lt;att name="size" value="9192"/>
  1675. &lt;att name="date" value="Mon Oct 26 02:17:24 1998"/>
  1676. &lt;att name="code" value="200"/>
  1677. &lt;/node>
  1678. &lt;node id="44" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec3.ppt" weight="169984">
  1679. &lt;att name="title" value="No title"/>
  1680. &lt;att name="mime" value="application/vnd.ms-powerpoint"/>
  1681. &lt;att name="size" value="169984"/>
  1682. &lt;att name="date" value="Sat Aug 29 00:37:59 1998"/>
  1683. &lt;att name="code" value="200"/>
  1684. &lt;/node>
  1685. &lt;node id="43" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec3.rtf" weight="93603">
  1686. &lt;att name="title" value="No title"/>
  1687. &lt;att name="mime" value="text/rtf"/>
  1688. &lt;att name="size" value="93603"/>
  1689. &lt;att name="date" value="Sat Aug 29 00:38:03 1998"/>
  1690. &lt;att name="code" value="200"/>
  1691. &lt;/node>
  1692. &lt;node id="42" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec3.ps" weight="539469">
  1693. &lt;att name="title" value="No title"/>
  1694. &lt;att name="mime" value="application/postscript"/>
  1695. &lt;att name="size" value="539469"/>
  1696. &lt;att name="date" value="Sat Aug 29 00:38:02 1998"/>
  1697. &lt;att name="code" value="200"/>
  1698. &lt;/node>
  1699. &lt;node id="41" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec3.html" weight="40702">
  1700. &lt;att name="title" value="Programming in Java : Lecture Notes 3"/>
  1701. &lt;att name="mime" value="text/html"/>
  1702. &lt;att name="size" value="40702"/>
  1703. &lt;att name="date" value="Wed Apr&nbsp; 7 12:00:44 1999"/>
  1704. &lt;att name="code" value="200"/>
  1705. &lt;/node>
  1706. &lt;node id="40" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec2.ppt" weight="86016">
  1707. &lt;att name="title" value="No title"/>
  1708. &lt;att name="mime" value="application/vnd.ms-powerpoint"/>
  1709. &lt;att name="size" value="86016"/>
  1710. &lt;att name="date" value="Sat Aug 29 00:11:44 1998"/>
  1711. &lt;att name="code" value="200"/>
  1712. &lt;/node>
  1713. &lt;node id="39" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec2.rtf" weight="33351">
  1714. &lt;att name="title" value="No title"/>
  1715. &lt;att name="mime" value="text/rtf"/>
  1716. &lt;att name="size" value="33351"/>
  1717. &lt;att name="date" value="Sat Aug 29 00:11:52 1998"/>
  1718. &lt;att name="code" value="200"/>
  1719. &lt;/node>
  1720. &lt;node id="38" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec2.ps" weight="165658">
  1721. &lt;att name="title" value="No title"/>
  1722. &lt;att name="mime" value="application/postscript"/>
  1723. &lt;att name="size" value="165658"/>
  1724. &lt;att name="date" value="Sat Aug 29 00:14:24 1998"/>
  1725. &lt;att name="code" value="200"/>
  1726. &lt;/node>
  1727. &lt;node id="37" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec2.html" weight="11174">
  1728. &lt;att name="title" value="Programming In Java : Lecture Notes 2"/>
  1729. &lt;att name="mime" value="text/html"/>
  1730. &lt;att name="size" value="11174"/>
  1731. &lt;att name="date" value="Wed Sep&nbsp; 2 23:10:32 1998"/>
  1732. &lt;att name="code" value="200"/>
  1733. &lt;/node>
  1734. &lt;node id="36" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec1.ppt" weight="48640">
  1735. &lt;att name="title" value="No title"/>
  1736. &lt;att name="mime" value="application/vnd.ms-powerpoint"/>
  1737. &lt;att name="size" value="48640"/>
  1738. &lt;att name="date" value="Sat Aug 29 00:11:43 1998"/>
  1739. &lt;att name="code" value="200"/>
  1740. &lt;/node>
  1741. &lt;node id="35" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec1.rtf" weight="14871">
  1742. &lt;att name="title" value="No title"/>
  1743. &lt;att name="mime" value="text/rtf"/>
  1744. &lt;att name="size" value="14871"/>
  1745. &lt;att name="date" value="Sat Aug 29 00:11:51 1998"/>
  1746. &lt;att name="code" value="200"/>
  1747. &lt;/node>
  1748. &lt;node id="34" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec1.ps" weight="79558">
  1749. &lt;att name="title" value="No title"/>
  1750. &lt;att name="mime" value="application/postscript"/>
  1751. &lt;att name="size" value="79558"/>
  1752. &lt;att name="date" value="Sat Aug 29 00:14:22 1998"/>
  1753. &lt;att name="code" value="200"/>
  1754. &lt;/node>
  1755. &lt;node id="33" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec1.html" weight="4530">
  1756. &lt;att name="title" value="Programming in Java : Lecture Notes 1"/>
  1757. &lt;att name="mime" value="text/html"/>
  1758. &lt;att name="size" value="4530"/>
  1759. &lt;att name="date" value="Wed Sep&nbsp; 2 16:49:15 1998"/>
  1760. &lt;att name="code" value="200"/>
  1761. &lt;/node>
  1762. &lt;node id="32" label="http://www.oreilly.com/catalog/jenut/" weight="-1">
  1763. &lt;/node>
  1764. &lt;node id="31" label="http://www.oreilly.com/catalog/javanut2/" weight="-1">
  1765. &lt;/node>
  1766. &lt;node id="30" label="http://www.prenhall.com/allbooks/esm_0138993947.html" weight="-1">
  1767. &lt;/node>
  1768. &lt;node id="29" label="mailto:puninj@rpi.edu" weight="-1">
  1769. &lt;/node>
  1770. &lt;node id="28" label="http://www.cs.rpi.edu/~puninj/JAVA/DEITEL/JHTP2/" weight="-1">
  1771. &lt;att name="code" value="404"/>
  1772. &lt;/node>
  1773. &lt;node id="27" label="http://www.rpi.edu/dept/its/consult/www2/WWW/" weight="-1">
  1774. &lt;/node>
  1775. &lt;node id="26" label="http://www.cs.rpi.edu/~puninj/ASHE/help.html" weight="-1">
  1776. &lt;/node>
  1777. &lt;node id="25" label="http://www.cs.rpi.edu/~puninj/ASHE/RCS.html" weight="-1">
  1778. &lt;/node>
  1779. &lt;node id="24" label="http://www.rpi.edu/Computing/Docs/Memos/rpi120/rpi120.html" weight="-1">
  1780. &lt;/node>
  1781. &lt;node id="23" label="http://www.rpi.edu/~ricem4/" weight="-1">
  1782. &lt;/node>
  1783. &lt;node id="22" label="http://www.rpi.edu/~waterj2/" weight="-1">
  1784. &lt;/node>
  1785. &lt;node id="21" label="http://www.rpi.edu/~ludwis/" weight="-1">
  1786. &lt;/node>
  1787. &lt;node id="20" label="http://www.rpi.edu/~obergg/" weight="-1">
  1788. &lt;/node>
  1789. &lt;node id="19" label="http://www.rpi.edu/~milinm/" weight="-1">
  1790. &lt;/node>
  1791. &lt;node id="18" label="http://www.cs.rpi.edu/~puninj/JAVA/index.html" weight="2314">
  1792. &lt;att name="title" value="Programming in Java Home Page"/>
  1793. &lt;att name="mime" value="text/html"/>
  1794. &lt;att name="size" value="2314"/>
  1795. &lt;att name="date" value="Thu Jun 10 14:08:41 1999"/>
  1796. &lt;att name="code" value="200"/>
  1797. &lt;/node>
  1798. &lt;node id="17" label="mailto:puninj@cs.rpi.edu" weight="-1">
  1799. &lt;/node>
  1800. &lt;node id="16" label="http://www.cs.rpi.edu/" weight="-1">
  1801. &lt;/node>
  1802. &lt;node id="15" label="http://www.rpi.edu/" weight="-1">
  1803. &lt;/node>
  1804. &lt;node id="14" label="http://www.rpi.edu/Bestof/April96/Bestof_April96.html" weight="-1">
  1805. &lt;/node>
  1806. &lt;node id="13" label="http://www.cs.rpi.edu/~puninj/JAVA/toc.html" weight="4407">
  1807. &lt;att name="title" value="Programming in Java Table of Contents"/>
  1808. &lt;att name="mime" value="text/html"/>
  1809. &lt;att name="size" value="4407"/>
  1810. &lt;att name="date" value="Thu Jun 10 14:14:55 1999"/>
  1811. &lt;att name="code" value="200"/>
  1812. &lt;/node>
  1813. &lt;node id="12" label="http://www.cs.rpi.edu/~puninj/JAVA/hotlist.html" weight="1253">
  1814. &lt;att name="title" value="Hot List of Programming in Java"/>
  1815. &lt;att name="mime" value="text/html"/>
  1816. &lt;att name="size" value="1253"/>
  1817. &lt;att name="date" value="Fri Nov&nbsp; 6 15:21:22 1998"/>
  1818. &lt;att name="code" value="200"/>
  1819. &lt;/node>
  1820. &lt;node id="11" label="http://www.cs.rpi.edu/~puninj/JAVA/test.html" weight="473">
  1821. &lt;att name="title" value="Tests of Programming in Java"/>
  1822. &lt;att name="mime" value="text/html"/>
  1823. &lt;att name="size" value="473"/>
  1824. &lt;att name="date" value="Tue Jan 19 13:38:04 1999"/>
  1825. &lt;att name="code" value="200"/>
  1826. &lt;/node>
  1827. &lt;node id="10" label="http://www.cs.rpi.edu/~puninj/JAVA/projects.html" weight="472">
  1828. &lt;att name="title" value="Projects of Programming in Java"/>
  1829. &lt;att name="mime" value="text/html"/>
  1830. &lt;att name="size" value="472"/>
  1831. &lt;att name="date" value="Thu Jun 10 14:11:40 1999"/>
  1832. &lt;att name="code" value="200"/>
  1833. &lt;/node>
  1834. &lt;node id="9" label="http://www.cs.rpi.edu/~puninj/JAVA/homewk.html" weight="543">
  1835. &lt;att name="title" value="Homeworks of Programming in Java"/>
  1836. &lt;att name="mime" value="text/html"/>
  1837. &lt;att name="size" value="543"/>
  1838. &lt;att name="date" value="Thu Jun 10 14:11:41 1999"/>
  1839. &lt;att name="code" value="200"/>
  1840. &lt;/node>
  1841. &lt;node id="8" label="http://www.cs.rpi.edu/~puninj/JAVA/classes.html" weight="1375">
  1842. &lt;att name="title" value="Classes of Programming in Java"/>
  1843. &lt;att name="mime" value="text/html"/>
  1844. &lt;att name="size" value="1375"/>
  1845. &lt;att name="date" value="Wed Jun&nbsp; 9 22:06:02 1999"/>
  1846. &lt;att name="code" value="200"/>
  1847. &lt;/node>
  1848. &lt;node id="7" label="http://www.cs.rpi.edu/~puninj/JAVA/sched.html" weight="1606">
  1849. &lt;att name="title" value="Schedule of Programming in Java"/>
  1850. &lt;att name="mime" value="text/html"/>
  1851. &lt;att name="size" value="1606"/>
  1852. &lt;att name="date" value="Mon May 17 17:20:55 1999"/>
  1853. &lt;att name="code" value="200"/>
  1854. &lt;/node>
  1855. &lt;node id="6" label="http://www.cs.rpi.edu/~puninj/JAVA/syllabus.html" weight="8357">
  1856. &lt;att name="title" value="Syllabus"/>
  1857. &lt;att name="mime" value="text/html"/>
  1858. &lt;att name="size" value="8357"/>
  1859. &lt;att name="date" value="Tue May 18 11:42:14 1999"/>
  1860. &lt;att name="code" value="200"/>
  1861. &lt;/node>
  1862. &lt;node id="5" label="http://www.cs.rpi.edu/~puninj/JAVA/announ.html" weight="1297">
  1863. &lt;att name="title" value="Announcements of Programming in Java"/>
  1864. &lt;att name="mime" value="text/html"/>
  1865. &lt;att name="size" value="1297"/>
  1866. &lt;att name="date" value="Thu Jun 10 14:17:23 1999"/>
  1867. &lt;att name="code" value="200"/>
  1868. &lt;/node>
  1869. &lt;node id="4" label="http://www.cs.rpi.edu/~puninj/JAVA/students.html" weight="2010">
  1870. &lt;att name="title" value="Programming in Java - Groups"/>
  1871. &lt;att name="mime" value="text/html"/>
  1872. &lt;att name="size" value="2010"/>
  1873. &lt;att name="date" value="Tue Apr&nbsp; 6 14:57:35 1999"/>
  1874. &lt;att name="code" value="200"/>
  1875. &lt;/node>
  1876. &lt;node id="3" label="http://www.cs.rpi.edu/~puninj/JAVA/ta.html" weight="614">
  1877. &lt;att name="title" value="Programming in Java Table of Contents"/>
  1878. &lt;att name="mime" value="text/html"/>
  1879. &lt;att name="size" value="614"/>
  1880. &lt;att name="date" value="Thu May 20 11:27:37 1999"/>
  1881. &lt;att name="code" value="200"/>
  1882. &lt;/node>
  1883. &lt;node id="2" label="http://www.cs.rpi.edu/~puninj/" weight="-1">
  1884. &lt;/node>
  1885. &lt;node id="1" label="http://www.cs.rpi.edu/~puninj/JAVA/" weight="2314">
  1886. &lt;att name="title" value="Programming in Java Home Page"/>
  1887. &lt;att name="mime" value="text/html"/>
  1888. &lt;att name="size" value="2314"/>
  1889. &lt;att name="date" value="Thu Jun 10 14:08:41 1999"/>
  1890. &lt;att name="code" value="200"/>
  1891. &lt;/node>
  1892. &lt;edge label="SRC IMG ../icon/lfarrw.gif" source="51" target="18">
  1893. &lt;/edge>
  1894. &lt;edge label="SRC IMG ../icon/lfarrw.gif" source="50" target="18">
  1895. &lt;/edge>
  1896. &lt;edge label="SRC IMG ../../icon/lfarrw.gif" source="49" target="18">
  1897. &lt;/edge>
  1898. &lt;edge label="IMG CS Home Page" source="18" target="16">
  1899. &lt;/edge>
  1900. &lt;edge label="IMG RPI Info" source="18" target="15">
  1901. &lt;/edge>
  1902. &lt;edge label="IMG Best of RPI Info" source="18" target="14">
  1903. &lt;/edge>
  1904. &lt;edge label="IMG TOC" source="18" target="13">
  1905. &lt;/edge>
  1906. &lt;edge label="IMG Hot List" source="18" target="12">
  1907. &lt;/edge>
  1908. &lt;edge label="IMG Exams" source="18" target="11">
  1909. &lt;/edge>
  1910. &lt;edge label="IMG Projects" source="18" target="10">
  1911. &lt;/edge>
  1912. &lt;edge label="IMG Homework" source="18" target="9">
  1913. &lt;/edge>
  1914. &lt;edge label="IMG Classes" source="18" target="8">
  1915. &lt;/edge>
  1916. &lt;edge label="IMG Schedule" source="18" target="7">
  1917. &lt;/edge>
  1918. &lt;edge label="IMG Syllabus" source="18" target="6">
  1919. &lt;/edge>
  1920. &lt;edge label="IMG Announcements" source="18" target="5">
  1921. &lt;/edge>
  1922. &lt;edge label="IMG Students" source="18" target="4">
  1923. &lt;/edge>
  1924. &lt;edge label="IMG Xiaomei Zhang" source="18" target="3">
  1925. &lt;/edge>
  1926. &lt;edge label="IMG John Punin" source="18" target="2">
  1927. &lt;/edge>
  1928. &lt;edge label="SRC IMG icon/lfarrw.gif" source="13" target="18">
  1929. &lt;/edge>
  1930. &lt;edge label="Code Examples from the Java How To Program 2/e Book" source="13" target="28">
  1931. &lt;/edge>
  1932. &lt;edge label="Java How to Program, 2E: Download Examples" source="13" target="58">
  1933. &lt;/edge>
  1934. &lt;edge label="Java How to Program 2/e (Textbook)" source="13" target="30">
  1935. &lt;/edge>
  1936. &lt;edge label="Ask the Java Pro!" source="13" target="57">
  1937. &lt;/edge>
  1938. &lt;edge label="Java Package Index" source="13" target="56">
  1939. &lt;/edge>
  1940. &lt;edge label="Gamelan" source="13" target="55">
  1941. &lt;/edge>
  1942. &lt;edge label="Java Technology Home Page" source="13" target="54">
  1943. &lt;/edge>
  1944. &lt;edge label="Yahoo Index on Java" source="13" target="53">
  1945. &lt;/edge>
  1946. &lt;edge label="Java Exam Summer 1998 (Example)" source="13" target="52">
  1947. &lt;/edge>
  1948. &lt;edge label="Project" source="13" target="51">
  1949. &lt;/edge>
  1950. &lt;edge label="Homework 2" source="13" target="50">
  1951. &lt;/edge>
  1952. &lt;edge label="Homework 1" source="13" target="49">
  1953. &lt;/edge>
  1954. &lt;edge label="powerpoint" source="13" target="48">
  1955. &lt;/edge>
  1956. &lt;edge label="MSWord" source="13" target="47">
  1957. &lt;/edge>
  1958. &lt;edge label="postscript" source="13" target="46">
  1959. &lt;/edge>
  1960. &lt;edge label="Graphics and Graphical User Interfaces" source="13" target="45">
  1961. &lt;/edge>
  1962. &lt;edge label="powerpoint" source="13" target="44">
  1963. &lt;/edge>
  1964. &lt;edge label="MSWord" source="13" target="43">
  1965. &lt;/edge>
  1966. &lt;edge label="postscript" source="13" target="42">
  1967. &lt;/edge>
  1968. &lt;edge label="Classes, Inheritance, Interfaces" source="13" target="41">
  1969. &lt;/edge>
  1970. &lt;edge label="powerpoint" source="13" target="40">
  1971. &lt;/edge>
  1972. &lt;edge label="MSWord" source="13" target="39">
  1973. &lt;/edge>
  1974. &lt;edge label="postscript" source="13" target="38">
  1975. &lt;/edge>
  1976. &lt;edge label="Objects, Classes, Program Constructs" source="13" target="37">
  1977. &lt;/edge>
  1978. &lt;edge label="powerpoint" source="13" target="36">
  1979. &lt;/edge>
  1980. &lt;edge label="MSWord" source="13" target="35">
  1981. &lt;/edge>
  1982. &lt;edge label="postscript" source="13" target="34">
  1983. &lt;/edge>
  1984. &lt;edge label="Introduction" source="13" target="33">
  1985. &lt;/edge>
  1986. &lt;edge label=" Syllabus" source="13" target="6">
  1987. &lt;/edge>
  1988. &lt;edge label="New Class Schedule" source="13" target="7">
  1989. &lt;/edge>
  1990. &lt;edge label="Students Group Page" source="13" target="4">
  1991. &lt;/edge>
  1992. &lt;edge label="Code Examples from the Java How To Program 2/e Book" source="13" target="28">
  1993. &lt;/edge>
  1994. &lt;edge label="Homework 1" source="13" target="9">
  1995. &lt;/edge>
  1996. &lt;edge label="Homework 2" source="13" target="9">
  1997. &lt;/edge>
  1998. &lt;edge label="Project" source="13" target="10">
  1999. &lt;/edge>
  2000. &lt;edge label="John Punin" source="13" target="17">
  2001. &lt;/edge>
  2002. &lt;edge label="John Punin" source="13" target="2">
  2003. &lt;/edge>
  2004. &lt;edge label="SRC IMG icon/lfarrw.gif" source="12" target="18">
  2005. &lt;/edge>
  2006. &lt;edge label="Code Examples from the Java How To Program 2/e Book" source="12" target="28">
  2007. &lt;/edge>
  2008. &lt;edge label="Java How to Program, 2E: Download Examples" source="12" target="58">
  2009. &lt;/edge>
  2010. &lt;edge label="Java How to Program 2/e (Textbook)" source="12" target="30">
  2011. &lt;/edge>
  2012. &lt;edge label="Ask the Java Pro!" source="12" target="57">
  2013. &lt;/edge>
  2014. &lt;edge label="Java Package Index" source="12" target="56">
  2015. &lt;/edge>
  2016. &lt;edge label="Gamelan" source="12" target="55">
  2017. &lt;/edge>
  2018. &lt;edge label="Java Technology Home Page" source="12" target="54">
  2019. &lt;/edge>
  2020. &lt;edge label="Yahoo Index on Java" source="12" target="53">
  2021. &lt;/edge>
  2022. &lt;edge label="SRC IMG icon/lfarrw.gif" source="11" target="18">
  2023. &lt;/edge>
  2024. &lt;edge label="Java Exam Summer 1998 (Example)" source="11" target="52">
  2025. &lt;/edge>
  2026. &lt;edge label="SRC IMG icon/lfarrw.gif" source="10" target="18">
  2027. &lt;/edge>
  2028. &lt;edge label="Project" source="10" target="51">
  2029. &lt;/edge>
  2030. &lt;edge label="SRC IMG icon/lfarrw.gif" source="9" target="18">
  2031. &lt;/edge>
  2032. &lt;edge label="Homework 2" source="9" target="50">
  2033. &lt;/edge>
  2034. &lt;edge label="Homework 1" source="9" target="49">
  2035. &lt;/edge>
  2036. &lt;edge label="SRC IMG icon/lfarrw.gif" source="8" target="18">
  2037. &lt;/edge>
  2038. &lt;edge label="powerpoint" source="8" target="48">
  2039. &lt;/edge>
  2040. &lt;edge label="MSWord" source="8" target="47">
  2041. &lt;/edge>
  2042. &lt;edge label="postscript" source="8" target="46">
  2043. &lt;/edge>
  2044. &lt;edge label="Graphics and Graphical User Interfaces" source="8" target="45">
  2045. &lt;/edge>
  2046. &lt;edge label="powerpoint" source="8" target="44">
  2047. &lt;/edge>
  2048. &lt;edge label="MSWord" source="8" target="43">
  2049. &lt;/edge>
  2050. &lt;edge label="postscript" source="8" target="42">
  2051. &lt;/edge>
  2052. &lt;edge label="Classes, Inheritance, Interfaces" source="8" target="41">
  2053. &lt;/edge>
  2054. &lt;edge label="powerpoint" source="8" target="40">
  2055. &lt;/edge>
  2056. &lt;edge label="MSWord" source="8" target="39">
  2057. &lt;/edge>
  2058. &lt;edge label="postscript" source="8" target="38">
  2059. &lt;/edge>
  2060. &lt;edge label="Objects, Classes, Program Constructs" source="8" target="37">
  2061. &lt;/edge>
  2062. &lt;edge label="powerpoint" source="8" target="36">
  2063. &lt;/edge>
  2064. &lt;edge label="MSWord" source="8" target="35">
  2065. &lt;/edge>
  2066. &lt;edge label="postscript" source="8" target="34">
  2067. &lt;/edge>
  2068. &lt;edge label="Introduction" source="8" target="33">
  2069. &lt;/edge>
  2070. &lt;edge label="SRC IMG icon/lfarrw.gif" source="7" target="18">
  2071. &lt;/edge>
  2072. &lt;edge label="SRC IMG icon/lfarrw.gif" source="6" target="18">
  2073. &lt;/edge>
  2074. &lt;edge label="Java Examples in a Nutshell" source="6" target="32">
  2075. &lt;/edge>
  2076. &lt;edge label="Java in a Nutshell" source="6" target="31">
  2077. &lt;/edge>
  2078. &lt;edge label="Java How To Program 2nd Edition" source="6" target="30">
  2079. &lt;/edge>
  2080. &lt;edge label="http://www.cs.rpi.edu/~puninj/JAVA/" source="6" target="1">
  2081. &lt;/edge>
  2082. &lt;edge label="puninj@cs.rpi.edu" source="6" target="17">
  2083. &lt;/edge>
  2084. &lt;edge label="puninj" source="6" target="29">
  2085. &lt;/edge>
  2086. &lt;edge label="John Punin" source="6" target="2">
  2087. &lt;/edge>
  2088. &lt;edge label="SRC IMG icon/lfarrw.gif" source="5" target="18">
  2089. &lt;/edge>
  2090. &lt;edge label="New Class Schedule" source="5" target="7">
  2091. &lt;/edge>
  2092. &lt;edge label="Students Group Page" source="5" target="4">
  2093. &lt;/edge>
  2094. &lt;edge label="Code Examples from the Java How To Program 2/e Book" source="5" target="28">
  2095. &lt;/edge>
  2096. &lt;edge label="Homework 1" source="5" target="9">
  2097. &lt;/edge>
  2098. &lt;edge label="Homework 2" source="5" target="9">
  2099. &lt;/edge>
  2100. &lt;edge label="Project" source="5" target="10">
  2101. &lt;/edge>
  2102. &lt;edge label="SRC IMG icon/lfarrw.gif" source="4" target="18">
  2103. &lt;/edge>
  2104. &lt;edge label="ITS : &amp;quot;Help page on WWW&amp;quot;" source="4" target="27">
  2105. &lt;/edge>
  2106. &lt;edge label="ASHE help file" source="4" target="26">
  2107. &lt;/edge>
  2108. &lt;edge label="ASHE (A Simple HTML Editor) on RCS workstations." source="4" target="25">
  2109. &lt;/edge>
  2110. &lt;edge label="Creating On-Line Documents in RPInfo on the World Wide Web" source="4" target="24">
  2111. &lt;/edge>
  2112. &lt;edge label="Matthew Rice" source="4" target="23">
  2113. &lt;/edge>
  2114. &lt;edge label="Jeremy Waterfall" source="4" target="22">
  2115. &lt;/edge>
  2116. &lt;edge label="Steve Ludwig" source="4" target="21">
  2117. &lt;/edge>
  2118. &lt;edge label="Greg Oberg" source="4" target="20">
  2119. &lt;/edge>
  2120. &lt;edge label="Matthew Miling" source="4" target="19">
  2121. &lt;/edge>
  2122. &lt;edge source="4" target="17">
  2123. &lt;/edge>
  2124. &lt;edge label="puninj@cs.rpi.edu" source="4" target="17">
  2125. &lt;/edge>
  2126. &lt;edge label="SRC IMG icon/lfarrw.gif" source="3" target="18">
  2127. &lt;/edge>
  2128. &lt;edge label="John Punin (puninj@cs.rpi.edu)" source="3" target="17">
  2129. &lt;/edge>
  2130. &lt;edge label="IMG CS Home Page" source="1" target="16">
  2131. &lt;/edge>
  2132. &lt;edge label="IMG RPI Info" source="1" target="15">
  2133. &lt;/edge>
  2134. &lt;edge label="IMG Best of RPI Info" source="1" target="14">
  2135. &lt;/edge>
  2136. &lt;edge label="IMG TOC" source="1" target="13">
  2137. &lt;/edge>
  2138. &lt;edge label="IMG Hot List" source="1" target="12">
  2139. &lt;/edge>
  2140. &lt;edge label="IMG Exams" source="1" target="11">
  2141. &lt;/edge>
  2142. &lt;edge label="IMG Projects" source="1" target="10">
  2143. &lt;/edge>
  2144. &lt;edge label="IMG Homework" source="1" target="9">
  2145. &lt;/edge>
  2146. &lt;edge label="IMG Classes" source="1" target="8">
  2147. &lt;/edge>
  2148. &lt;edge label="IMG Schedule" source="1" target="7">
  2149. &lt;/edge>
  2150. &lt;edge label="IMG Syllabus" source="1" target="6">
  2151. &lt;/edge>
  2152. &lt;edge label="IMG Announcements" source="1" target="5">
  2153. &lt;/edge>
  2154. &lt;edge label="IMG Students" source="1" target="4">
  2155. &lt;/edge>
  2156. &lt;edge label="IMG Xiaomei Zhang" source="1" target="3">
  2157. &lt;/edge>
  2158. &lt;edge label="IMG John Punin" source="1" target="2">
  2159. &lt;/edge>
  2160. &lt;/graph></pre>
  2161. <h3>
  2162. D.3 XGMML graph file with self loops and parallel edges.</h3>
  2163. <pre>&lt;?xml version="1.0"?>
  2164. &lt;!DOCTYPE graph SYSTEM "xgmml.dtd">
  2165. &lt;!-- Graph File Generated for GraphPack 2.0 -->
  2166. &lt;graph directed="1" graphic="1" Layout="points">
  2167. &lt;node id="1" label="1"
  2168. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; weight="0">
  2169. &lt;graphics type="circle" x="250" y="90" >
  2170. &lt;/graphics>
  2171. &lt;/node>
  2172. &lt;node id="2" label="2"
  2173. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; weight="0">
  2174. &lt;graphics type="circle" x="190" y="150" >
  2175. &lt;/graphics>
  2176. &lt;/node>
  2177. &lt;node id="3" label="3"
  2178. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; weight="0">
  2179. &lt;graphics type="circle" x="330" y="150" >
  2180. &lt;/graphics>
  2181. &lt;/node>
  2182. &lt;node id="6" label="6"
  2183. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; weight="0">
  2184. &lt;graphics type="circle" x="270" y="230" >
  2185. &lt;/graphics>
  2186. &lt;/node>
  2187. &lt;edge source="1" target="1" weight="1" >
  2188. &lt;/edge>
  2189. &lt;edge source="1" target="2" weight="0" >
  2190. &lt;/edge>
  2191. &lt;edge source="6" target="2" weight="4" >
  2192. &lt;/edge>
  2193. &lt;edge source="1" target="3" weight="0" >
  2194. &lt;/edge>
  2195. &lt;edge source="1" target="3" weight="2" >
  2196. &lt;/edge>
  2197. &lt;edge source="2" target="3" weight="6" >
  2198. &lt;/edge>
  2199. &lt;edge source="3" target="6" weight="0" >
  2200. &lt;/edge>
  2201. &lt;edge source="1" target="6" weight="0" >
  2202. &lt;/edge>
  2203. &lt;/graph></pre>
  2204. <h3>
  2205. D.4 XGMML graph file with subgraphs.</h3>
  2206. <pre>&lt;?xml version="1.0"?>
  2207. &lt;!DOCTYPE graph SYSTEM "http://www.cs.rpi.edu/~puninj/XGMML/xgmml.dtd">
  2208. &lt;graph directed="1">
  2209. &lt;node id="1" label="n1">
  2210. &lt;att>
  2211. &lt;graph directed="1">
  2212. &lt;node id="11" label="n11"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  2213. &lt;node id="12" label="n12"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  2214. &lt;edge source="11" target="12" weight="0"/>
  2215. &lt;/graph>
  2216. &lt;/att>
  2217. &lt;/node>
  2218. &lt;node id="2" label="n2">
  2219. &lt;att>
  2220. &lt;graph directed="1">
  2221. &lt;node id="21" label="n21"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  2222. &lt;node id="22" label="n22"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  2223. &lt;edge source="22" target="21" weight="0"/>
  2224. &lt;edge source="21" target="22" weight="0"/>
  2225. &lt;/graph>
  2226. &lt;/att>
  2227. &lt;/node>
  2228. &lt;edge source="11" target="21" weight="0"/>
  2229. &lt;edge source="12" target="22" weight="0"/>
  2230. &lt;edge source="21" target="11" weight="0"/>
  2231. &lt;edge source="22" target="11" weight="0"/>
  2232. &lt;edge source="22" target="12" weight="0"/>
  2233. &lt;/graph></pre>
  2234. <h2>
  2235. <a NAME="XGMML-MIME"></a>E. XGMML Internet Media Type</h2>
  2236. The recommended Internet Media Type (MIME type) for&nbsp; XGMML Document
  2237. is <b><i>"application/xgmml</i></b>" . The suffix <b><i>".gr" i</i></b>s
  2238. recommended for XGMML files.
  2239. <h2>
  2240. <a NAME="Ref"></a>F. References</h2>
  2241. [CSS2]
  2242. <blockquote>"Cascading Style Sheets, level 2", B. Bos, H. W. Lie, C. Lilley,
  2243. I. Jacobs, 12 May 1998.
  2244. <br>URL: <a href="http://www.w3.org/TR/REC-CSS2">http://www.w3.org/TR/REC-CSS2</a></blockquote>
  2245. [DC]
  2246. <blockquote>Dublin Core Metadata for Resource Discovery, Internet RFC 2413.
  2247. <br>URL: <a href="http://www.ietf.org/rfc/rfc2413.txt">http://www.ietf.org/rfc/rfc2413.txt</a>
  2248. <br>URL: <a href="http://purl.oclc.org/dc/">http://purl.oclc.org/dc/</a></blockquote>
  2249. [GML]
  2250. <blockquote>The GML File Format, Michael Himsolt, 1997.
  2251. <br>URL: <a href="http://infosun.fmi.uni-passau.de/Graphlet/GML/">http://infosun.fmi.uni-passau.de/Graphlet/GML/</a></blockquote>
  2252. [ISO 639]
  2253. <blockquote>(International Organization for Standardization). ISO 639:1988
  2254. (E). Code for the representation of names of languages. [Geneva]: International
  2255. Organization for Standardization, 1988.</blockquote>
  2256. [RDF]
  2257. <blockquote>Resource Description Framework (RDF) Model and Syntax Specification
  2258. World Wide Web Consortium.
  2259. <br>URL: <a href="http://www.w3.org/TR/REC-rdf-syntax">http://www.w3.org/TR/REC-rdf-syntax</a></blockquote>
  2260. [RFC1630]
  2261. <blockquote>"Universal Resource Identifiers in WWW", T. Berners-Lee, L,
  2262. June 1994
  2263. <br>URL: <a href="http://www.ietf.org/rfc/rfc1630.txt">http://www.ietf.org/rfc/rfc1630.txt</a></blockquote>
  2264. [RFC1738]
  2265. <blockquote>"Uniform Resource Locators", T. Berners-Lee, L. Masinter, and
  2266. M. McCahill, December 1994.
  2267. <br>URL: <a href="http://www.ietf.org/rfc/rfc1738.txt">http://www.ietf.org/rfc/rfc1738.txt</a></blockquote>
  2268. [RFC1808]
  2269. <blockquote>"Relative Uniform Resource Locators", R. Fielding, June 1995.
  2270. <br>URL: <a href="http://www.ietf.org/rfc/rfc1808.txt">http://www.ietf.org/rfc/rfc1808.txt</a></blockquote>
  2271. [Unicode]
  2272. <blockquote>"The Unicode Consortium, The Unicode Standard. (See <a href="http://www.unicode.org/unicode/standard/versions/">http://www.unicode.org/unicode/standard/versions/</a>
  2273. for the latest version and additional information on versions of the standard
  2274. and of the Unicode Character Database).</blockquote>
  2275. [VCARD]
  2276. <blockquote>vCard MIME Directory Profile, F. Dawson and T. Howes, Internet
  2277. RFC 2426, September 1998.
  2278. <br>URL: <a href="http://www.ietf.org/rfc/rfc2426.txt">http://www.ietf.org/rfc/rfc2426.txt</a>
  2279. <br>URL: <a href="http://www.imc.org/pdi/vcardwhite.html">http://www.imc.org/pdi/vcardwhite.html</a></blockquote>
  2280. [XHTML-1.0]
  2281. <blockquote>"XHTML[tm] 1.0: The Extensible HyperText Markup Language"&nbsp;
  2282. W3C Recommendation , 26 January 1998. URL: <a href="http://www.w3.org/TR/xhtml1">http://www.w3.org/TR/xhtml1</a></blockquote>
  2283. [XLINK]
  2284. <blockquote>"XML Linking Language (XLink)", S. DeRose, E. Maler, D. Orchard
  2285. editors, 27 June 2001.
  2286. <br>URL: <a href="http://www.w3.org/TR/xlink">http://www.w3.org/TR/xlink</a></blockquote>
  2287. [XML-1.0]
  2288. <blockquote>"Extensible Markup Language (XML) 1.0" T. Bray, J. Paoli, C.M.
  2289. Sperberg-McQueen, editors, 10 February 1998.
  2290. <br>URL: <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></blockquote>
  2291. [XML-NS]
  2292. <blockquote>"Namespaces in XML" T. Bray, D. Hollander, A. Layman, editors,
  2293. 14 January 1999.
  2294. <br>URL: <a href="http://www.w3.org/TR/REC-xml-names">http://www.w3.org/TR/REC-xml-names</a>.</blockquote>
  2295. [XML-SCHEMA]
  2296. <blockquote>"XML Schema Part 1: Structures" H. Thompson, D. Beech, M. Maloney,
  2297. N. Mendelsohn editors, 25 February 2000.
  2298. <br>URL: <a href="http://www.w3.org/TR/xmlschema-1">http://www.w3.org/TR/xmlschema-1</a>
  2299. <br>"XML Schema Part 2: Datatypes" P. Biron and A. Malhotra editors, 25
  2300. February 2000.
  2301. <br>URL:<a href="http://www.w3.org/TR/xmlschema-2">http://www.w3.org/TR/xmlschema-2</a></blockquote>
  2302. <p><br>
  2303. <hr WIDTH="100%">
  2304. <br>&nbsp;
  2305. <br>&nbsp;
  2306. <br>&nbsp;
  2307. <br>&nbsp;
  2308. <br>&nbsp;
  2309. <br>&nbsp;
  2310. </body>
  2311. </html>