12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531 |
- <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
- <meta name="Author" content="John Punin, Mukkai Krishnamoorthy">
- <title>XGMML (eXtensible Graph Markup and Modeling Language) 1.0 Draft Specification</title>
- </head>
- <body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
- <h1>
- XGMML (eXtensible Graph Markup and Modeling Language)</h1>
- <h2>
- XGMML 1.0 Draft Specification.</h2>
- This version:
- <br> <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>
- <br> (provision of the <a href="xgmml.xsd">schema</a>
- and <a href="xgmml.dtd">DTD</a> for XGMML)
- <p>Newest version:
- <br> <a href="http://www.cs.rpi.edu/~puninj/XGMML/draft-xgmml.html">http://www.cs.rpi.edu/~puninj/XGMML/draft-xgmml.html</a>
- <p>Previous version:
- <br> <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>
- <p>Editors:
- <br> John Punin <a href="mailto:puninj@cs.rpi.edu"><puninj@cs.rpi.edu></a>,
- (RPI)
- <br> Mukkai Krishnamoorthy <a href="mailto:moorthy@cs.rpi.edu"><moorthy@cs.rpi.edu></a>,
- (RPI)
- <p>
- <hr WIDTH="100%">
- <h2>
- Abstract</h2>
- This draft specification defines the syntax of the Extensible Graph Markup
- and Modeling Language (XGMML). XGMML is an XML application for describing
- Graphs.
- <h2>
- Table of Contents</h2>
- <a href="#Intro">1. Introduction</a>
- <br><a href="#XGMML-Doc">2. XGMML Documents</a>
- <br> <a href="#XGMML-WF-Doc">2.1 Well-Formed XGMML Documents</a>
- <br> <a href="#XGMML-V-Doc">2.2 Valid XGMML Documents</a>
- <br><a href="#XGMML-GML">3. XGMML and GML</a>
- <br><a href="#StructXGMMLDoc">4. Structure of XGMML Documents</a>
- <br><a href="#XGMMLDT">5. XGMML Data Types</a>
- <br> <a href="#BT">5.1 Boolean Type</a>
- <br> <a href="#NT">5.2 Number Type</a>
- <br> <a href="#ST">5.3 String Type</a>
- <br> <a href="#UT">5.4 URI Type</a>
- <br> <a href="#AT">5.5 Anchor Type</a>
- <br> <a href="#TypeGO">5.6 Type of Graphic objects.</a>
- <br> <a href="#LT">5.7 Line Types</a>
- <br> <a href="#TT">5.8 Text Types</a>
- <br> <a href="#CT">5.9 Color Type</a>
- <br> <a href="#AnT">5.10 Angle Type</a>
- <br> <a href="#OT">5.11 Object Type</a>
- <br><a href="#GraphE">6. Graph Element</a>
- <br> <a href="#GlobalA">6.1 Global Attributes</a>
- <br> <a href="#XMLA">6.2 XML Attributes</a>
- <br> <a href="#XLinkA">6.3 XLink Attributes</a>
- <br> <a href="#GraphA">6.4 Graph Attributes</a>
- <br> <a href="#GraphMC">6.5 Graph Mixed Content</a>
- <br><a href="#NodeE">7. Node Element</a>
- <br> <a href="#NodeA">7.1 Node Attributes</a>
- <br> <a href="#NodeMC">7.2 Node Mixed Content</a>
- <br><a href="#EdgeE">8. Edge Element</a>
- <br> <a href="#EdgeA">8.1 Edge Attributes</a>
- <br> <a href="#EdgeMC">8.2 Edge Mixed Content</a>
- <br><a href="#AttE">9. Att Element</a>
- <br> <a href="#AttA">9.1 Att Attributes</a>
- <br> <a href="#AttMC">9.2 Att Mixed Content</a>
- <br><a href="#GLCPE">10. Graphics, Line, Center and Point elements</a>
- <br> <a href="#GraphicsA">10.1 Graphics Attributes</a>
- <br> <a href="#LPCA">10.2 Line, Point and Center Attributes</a>
- <br><a href="#XGMML-RDF">11. XGMML and RDF</a>
- <h3>
- <a href="#Appendices">Appendices</a></h3>
- <a href="#Characters">A. Characters</a>
- <br><a href="#XGMML-DTD">B. XGMML 1.0 DTD</a>
- <br><a href="#XGMML-Schema">C. XGMML 1.0 Schema</a>
- <br><a href="#XGMML-Ex">D. XGMML Examples</a>
- <br><a href="#XGMML-MIME">E. XGMML Internet Media Type</a>
- <br><a href="#Ref">F. References</a>
- <br>
- <hr WIDTH="100%">
- <h2>
- <a NAME="Intro"></a>1. Introduction</h2>
- Extensible Graph Markup and Modeling Language (XGMML) is an XML 1.0 application
- based on Graph Modeling Language (GML) to describe Graphs [<a href="#Ref">GML</a>].
- A Graph, G= (V,E), is a set of nodes V and a set of edges E. Each edge
- is either an ordered (directed graph) or unordered (undirected) pair of
- nodes. Since graphs can be described as a data object whose elements
- are nodes and edges which are data objects, XML is an ideal way to represent
- graphs. Structure of the World Wide Web is a typical example of a graph
- where the web pages are "nodes," and the hyperlinks are "edges." The best
- way to describe a web site structure is using a graph structure so XGMML
- documents are a good choice for containing the structural information of
- a web site.
- <h2>
- <a NAME="XGMML-Doc"></a>2. XGMML Documents</h2>
- Since XGMML is an application of XML, XGMML documents can be well-formed
- documents or valid documents.
- <h3>
- <a NAME="XGMML-WF-Doc"></a>2.1 XGMML Well-formed Documents</h3>
- An XGMML well-formed document is an XML well-formed document that described
- a graph using the graph, node and edge elements of XGMML. A <b>graph</b>
- element may be the root element of the XGMML well-formed document. Two
- cases of XGMML well-formed document can be found. The first case
- is XGMML documents with additional proprietary elements from a vendor.
- The second case is XGMML documents that are contained on other
- XML documents.
- <h3>
- <a NAME="XGMML-V-Doc"></a>2.2 XGMML Valid Documents</h3>
- An XGMML valid document can be validated against an XGMML DTD or XGMML
- Schema [<a href="#Ref">XML-SCHEMA</a>]. The XGMML DTD and XGMML Schema
- are provided in the Appendices section. A valid XML document can have multiple
- schemas. The namespace for XGMML is: <i>http://www.cs.rpi.edu/XGMML </i>and
- the suffix for the XGMML elements is <i>xgmml</i>:.
- <h2>
- <a NAME="XGMML-GML"></a>3. XGMML and GML</h2>
- XGMML is based on GML [<a href="#Ref">GML</a>]. GML is a powerful language
- used on many software applications to describe graph structures. XGMML
- uses all tags of GML and a few additional tags. Conversion of a GML description
- to an XGMML description is easy. A GML description is a collection of key-value
- pairs. The keys are string identifiers such as
- <i>graph</i>,
- <i>node
- </i>and
- <i>edge</i>
- and the values can be numbers, strings or a list of key-value pairs. The
- following rule is used to map GML to XGMML:
- <blockquote>A GML key is a name of an XGMML element if its value is a list
- of key-value pairs. A GML key is a name of an XGMML attribute if its value
- is a number or string.</blockquote>
- Two exceptions are considered: the <i>comment</i> GML tag and the GML lines
- starting with "#" character must be ignored or translated to XML comments
- <!-- <i>comment </i>-->
- <p>GML consider key names as safe or unsafe. Unsafe key names are the ones
- that the application program discards when a change to the graph occurred.
- They can be recognized if the key name starts with a capital letter. This
- rule is included in XGMML. The XGMML attributes are classified as safe
- and unsafe attributes.
- <h2>
- <a NAME="StructXGMMLDoc"></a>4. Structure of XGMML Documents</h2>
- An XGMML document describes a graph structure. The root element is <b>graph</b>
- and it can contain <b>node, edge</b> and <b>att </b>elements. The <b>node</b>
- element describes a node of a graph and the
- <b>edge</b> element describes
- an edge of a graph. Additional information for graphs, nodes and edges
- can be attached using the <b>att</b> element. A <b>graph</b> element can
- be contained in an <b>att</b> element and this graph will be considered
- as subgraph of the main graph. The <b>graphics </b>element can be included
- in a <b>node</b> or <b>edge </b>element, and it describes the graphic representation
- either of a node or an edge. The following example is a graph with just
- one node.
- <pre><?xml version="1.0"?>
- <!DOCTYPE graph PUBLIC "-//John Punin//DTD graph description//EN" "http://www.cs.rpi.edu/~puninj/XGMML/xgmml.dtd">
- <graph directed="1" id="2">
- <node id="1" label="Node 1"/>
- </graph></pre>
- The following XGMML document describes a graph with two nodes and one edge.
- <pre><?xml version="1.0"?>
- <!DOCTYPE graph PUBLIC "-//John Punin//DTD graph description//EN" "http://www.cs.rpi.edu/~puninj/XGMML/xgmml.dtd">
- <graph directed="1" id="5">
- <node id="1" label="Node 1"/>
- <node id="2" label="Node 2"/>
- <edge source="1" target="2" label="Edge 1"/>
- </graph></pre>
- XGMML documents can be validated against the DTD <i>"<a href="#XGMML-DTD">xgmml.dtd</a>"</i>
- 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>
- <p>XGMML well formed documents can be part of other XML documents.
- The following example is a graph inside of an XHTML document [<a href="#Ref">XHTML
- 1.0</a>]:
- <pre><?xml version="1.0" encoding="UTF-8"?>
- <html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance"
- xmlns:xgmml="http://www.cs.rpi.edu/XGMML"
- xsi:schemaLocation="http://www.w3.org/1999/Style/Transform
- http://www.w3.org/1999/Style/Transform/xslt.xsd
- http://www.w3.org/1999/xhtml
- http://www.w3.org/1999/xhtml/xhtml.xsd
- http://www.cs.rpi.edu/XGMML
- http://www.cs.rpi.edu/~puninj/XGMML/xgmml.xsd"</pre>
- <pre> xml:lang="en">
-
- <head>
- <title>Graph Information</title>
- </head>
- <body>
- <!-- XHTML Document here -->
- <xgmml:graph directed="1" graphic="1" Layout="points">
- <xgmml:node id="1" label="1" weight="0">
- <xgmml:graphics type="circle" x="250" y="90" />
- </xgmml:node>
- <xgmml:node id="2" label="2"weight="0">
- <xgmml:graphics type="circle" x="190" y="150" />
- </xgmml:node>
- <xgmml:edge source="1" target="2" weight="0" />
- </xgmml:graph>
- <!-- XHTML Document here -->
- </body>
- </html></pre>
- Other examples of XGMML Documents can be found in Apendix D of this draft.
- <h2>
- <a NAME="XGMMLDT"></a>5. XGMML Data Types</h2>
- XGMML data types are defined based on the following XML data types:
- <ul>
- <li>
- <a href="http://www.w3.org/TR/1998/REC-xml-19980210#NT-Nmtoken">NMTOKEN</a>
- is any mixture of name characters.</li>
- <li>
- <a href="http://www.w3.org/TR/1998/REC-xml-19980210#NT-AttValue">CDATA</a>
- is XML Literal data. It is any quoted string.</li>
- <li>
- PCDATA is Parsed Character Data. It is any string that does not contain
- markup text.</li>
- </ul>
- <h3>
- <a NAME="BT"></a>5.1 Boolean Type</h3>
- <pre><!ENTITY % boolean.type "(0|1)" ></pre>
- Boolean values are 0 for false and 1 for True.
- <h3>
- <a NAME="NT"></a>5.2 Number Type</h3>
- <pre><!ENTITY % number.type "NMTOKEN"></pre>
- Numbers can be integers or reals.
- <h3>
- <a NAME="ST"></a>5.3 String Type</h3>
- <pre><!ENTITY % string.type "CDATA"></pre>
- Strings are XML Literal data that can not contain a quoted character.
- <h3>
- <a NAME="UT"></a>5.4 URI Type</h3>
- <pre><!ENTITY % uri.type "%string.type;"></pre>
- URI are strings that are Uniform Resource Identifiers as defined in [<a href="#Ref">RFC1630</a>].
- URIs include relative and absolute Uniform Resource Locators as defined
- in [<a href="#Ref">RFC1738</a>] and [<a href="#Ref">RFC1808</a>].
- <h3>
- <a NAME="AT"></a>5.5 Anchor Type</h3>
- <pre><!ENTITY % anchor.type "(c|n|ne|e|se|s|sw|w|nw)"></pre>
- Anchor type is defined in GML as the relative position of an object. Anchor
- type is an enumerated type whose possible values are c (center), n (north),
- ne (northeast), e (east), se (southeast), s (south), sw (southweast), w
- (west) and nw (northwest).
- <h3>
- <a NAME="TypeGO"></a>5.6 Type of Graphic Objects</h3>
- <pre><!ENTITY % type-graphics-gml.type "arc|bitmap|image|line|oval|polygon|
- rectangle|text">
- <!ENTITY % type-graphics-app.type "box|circle|ver_ellipsis|hor_ellipsis|
- rhombus|triangle|pentagon|hexagon|
- octagon"></pre>
- The type of graphic objects is an enumerated type whose values depend mainly
- on the application that reads XGMML documents. XGMML extends the possible
- values of the GML type of graphic objects.
- <h3>
- <a NAME="LT"></a>5.7 Line Types</h3>
- <pre><!ENTITY % arrow.type "(none | first | last | both)">
- <!ENTITY % capstyle.type "(butt | projecting | round)">
- <!ENTITY % joinstyle.type "(bevel | miter | round)">
- <!ENTITY % arcstyle.type "(pieslice | chord | arc)"></pre>
- Line Types are enumerated types and they are: Arrow, Capstyle, Joinstyle
- and Arcstyle. Arrow type defines the position of the arrow. Capstyle type
- defines the end of the line. Joinstyle type defines the Line joints. Arcstyle
- defines the style of an arc.
- <h3>
- <a NAME="TT"></a>5.8 Text Types</h3>
- <pre><!ENTITY % justify.type "(left | right | center)">
- <!ENTITY % font.type "%string.type;"></pre>
- Justify type is an enumerated type that defines the text justification.
- Font type is a string that represents the name of the font to be used for
- the text.
- <h3>
- <a NAME="CT"></a>5.9 Color Type</h3>
- <pre><!ENTITY % color.type "%string.type;"></pre>
- Color type is a string that represents the color to be used by the Graphic
- object. The format is the same as the <a href="http://www.w3.org/TR/REC-CSS2/syndata.html#color-units">color
- type in CSS2</a> [<a href="#Ref">CSS2</a>]. The color can be either a keyword
- or a numerical RGB specification. Examples are the strings : "white", "#FFFFF",
- "rgb(100,150,30)".
- <h3>
- <a NAME="AnT"></a>5.10 Angle Type</h3>
- <pre><!ENTITY % angle.type "%string.type;"></pre>
- Angle type is a string that represents the angle to be used by an arc.
- The format is the same as the <a href="http://www.w3.org/TR/REC-CSS2/syndata.html#q19">angles
- type in CSS2</a> [<a href="#Ref">CSS2</a>]. It starts with a number (<i>number.type</i>)
- followed by an angle unit identifier: <i>deg</i> (degrees), <i>grad</i>
- (grads), <i>rad</i> (radians). If no angle unit identifier is given, <i>deg</i>
- (degrees) is the default.
- <h3>
- <a NAME="OT"></a>5.11 Object Type</h3>
- <pre><!ENTITY % object.type "(list | string | real | integer)"></pre>
- Object type is an enumerated type that consist of the GML possible values
- of an object. A GML file is composed of key-value pairs. The type of the
- possible values of the keys are <i>list</i>, <i>string</i>, <i>real</i>
- or <i>integer</i>.
- <h2>
- <a NAME="GraphE"></a>6. Graph Element</h2>
- <pre><!ELEMENT graph (att*,(node | edge)*)>
- <!ATTLIST graph
- %global-atts;
- %xml-atts;
- %xlink-atts;
- %graph-atts-safe;
- %graph-atts-gml-unsafe;
- %graph-atts-app-unsafe;></pre>
- The <b>graph</b> element is the root element of an XGMML valid document.
- This <b>graph</b> element contains the rest of the XGMML elements. The
- <b>graph</b>
- element may not be unique in the XGMML document. Other graphs can
- be included as subgraphs of the main graph. Please refer to the <b>att</b>
- element.
- <h3>
- <a NAME="GlobalA"></a>6.1 Global Attributes</h3>
- <pre><!ENTITY % global-atts "id %number.type; #IMPLIED
- name %string.type; #IMPLIED
- label %string.type; #IMPLIED
- labelanchor %string.type; #IMPLIED"></pre>
- The following attributes are attributes of all XGMML elements :
- <ul>
- <li>
- <b>id</b> - Unique number to identify the elements of XGMML document</li>
- <li>
- <b>name</b> - String to identify the elements of XGMML document</li>
- <li>
- <b>label</b> - Text representation of the XGMML element</li>
- <li>
- <b>labelanchor</b> - Anchor position of the label related to the graphic
- representation of the XGMML element</li>
- </ul>
- <h3>
- <a NAME="XMLA"></a>6.2 XML Attributes</h3>
- <pre><!ENTITY % xml-atts "xmlns CDATA #FIXED 'http://www.cs.rpi.edu/XGMML'
- xml:lang NMTOKEN #IMPLIED
- xml:space (default | preserve) #IMPLIED"></pre>
- These attributes are standard XML attributes:
- <ul>
- <li>
- <b>xmlns</b> - This attribute identifies the XML Namespace. [<a href="#Ref">XML-NS</a>]
- The namespace for XGMML is the URI : <i>http://www.cs.rpi.edu/XGMML .</i></li>
- <li>
- <b>xml:lang</b> - This attribute specifies the language used in the values
- of the attributes and elements. [<a href="#Ref">ISO 639</a>] [<a href="#Ref">XML-1.0</a>]</li>
- <li>
- <b>xml:space</b> - This attribute specifies if white space is preserved
- or not. The possible values are <i>default </i>and <i>preserve</i>. [<a href="#Ref">XML-1.0</a>]</li>
- </ul>
- <h3>
- <a NAME="XLinkA"></a>6.3 XLink Attributes</h3>
- <pre><!ENTITY % xlink-atts "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
- xlink:type (simple) #FIXED 'simple'
- xlink:role CDATA #IMPLIED
- xlink:title CDATA #IMPLIED
- xlink:show (new|embed|replace) #IMPLIED
- xlink:actuate (onLoad|onRequest) #IMPLIED
- xlink:href CDATA #IMPLIED"></pre>
- Nodes and Edges can reference XGMML documents. For example, a node
- can represent a graph that can be shown when the user points in the
- node. This behavior is similar to hyperlinks in HTML documents. XGMML uses
- XLink framework [<a href="#Ref">XLINK</a>] to create hyperlinks either
- in nodes or edges. All these attributes are taking directly from the XLink
- Working Draft.
- <ul>
- <li>
- <b>xmlns:xlink</b> - This attribute identifies the XML Namespace of XLink.
- The namespace for XLink is <i>http://www.w3.org/1999/xlink .</i></li>
- <li>
- <b>xlink:type</b> - This attribute identifies the type of Xlink. The only
- possible value is: <i>simple</i>. The default value is <i>simple</i>. A
- simple link associates only two resources.</li>
- <li>
- <b>xlink:role </b>- This attribute is a machine-readable string to describe
- the link's remote resource.</li>
- <li>
- <b>xlink:title</b> - This attribute is a human-readable string to describe
- the link's remote resource.</li>
- <li>
- <b>xlink:show</b> - This attribute describes the behavior of the application
- after an activation of the link. The possible values are <i>new</i> (open
- new window), <i>embed </i>(replace the starting resource), <i>replace </i>(load
- the resource in the same window).</li>
- <li>
- <b>xlink:actuate</b> - This attribute also describes the behavior of the
- application after an activation of the link. The possible values are <i>onLoad</i>
- (the application automatically traverses the link) and <i>onRequest </i>(the
- application waits for an event to traverse the link).</li>
- <li>
- <b>xlink:href</b> - This attribute refers to the URI of the remote resource.</li>
- </ul>
- <h3>
- <a NAME="GraphA"></a>6.4 Graph Attributes</h3>
- <pre><!ENTITY % graph-atts-safe "directed %boolean.type; '0' ">
- <!ENTITY % graph-atts-gml-unsafe "Vendor %string.type; #IMPLIED">
- <!ENTITY % graph-atts-app-unsafe "Scale %number.type; #IMPLIED
- Rootnode %number.type; #IMPLIED
- Layout %string.type; #IMPLIED
- Graphic %boolean.type; #IMPLIED"></pre>
- The <b>graph</b> attributes can be safe or unsafe and they are:
- <ul>
- <li>
- global attributes</li>
- <li>
- xml attributes</li>
- <li>
- xlink attributes</li>
- <li>
- <b>directed</b> - Boolean value. Graph is directed if this attribute is
- 1 (true) otherwise is undirected. The default value is 0 (false).</li>
- <li>
- <b>Vendor</b> - Unsafe GML key to show the application that created the
- XGMML file.</li>
- <li>
- <b>Scale </b>- Unsafe numeric value to scale the size of the displayed
- graph.</li>
- <li>
- <b>Rootnode </b>- Unsafe id number to identify the root node of the graph.
- Useful for tree drawing.</li>
- <li>
- <b>Layout </b>- Unsafe string that represent the layout that can be applied
- to display the graph. The layout name is the name of the algorithm to assign
- position to the nodes of the graph. For example: circular.</li>
- <li>
- <b>Graphic</b> - Unsafe boolean value. If this value is 1 (true), the XGMML
- file includes graphical representation of the graph. False means that the
- XGMML file includes only topological structure of the graph and the application
- program is free to display the graph using any layout.</li>
- </ul>
- <h3>
- <a NAME="GraphMC"></a>6.5 Graph Mixed Content</h3>
- The only elements allowed in a <b>graph</b> element are: <b>node</b>, <b>edge</b>
- and <b>att</b>. The <b>graph</b> element can be an empty graph. For valid
- XGMML documents, <b>att</b>s may be placed first or last, and <b>node</b>s
- and <b>edge</b>s may be freely intermingled. Nodes must have different
- <b>id</b>s
- and <b>name</b>s attributes. Edges can not reference to nodes that are
- not included in the XGMML definition.
- <h2>
- <a NAME="NodeE"></a>7. Node Element</h2>
- <pre><!ELEMENT node (graphics?,att*)>
- <!ATTLIST node
- %global-atts;
- %xlink-atts;
- %node-atts-gml-safe;
- %node-atts-app-safe;></pre>
- A <b>node</b> element must be included in a <b>graph</b> element. Each
- <b>node</b>
- element describes the properties of a node object. The node can be rendered
- as a graphic object and also can have additional meta information to be
- used for the application program. The only elements allowed inside the
- node are <b>graphics</b> and <b>att</b>. The graphic representation of
- the node is reported on the <b>graphics </b>element. The additional meta
- information is reported on the <b>att</b> element.
- <h3>
- <a NAME="NodeA"></a>7.1 Node Attributes</h3>
- <pre><!ENTITY % node-atts-gml-safe "edgeanchor %anchor.type; #IMPLIED">
- <!ENTITY % node-atts-app-safe "weight %string.type; #IMPLIED"></pre>
- The node attributes are:
- <ul>
- <li>
- global attributes</li>
- <li>
- xlink attributes</li>
- <li>
- <b>edgeancho</b>r - GML key to position the edges related to the node</li>
- <li>
- <b>weight</b> - value (usually numerical) to show the node weight -Useful
- for weight graphs</li>
- </ul>
- <h2>
- <a NAME="NodeMC"></a>7.2 Node Mixed Content</h2>
- The<b> graphics</b> and <b>att</b> are the only elements allowed in the
- <b>node</b>
- element. The <b>graphics</b> element shows the graphical representation
- of the node. For example, a graphical representation of a node can be a
- rectangle, a circle or a bitmap. An <b>att</b> element is used to
- attach additional meta information related to the node. For example, if
- a node is a representation of a web page, useful metadata is the title,
- date of creation and size of the web page. A node of a graph can
- be a subgraph so the <b>att </b>element can be used to include the subgraph.
- Please see <b>att</b> element for more details.
- <h2>
- <a NAME="EdgeE"></a>8. Edge Element</h2>
- <pre><!ELEMENT edge (graphics?,att*)>
- <!ATTLIST edge
- %global-atts;
- %xlink-atts;
- %edge-atts-gml-safe;
- %edge-atts-app-safe;></pre>
- An <b>edge</b> element must be included in a <b>graph</b> element. For
- each <b>edge</b> element at least two <b>node</b> elements have to be included
- in the <b>graph</b> element. An edge is between a source node and a target
- node. The application program must verify if the source node and target
- node are included in the XGMML document. The edge element as the node element
- can have a graphical representation and additional metadata information.
- The <b>graphics</b> and <b>att </b>elements are the only elements allowed
- inside of the <b>edge </b>element. The graphic representation of the edge
- is reported on the <b>graphics </b>element. The additional meta information
- is reported on the <b>att</b> element.
- <h3>
- <a NAME="EdgeA"></a>8.1 Edge Attributes</h3>
- <pre><!ENTITY % edge-atts-gml-safe "source %number.type; #REQUIRED
- target %number.type; #REQUIRED">
- <!ENTITY % edge-atts-app-safe "weight %string.type; #IMPLIED"></pre>
- The edge attributes are:
- <ul>
- <li>
- global attributes</li>
- <li>
- xlink attributes</li>
- <li>
- <b>source </b>- The id number of the source node of the edge</li>
- <li>
- <b>target</b> - The id number of the target node of the edge</li>
- <li>
- <b>weight </b>- A string (usually a number) representing the weight of
- the edge.</li>
- </ul>
- <h3>
- <a NAME="EdgeMC"></a>8.2 Edge Mixed Content</h3>
- The<b> graphics</b> and <b>att</b> are the only elements allowed in an
- <b>edge</b>
- element. The <b>graphics</b> element shows the graphical representation
- of an edge. For example, a graphical representation of an edge can be a
- line or an arc. An <b>att</b> element is used to attach additional
- meta information related to an edge. For example, if an edge is a representation
- of a hyperlink, useful metadata is anchor string and type of the
- hyperlink.
- <h2>
- <a NAME="AttE"></a>9. Att Element</h2>
- <pre><!ELEMENT att (#PCDATA | att | graph)*>
- <!ATTLIST att
- %global-atts;
- %attribute-value;
- %attribute-type;></pre>
- An <b>att </b>element is used to hold meta information about the element
- that contains the <b>att</b> element. An <b>att</b> element can contain
- other <b>att</b> elements, for example to represent structured metadata
- such as records, lists, etc. A <b>graph </b>element can be contained in
- an <b>att</b> element. This graph is considered as a subgraph of the main
- graph.
- <h2>
- <a NAME="AttA"></a>9.1 Att Attributes</h2>
- <pre><!ENTITY % attribute-value "value %string.type; #IMPLIED">
- <!ENTITY % attribute-type "type %object.type; #IMPLIED"></pre>
- The att attributes are:
- <ul>
- <li>
- global attributes</li>
- <li>
- <b>name</b> - Global attribute that contains the name of the metadata information.</li>
- <li>
- <b>value</b> - The value of the metadata information.</li>
- <li>
- <b>type</b> - The object type of the metadata information. Please refer
- to object type section. The default object type is string.</li>
- </ul>
- For example to attach the information [integer rad = 30] to a node the
- following line is included in the node element :
- <pre><att type="integer" name="rad" value="30"/></pre>
- <h3>
- <a NAME="AttMC"></a>9.2 Att Mixed Content</h3>
- All of <b>att</b>, <b>graph</b> and PCDATA can be inside of <b>att</b>
- element. An <b>att</b> is an empty element for object types such as integers,
- reals and integers. When the object type is a list, other <b>att </b>element
- must be inside of the <b>att</b> element to hold the list information.
- When a <b>graph</b> element is contained in the <b>att</b> element, that
- graph is a subgraph of the main graph.
- <p>For example, the metadata of an object <i>person</i> A is name:John,
- ssn: 123456789 and e-mail:john@rpi.edu. To attach this metadata to a node
- of a graph using the <b>att</b> element, the following lines must be included
- in the <b>node</b> element:
- <pre><att type="list" name="person_description">
- <att name="name" value="John"/>
- <att name="ssn" value="123456789"/>
- <att name="e-mail" value="john@rpi.edu"/>
- </att></pre>
- <h2>
- <a NAME="GLCPE"></a>10. Graphics, Line, Center and Point elements</h2>
- <pre><!ELEMENT graphics ((Line? | center?),att*)>
- <!ATTLIST graphics
- %graphics-type-att;
- %point-atts;
- %dimension-atts;
- %external-atts;
- %line-atts;
- %text-atts;
- %bitmap-atts;
- %arc-atts;
- %object-atts;>
- <!ELEMENT center EMPTY>
- <!ATTLIST center
- %point-atts;>
- <!ELEMENT Line (point,point+)>
- <!ELEMENT point EMPTY>
- <!ATTLIST point
- %point-atts;></pre>
- The <b>graphics</b> element defines the graphical representation a graph,
- a node or an edge. A <b>graphics </b>element must be included in
- a <b>graph</b>, <b>node</b> or <b>edge</b> element. <b>Line</b>, <b>center</b>
- and <b>att </b>elements are the only elements that can be contained in
- a <b>graphics</b> element. <b>Line</b> element is defined between two <b>point</b>
- elements and it is used to represent edges. <b>center </b>element is a
- special <b>point </b>element to represent the central point of the graphical
- representation of a node. The <b>att </b>element permits to add information
- to the graphical representation. All these elements are inherited from
- GML.
- <h3>
- <a NAME="GraphicsA"></a>10.1 Graphics Attributes</h3>
- <pre><!ENTITY % graphics-type-att "type (%type-graphics-gml.type;|
- %type-graphics-app.type;) #IMPLIED">
- <!ENTITY % point-atts "x %number.type; #IMPLIED
- y %number.type; #IMPLIED
- z %number.type; #IMPLIED">
- <!ENTITY % dimension-atts "w %number.type; #IMPLIED
- h %number.type; #IMPLIED
- d %number.type; #IMPLIED">
- <!ENTITY % external-atts "image %uri.type; #IMPLIED
- bitmap %uri.type; #IMPLIED">
- <!ENTITY % line-atts "width %number.type; #IMPLIED
- arrow %arrow.type; #IMPLIED
- capstyle %capstyle.type; #IMPLIED
- joinstyle %joinstyle.type; #IMPLIED
- smooth %boolean.type; #IMPLIED
- splinesteps %number.type; #IMPLIED">
- <!ENTITY % text-atts "justify %justify.type; #IMPLIED
- font %font.type; #IMPLIED">
- <!ENTITY % bitmap-atts "background %color.type; #IMPLIED
- foreground %color.type; #IMPLIED">
- <!ENTITY % arc-atts "extent %angle.type; #IMPLIED
- start %angle.type; #IMPLIED
- style %arcstyle.type; #IMPLIED">
- <!ENTITY % object-atts "stipple %string.type; #IMPLIED
- visible %boolean.type; #IMPLIED
- fill %color.type; #IMPLIED
- outline %color.type; #IMPLIED
- anchor %anchor.type; #IMPLIED"></pre>
- The graphics attributes are divided in the following groups:
- <ul>
- <li>
- Graphics type attribute</li>
- <ul>
- <li>
- <b>type</b> - The type of the graphic object. The type of graphics objects
- are mentioned in section 5.6</li>
- </ul>
- <li>
- Point attributes</li>
- <ul>
- <li>
- <b>x</b>, <b>y</b> and <b>z</b> - The coordinates of a point (x, y, z).
- The point can be two or three dimensional</li>
- </ul>
- <li>
- Dimension attributes</li>
- <ul>
- <li>
- <b>w</b>, <b>h</b> and <b>d</b> - The dimensions of the graphic object:
- width, height and depth</li>
- </ul>
- <li>
- External attributes</li>
- <ul>
- <li>
- <b>image</b> - The URI of the image that represents a node.</li>
- <li>
- <b>bitmap</b> - The URI of the bitmap that represents a node.</li>
- </ul>
- <li>
- Line attributes</li>
- <ul>
- <li>
- <b>width </b>- The width of the line.</li>
- <li>
- <b>arrow</b> - The type of the arrow for directed edges. See section 5.7
- for arrow type</li>
- <li>
- <b>capstyle</b> - Defines the end of the line. See section 5.7</li>
- <li>
- <b>joinstyle</b> - Defines the Line Joints. See section 5.7</li>
- <li>
- <b>smooth</b> - Boolean value. If the smooth value is true, the line is
- drawn as splines. Otherwise, the line is drawn as straight line</li>
- <li>
- <b>splinestep</b>s - The number of line segments for the spline</li>
- </ul>
- <li>
- Text attributes</li>
- <ul>
- <li>
- <b>justify</b> - Text justification. See section 5.8</li>
- <li>
- <b>font</b> - Name of the font to be used for the text</li>
- </ul>
- <li>
- Bitmap attributes</li>
- <ul>
- <li>
- <b>background</b> - Background color to be used for the bitmap</li>
- <li>
- <b>foreground</b> - Foreground color to be used for the bitmap</li>
- </ul>
- <li>
- Arc attributes</li>
- <ul>
- <li>
- <b>extent</b> - The extension of the arc</li>
- <li>
- <b>start</b> - The starting angle</li>
- <li>
- <b>style</b> - The style of the arc. See section 5.7</li>
- </ul>
- <li>
- Graphic object attributes</li>
- <ul>
- <li>
- <b>stipple</b> - The name of the stipple (pattern) to be used for the graphic
- object</li>
- <li>
- <b>visible</b> - Boolean value. If the visible value is true, the graphic
- object is visible</li>
- <li>
- <b>fill</b> - The color of the interior of the graphic object</li>
- <li>
- <b>outline</b> - The color of the border of the graphic object</li>
- <li>
- <b>anchor</b> - The anchor position of the graphic object. See Section
- 5.5</li>
- </ul>
- </ul>
- <h3>
- <a NAME="LPCA"></a>10.2 Line, Point and Center Attributes</h3>
- <b>Line</b> element does not have attributes. <b>Line</b> element contains
- two or more <b>point</b> elements to define a polyline. <b>Line</b> is
- used to represent an edge.
- <p>A <b>point </b>element is an empty element that has <b>x</b>, <b>y</b>
- and <b>z</b> numeric values as attributes. A <b>center</b> point has the
- <b>x</b>,
- <b>y
- </b>and
- <b>z</b>
- also as attributes.
- <h2>
- <a NAME="XGMML-RDF"></a>11. XGMML and RDF</h2>
- XGMML well formed documents can include other XML vocabularies. In the
- near future, several vocabularies can be combined in one document and validate
- it using XML Schemas and Namespaces. RDF (Resource Description Framework)
- [<a href="#Ref">RDF</a>] is one way to describe metadata about resources.
- XGMML allows the inclusion of metadata information for a Graph, Node and/or
- Edge using the
- <b>att</b> tag.
- <p>These two examples show how to combine XGMML and RDF. The first example
- is a graph describing a simple website. The nodes represent webpages and
- the edges represent hyperlinks. The metadata of the webpages is included
- as attribute of a node. RDF and DC (Dublin Core) [<a href="#Ref">DC</a>]
- vocabularies have been used to describe the metadata of the nodes.
- <pre><?xml version="1.0"?>
- <graph xmlns = "http://www.cs.rpi.edu/XGMML"
- directed="1" >
- <node id="3" label="http://www.cs.rpi.edu/courses/" weight="5427">
- <att>
- <rdf:RDF
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:dc="http://purl.org/dc/elements/1.0/">
- <rdf:Description about="http://www.cs.rpi.edu/courses/"
- dc:title="Courses at Rensselaer Computer Science
- Department"
- dc:subject="www@cs.rpi.edu; M.S. requirements; CSCI-1190
- Beginning C Programming for Engineers; Courses; People;
- Graduate Program; CSCI-4020 Computer Algorithms; CSCI-
- 2220-01 Programming in Java; Research; Course Selection
- Guide; CSCI-4961-01, CSCI-6961-01 Advanced Robotics;
- Programming in Java; CSCI-2400 Models of Computation"
- dc:date="2000-01-31"
- dc:type="Text"
- >
- <dc:format>
- <rdf:Bag
- rdf:_1="text/html"
- rdf:_2="5427 bytes"
- />
- </dc:format>
- </rdf:Description>
- </rdf:RDF>
- </att>
- </node>
- <node id="7" label="http://www.cs.rpi.edu/research/" weight="5508">
- <att>
- <rdf:RDF
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:dc="http://purl.org/dc/elements/1.0/">
- <rdf:Description about="http://www.cs.rpi.edu/research/"
- dc:title="Research at Rensselaer Computer Science
- Department"
- dc:subject="www@cs.rpi.edu; Computing Twin Primes and
- Brun's Constant; Generic Programming; ASHE; Current
- Events; TEMPEST; Courses; People; Graduate Program; High-
- Performance Object-Oriented Programming in Fortran 90;
- High Performance Problem-Solving Environment for
- Optimization and Control of Chemical and Biological
- Processes; Computer Vision; Theory and Algorithms;
- technical report library; RPInfo; Undergraduate Program;
- Research; Research; Design Conference Room; Rensselaer;
- Bryan Rudge; Engineering Databases; anonymous ftp; I.SEE;
- info@cs.rpi.edu; Scientific Computing; OpenMath; Proactive
- Network Problem Avoidance; Computing Facilities; Computer
- Science Department"
- dc:date="1999-11-19"
- dc:type="Text"
- >
- <dc:format>
- <rdf:Bag
- rdf:_1="text/html"
- rdf:_2="5508 bytes"
- />
- </dc:format>
- </rdf:Description>
- </rdf:RDF>
- </att>
- </node>
- <node id="8" label="http://www.cs.rpi.edu/undergrad/" weight="7511">
- <att>
- <rdf:RDF
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:dc="http://purl.org/dc/elements/1.0/">
- <rdf:Description about="http://www.cs.rpi.edu/undergrad/"
- dc:title="Undergraduate Program at Rensselaer Computer
- Science Department"
- dc:subject="www@cs.rpi.edu; Association for Computing
- Machinery; People; Graduate Program; Minor; Prospective
- Students FAQ; Admissions Office; Research; BS-MS Degree;
- Rensselaer Catalog; Dual Majors; Admissions; ; Computing
- Facilities; Undergraduate Program; Rensselaer; Course
- Descriptions;Computer Science Department"
- dc:date="2000-01-26"
- dc:type="Text"
- >
- <dc:format>
- <rdf:Bag
- rdf:_1="text/html"
- rdf:_2="7511 bytes"
- />
- </dc:format>
- </rdf:Description>
- </rdf:RDF>
- </att>
- </node>
- <node id="1" label="http://www.cs.rpi.edu/" weight="3352">
- <att>
- <rdf:RDF
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:dc="http://purl.org/dc/elements/1.0/">
- <rdf:Description about="http://www.cs.rpi.edu/"
- dc:title="Rensselaer Computer Science Department"
- dc:subject="www@cs.rpi.edu; faculty positions; Rensselaer;
- Bryan Rudge; Computing Facilities; Courses; People;
- Graduate Program; info@cs.rpi.edu; Current Events; ;
- RPInfo; Research; Undergraduate Program"
- dc:date="2000-01-26"
- dc:type="Text"
- >
- <dc:format>
- <rdf:Bag
- rdf:_1="text/html"
- rdf:_2="3352 bytes"
- />
- </dc:format>
- </rdf:Description>
- </rdf:RDF>
- </att>
- </node>
- <edge source="1" target="3" weight="0" label="SRC IMG gfx/courses2.jpg" />
- <edge source="7" target="3" weight="0" label="SRC IMG ../gfx/courses2.jpg" />
- <edge source="8" target="3" weight="0" label="SRC IMG ../gfx/courses2.jpg" />
- <edge source="3" target="7" weight="0" label="SRC IMG ../../gfx/research2.jpg" />
- <edge source="1" target="7" weight="0" label="SRC IMG gfx/research2.jpg" />
- <edge source="8" target="7" weight="0" label="SRC IMG ../gfx/research2.jpg" />
- <edge source="3" target="8" weight="0" label="SRC IMG ../../gfx/ugrad2.jpg" />
- <edge source="7" target="8" weight="0" label="SRC IMG ../gfx/ugrad2.jpg" />
- <edge source="1" target="8" weight="0" label="SRC IMG gfx/ugrad2.jpg" />
- <edge source="3" target="1" weight="0" label="SRC IMG ../../gfx/corner2.jpg" />
- <edge source="7" target="1" weight="0" label="SRC IMG ../gfx/corner2.jpg" />
- <edge source="8" target="1" weight="0" label="SRC IMG ../gfx/corner2.jpg" />
- </graph></pre>
- The second example is a simple graph showing a relationship between two
- people. The metadata information about a person can be included as an attribute
- of the node. RDF and VCard (The Electronic Business Card) [<a href="#Ref">VCARD</a>]
- vocabularies have been used to describe the metadata of the nodes
- <br>
- <pre><?xml version="1.0"?>
- <graph xmlns = "http://www.cs.rpi.edu/XGMML" directed="1" >
- <node id="1" label="Mukkai Krishnamoorthy">
- <att>
- <rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:vCard = "http://imc.org/vCard/3.0#" >
- <rdf:Description about = "http://www.cs.rpi.edu/~moorthy" >
- <vCard:FN> Mukkai Krishnamoorthy </vCard:FN>
- <vCard:N rdf:parseType="Resource">
- <vCard:Family> Krishnamoorthy </vCard:Family>
- <vCard:Given> Mukkai </vCard:Given>
- </vCard:N>
- <vCard:EMAIL>
- <rdf:value> moorthy@cs.rpi.edu </rdf:value>
- <rdf:type resource ="http://imc.org/vCard/3.0#internet" />
- </vCard:EMAIL>
- <vCard:ORG rdf:parseType="Resource">
- <vCard:Orgname> RPI </vCard:Orgname>
- <vCard:Orgunit>
- <rdf:seq>
- <rdf:li> Computer Science </rdf:li>
- <rdf:li> Professor </rdf:li>
- </rdf:seq>
- </vCard:Orgunit>
- </vCard:ORG>
- </rdf:Description>
- </rdf:RDF>
- </att>
- </node>
- <node id="2" label="John Punin">
- <att>
- <rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:vCard = "http://imc.org/vCard/3.0#" >
- <rdf:Description about = "http://www.cs.rpi.edu/~puninj" >
- <vCard:FN> John Punin </vCard:FN>
- <vCard:N rdf:parseType="Resource">
- <vCard:Family> Punin </vCard:Family>
- <vCard:Given> John </vCard:Given>
- </vCard:N>
- <vCard:EMAIL>
- <rdf:value> puninj@cs.rpi.edu </rdf:value>
- <rdf:type resource ="http://imc.org/vCard/3.0#internet" />
- </vCard:EMAIL>
- <vCard:ORG rdf:parseType="Resource">
- <vCard:Orgname> RPI </vCard:Orgname>
- <vCard:Orgunit>
- <rdf:seq>
- <rdf:li> Computer Science </rdf:li>
- <rdf:li> PhD student </rdf:li>
- </rdf:seq>
- </vCard:Orgunit>
- </vCard:ORG>
- </rdf:Description>
- </rdf:RDF>
- </att>
- </node>
- <edge source="1" target="2" weight="0" label="advisor"/>
- <edge source="2" target="1" weight="0" label="advisee"/>
- </graph></pre>
- <h2>
- <a NAME="Appendices"></a>Appendices</h2>
- <h2>
- <a NAME="Characters"></a>A. Characters</h2>
- Since XGMML is an application of XML, XGMML supports Unicode [<a href="#Ref">XML-1.0</a>].
- An XGMML character is defined to be an Unicode character [<a href="#Ref">Unicode</a>].
- Any Unicode character allowed by XML is also allowed by XGMML. XGMML documents
- are assumed to be written in UTF-8 if the encoding specification is omitted.
- XGMML applications besides supporting UTF-8 default encoding, should also
- support iso-8859-1 (Latin 1) encoding. <a href="http://www.w3.org/TR/REC-xml#CharClasses">Appendix
- B of XML 1.0</a> document explains in more detail what Unicode characters
- can be used for tag names.
- <h2>
- <a NAME="XGMML-DTD"></a>B. XGMML 1.0 DTD</h2>
- <pre><!-- DTD for XGMML 1.0 -->
- <!-- Authors: John Punin and Mukkai Krishnamoorthy -->
- <!-- Computer Science Department -->
- <!-- Rensselaer Polytechnic Institute -->
- <!-- xgmml.dtd,v 1.0 06/27/2001 -->
- <!-- Boolean type -->
- <!ENTITY % boolean.type "(0|1)" >
- <!-- Positive number type -->
- <!ENTITY % number.type "NMTOKEN">
- <!-- ID type -->
- <!ENTITY % id.type "NMTOKEN">
- <!-- String type -->
- <!ENTITY % string.type "CDATA">
- <!-- Standard XML Namespace attribute -->
- <!ENTITY % nds 'xmlns'>
- <!-- URI type -->
- <!ENTITY % uri.type "%string.type;">
- <!-- Anchor type -->
- <!ENTITY % anchor.type "(c|n|ne|e|se|s|sw|w|nw)">
- <!-- Type of Graphics (GML types) -->
- <!ENTITY % type-graphics-gml.type "arc|bitmap|image|line|oval|polygon|
- rectangle|text">
- <!-- Type of Graphics (New types) -->
- <!ENTITY % type-graphics-app.type "box|circle|ver_ellipsis|hor_ellipsis|
- rhombus|triangle|pentagon|hexagon|
- octagon">
- <!-- Line types -->
- <!-- Arrow type -->
- <!ENTITY % arrow.type "(none | first | last | both)">
- <!-- Capstyle type -->
- <!ENTITY % capstyle.type "(butt | projecting | round)">
- <!-- Joinstyle type -->
- <!ENTITY % joinstyle.type "(bevel | miter | round)">
- <!-- Arc style type -->
- <!ENTITY % arcstyle.type "(pieslice | chord | arc)">
- <!-- Text types -->
- <!-- Text justification type -->
- <!ENTITY % justify.type "(left | right | center)">
- <!-- Font type -->
- <!ENTITY % font.type "%string.type;">
- <!-- Color type -->
- <!ENTITY % color.type "%string.type;">
- <!-- Angle type -->
- <!ENTITY % angle.type "%string.type;">
- <!-- Object type -->
- <!ENTITY % object.type "(list | string | real | integer)">
- <!-- Global Attributes -->
- <!ENTITY % global-atts "id %number.type; #IMPLIED
- name %string.type; #IMPLIED
- label %string.type; #IMPLIED
- labelanchor %string.type; #IMPLIED">
- <!-- Standard XML Attributes -->
- <!ENTITY % xml-atts "%nds; %uri.type; #FIXED 'http://www.cs.rpi.edu/XGMML'
- xml:lang NMTOKEN #IMPLIED
- xml:space (default | preserve) #IMPLIED">
- <!-- Standard XLink Attributes -->
- <!ENTITY % xlink-atts
- "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
- xlink:type (simple) #FIXED 'simple'
- xlink:role CDATA #IMPLIED
- xlink:title CDATA #IMPLIED
- xlink:show (new|embed|replace) #FIXED 'replace'
- xlink:actuate (onLoad|onRequest) #FIXED 'onRequest'
- xlink:href CDATA #IMPLIED">
- <!-- Safe Graph Attributes -->
- <!ENTITY % graph-atts-safe "directed %boolean.type; '0' ">
- <!-- Unsafe Graph Attributes (GML) -->
- <!ENTITY % graph-atts-gml-unsafe "Vendor %string.type; #IMPLIED">
- <!-- Unsafe Graph Attributes (new attributes) -->
- <!ENTITY % graph-atts-app-unsafe "Scale %number.type; #IMPLIED
- Rootnode %number.type; #IMPLIED
- Layout %string.type; #IMPLIED
- Graphic %boolean.type; #IMPLIED">
- <!-- Graph Element -->
- <!ELEMENT graph (att*,(node | edge)*)>
- <!-- Graph Attributes -->
- <!ATTLIST graph
- %global-atts;
- %xml-atts;
- %xlink-atts;
- %graph-atts-safe;
- %graph-atts-gml-unsafe;
- %graph-atts-app-unsafe;>
- <!-- Safe Node Attributes (GML) -->
- <!ENTITY % node-atts-gml-safe "edgeanchor %string.type; #IMPLIED">
- <!-- Safe Node Attributes (new attributes) -->
- <!ENTITY % node-atts-app-safe "weight %string.type; #IMPLIED">
- <!-- Node Element -->
- <!ELEMENT node (graphics?,att*)>
- <!-- Node Attributes -->
- <!ATTLIST node
- %global-atts;
- %xlink-atts;
- %node-atts-gml-safe;
- %node-atts-app-safe;>
- <!-- Safe Edge Attributes (GML) -->
- <!ENTITY % edge-atts-gml-safe "source %number.type; #REQUIRED
- target %number.type; #REQUIRED">
- <!-- Safe Edge Attributes (new attributes) -->
- <!ENTITY % edge-atts-app-safe "weight %string.type; #IMPLIED">
- <!-- Edge Element -->
- <!ELEMENT edge (graphics?,att*)>
- <!-- Edge Attributes -->
- <!ATTLIST edge
- %global-atts;
- %xlink-atts;
- %edge-atts-gml-safe;
- %edge-atts-app-safe;>
- <!-- Graphics Type -->
- <!ENTITY % graphics-type-att "type (%type-graphics-gml.type;|
- %type-graphics-app.type;) #IMPLIED">
- <!-- Point Attributes (x,y,z) -->
- <!ENTITY % point-atts "x %number.type; #IMPLIED
- y %number.type; #IMPLIED
- z %number.type; #IMPLIED">
- <!-- Dimension Attributes (width,height,depth) -->
- <!ENTITY % dimension-atts "w %number.type; #IMPLIED
- h %number.type; #IMPLIED
- d %number.type; #IMPLIED">
- <!-- External Attributes (Image and Bitmap) -->
- <!ENTITY % external-atts "image %uri.type; #IMPLIED
- bitmap %uri.type; #IMPLIED">
- <!-- Line Attributes -->
- <!ENTITY % line-atts "width %number.type; #IMPLIED
- arrow %arrow.type; #IMPLIED
- capstyle %capstyle.type; #IMPLIED
- joinstyle %joinstyle.type; #IMPLIED
- smooth %boolean.type; #IMPLIED
- splinesteps %number.type; #IMPLIED">
- <!-- Text Attributes -->
- <!ENTITY % text-atts "justify %justify.type; #IMPLIED
- font %font.type; #IMPLIED">
- <!-- Bitmap Attributes -->
- <!ENTITY % bitmap-atts "background %color.type; #IMPLIED
- foreground %color.type; #IMPLIED">
- <!-- Arc Attributes -->
- <!ENTITY % arc-atts "extent %angle.type; #IMPLIED
- start %angle.type; #IMPLIED
- style %arcstyle.type; #IMPLIED">
- <!-- Graphical Object Attributes -->
- <!ENTITY % object-atts "stipple %string.type; #IMPLIED
- visible %boolean.type; #IMPLIED
- fill %color.type; #IMPLIED
- outline %color.type; #IMPLIED
- anchor %anchor.type; #IMPLIED">
- <!-- Graphics Element -->
- <!ELEMENT graphics ((Line? | center?),att*)>
- <!-- Graphics Attributes -->
- <!ATTLIST graphics
- %graphics-type-att;
- %point-atts;
- %dimension-atts;
- %external-atts;
- %line-atts;
- %text-atts;
- %bitmap-atts;
- %arc-atts;
- %object-atts;>
- <!-- Center Point Element -->
- <!ELEMENT center EMPTY>
- <!ATTLIST center
- %point-atts;>
- <!-- Line Element -->
- <!ELEMENT Line (point,point+)>
- <!-- Point Element -->
- <!ELEMENT point EMPTY>
- <!ATTLIST point
- %point-atts;>
- <!-- Value Attribute -->
- <!ENTITY % attribute-value "value %string.type; #IMPLIED">
- <!-- Type Attribute -->
- <!ENTITY % attribute-type "type %object.type; #IMPLIED">
- <!-- Att Element -->
- <!ELEMENT att (#PCDATA | att | graph)*>
- <!-- Att Attributes -->
- <!ATTLIST att
- %global-atts;
- %attribute-value;
- %attribute-type;></pre>
- <h2>
- <a NAME="XGMML-Schema"></a>C. XGMML 1.0 Schema</h2>
- <pre><?xml version='1.0'?>
- <!-- XML schema for XGMML 1.0 -->
- <!-- Authors: John Punin and Mukkai Krishnamoorthy -->
- <!-- Computer Science Department -->
- <!-- Rensselaer Polytechnic Institute -->
- <!-- xgmml.xsd,v 1.0 06/27/2001 -->
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.cs.rpi.edu/XGMML"
- xmlns:xml="http://www.w3.org/XML/1998/namespace"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns="http://www.cs.rpi.edu/XGMML"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="xgmml 1.0">
- <!-- get access to the xml: attribute groups for xml:lang -->
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace"
- schemaLocation="http://www.w3.org/2001/xml.xsd"/>
- <!-- get access to the xlink: attribute groups for xlink:type (simple) -->
- <xsd:import namespace="http://www.w3.org/1999/xlink"
- schemaLocation="xlinks-2001.xsd"/>
- <!-- Boolean type -->
- <xsd:simpleType name="boolean.type">
- <xsd:restriction base="xsd:nonNegativeInteger">
- <xsd:enumeration value="0"/>
- <xsd:enumeration value="1"/>
- </xsd:restriction>
- </xsd:simpleType>
- <!-- Positive number type -->
- <xsd:simpleType name="number.type">
- <xsd:restriction base="xsd:nonNegativeInteger"/>
- </xsd:simpleType>
- <!-- ID type -->
- <xsd:simpleType name="id.type">
- <xsd:restriction base="number.type"/>
- </xsd:simpleType>
- <!-- String type -->
- <xsd:simpleType name="string.type">
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- <!-- URI type -->
- <xsd:simpleType name="uri.type">
- <xsd:restriction base="xsd:anyURI"/>
- </xsd:simpleType>
- <!-- Anchor type -->
- <xsd:simpleType name="anchor.type">
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="c"/>
- <xsd:enumeration value="n"/>
- <xsd:enumeration value="ne"/>
- <xsd:enumeration value="e"/>
- <xsd:enumeration value="se"/>
- <xsd:enumeration value="s"/>
- <xsd:enumeration value="sw"/>
- <xsd:enumeration value="w"/>
- <xsd:enumeration value="nw"/>
- </xsd:restriction>
- </xsd:simpleType>
- <!-- Graphics Type -->
- <xsd:simpleType name="type-graphics.type">
- <xsd:restriction base="xsd:NMTOKEN">
- <!-- Type of Graphics (GML types) type-graphics-gml.type -->
- <xsd:enumeration value="arc"/>
- <xsd:enumeration value="bitmap"/>
- <xsd:enumeration value="image"/>
- <xsd:enumeration value="line"/>
- <xsd:enumeration value="oval"/>
- <xsd:enumeration value="polygon"/>
- <xsd:enumeration value="rectangle"/>
- <xsd:enumeration value="text"/>
- <!-- Type of Graphics (New types) type-graphics-app.type -->
- <xsd:enumeration value="box"/>
- <xsd:enumeration value="circle"/>
- <xsd:enumeration value="ver_ellipsis"/>
- <xsd:enumeration value="hor_ellipsis"/>
- <xsd:enumeration value="rhombus"/>
- <xsd:enumeration value="triangle"/>
- <xsd:enumeration value="pentagon"/>
- <xsd:enumeration value="hexagon"/>
- <xsd:enumeration value="octagon"/>
- </xsd:restriction>
- </xsd:simpleType>
- <!-- Line types -->
- <!-- Arrow type -->
- <xsd:simpleType name="arrow.type">
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="none"/>
- <xsd:enumeration value="first"/>
- <xsd:enumeration value="last"/>
- <xsd:enumeration value="both"/>
- </xsd:restriction>
- </xsd:simpleType>
- <!-- Capstyle type -->
- <xsd:simpleType name="capstyle.type">
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="butt"/>
- <xsd:enumeration value="projecting"/>
- <xsd:enumeration value="round"/>
- </xsd:restriction>
- </xsd:simpleType>
- <!-- Joinstyle type -->
- <xsd:simpleType name="joinstyle.type">
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="bevel"/>
- <xsd:enumeration value="miter"/>
- <xsd:enumeration value="round"/>
- </xsd:restriction>
- </xsd:simpleType>
- <!-- Arc style type -->
- <xsd:simpleType name="arcstyle.type">
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="pieslice"/>
- <xsd:enumeration value="chord"/>
- <xsd:enumeration value="arc"/>
- </xsd:restriction>
- </xsd:simpleType>
- <!-- Text types -->
- <!-- Text justification type -->
- <xsd:simpleType name="justify.type">
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="left"/>
- <xsd:enumeration value="right"/>
- <xsd:enumeration value="center"/>
- </xsd:restriction>
- </xsd:simpleType>
- <!-- Font type -->
- <xsd:simpleType name="font.type">
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- <!-- Color type -->
- <xsd:simpleType name="color.type">
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- <!-- Angle type -->
- <!-- Number followed by unit identifier (deg, grad or rad) -->
- <xsd:simpleType name="angle.type">
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="(\+|-)?\d*(deg|grad|rad)?"/>
- </xsd:restriction>
- </xsd:simpleType>
- <!-- Object type -->
- <xsd:simpleType name="object.type">
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="list"/>
- <xsd:enumeration value="string"/>
- <xsd:enumeration value="real"/>
- <xsd:enumeration value="integer"/>
- </xsd:restriction>
- </xsd:simpleType>
- <!-- Global Attributes -->
- <xsd:attributeGroup name="global-atts">
- <xsd:attribute name="id" type="number.type"/>
- <xsd:attribute name="name" type="string.type"/>
- <xsd:attribute name="label" type="string.type"/>
- <xsd:attribute name="labelanchor" type="string.type"/>
- </xsd:attributeGroup>
- <!-- Standard XML Attributes -->
- <xsd:attributeGroup name="xml-atts">
- <xsd:attribute ref="xml:lang"/>
- <xsd:attribute ref="xml:space"/>
- </xsd:attributeGroup>
- <!-- Safe Graph Attributes -->
- <xsd:attributeGroup name="graph-atts-safe">
- <xsd:attribute name="directed" type="boolean.type"
- default="0"/>
- </xsd:attributeGroup>
- <!-- Unsafe Graph Attributes (GML) -->
- <xsd:attributeGroup name="graph-atts-gml-unsafe">
- <xsd:attribute name="Vendor" type="string.type"/>
- </xsd:attributeGroup>
- <!-- Unsafe Graph Attributes (new attributes) (Graphics attributes) -->
- <xsd:attributeGroup name="graph-atts-app-unsafe-gr">
- <xsd:attribute name="Scale" type="xsd:integer"/>
- <xsd:attribute name="Layout" type="string.type"/>
- <xsd:attribute name="Graphic" type="boolean.type"/>
- </xsd:attributeGroup>
- <!-- Unsafe Graph Attributes (new attributes) (Structural attributes) -->
- <xsd:attributeGroup name="graph-atts-app-unsafe-ngr">
- <xsd:attribute name="Rootnode" type="number.type"/>
- </xsd:attributeGroup>
- <!-- Simple Graph (Structural graph) -->
- <xsd:complexType name="simpleGraph">
- <xsd:sequence>
- <xsd:element ref="att" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:element ref="node"/>
- <xsd:element ref="edge"/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:attributeGroup ref="global-atts"/>
- <xsd:attributeGroup ref="xml-atts"/>
- <xsd:attributeGroup ref="xlink:simpleLink"/>
- <xsd:attributeGroup ref="graph-atts-safe"/>
- <xsd:attributeGroup ref="graph-atts-gml-unsafe"/>
- <xsd:attributeGroup ref="graph-atts-app-unsafe-ngr"/>
- </xsd:complexType>
- <!-- Graphical Graph "is a" Simple Graph -->
- <xsd:complexType name="graphicGraph">
- <xsd:complexContent>
- <xsd:extension base="simpleGraph">
- <xsd:attributeGroup ref="graph-atts-app-unsafe-gr"/>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- <!-- Graph Element -->
- <xsd:element name="graph" type="graphicGraph"/>
- <!-- Safe Node Attributes (GML) -->
- <xsd:attributeGroup name="node-atts-gml-safe">
- <xsd:attribute name="edgeanchor" type="string.type"/>
- </xsd:attributeGroup>
- <!-- Safe Node Attributes (new attributes) -->
- <xsd:attributeGroup name="node-atts-app-safe">
- <xsd:attribute name="weight" type="string.type"/>
- </xsd:attributeGroup>
- <!-- Simple Node (Structural Node) -->
- <xsd:complexType name="simpleNode">
- <xsd:sequence>
- <xsd:element ref="att" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attributeGroup ref="global-atts"/>
- <xsd:attributeGroup ref="xlink:simpleLink"/>
- <xsd:attributeGroup ref="node-atts-app-safe"/>
- </xsd:complexType>
- <!-- Graphical Node "is a" Simple Node -->
- <xsd:complexType name="graphicNode">
- <xsd:complexContent>
- <xsd:extension base="simpleNode">
- <xsd:sequence>
- <xsd:element ref="graphics" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attributeGroup ref="node-atts-gml-safe"/>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- <!-- Node Element -->
- <xsd:element name="node" type="graphicNode"/>
- <!-- Safe Edge Attributes (GML) -->
- <xsd:attributeGroup name="edge-atts-gml-safe">
- <xsd:attribute name="source" type="number.type" use="required"/>
- <xsd:attribute name="target" type="number.type" use="required"/>
- </xsd:attributeGroup>
- <!-- Safe Edge Attributes (new attributes) -->
- <xsd:attributeGroup name="edge-atts-app-safe">
- <xsd:attribute name="weight" type="string.type"/>
- </xsd:attributeGroup>
- <!-- Simple Edge (Structural Edge) -->
- <xsd:complexType name="simpleEdge">
- <xsd:sequence>
- <xsd:element ref="att" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attributeGroup ref="global-atts"/>
- <xsd:attributeGroup ref="xlink:simpleLink"/>
- <xsd:attributeGroup ref="edge-atts-gml-safe"/>
- <xsd:attributeGroup ref="edge-atts-app-safe"/>
- </xsd:complexType>
- <!-- Graphical Edge "is a" Simple Edge -->
- <xsd:complexType name="graphicEdge">
- <xsd:complexContent>
- <xsd:extension base="simpleEdge">
- <xsd:sequence>
- <xsd:element ref="graphics" minOccurs="0"/>
- </xsd:sequence>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- <!-- Edge Element -->
- <xsd:element name="edge" type="graphicEdge"/>
- <!-- Graphics Type -->
- <xsd:attributeGroup name="graphics-type-att">
- <xsd:attribute name="type" type="type-graphics.type"/>
- </xsd:attributeGroup>
- <!-- Point Attributes (x,y,z) -->
- <xsd:attributeGroup name="point-atts">
- <xsd:attribute name="x" type="xsd:double"/>
- <xsd:attribute name="y" type="xsd:double"/>
- <xsd:attribute name="z" type="xsd:double"/>
- </xsd:attributeGroup>
- <!-- Dimension Attributes (width,height,depth) -->
- <xsd:attributeGroup name="dimension-atts">
- <xsd:attribute name="w" type="xsd:double"/>
- <xsd:attribute name="h" type="xsd:double"/>
- <xsd:attribute name="d" type="xsd:double"/>
- </xsd:attributeGroup>
- <!-- External Attributes (Image and Bitmap) -->
- <xsd:attributeGroup name="external-atts">
- <xsd:attribute name="image" type="uri.type"/>
- <xsd:attribute name="bitmap" type="uri.type"/>
- </xsd:attributeGroup>
- <!-- Line Attributes -->
- <xsd:attributeGroup name="line-atts">
- <xsd:attribute name="width" type="number.type"/>
- <xsd:attribute name="arrow" type="arrow.type"/>
- <xsd:attribute name="capstyle" type="capstyle.type"/>
- <xsd:attribute name="joinstyle" type="joinstyle.type"/>
- <xsd:attribute name="smooth" type="boolean.type"/>
- <xsd:attribute name="splinesteps" type="number.type"/>
- </xsd:attributeGroup>
- <!-- Text Attributes -->
- <xsd:attributeGroup name="text-atts">
- <xsd:attribute name="justify" type="justify.type"/>
- <xsd:attribute name="font" type="font.type"/>
- </xsd:attributeGroup>
- <!-- Bitmap Attributes -->
- <xsd:attributeGroup name="bitmap-atts">
- <xsd:attribute name="background" type="color.type"/>
- <xsd:attribute name="foreground" type="color.type"/>
- </xsd:attributeGroup>
- <!-- Arc Attributes -->
- <xsd:attributeGroup name="arc-atts">
- <xsd:attribute name="extent" type="xsd:integer"/>
- <xsd:attribute name="start" type="xsd:integer"/>
- <xsd:attribute name="style" type="arcstyle.type"/>
- </xsd:attributeGroup>
- <!-- Graphical Object Attributes -->
- <xsd:attributeGroup name="object-atts">
- <xsd:attribute name="stipple" type="string.type"/>
- <xsd:attribute name="visible" type="boolean.type"/>
- <xsd:attribute name="fill" type="color.type"/>
- <xsd:attribute name="outline" type="color.type"/>
- <xsd:attribute name="anchor" type="anchor.type"/>
- </xsd:attributeGroup>
- <!-- Graphics Element -->
- <xsd:element name="graphics">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:choice minOccurs="0" maxOccurs="1">
- <xsd:element ref="Line"/>
- <xsd:element ref="center"/>
- </xsd:choice>
- <xsd:element ref="att" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attributeGroup ref="graphics-type-att"/>
- <xsd:attributeGroup ref="point-atts"/>
- <xsd:attributeGroup ref="dimension-atts"/>
- <xsd:attributeGroup ref="external-atts"/>
- <xsd:attributeGroup ref="line-atts"/>
- <xsd:attributeGroup ref="text-atts"/>
- <xsd:attributeGroup ref="bitmap-atts"/>
- <xsd:attributeGroup ref="arc-atts"/>
- <xsd:attributeGroup ref="object-atts"/>
- </xsd:complexType>
- </xsd:element>
- <!-- Center Point Element -->
- <xsd:element name="center">
- <xsd:complexType>
- <xsd:attributeGroup ref="point-atts"/>
- </xsd:complexType>
- </xsd:element>
- <!-- Line Element -->
- <xsd:element name="Line">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="point" minOccurs="2" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <!-- Point Element -->
- <xsd:element name="point">
- <xsd:complexType>
- <xsd:attributeGroup ref="point-atts"/>
- </xsd:complexType>
- </xsd:element>
- <!-- Value Attribute -->
- <xsd:attributeGroup name="attribute-value">
- <xsd:attribute name="value" type="string.type"/>
- </xsd:attributeGroup>
- <!-- Type Attribute -->
- <xsd:attributeGroup name="attribute-type">
- <xsd:attribute name="type" type="object.type"/>
- </xsd:attributeGroup>
- <!-- Att Element -->
- <xsd:element name="att">
- <xsd:complexType mixed="true">
- <xsd:sequence>
- <xsd:element ref="att" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element ref="graph" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attributeGroup ref="global-atts"/>
- <xsd:attributeGroup ref="attribute-value"/>
- <xsd:attributeGroup ref="attribute-type"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:schema></pre>
- <h2>
- <a NAME="XGMML-Ex"></a>D. XGMML Examples</h2>
- <h3>
- D.1 Graph file in GML format and XGMML format.</h3>
- This GML example is taken from the GML web site: http://infosun.fmi.uni-passau.de/Graphlet/GML/example1.html.
- <p><b>GML Format</b>
- <pre>graph [
- comment "This is a sample graph"
- directed 1
- id 42
- label "Hello, I am a graph"
- node [
- id 1
- label "Node 1"
- ]
- node [
- id 2
- label "node 2"
- ]
- node [
- id 3
- label "node 3"
- ]
- edge [
- source 1
- target 2
- label "Edge from node 1 to node 2"
- ]
- edge [
- source 2
- target 3
- label "Edge from node 2 to node 3"
- ]
- edge [
- source 3
- target 1
- label "Edge from node 3 to node 1"
- ]
- ]</pre>
- <b>XGMML Format</b>
- <pre><?xml version="1.0"?>
- <!DOCTYPE graph PUBLIC "-//John Punin//DTD graph description//EN" "http://www.cs.rpi.edu/~puninj/XGMML/xgmml.dtd">
- <graph directed="1" id="42" label="Hello, I am a graph">
- <node id="1" label="Node 1">
- </node>
- <node id="2" label="node 2">
- </node>
- <node id="3" label="node 3">
- </node>
- <edge source="1" target="2" label="Edge from node 1 to node 2">
- </edge>
- <edge source="2" target="3" label="Edge from node 2 to node 3">
- </edge>
- <edge source="3" target="1" label="Edge from node 3 to node 1">
- </edge>
- </graph></pre>
- <h3>
- D.2 XGMML graph file with graphics information.</h3>
- <pre><?xml version="1.0"?>
- <!DOCTYPE graph PUBLIC "-//John Punin//DTD graph description//EN" "http://www.cs.rpi.edu/~puninj/XGMML/xgmml.dtd">
- <graph directed="1" graphic="1" Layout="points">
- <node id="1" label="Node 1"
- weight="0">
- <graphics type="rhombus" x="270" y="90" >
- </graphics>
- </node>
- <node id="2" label="node 2"
- weight="0">
- <graphics type="ver_ellipsis" x="350" y="190" >
- </graphics>
- </node>
- <node id="3" label="node 3"
- weight="0">
- <graphics type="circle" x="190" y="190" >
- </graphics>
- </node>
- <edge source="3" target="1" weight="0"
- label="Edge from node 3 to node 1" >
- </edge>
- <edge source="1" target="2" weight="0"
- label="Edge from node 1 to node 2" >
- </edge>
- <edge source="2" target="3" weight="0"
- label="Edge from node 2 to node 3" >
- </edge>
- </graph></pre>
- <h3>
- D.3 XGMML graph file of a simple website.</h3>
- <pre><?xml version="1.0"?>
- <!DOCTYPE graph SYSTEM "xgmml.dtd">
- <graph directed="1" Rootnode="1">
- <node id="58" label="http://www.deitel.com/products_and_services/publications/jhtp2.htm" weight="-1">
- </node>
- <node id="57" label="http://www.inquiry.com/techtips/java_pro/" weight="-1">
- </node>
- <node id="56" label="http://java.sun.com/products/jdk/1.1/docs/api/packages.html" weight="-1">
- </node>
- <node id="55" label="http://www.gamelan.com/" weight="-1">
- </node>
- <node id="54" label="http://java.sun.com/" weight="-1">
- </node>
- <node id="53" label="http://www.yahoo.com/Computers_and_Internet/Programming_Languages/Java/" weight="-1">
- </node>
- <node id="52" label="http://www.cs.rpi.edu/~puninj/JAVA/tests/esum98.html" weight="8025">
- <att name="title" value="Java Exam"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="8025"/>
- <att name="date" value="Tue Sep 29 14:55:04 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="51" label="http://www.cs.rpi.edu/~puninj/JAVA/projects/proj1.html" weight="1910">
- <att name="title" value="Project 1"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="1910"/>
- <att name="date" value="Wed Jun 9 23:01:06 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="50" label="http://www.cs.rpi.edu/~puninj/JAVA/homeworks/hw2.html" weight="2795">
- <att name="title" value="Homework 2"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="2795"/>
- <att name="date" value="Sun May 30 22:28:52 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="49" label="http://www.cs.rpi.edu/~puninj/JAVA/homeworks/hw1.html" weight="3157">
- <att name="title" value="Homework 1"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="3157"/>
- <att name="date" value="Wed May 19 10:40:54 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="48" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec4.ppt" weight="53760">
- <att name="title" value="No title"/>
- <att name="mime" value="application/vnd.ms-powerpoint"/>
- <att name="size" value="53760"/>
- <att name="date" value="Mon Sep 14 13:22:26 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="47" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec4.rtf" weight="26048">
- <att name="title" value="No title"/>
- <att name="mime" value="text/rtf"/>
- <att name="size" value="26048"/>
- <att name="date" value="Mon Sep 14 13:22:29 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="46" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec4.ps" weight="211388">
- <att name="title" value="No title"/>
- <att name="mime" value="application/postscript"/>
- <att name="size" value="211388"/>
- <att name="date" value="Mon Sep 14 13:34:29 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="45" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec4.html" weight="9192">
- <att name="title" value="Programming in Java: Lecture Notes 4"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="9192"/>
- <att name="date" value="Mon Oct 26 02:17:24 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="44" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec3.ppt" weight="169984">
- <att name="title" value="No title"/>
- <att name="mime" value="application/vnd.ms-powerpoint"/>
- <att name="size" value="169984"/>
- <att name="date" value="Sat Aug 29 00:37:59 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="43" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec3.rtf" weight="93603">
- <att name="title" value="No title"/>
- <att name="mime" value="text/rtf"/>
- <att name="size" value="93603"/>
- <att name="date" value="Sat Aug 29 00:38:03 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="42" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec3.ps" weight="539469">
- <att name="title" value="No title"/>
- <att name="mime" value="application/postscript"/>
- <att name="size" value="539469"/>
- <att name="date" value="Sat Aug 29 00:38:02 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="41" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec3.html" weight="40702">
- <att name="title" value="Programming in Java : Lecture Notes 3"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="40702"/>
- <att name="date" value="Wed Apr 7 12:00:44 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="40" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec2.ppt" weight="86016">
- <att name="title" value="No title"/>
- <att name="mime" value="application/vnd.ms-powerpoint"/>
- <att name="size" value="86016"/>
- <att name="date" value="Sat Aug 29 00:11:44 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="39" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec2.rtf" weight="33351">
- <att name="title" value="No title"/>
- <att name="mime" value="text/rtf"/>
- <att name="size" value="33351"/>
- <att name="date" value="Sat Aug 29 00:11:52 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="38" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec2.ps" weight="165658">
- <att name="title" value="No title"/>
- <att name="mime" value="application/postscript"/>
- <att name="size" value="165658"/>
- <att name="date" value="Sat Aug 29 00:14:24 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="37" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec2.html" weight="11174">
- <att name="title" value="Programming In Java : Lecture Notes 2"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="11174"/>
- <att name="date" value="Wed Sep 2 23:10:32 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="36" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec1.ppt" weight="48640">
- <att name="title" value="No title"/>
- <att name="mime" value="application/vnd.ms-powerpoint"/>
- <att name="size" value="48640"/>
- <att name="date" value="Sat Aug 29 00:11:43 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="35" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec1.rtf" weight="14871">
- <att name="title" value="No title"/>
- <att name="mime" value="text/rtf"/>
- <att name="size" value="14871"/>
- <att name="date" value="Sat Aug 29 00:11:51 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="34" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec1.ps" weight="79558">
- <att name="title" value="No title"/>
- <att name="mime" value="application/postscript"/>
- <att name="size" value="79558"/>
- <att name="date" value="Sat Aug 29 00:14:22 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="33" label="http://www.cs.rpi.edu/~puninj/JAVA/classes/lec1.html" weight="4530">
- <att name="title" value="Programming in Java : Lecture Notes 1"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="4530"/>
- <att name="date" value="Wed Sep 2 16:49:15 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="32" label="http://www.oreilly.com/catalog/jenut/" weight="-1">
- </node>
- <node id="31" label="http://www.oreilly.com/catalog/javanut2/" weight="-1">
- </node>
- <node id="30" label="http://www.prenhall.com/allbooks/esm_0138993947.html" weight="-1">
- </node>
- <node id="29" label="mailto:puninj@rpi.edu" weight="-1">
- </node>
- <node id="28" label="http://www.cs.rpi.edu/~puninj/JAVA/DEITEL/JHTP2/" weight="-1">
- <att name="code" value="404"/>
- </node>
- <node id="27" label="http://www.rpi.edu/dept/its/consult/www2/WWW/" weight="-1">
- </node>
- <node id="26" label="http://www.cs.rpi.edu/~puninj/ASHE/help.html" weight="-1">
- </node>
- <node id="25" label="http://www.cs.rpi.edu/~puninj/ASHE/RCS.html" weight="-1">
- </node>
- <node id="24" label="http://www.rpi.edu/Computing/Docs/Memos/rpi120/rpi120.html" weight="-1">
- </node>
- <node id="23" label="http://www.rpi.edu/~ricem4/" weight="-1">
- </node>
- <node id="22" label="http://www.rpi.edu/~waterj2/" weight="-1">
- </node>
- <node id="21" label="http://www.rpi.edu/~ludwis/" weight="-1">
- </node>
- <node id="20" label="http://www.rpi.edu/~obergg/" weight="-1">
- </node>
- <node id="19" label="http://www.rpi.edu/~milinm/" weight="-1">
- </node>
- <node id="18" label="http://www.cs.rpi.edu/~puninj/JAVA/index.html" weight="2314">
- <att name="title" value="Programming in Java Home Page"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="2314"/>
- <att name="date" value="Thu Jun 10 14:08:41 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="17" label="mailto:puninj@cs.rpi.edu" weight="-1">
- </node>
- <node id="16" label="http://www.cs.rpi.edu/" weight="-1">
- </node>
- <node id="15" label="http://www.rpi.edu/" weight="-1">
- </node>
- <node id="14" label="http://www.rpi.edu/Bestof/April96/Bestof_April96.html" weight="-1">
- </node>
- <node id="13" label="http://www.cs.rpi.edu/~puninj/JAVA/toc.html" weight="4407">
- <att name="title" value="Programming in Java Table of Contents"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="4407"/>
- <att name="date" value="Thu Jun 10 14:14:55 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="12" label="http://www.cs.rpi.edu/~puninj/JAVA/hotlist.html" weight="1253">
- <att name="title" value="Hot List of Programming in Java"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="1253"/>
- <att name="date" value="Fri Nov 6 15:21:22 1998"/>
- <att name="code" value="200"/>
- </node>
- <node id="11" label="http://www.cs.rpi.edu/~puninj/JAVA/test.html" weight="473">
- <att name="title" value="Tests of Programming in Java"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="473"/>
- <att name="date" value="Tue Jan 19 13:38:04 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="10" label="http://www.cs.rpi.edu/~puninj/JAVA/projects.html" weight="472">
- <att name="title" value="Projects of Programming in Java"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="472"/>
- <att name="date" value="Thu Jun 10 14:11:40 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="9" label="http://www.cs.rpi.edu/~puninj/JAVA/homewk.html" weight="543">
- <att name="title" value="Homeworks of Programming in Java"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="543"/>
- <att name="date" value="Thu Jun 10 14:11:41 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="8" label="http://www.cs.rpi.edu/~puninj/JAVA/classes.html" weight="1375">
- <att name="title" value="Classes of Programming in Java"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="1375"/>
- <att name="date" value="Wed Jun 9 22:06:02 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="7" label="http://www.cs.rpi.edu/~puninj/JAVA/sched.html" weight="1606">
- <att name="title" value="Schedule of Programming in Java"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="1606"/>
- <att name="date" value="Mon May 17 17:20:55 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="6" label="http://www.cs.rpi.edu/~puninj/JAVA/syllabus.html" weight="8357">
- <att name="title" value="Syllabus"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="8357"/>
- <att name="date" value="Tue May 18 11:42:14 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="5" label="http://www.cs.rpi.edu/~puninj/JAVA/announ.html" weight="1297">
- <att name="title" value="Announcements of Programming in Java"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="1297"/>
- <att name="date" value="Thu Jun 10 14:17:23 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="4" label="http://www.cs.rpi.edu/~puninj/JAVA/students.html" weight="2010">
- <att name="title" value="Programming in Java - Groups"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="2010"/>
- <att name="date" value="Tue Apr 6 14:57:35 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="3" label="http://www.cs.rpi.edu/~puninj/JAVA/ta.html" weight="614">
- <att name="title" value="Programming in Java Table of Contents"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="614"/>
- <att name="date" value="Thu May 20 11:27:37 1999"/>
- <att name="code" value="200"/>
- </node>
- <node id="2" label="http://www.cs.rpi.edu/~puninj/" weight="-1">
- </node>
- <node id="1" label="http://www.cs.rpi.edu/~puninj/JAVA/" weight="2314">
- <att name="title" value="Programming in Java Home Page"/>
- <att name="mime" value="text/html"/>
- <att name="size" value="2314"/>
- <att name="date" value="Thu Jun 10 14:08:41 1999"/>
- <att name="code" value="200"/>
- </node>
- <edge label="SRC IMG ../icon/lfarrw.gif" source="51" target="18">
- </edge>
- <edge label="SRC IMG ../icon/lfarrw.gif" source="50" target="18">
- </edge>
- <edge label="SRC IMG ../../icon/lfarrw.gif" source="49" target="18">
- </edge>
- <edge label="IMG CS Home Page" source="18" target="16">
- </edge>
- <edge label="IMG RPI Info" source="18" target="15">
- </edge>
- <edge label="IMG Best of RPI Info" source="18" target="14">
- </edge>
- <edge label="IMG TOC" source="18" target="13">
- </edge>
- <edge label="IMG Hot List" source="18" target="12">
- </edge>
- <edge label="IMG Exams" source="18" target="11">
- </edge>
- <edge label="IMG Projects" source="18" target="10">
- </edge>
- <edge label="IMG Homework" source="18" target="9">
- </edge>
- <edge label="IMG Classes" source="18" target="8">
- </edge>
- <edge label="IMG Schedule" source="18" target="7">
- </edge>
- <edge label="IMG Syllabus" source="18" target="6">
- </edge>
- <edge label="IMG Announcements" source="18" target="5">
- </edge>
- <edge label="IMG Students" source="18" target="4">
- </edge>
- <edge label="IMG Xiaomei Zhang" source="18" target="3">
- </edge>
- <edge label="IMG John Punin" source="18" target="2">
- </edge>
- <edge label="SRC IMG icon/lfarrw.gif" source="13" target="18">
- </edge>
- <edge label="Code Examples from the Java How To Program 2/e Book" source="13" target="28">
- </edge>
- <edge label="Java How to Program, 2E: Download Examples" source="13" target="58">
- </edge>
- <edge label="Java How to Program 2/e (Textbook)" source="13" target="30">
- </edge>
- <edge label="Ask the Java Pro!" source="13" target="57">
- </edge>
- <edge label="Java Package Index" source="13" target="56">
- </edge>
- <edge label="Gamelan" source="13" target="55">
- </edge>
- <edge label="Java Technology Home Page" source="13" target="54">
- </edge>
- <edge label="Yahoo Index on Java" source="13" target="53">
- </edge>
- <edge label="Java Exam Summer 1998 (Example)" source="13" target="52">
- </edge>
- <edge label="Project" source="13" target="51">
- </edge>
- <edge label="Homework 2" source="13" target="50">
- </edge>
- <edge label="Homework 1" source="13" target="49">
- </edge>
- <edge label="powerpoint" source="13" target="48">
- </edge>
- <edge label="MSWord" source="13" target="47">
- </edge>
- <edge label="postscript" source="13" target="46">
- </edge>
- <edge label="Graphics and Graphical User Interfaces" source="13" target="45">
- </edge>
- <edge label="powerpoint" source="13" target="44">
- </edge>
- <edge label="MSWord" source="13" target="43">
- </edge>
- <edge label="postscript" source="13" target="42">
- </edge>
- <edge label="Classes, Inheritance, Interfaces" source="13" target="41">
- </edge>
- <edge label="powerpoint" source="13" target="40">
- </edge>
- <edge label="MSWord" source="13" target="39">
- </edge>
- <edge label="postscript" source="13" target="38">
- </edge>
- <edge label="Objects, Classes, Program Constructs" source="13" target="37">
- </edge>
- <edge label="powerpoint" source="13" target="36">
- </edge>
- <edge label="MSWord" source="13" target="35">
- </edge>
- <edge label="postscript" source="13" target="34">
- </edge>
- <edge label="Introduction" source="13" target="33">
- </edge>
- <edge label=" Syllabus" source="13" target="6">
- </edge>
- <edge label="New Class Schedule" source="13" target="7">
- </edge>
- <edge label="Students Group Page" source="13" target="4">
- </edge>
- <edge label="Code Examples from the Java How To Program 2/e Book" source="13" target="28">
- </edge>
- <edge label="Homework 1" source="13" target="9">
- </edge>
- <edge label="Homework 2" source="13" target="9">
- </edge>
- <edge label="Project" source="13" target="10">
- </edge>
- <edge label="John Punin" source="13" target="17">
- </edge>
- <edge label="John Punin" source="13" target="2">
- </edge>
- <edge label="SRC IMG icon/lfarrw.gif" source="12" target="18">
- </edge>
- <edge label="Code Examples from the Java How To Program 2/e Book" source="12" target="28">
- </edge>
- <edge label="Java How to Program, 2E: Download Examples" source="12" target="58">
- </edge>
- <edge label="Java How to Program 2/e (Textbook)" source="12" target="30">
- </edge>
- <edge label="Ask the Java Pro!" source="12" target="57">
- </edge>
- <edge label="Java Package Index" source="12" target="56">
- </edge>
- <edge label="Gamelan" source="12" target="55">
- </edge>
- <edge label="Java Technology Home Page" source="12" target="54">
- </edge>
- <edge label="Yahoo Index on Java" source="12" target="53">
- </edge>
- <edge label="SRC IMG icon/lfarrw.gif" source="11" target="18">
- </edge>
- <edge label="Java Exam Summer 1998 (Example)" source="11" target="52">
- </edge>
- <edge label="SRC IMG icon/lfarrw.gif" source="10" target="18">
- </edge>
- <edge label="Project" source="10" target="51">
- </edge>
- <edge label="SRC IMG icon/lfarrw.gif" source="9" target="18">
- </edge>
- <edge label="Homework 2" source="9" target="50">
- </edge>
- <edge label="Homework 1" source="9" target="49">
- </edge>
- <edge label="SRC IMG icon/lfarrw.gif" source="8" target="18">
- </edge>
- <edge label="powerpoint" source="8" target="48">
- </edge>
- <edge label="MSWord" source="8" target="47">
- </edge>
- <edge label="postscript" source="8" target="46">
- </edge>
- <edge label="Graphics and Graphical User Interfaces" source="8" target="45">
- </edge>
- <edge label="powerpoint" source="8" target="44">
- </edge>
- <edge label="MSWord" source="8" target="43">
- </edge>
- <edge label="postscript" source="8" target="42">
- </edge>
- <edge label="Classes, Inheritance, Interfaces" source="8" target="41">
- </edge>
- <edge label="powerpoint" source="8" target="40">
- </edge>
- <edge label="MSWord" source="8" target="39">
- </edge>
- <edge label="postscript" source="8" target="38">
- </edge>
- <edge label="Objects, Classes, Program Constructs" source="8" target="37">
- </edge>
- <edge label="powerpoint" source="8" target="36">
- </edge>
- <edge label="MSWord" source="8" target="35">
- </edge>
- <edge label="postscript" source="8" target="34">
- </edge>
- <edge label="Introduction" source="8" target="33">
- </edge>
- <edge label="SRC IMG icon/lfarrw.gif" source="7" target="18">
- </edge>
- <edge label="SRC IMG icon/lfarrw.gif" source="6" target="18">
- </edge>
- <edge label="Java Examples in a Nutshell" source="6" target="32">
- </edge>
- <edge label="Java in a Nutshell" source="6" target="31">
- </edge>
- <edge label="Java How To Program 2nd Edition" source="6" target="30">
- </edge>
- <edge label="http://www.cs.rpi.edu/~puninj/JAVA/" source="6" target="1">
- </edge>
- <edge label="puninj@cs.rpi.edu" source="6" target="17">
- </edge>
- <edge label="puninj" source="6" target="29">
- </edge>
- <edge label="John Punin" source="6" target="2">
- </edge>
- <edge label="SRC IMG icon/lfarrw.gif" source="5" target="18">
- </edge>
- <edge label="New Class Schedule" source="5" target="7">
- </edge>
- <edge label="Students Group Page" source="5" target="4">
- </edge>
- <edge label="Code Examples from the Java How To Program 2/e Book" source="5" target="28">
- </edge>
- <edge label="Homework 1" source="5" target="9">
- </edge>
- <edge label="Homework 2" source="5" target="9">
- </edge>
- <edge label="Project" source="5" target="10">
- </edge>
- <edge label="SRC IMG icon/lfarrw.gif" source="4" target="18">
- </edge>
- <edge label="ITS : &quot;Help page on WWW&quot;" source="4" target="27">
- </edge>
- <edge label="ASHE help file" source="4" target="26">
- </edge>
- <edge label="ASHE (A Simple HTML Editor) on RCS workstations." source="4" target="25">
- </edge>
- <edge label="Creating On-Line Documents in RPInfo on the World Wide Web" source="4" target="24">
- </edge>
- <edge label="Matthew Rice" source="4" target="23">
- </edge>
- <edge label="Jeremy Waterfall" source="4" target="22">
- </edge>
- <edge label="Steve Ludwig" source="4" target="21">
- </edge>
- <edge label="Greg Oberg" source="4" target="20">
- </edge>
- <edge label="Matthew Miling" source="4" target="19">
- </edge>
- <edge source="4" target="17">
- </edge>
- <edge label="puninj@cs.rpi.edu" source="4" target="17">
- </edge>
- <edge label="SRC IMG icon/lfarrw.gif" source="3" target="18">
- </edge>
- <edge label="John Punin (puninj@cs.rpi.edu)" source="3" target="17">
- </edge>
- <edge label="IMG CS Home Page" source="1" target="16">
- </edge>
- <edge label="IMG RPI Info" source="1" target="15">
- </edge>
- <edge label="IMG Best of RPI Info" source="1" target="14">
- </edge>
- <edge label="IMG TOC" source="1" target="13">
- </edge>
- <edge label="IMG Hot List" source="1" target="12">
- </edge>
- <edge label="IMG Exams" source="1" target="11">
- </edge>
- <edge label="IMG Projects" source="1" target="10">
- </edge>
- <edge label="IMG Homework" source="1" target="9">
- </edge>
- <edge label="IMG Classes" source="1" target="8">
- </edge>
- <edge label="IMG Schedule" source="1" target="7">
- </edge>
- <edge label="IMG Syllabus" source="1" target="6">
- </edge>
- <edge label="IMG Announcements" source="1" target="5">
- </edge>
- <edge label="IMG Students" source="1" target="4">
- </edge>
- <edge label="IMG Xiaomei Zhang" source="1" target="3">
- </edge>
- <edge label="IMG John Punin" source="1" target="2">
- </edge>
- </graph></pre>
- <h3>
- D.3 XGMML graph file with self loops and parallel edges.</h3>
- <pre><?xml version="1.0"?>
- <!DOCTYPE graph SYSTEM "xgmml.dtd">
- <!-- Graph File Generated for GraphPack 2.0 -->
- <graph directed="1" graphic="1" Layout="points">
- <node id="1" label="1"
- weight="0">
- <graphics type="circle" x="250" y="90" >
- </graphics>
- </node>
- <node id="2" label="2"
- weight="0">
- <graphics type="circle" x="190" y="150" >
- </graphics>
- </node>
- <node id="3" label="3"
- weight="0">
- <graphics type="circle" x="330" y="150" >
- </graphics>
- </node>
- <node id="6" label="6"
- weight="0">
- <graphics type="circle" x="270" y="230" >
- </graphics>
- </node>
- <edge source="1" target="1" weight="1" >
- </edge>
- <edge source="1" target="2" weight="0" >
- </edge>
- <edge source="6" target="2" weight="4" >
- </edge>
- <edge source="1" target="3" weight="0" >
- </edge>
- <edge source="1" target="3" weight="2" >
- </edge>
- <edge source="2" target="3" weight="6" >
- </edge>
- <edge source="3" target="6" weight="0" >
- </edge>
- <edge source="1" target="6" weight="0" >
- </edge>
- </graph></pre>
- <h3>
- D.4 XGMML graph file with subgraphs.</h3>
- <pre><?xml version="1.0"?>
- <!DOCTYPE graph SYSTEM "http://www.cs.rpi.edu/~puninj/XGMML/xgmml.dtd">
- <graph directed="1">
- <node id="1" label="n1">
- <att>
- <graph directed="1">
- <node id="11" label="n11"/>
- <node id="12" label="n12"/>
- <edge source="11" target="12" weight="0"/>
- </graph>
- </att>
- </node>
- <node id="2" label="n2">
- <att>
- <graph directed="1">
- <node id="21" label="n21"/>
- <node id="22" label="n22"/>
- <edge source="22" target="21" weight="0"/>
- <edge source="21" target="22" weight="0"/>
- </graph>
- </att>
- </node>
- <edge source="11" target="21" weight="0"/>
- <edge source="12" target="22" weight="0"/>
- <edge source="21" target="11" weight="0"/>
- <edge source="22" target="11" weight="0"/>
- <edge source="22" target="12" weight="0"/>
- </graph></pre>
- <h2>
- <a NAME="XGMML-MIME"></a>E. XGMML Internet Media Type</h2>
- The recommended Internet Media Type (MIME type) for XGMML Document
- is <b><i>"application/xgmml</i></b>" . The suffix <b><i>".gr" i</i></b>s
- recommended for XGMML files.
- <h2>
- <a NAME="Ref"></a>F. References</h2>
- [CSS2]
- <blockquote>"Cascading Style Sheets, level 2", B. Bos, H. W. Lie, C. Lilley,
- I. Jacobs, 12 May 1998.
- <br>URL: <a href="http://www.w3.org/TR/REC-CSS2">http://www.w3.org/TR/REC-CSS2</a></blockquote>
- [DC]
- <blockquote>Dublin Core Metadata for Resource Discovery, Internet RFC 2413.
- <br>URL: <a href="http://www.ietf.org/rfc/rfc2413.txt">http://www.ietf.org/rfc/rfc2413.txt</a>
- <br>URL: <a href="http://purl.oclc.org/dc/">http://purl.oclc.org/dc/</a></blockquote>
- [GML]
- <blockquote>The GML File Format, Michael Himsolt, 1997.
- <br>URL: <a href="http://infosun.fmi.uni-passau.de/Graphlet/GML/">http://infosun.fmi.uni-passau.de/Graphlet/GML/</a></blockquote>
- [ISO 639]
- <blockquote>(International Organization for Standardization). ISO 639:1988
- (E). Code for the representation of names of languages. [Geneva]: International
- Organization for Standardization, 1988.</blockquote>
- [RDF]
- <blockquote>Resource Description Framework (RDF) Model and Syntax Specification
- World Wide Web Consortium.
- <br>URL: <a href="http://www.w3.org/TR/REC-rdf-syntax">http://www.w3.org/TR/REC-rdf-syntax</a></blockquote>
- [RFC1630]
- <blockquote>"Universal Resource Identifiers in WWW", T. Berners-Lee, L,
- June 1994
- <br>URL: <a href="http://www.ietf.org/rfc/rfc1630.txt">http://www.ietf.org/rfc/rfc1630.txt</a></blockquote>
- [RFC1738]
- <blockquote>"Uniform Resource Locators", T. Berners-Lee, L. Masinter, and
- M. McCahill, December 1994.
- <br>URL: <a href="http://www.ietf.org/rfc/rfc1738.txt">http://www.ietf.org/rfc/rfc1738.txt</a></blockquote>
- [RFC1808]
- <blockquote>"Relative Uniform Resource Locators", R. Fielding, June 1995.
- <br>URL: <a href="http://www.ietf.org/rfc/rfc1808.txt">http://www.ietf.org/rfc/rfc1808.txt</a></blockquote>
- [Unicode]
- <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>
- for the latest version and additional information on versions of the standard
- and of the Unicode Character Database).</blockquote>
- [VCARD]
- <blockquote>vCard MIME Directory Profile, F. Dawson and T. Howes, Internet
- RFC 2426, September 1998.
- <br>URL: <a href="http://www.ietf.org/rfc/rfc2426.txt">http://www.ietf.org/rfc/rfc2426.txt</a>
- <br>URL: <a href="http://www.imc.org/pdi/vcardwhite.html">http://www.imc.org/pdi/vcardwhite.html</a></blockquote>
- [XHTML-1.0]
- <blockquote>"XHTML[tm] 1.0: The Extensible HyperText Markup Language"
- W3C Recommendation , 26 January 1998. URL: <a href="http://www.w3.org/TR/xhtml1">http://www.w3.org/TR/xhtml1</a></blockquote>
- [XLINK]
- <blockquote>"XML Linking Language (XLink)", S. DeRose, E. Maler, D. Orchard
- editors, 27 June 2001.
- <br>URL: <a href="http://www.w3.org/TR/xlink">http://www.w3.org/TR/xlink</a></blockquote>
- [XML-1.0]
- <blockquote>"Extensible Markup Language (XML) 1.0" T. Bray, J. Paoli, C.M.
- Sperberg-McQueen, editors, 10 February 1998.
- <br>URL: <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></blockquote>
- [XML-NS]
- <blockquote>"Namespaces in XML" T. Bray, D. Hollander, A. Layman, editors,
- 14 January 1999.
- <br>URL: <a href="http://www.w3.org/TR/REC-xml-names">http://www.w3.org/TR/REC-xml-names</a>.</blockquote>
- [XML-SCHEMA]
- <blockquote>"XML Schema Part 1: Structures" H. Thompson, D. Beech, M. Maloney,
- N. Mendelsohn editors, 25 February 2000.
- <br>URL: <a href="http://www.w3.org/TR/xmlschema-1">http://www.w3.org/TR/xmlschema-1</a>
- <br>"XML Schema Part 2: Datatypes" P. Biron and A. Malhotra editors, 25
- February 2000.
- <br>URL:<a href="http://www.w3.org/TR/xmlschema-2">http://www.w3.org/TR/xmlschema-2</a></blockquote>
- <p><br>
- <hr WIDTH="100%">
- <br>
- <br>
- <br>
- <br>
- <br>
- <br>
- </body>
- </html>
|