ygraphml.xsd 57 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028
  1. <?xml version="1.0"?>
  2. <!-- Header this is flattened by Arkadiusz Binder to locally parse data faster -->
  3. <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
  4. targetNamespace="http://graphml.graphdrawing.org/xmlns"
  5. xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:g="http://graphml.graphdrawing.org/xmlns"
  6. xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema"
  7. xmlns:y="http://www.yworks.com/xml/graphml">
  8. <xs:annotation>
  9. <xs:documentation> GraphML core language definitions including GraphML attributes and
  10. GraphML parseinfo. </xs:documentation>
  11. </xs:annotation>
  12. <xs:import namespace="http://www.yworks.com/xml/graphml" schemaLocation="yfeatures.xsd"/>
  13. <!--<xs:include schemaLocation="graphml-parseinfo.xsd"/>-->
  14. <!-- Redefinition of the elements in the graphml-structure schema -->
  15. <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd">
  16. <xs:annotation>
  17. <xs:documentation xml:lang="en"> Get access to the xlink attribute groups for
  18. the attributes xlink:href and xlink:type of locator.type.
  19. </xs:documentation>
  20. </xs:annotation>
  21. </xs:import>
  22. <xs:attributeGroup name="key.extra.attrib">
  23. <xs:annotation>
  24. <xs:documentation> Redefinition of file graphml-structure.xsd.
  25. <p>Extends the attribute group key.extra.attrib (which takes part in
  26. the attribute list of &lt;key&gt;) by adding the attribute yfiles.type which
  27. is defined below. </p>
  28. </xs:documentation>
  29. </xs:annotation>
  30. <xs:attributeGroup ref="key.extra.attrib_Redefined1"/>
  31. <xs:attribute name="yfiles.type" type="xs:string" use="optional">
  32. <xs:annotation>
  33. <xs:documentation> Custom yfiles specific attribute that allows to
  34. specify an additional data type. </xs:documentation>
  35. </xs:annotation>
  36. </xs:attribute>
  37. </xs:attributeGroup>
  38. <xs:attributeGroup name="key.extra.attrib_Redefined1">
  39. <xs:annotation>
  40. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  41. Redefinition of file graphml-structure.xsd. Extends the attribute group
  42. key.extra.attrib (which takes part in the attribute list of &lt;key&gt;) by adding
  43. the attribute group key.attributes.attrib which is defined below.
  44. </xs:documentation>
  45. </xs:annotation>
  46. <xs:attributeGroup ref="key.extra.attrib_Redefined0"/>
  47. <xs:attributeGroup ref="key.attributes.attrib"/>
  48. </xs:attributeGroup>
  49. <!-- Definition of the different grouping types -->
  50. <!-- The grouping type is stored as attribute at the node element -->
  51. <xs:attributeGroup name="node.extra.attrib">
  52. <xs:annotation>
  53. <xs:documentation> Redefinition of file graphml-structure.xsd.
  54. <p>Extends the attribute group node.extra.attrib (which takes part
  55. in the attribute list of &lt;node&gt;) by adding a yfiles specific attribute
  56. for the folder type. </p>
  57. </xs:documentation>
  58. </xs:annotation>
  59. <xs:attributeGroup ref="node.extra.attrib_Redefined1"/>
  60. <xs:attribute name="yfiles.foldertype" type="yfiles.foldertype.type" use="optional">
  61. <xs:annotation>
  62. <xs:documentation> The foldertype for group/folder nodes.
  63. </xs:documentation>
  64. </xs:annotation>
  65. </xs:attribute>
  66. </xs:attributeGroup>
  67. <xs:attributeGroup name="node.extra.attrib_Redefined1">
  68. <xs:annotation>
  69. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  70. Redefinition of file graphml-structure.xsd. Extends the attribute group
  71. graph.extra.attrib (which takes part in the attribute list of &lt;graph&gt;) by
  72. adding the attribute group graph.parseinfo.attrib which is defined below.
  73. </xs:documentation>
  74. </xs:annotation>
  75. <xs:attributeGroup ref="node.extra.attrib_Redefined0"/>
  76. <xs:attributeGroup ref="node.parseinfo.attrib"/>
  77. </xs:attributeGroup>
  78. <xs:complexType name="data-extension.type">
  79. <xs:complexContent mixed="true">
  80. <xs:extension base="data-extension.type_Redefined0">
  81. <xs:sequence>
  82. <xs:any maxOccurs="unbounded" minOccurs="0" processContents="strict"/>
  83. </xs:sequence>
  84. </xs:extension>
  85. </xs:complexContent>
  86. </xs:complexType>
  87. <xs:complexType mixed="true" name="data-extension.type_Redefined0">
  88. <xs:annotation>
  89. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  90. Extension mechanism for the content of &lt;data&gt; and &lt;default&gt;. The complex type
  91. data-extension.type is empty per default. Users may redefine this type in
  92. order to add content to the complex types data.type and default.type which
  93. are extensions of data-extension.type. </xs:documentation>
  94. </xs:annotation>
  95. </xs:complexType>
  96. <xs:annotation>
  97. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> This
  98. document defines the GraphML language including GraphML attributes and GraphML
  99. parseinfo. </xs:documentation>
  100. </xs:annotation>
  101. <xs:attributeGroup name="key.extra.attrib_Redefined0">
  102. <xs:attributeGroup ref="common.extra.attrib"/>
  103. </xs:attributeGroup>
  104. <xs:attributeGroup name="graph.extra.attrib">
  105. <xs:annotation>
  106. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  107. Redefinition of file graphml-structure.xsd. Extends the attribute group
  108. node.extra.attrib (which takes part in the attribute list of &lt;node&gt;) by adding
  109. the attribute group node.parseinfo.attrib which is defined below.
  110. </xs:documentation>
  111. </xs:annotation>
  112. <xs:attributeGroup ref="graph.extra.attrib_Redefined0"/>
  113. <xs:attributeGroup ref="graph.parseinfo.attrib"/>
  114. </xs:attributeGroup>
  115. <xs:attributeGroup name="graph.extra.attrib_Redefined0">
  116. <xs:attributeGroup ref="common.extra.attrib"/>
  117. </xs:attributeGroup>
  118. <xs:attributeGroup name="node.extra.attrib_Redefined0">
  119. <xs:attributeGroup ref="common.extra.attrib"/>
  120. </xs:attributeGroup>
  121. <xs:annotation>
  122. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> The schema
  123. corresponding to this document defines the structural layer of the Graph Markup
  124. Language (GraphML). Although a DTD is provided, this schema is, together with its
  125. extensions http://graphml.graphdrawing.org/xmlns/1.0/graphml-attributes.xsd
  126. and http://graphml.graphdrawing.org/xmlns/1.0/graphml-parseinfo.xsd, the
  127. only normative reference. </xs:documentation>
  128. </xs:annotation>
  129. <xs:annotation>
  130. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> The
  131. attribute groups &lt;element_name&gt;.extra.attrib may be used for adding user defined
  132. attributes to the elements &lt;element_name&gt;. The attribute group
  133. common.extra.attrib may be used for adding user defined attributes to all
  134. elements. </xs:documentation>
  135. </xs:annotation>
  136. <xs:attributeGroup name="common.extra.attrib"/>
  137. <xs:attributeGroup name="graphml.extra.attrib">
  138. <xs:attributeGroup ref="common.extra.attrib"/>
  139. </xs:attributeGroup>
  140. <xs:attributeGroup name="data.extra.attrib">
  141. <xs:attributeGroup ref="common.extra.attrib"/>
  142. </xs:attributeGroup>
  143. <xs:attributeGroup name="default.extra.attrib">
  144. <xs:attributeGroup ref="common.extra.attrib"/>
  145. </xs:attributeGroup>
  146. <xs:attributeGroup name="edge.extra.attrib">
  147. <xs:attributeGroup ref="common.extra.attrib"/>
  148. </xs:attributeGroup>
  149. <xs:attributeGroup name="port.extra.attrib">
  150. <xs:attributeGroup ref="common.extra.attrib"/>
  151. </xs:attributeGroup>
  152. <xs:attributeGroup name="hyperedge.extra.attrib">
  153. <xs:attributeGroup ref="common.extra.attrib"/>
  154. </xs:attributeGroup>
  155. <xs:attributeGroup name="endpoint.extra.attrib">
  156. <xs:attributeGroup ref="common.extra.attrib"/>
  157. </xs:attributeGroup>
  158. <xs:attributeGroup name="locator.extra.attrib">
  159. <xs:attributeGroup ref="common.extra.attrib"/>
  160. </xs:attributeGroup>
  161. <xs:annotation>
  162. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Complex
  163. type definitions for the GraphML structural layer elements: &lt;data&gt;, &lt;default&gt;, &lt;key&gt;,
  164. &lt;graphml&gt;, &lt;graph&gt;, &lt;node&gt;, &lt;port&gt;, &lt;edge&gt;, &lt;hyperedge&gt;, &lt;endpoint&gt; and &lt;locator&gt;. The
  165. names of the complex types are constructed corresponding to the pattern
  166. element_name.type. (The only remaining GraphML structural layer element &lt;desc&gt;
  167. is of simple type xs:string.) </xs:documentation>
  168. </xs:annotation>
  169. <xs:complexType final="#all" name="data.type">
  170. <xs:annotation>
  171. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  172. Complex type for the &lt;data&gt; element. data.type is mixed, that is, &lt;data&gt; may
  173. contain #PCDATA. Content type: extension of data-extension.type which is
  174. empty per default. </xs:documentation>
  175. </xs:annotation>
  176. <xs:complexContent mixed="true">
  177. <xs:extension base="data-extension.type">
  178. <xs:attribute form="unqualified" name="key" type="xs:NMTOKEN" use="required">
  179. <xs:annotation>
  180. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"
  181. >refers to the id attribute of a &lt;key&gt;. </xs:documentation>
  182. </xs:annotation>
  183. </xs:attribute>
  184. <xs:attribute form="unqualified" name="id" type="xs:NMTOKEN" use="optional">
  185. <xs:annotation>
  186. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"
  187. >identifies this &lt;data&gt;. </xs:documentation>
  188. </xs:annotation>
  189. </xs:attribute>
  190. <xs:attributeGroup ref="data.extra.attrib">
  191. <xs:annotation>
  192. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  193. user defined extra attributes for &lt;data&gt; elements
  194. </xs:documentation>
  195. </xs:annotation>
  196. </xs:attributeGroup>
  197. </xs:extension>
  198. </xs:complexContent>
  199. </xs:complexType>
  200. <xs:complexType final="#all" name="default.type">
  201. <xs:annotation>
  202. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  203. Complex type for the &lt;default&gt; element. default.type is mixed, that is, data
  204. may contain #PCDATA. Content type: extension of data-extension.type which is
  205. empty per default. </xs:documentation>
  206. </xs:annotation>
  207. <xs:complexContent mixed="true">
  208. <xs:extension base="data-extension.type">
  209. <xs:attributeGroup ref="default.extra.attrib">
  210. <xs:annotation>
  211. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  212. user defined extra attributes for &lt;default&gt; elements
  213. </xs:documentation>
  214. </xs:annotation>
  215. </xs:attributeGroup>
  216. </xs:extension>
  217. </xs:complexContent>
  218. </xs:complexType>
  219. <xs:simpleType final="#all" name="key.for.type">
  220. <xs:annotation>
  221. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  222. Simple type for the for attribute of &lt;key&gt;. key.for.type is a restriction of
  223. xs:NMTOKEN Allowed values: all, graphml, graph, node, edge, hyperedge, port
  224. and endpoint. </xs:documentation>
  225. </xs:annotation>
  226. <xs:restriction base="xs:NMTOKEN">
  227. <xs:enumeration value="all"/>
  228. <xs:enumeration value="graph"/>
  229. <xs:enumeration value="node"/>
  230. <xs:enumeration value="edge"/>
  231. <xs:enumeration value="hyperedge"/>
  232. <xs:enumeration value="port"/>
  233. <xs:enumeration value="endpoint"/>
  234. <xs:enumeration value="graphml"/>
  235. </xs:restriction>
  236. </xs:simpleType>
  237. <xs:complexType final="#all" name="key.type">
  238. <xs:annotation>
  239. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  240. Complex type for the &lt;key&gt; element. </xs:documentation>
  241. </xs:annotation>
  242. <xs:sequence>
  243. <xs:element minOccurs="0" ref="desc"/>
  244. <xs:element minOccurs="0" ref="default"/>
  245. </xs:sequence>
  246. <xs:attribute form="unqualified" name="id" type="xs:NMTOKEN" use="required">
  247. <xs:annotation>
  248. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">identifies
  249. this &lt;key&gt;. </xs:documentation>
  250. </xs:annotation>
  251. </xs:attribute>
  252. <xs:attribute default="all" form="unqualified" name="for" type="key.for.type">
  253. <xs:annotation>
  254. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  255. describes the domain of definition for the corresponding graph
  256. attribute. </xs:documentation>
  257. </xs:annotation>
  258. </xs:attribute>
  259. <xs:attributeGroup ref="key.extra.attrib">
  260. <xs:annotation>
  261. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  262. user defined extra attributes for &lt;key&gt; elements. </xs:documentation>
  263. </xs:annotation>
  264. </xs:attributeGroup>
  265. </xs:complexType>
  266. <xs:complexType final="#all" name="graphml.type">
  267. <xs:annotation>
  268. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  269. Complex type for the &lt;graphml&gt; element. </xs:documentation>
  270. </xs:annotation>
  271. <xs:sequence>
  272. <xs:element minOccurs="0" ref="desc"/>
  273. <xs:element maxOccurs="unbounded" minOccurs="0" ref="key"/>
  274. <xs:sequence>
  275. <xs:choice maxOccurs="unbounded" minOccurs="0">
  276. <xs:element ref="graph"/>
  277. <xs:element ref="data"/>
  278. </xs:choice>
  279. </xs:sequence>
  280. </xs:sequence>
  281. <xs:attributeGroup ref="graphml.extra.attrib">
  282. <xs:annotation>
  283. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  284. user defined extra attributes for &lt;graphml&gt; elements. </xs:documentation>
  285. </xs:annotation>
  286. </xs:attributeGroup>
  287. </xs:complexType>
  288. <xs:simpleType final="#all" name="graph.edgedefault.type">
  289. <xs:annotation>
  290. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  291. Simple type for the edgedefault attribute of &lt;graph&gt;. graph.edgedefault.type
  292. is a restriction of xs:NMTOKEN Allowed values: directed, undirected.
  293. </xs:documentation>
  294. </xs:annotation>
  295. <xs:restriction base="xs:NMTOKEN">
  296. <xs:enumeration value="directed"/>
  297. <xs:enumeration value="undirected"/>
  298. </xs:restriction>
  299. </xs:simpleType>
  300. <xs:complexType final="#all" name="graph.type">
  301. <xs:annotation>
  302. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  303. Complex type for the &lt;graph&gt; element. </xs:documentation>
  304. </xs:annotation>
  305. <xs:sequence>
  306. <xs:element minOccurs="0" ref="desc"/>
  307. <xs:choice>
  308. <xs:sequence>
  309. <xs:choice maxOccurs="unbounded" minOccurs="0">
  310. <xs:element ref="data"/>
  311. <xs:element ref="node"/>
  312. <xs:element ref="edge"/>
  313. <xs:element ref="hyperedge"/>
  314. </xs:choice>
  315. </xs:sequence>
  316. <xs:element ref="locator"/>
  317. </xs:choice>
  318. </xs:sequence>
  319. <xs:attributeGroup ref="graph.extra.attrib">
  320. <xs:annotation>
  321. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  322. user defined extra attributes for &lt;graph&gt; elements. </xs:documentation>
  323. </xs:annotation>
  324. </xs:attributeGroup>
  325. <xs:attribute form="unqualified" name="id" type="xs:NMTOKEN">
  326. <xs:annotation>
  327. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  328. identifies this graph . </xs:documentation>
  329. </xs:annotation>
  330. </xs:attribute>
  331. <xs:attribute form="unqualified" name="edgedefault" type="graph.edgedefault.type"
  332. use="required">
  333. <xs:annotation>
  334. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  335. describes whether edges of this graph are considered as directed or
  336. undirected per default (unless specified by the attribute directed of
  337. &lt;edge&gt;). </xs:documentation>
  338. </xs:annotation>
  339. </xs:attribute>
  340. </xs:complexType>
  341. <xs:complexType final="#all" name="node.type">
  342. <xs:annotation>
  343. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  344. Complex type for the &lt;node&gt; element. </xs:documentation>
  345. </xs:annotation>
  346. <xs:sequence>
  347. <xs:element minOccurs="0" ref="desc"/>
  348. <xs:choice>
  349. <xs:sequence>
  350. <xs:choice maxOccurs="unbounded" minOccurs="0">
  351. <xs:element ref="data"/>
  352. <xs:element ref="port"/>
  353. <xs:element ref="graph"/>
  354. </xs:choice>
  355. </xs:sequence>
  356. <xs:element ref="locator"/>
  357. </xs:choice>
  358. </xs:sequence>
  359. <xs:attributeGroup ref="node.extra.attrib">
  360. <xs:annotation>
  361. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  362. user defined extra attributes for &lt;node elements. </xs:documentation>
  363. </xs:annotation>
  364. </xs:attributeGroup>
  365. <xs:attribute form="unqualified" name="id" type="xs:NMTOKEN" use="required">
  366. <xs:annotation>
  367. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  368. identifies this node. </xs:documentation>
  369. </xs:annotation>
  370. </xs:attribute>
  371. </xs:complexType>
  372. <xs:complexType final="#all" name="port.type">
  373. <xs:annotation>
  374. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  375. Complex type for the &lt;port&gt; element. </xs:documentation>
  376. </xs:annotation>
  377. <xs:sequence>
  378. <xs:element minOccurs="0" ref="desc"/>
  379. <xs:choice maxOccurs="unbounded" minOccurs="0">
  380. <xs:element ref="data"/>
  381. <xs:element ref="port"/>
  382. </xs:choice>
  383. </xs:sequence>
  384. <xs:attributeGroup ref="port.extra.attrib">
  385. <xs:annotation>
  386. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  387. user defined extra attributes for &lt;port&gt; elements. </xs:documentation>
  388. </xs:annotation>
  389. </xs:attributeGroup>
  390. <xs:attribute form="unqualified" name="name" type="xs:NMTOKEN" use="required">
  391. <xs:annotation>
  392. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  393. identifies this port, within the node it is contained in.
  394. </xs:documentation>
  395. </xs:annotation>
  396. </xs:attribute>
  397. </xs:complexType>
  398. <xs:complexType final="#all" name="edge.type">
  399. <xs:annotation>
  400. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  401. Complex type for the &lt;edge&gt; element. </xs:documentation>
  402. </xs:annotation>
  403. <xs:sequence>
  404. <xs:element minOccurs="0" ref="desc"/>
  405. <xs:element maxOccurs="unbounded" minOccurs="0" ref="data"/>
  406. <xs:element minOccurs="0" ref="graph"/>
  407. </xs:sequence>
  408. <xs:attributeGroup ref="edge.extra.attrib">
  409. <xs:annotation>
  410. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  411. user defined extra attributes for &lt;edge&gt; elements. </xs:documentation>
  412. </xs:annotation>
  413. </xs:attributeGroup>
  414. <xs:attribute form="unqualified" name="id" type="xs:NMTOKEN">
  415. <xs:annotation>
  416. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  417. identifies this edge . </xs:documentation>
  418. </xs:annotation>
  419. </xs:attribute>
  420. <xs:attribute form="unqualified" name="directed" type="xs:boolean">
  421. <xs:annotation>
  422. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  423. overwrites the edgedefault attribute of &lt;graph&gt; . </xs:documentation>
  424. </xs:annotation>
  425. </xs:attribute>
  426. <xs:attribute form="unqualified" name="source" type="xs:NMTOKEN" use="required">
  427. <xs:annotation>
  428. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  429. points to the id attribute of the source &lt;node&gt;. </xs:documentation>
  430. </xs:annotation>
  431. </xs:attribute>
  432. <xs:attribute form="unqualified" name="target" type="xs:NMTOKEN" use="required">
  433. <xs:annotation>
  434. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  435. points to the id attribute of the target &lt;node&gt;. </xs:documentation>
  436. </xs:annotation>
  437. </xs:attribute>
  438. <xs:attribute form="unqualified" name="sourceport" type="xs:NMTOKEN">
  439. <xs:annotation>
  440. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  441. points to the name attribute of the source &lt;port&gt;. </xs:documentation>
  442. </xs:annotation>
  443. </xs:attribute>
  444. <xs:attribute form="unqualified" name="targetport" type="xs:NMTOKEN">
  445. <xs:annotation>
  446. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  447. points to the name attribute of the target &lt;port&gt;. </xs:documentation>
  448. </xs:annotation>
  449. </xs:attribute>
  450. </xs:complexType>
  451. <xs:complexType final="#all" name="hyperedge.type">
  452. <xs:annotation>
  453. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  454. Complex type for the &lt;hyperedge&gt; element. </xs:documentation>
  455. </xs:annotation>
  456. <xs:sequence>
  457. <xs:element minOccurs="0" ref="desc"/>
  458. <xs:choice maxOccurs="unbounded" minOccurs="0">
  459. <xs:element ref="data"/>
  460. <xs:element ref="endpoint"/>
  461. </xs:choice>
  462. <xs:element minOccurs="0" ref="graph"/>
  463. </xs:sequence>
  464. <xs:attributeGroup ref="hyperedge.extra.attrib">
  465. <xs:annotation>
  466. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  467. user defined extra attributes for &lt;hyperedge&gt; elements.
  468. </xs:documentation>
  469. </xs:annotation>
  470. </xs:attributeGroup>
  471. <xs:attribute form="unqualified" name="id" type="xs:NMTOKEN">
  472. <xs:annotation>
  473. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  474. identifies this &lt;hyperedge&gt; . </xs:documentation>
  475. </xs:annotation>
  476. </xs:attribute>
  477. </xs:complexType>
  478. <xs:simpleType final="#all" name="endpoint.type.type">
  479. <xs:annotation>
  480. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  481. Simple type for the type attribute of &lt;endpoint&gt;. endpoint.type.type is a
  482. restriction of xs:NMTOKEN Allowed values: in, out, undir.
  483. </xs:documentation>
  484. </xs:annotation>
  485. <xs:restriction base="xs:NMTOKEN">
  486. <xs:enumeration value="in"/>
  487. <xs:enumeration value="out"/>
  488. <xs:enumeration value="undir"/>
  489. </xs:restriction>
  490. </xs:simpleType>
  491. <xs:complexType final="#all" name="endpoint.type">
  492. <xs:annotation>
  493. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  494. Complex type for the &lt;endpoint&gt; element. </xs:documentation>
  495. </xs:annotation>
  496. <xs:sequence>
  497. <xs:element minOccurs="0" ref="desc"/>
  498. </xs:sequence>
  499. <xs:attributeGroup ref="endpoint.extra.attrib">
  500. <xs:annotation>
  501. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  502. user defined extra attributes for &lt;endpoint&gt; elements. </xs:documentation>
  503. </xs:annotation>
  504. </xs:attributeGroup>
  505. <xs:attribute form="unqualified" name="id" type="xs:NMTOKEN">
  506. <xs:annotation>
  507. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  508. identifies this &lt;endpoint&gt; . </xs:documentation>
  509. </xs:annotation>
  510. </xs:attribute>
  511. <xs:attribute form="unqualified" name="port" type="xs:NMTOKEN">
  512. <xs:annotation>
  513. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  514. points to the name of the port, to which this endpoint is connected .
  515. </xs:documentation>
  516. </xs:annotation>
  517. </xs:attribute>
  518. <xs:attribute form="unqualified" name="node" type="xs:NMTOKEN" use="required">
  519. <xs:annotation>
  520. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  521. points to the id of the node, to which this endpoint is connected.
  522. </xs:documentation>
  523. </xs:annotation>
  524. </xs:attribute>
  525. <xs:attribute default="undir" form="unqualified" name="type" type="endpoint.type.type">
  526. <xs:annotation>
  527. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  528. defines the direction on this endpoint (undirected per default).
  529. </xs:documentation>
  530. </xs:annotation>
  531. </xs:attribute>
  532. </xs:complexType>
  533. <xs:complexType final="#all" name="locator.type">
  534. <xs:annotation>
  535. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  536. Complex type for the &lt;locator&gt; element. Content type: (empty)
  537. </xs:documentation>
  538. </xs:annotation>
  539. <xs:attributeGroup ref="locator.extra.attrib">
  540. <xs:annotation>
  541. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  542. user defined extra attributes for &lt;locator&gt; elements. </xs:documentation>
  543. </xs:annotation>
  544. </xs:attributeGroup>
  545. <xs:attribute ref="xlink:href" use="required">
  546. <xs:annotation>
  547. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  548. points to the resource of this locator. </xs:documentation>
  549. </xs:annotation>
  550. </xs:attribute>
  551. <!-- xs:attribute ref="xlink:type" fixed="simple"-->
  552. <xs:attribute ref="xlink:type">
  553. <xs:annotation>
  554. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  555. type of the hyperlink (fixed as simple). </xs:documentation>
  556. </xs:annotation>
  557. </xs:attribute>
  558. </xs:complexType>
  559. <!--========================================================-->
  560. <xs:element block="#all" name="desc" type="xs:string">
  561. <xs:annotation>
  562. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  563. Description: Provides human-readable descriptions for the GraphML element
  564. containing this &lt;desc&gt; as its first child. Occurence: &lt;key&gt;, &lt;graphml&gt;, &lt;graph&gt;,
  565. &lt;node&gt;, &lt;port&gt;, &lt;edge&gt;, &lt;hyperedge&gt;, and &lt;endpoint&gt;. </xs:documentation>
  566. </xs:annotation>
  567. </xs:element>
  568. <xs:element block="#all" name="locator" type="locator.type">
  569. <xs:annotation>
  570. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  571. Description: Graphs and nodes are declared by the elements &lt;graph&gt; and &lt;node&gt;,
  572. respectively. The optional &lt;locator&gt;-child of these elements point to
  573. their definition. (If there is no &lt;locator&gt;-child the graphs/nodes are defined
  574. by their content). Occurence: &lt;graph&gt;, and &lt;node&gt;. </xs:documentation>
  575. </xs:annotation>
  576. </xs:element>
  577. <xs:element block="#all" name="data" type="data.type">
  578. <xs:annotation>
  579. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  580. Description: In GraphML there may be data-functions attached to graphs,
  581. nodes, ports, edges, hyperedges and endpoint and to the whole collection of
  582. graphs described by the content of &lt;graphml&gt;. These functions are declared by
  583. &lt;key&gt; elements (children of &lt;graphml&gt;) and defined by &lt;data&gt; elements.
  584. Occurence: &lt;graphml&gt;, &lt;graph&gt;, &lt;node&gt;, &lt;port&gt;, &lt;edge&gt;, &lt;hyperedge&gt;, and &lt;endpoint&gt;.
  585. </xs:documentation>
  586. </xs:annotation>
  587. <xs:unique name="data_data_key_unique">
  588. <xs:annotation>
  589. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  590. Ensures: uniqueness of the key attributes of &lt;data&gt; children of this
  591. &lt;data&gt; element. </xs:documentation>
  592. </xs:annotation>
  593. <xs:selector xpath="./g:data"/>
  594. <xs:field xpath="@key"/>
  595. </xs:unique>
  596. </xs:element>
  597. <xs:element block="#all" name="key" type="key.type">
  598. <xs:annotation>
  599. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  600. Description: In GraphML there may be data-functions attached to graphs,
  601. nodes, ports, edges, hyperedges and endpoint and to the whole collection of
  602. graphs described by the content of &lt;graphml&gt;. These functions are declared by
  603. &lt;key&gt; elements (children of &lt;graphml&gt;) and defined by &lt;data&gt; elements.
  604. Occurence: &lt;graphml&gt;. </xs:documentation>
  605. </xs:annotation>
  606. </xs:element>
  607. <xs:element block="#all" name="default" type="default.type">
  608. <xs:annotation>
  609. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  610. Description: In GraphML there may be data-functions attached to graphs,
  611. nodes, ports, edges, hyperedges and endpoint and to the whole collection of
  612. graphs described by the content of &lt;graphml&gt;. These functions are declared by
  613. &lt;key&gt; elements (children of &lt;graphml&gt;) and defined by &lt;data&gt; elements.
  614. The (optional) &lt;default&gt; child of &lt;key&gt; gives the default value for the
  615. corresponding function. Occurence: &lt;key&gt;. </xs:documentation>
  616. </xs:annotation>
  617. </xs:element>
  618. <xs:element block="#all" name="graphml" type="graphml.type">
  619. <xs:annotation>
  620. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  621. Description: &lt;graphml&gt; is the root element of each GraphML document.
  622. Occurence: root. </xs:documentation>
  623. </xs:annotation>
  624. <xs:unique name="graphml_data_key_unique">
  625. <xs:annotation>
  626. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  627. Ensures: uniqueness of the key attributes of &lt;data&gt; children of this
  628. &lt;graphml&gt; element. </xs:documentation>
  629. </xs:annotation>
  630. <xs:selector xpath="./g:data"/>
  631. <xs:field xpath="@key"/>
  632. </xs:unique>
  633. <xs:key name="key_id_key">
  634. <xs:annotation>
  635. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  636. Ensures: existence and uniqueness of the id attributes of each &lt;key&gt;
  637. element in this document. </xs:documentation>
  638. </xs:annotation>
  639. <xs:selector xpath=".//g:key"/>
  640. <xs:field xpath="@id"/>
  641. </xs:key>
  642. <xs:unique name="graph_id_unique">
  643. <xs:annotation>
  644. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  645. Ensures: uniqueness of the id attributes of each &lt;graph&gt; element in this
  646. document. </xs:documentation>
  647. </xs:annotation>
  648. <xs:selector xpath=".//g:graph"/>
  649. <xs:field xpath="@id"/>
  650. </xs:unique>
  651. <xs:keyref name="data_key_ref" refer="key_id_key">
  652. <xs:annotation>
  653. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  654. Ensures: for the key attribute of each &lt;data&gt; in this document, the
  655. existence of an id attribute of &lt;key&gt; which matches the value of it.
  656. </xs:documentation>
  657. </xs:annotation>
  658. <xs:selector xpath=".//g:data"/>
  659. <xs:field xpath="@key"/>
  660. </xs:keyref>
  661. </xs:element>
  662. <xs:element block="#all" name="graph" type="graph.type">
  663. <xs:annotation>
  664. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  665. Description: Describes one graph in this document. Occurence: &lt;graphml&gt;, &lt;node&gt;,
  666. &lt;edge&gt;, &lt;hyperedge&gt;. </xs:documentation>
  667. </xs:annotation>
  668. <xs:unique name="graph_data_key_unique">
  669. <xs:annotation>
  670. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  671. Ensures: uniqueness of the key attributes of &lt;data&gt; children of this
  672. &lt;graph&gt; element. </xs:documentation>
  673. </xs:annotation>
  674. <xs:selector xpath="./g:data"/>
  675. <xs:field xpath="@key"/>
  676. </xs:unique>
  677. <xs:key name="node_id_key">
  678. <xs:annotation>
  679. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  680. Ensures: existence and uniqueness of the id attributes of each &lt;node&gt;
  681. element in this graph. </xs:documentation>
  682. </xs:annotation>
  683. <xs:selector xpath=".//g:node"/>
  684. <xs:field xpath="@id"/>
  685. </xs:key>
  686. <xs:unique name="edge_id_unique">
  687. <xs:annotation>
  688. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  689. Ensures: uniqueness of the id attributes of each &lt;edge&gt; element in this
  690. graph. </xs:documentation>
  691. </xs:annotation>
  692. <xs:selector xpath=".//g:edge"/>
  693. <xs:field xpath="@id"/>
  694. </xs:unique>
  695. <xs:unique name="hyperedge_id_unique">
  696. <xs:annotation>
  697. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  698. Ensures: uniqueness of the id attributes of each &lt;hyperedge&gt; element in
  699. this graph. </xs:documentation>
  700. </xs:annotation>
  701. <xs:selector xpath=".//g:hyperedge"/>
  702. <xs:field xpath="@id"/>
  703. </xs:unique>
  704. <xs:unique name="endpoint_id_unique">
  705. <xs:annotation>
  706. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  707. Ensures: uniqueness of the id attributes of each &lt;endpoint&gt; element in
  708. this graph. </xs:documentation>
  709. </xs:annotation>
  710. <xs:selector xpath=".//g:endpoint"/>
  711. <xs:field xpath="@id"/>
  712. </xs:unique>
  713. <xs:keyref name="edge_source_ref" refer="node_id_key">
  714. <xs:annotation>
  715. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  716. Ensures: for the source attribute of each &lt;edge&gt; in this graph, the
  717. existence of an id attribute of &lt;node&gt; which matches the value of it.
  718. </xs:documentation>
  719. </xs:annotation>
  720. <xs:selector xpath=".//g:edge"/>
  721. <xs:field xpath="@source"/>
  722. </xs:keyref>
  723. <xs:keyref name="edge_target_ref" refer="node_id_key">
  724. <xs:annotation>
  725. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  726. Ensures: for the target attribute of each &lt;edge&gt; in this graph, the
  727. existence of an id attribute of &lt;node&gt; which matches the value of it.
  728. </xs:documentation>
  729. </xs:annotation>
  730. <xs:selector xpath=".//g:edge"/>
  731. <xs:field xpath="@target"/>
  732. </xs:keyref>
  733. <xs:keyref name="endpoint_node_ref" refer="node_id_key">
  734. <xs:annotation>
  735. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  736. Ensures: for the node attribute of each &lt;endpoint&gt; in this graph, the
  737. existence of an id attribute of &lt;node&gt; which matches the value of it.
  738. </xs:documentation>
  739. </xs:annotation>
  740. <xs:selector xpath=".//g:endpoint"/>
  741. <xs:field xpath="@node"/>
  742. </xs:keyref>
  743. </xs:element>
  744. <xs:element block="#all" name="node" type="node.type">
  745. <xs:annotation>
  746. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  747. Description: Describes one node in the &lt;graph&gt; containing this &lt;node&gt;.
  748. Occurence: &lt;graph&gt;. </xs:documentation>
  749. </xs:annotation>
  750. <xs:key name="port_name_key">
  751. <xs:annotation>
  752. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  753. Ensures: existence and uniqueness of the name attributes of each &lt;port&gt;
  754. element within this &lt;node&gt;. </xs:documentation>
  755. </xs:annotation>
  756. <xs:selector xpath=".//g:port"/>
  757. <xs:field xpath="@name"/>
  758. </xs:key>
  759. <xs:unique name="node_data_key_unique">
  760. <xs:annotation>
  761. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  762. Ensures: uniqueness of the key attributes of &lt;data&gt; children of this
  763. &lt;node&gt; element. </xs:documentation>
  764. </xs:annotation>
  765. <xs:selector xpath="./g:data"/>
  766. <xs:field xpath="@key"/>
  767. </xs:unique>
  768. </xs:element>
  769. <xs:element block="#all" name="port" type="port.type">
  770. <xs:annotation>
  771. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  772. Description: Nodes may be structured by ports; thus edges are not only
  773. attached to a node but to a certain port in this node. Occurence:
  774. &lt;node&gt;, &lt;port&gt;. </xs:documentation>
  775. </xs:annotation>
  776. <xs:unique name="port_data_key_unique">
  777. <xs:annotation>
  778. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  779. Ensures: uniqueness of the key attributes of &lt;data&gt; children of this
  780. &lt;port&gt; element. </xs:documentation>
  781. </xs:annotation>
  782. <xs:selector xpath="./g:data"/>
  783. <xs:field xpath="@key"/>
  784. </xs:unique>
  785. </xs:element>
  786. <xs:element block="#all" name="edge" type="edge.type">
  787. <xs:annotation>
  788. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  789. Description: Describes an edge in the &lt;graph&gt; which contains this &lt;edge&gt;.
  790. Occurence: &lt;graph&gt;. </xs:documentation>
  791. </xs:annotation>
  792. <xs:unique name="edge_data_key_unique">
  793. <xs:annotation>
  794. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  795. Ensures: uniqueness of the key attributes of &lt;data&gt; children of this
  796. &lt;edge&gt; element. </xs:documentation>
  797. </xs:annotation>
  798. <xs:selector xpath="./g:data"/>
  799. <xs:field xpath="@key"/>
  800. </xs:unique>
  801. </xs:element>
  802. <xs:element block="#all" name="hyperedge" type="hyperedge.type">
  803. <xs:annotation>
  804. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  805. Description: While edges describe relations between two nodes, a hyperedge
  806. describes a relation between an arbitrary number of nodes.
  807. Occurence: &lt;graph&gt;. </xs:documentation>
  808. </xs:annotation>
  809. <xs:unique name="hyperedge_data_key_unique">
  810. <xs:annotation>
  811. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  812. Ensures: uniqueness of the key attributes of &lt;data&gt; children of this
  813. &lt;hyperedge&gt; element. </xs:documentation>
  814. </xs:annotation>
  815. <xs:selector xpath="./g:data"/>
  816. <xs:field xpath="@key"/>
  817. </xs:unique>
  818. </xs:element>
  819. <xs:element block="#all" name="endpoint" type="endpoint.type">
  820. <xs:annotation>
  821. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  822. Description: The list of &lt;endpoints&gt; within a hyperedge points to the nodes
  823. contained in this hyperedge. Occurence: &lt;hyperedge&gt;. </xs:documentation>
  824. </xs:annotation>
  825. </xs:element>
  826. <!--types as in graphml-attributes.xsd -->
  827. <xs:simpleType final="#all" name="key.name.type">
  828. <xs:annotation>
  829. <xs:documentation
  830. source="http://graphml.graphdrawing.org/(Dokumentation der Attributes Erweiterung; entsprechende Stelle.html)"
  831. xml:lang="en"> Simple type for the attr.name attribute of &lt;key&gt;.
  832. key.name.type is final, that is, it may not be extended or restricted.
  833. key.name.type is a restriction of xs:NMTOKEN Allowed values: (no
  834. restriction) </xs:documentation>
  835. </xs:annotation>
  836. <xs:restriction base="xs:NMTOKEN"/>
  837. </xs:simpleType>
  838. <xs:simpleType final="#all" name="key.type.type">
  839. <xs:annotation>
  840. <xs:documentation
  841. source="http://graphml.graphdrawing.org/(Dokumentation der Attributes Erweiterung; entsprechende Stelle.html)"
  842. xml:lang="en"> Simple type for the attr.type attribute of &lt;key&gt;.
  843. key.type.type is final, that is, it may not be extended or restricted.
  844. key.type.type is a restriction of xs:NMTOKEN Allowed values: boolean, int,
  845. long, float, double, string, complex. </xs:documentation>
  846. </xs:annotation>
  847. <xs:restriction base="xs:NMTOKEN">
  848. <xs:enumeration value="boolean"/>
  849. <xs:enumeration value="int"/>
  850. <xs:enumeration value="long"/>
  851. <xs:enumeration value="float"/>
  852. <xs:enumeration value="double"/>
  853. <xs:enumeration value="string"/>
  854. <xs:enumeration value="complex"/>
  855. </xs:restriction>
  856. </xs:simpleType>
  857. <xs:attributeGroup name="key.attributes.attrib">
  858. <xs:annotation>
  859. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  860. Definition of the attribute group key.attributes.attrib. This group consists
  861. of the two optional attributes - attr.name (gives the name for the data
  862. function) - attr.type (declares the range of values for the data function)
  863. </xs:documentation>
  864. </xs:annotation>
  865. <xs:attribute form="unqualified" name="attr.name" type="key.name.type" use="optional"/>
  866. <xs:attribute form="unqualified" name="attr.type" type="key.type.type" use="optional"/>
  867. </xs:attributeGroup>
  868. <!--types as in graphml-parseinfo.xsd -->
  869. <xs:simpleType final="#all" name="graph.order.type">
  870. <xs:annotation>
  871. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
  872. type for the parse.order attribute of &lt;graph&gt;. graph.order.type is final, that
  873. is, it may not be extended or restricted.
  874. graph.order.type is a restriction of xs:NMTOKEN Allowed values: free,
  875. nodesfirst, adjacencylist. </xs:documentation>
  876. </xs:annotation>
  877. <xs:restriction base="xs:NMTOKEN">
  878. <xs:enumeration value="free"/>
  879. <xs:enumeration value="nodesfirst"/>
  880. <xs:enumeration value="adjacencylist"/>
  881. </xs:restriction>
  882. </xs:simpleType>
  883. <xs:simpleType final="#all" name="graph.nodes.type">
  884. <xs:annotation>
  885. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
  886. type for the parse.nodes attribute of &lt;graph&gt;. graph.nodes.type is final, that
  887. is, it may not be extended or restricted.
  888. graph.nodes.type is a restriction of xs:nonNegativeInteger Allowed values: (no
  889. restriction). </xs:documentation>
  890. </xs:annotation>
  891. <xs:restriction base="xs:nonNegativeInteger"/>
  892. </xs:simpleType>
  893. <xs:simpleType final="#all" name="graph.edges.type">
  894. <xs:annotation>
  895. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
  896. type for the parse.edges attribute of &lt;graph&gt;. graph.edges.type is final, that
  897. is, it may not be extended or restricted.
  898. graph.edges.type is a restriction of xs:nonNegativeInteger Allowed values: (no
  899. restriction). </xs:documentation>
  900. </xs:annotation>
  901. <xs:restriction base="xs:nonNegativeInteger"/>
  902. </xs:simpleType>
  903. <xs:simpleType final="#all" name="graph.maxindegree.type">
  904. <xs:annotation>
  905. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
  906. type for the parse.maxindegree attribute of &lt;graph&gt;. graph.maxindegree.type is
  907. final, that is, it may not be extended or restricted.
  908. graph.maxindegree.type is a restriction of xs:nonNegativeInteger Allowed
  909. values: (no restriction). </xs:documentation>
  910. </xs:annotation>
  911. <xs:restriction base="xs:nonNegativeInteger"/>
  912. </xs:simpleType>
  913. <xs:simpleType final="#all" name="graph.maxoutdegree.type">
  914. <xs:annotation>
  915. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
  916. type for the parse.maxoutdegree attribute of &lt;graph&gt;. graph.maxoutdegree.type is
  917. final, that is, it may not be extended or restricted.
  918. graph.maxoutdegree.type is a restriction of xs:nonNegativeInteger Allowed
  919. values: (no restriction). </xs:documentation>
  920. </xs:annotation>
  921. <xs:restriction base="xs:nonNegativeInteger"/>
  922. </xs:simpleType>
  923. <xs:simpleType final="#all" name="graph.nodeids.type">
  924. <xs:annotation>
  925. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
  926. type for the parse.nodeids attribute of &lt;graph&gt;. graph.nodeids.type is final,
  927. that is, it may not be extended or restricted.
  928. graph.nodeids.type is a restriction of xs:string Allowed values: (no
  929. restriction). </xs:documentation>
  930. </xs:annotation>
  931. <xs:restriction base="xs:NMTOKEN">
  932. <xs:enumeration value="canonical"/>
  933. <xs:enumeration value="free"/>
  934. </xs:restriction>
  935. </xs:simpleType>
  936. <xs:simpleType final="#all" name="graph.edgeids.type">
  937. <xs:annotation>
  938. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
  939. type for the parse.edgeids attribute of &lt;graph&gt;. graph.edgeids.type is final,
  940. that is, it may not be extended or restricted.
  941. graph.edgeids.type is a restriction of xs:string Allowed values: (no
  942. restriction). </xs:documentation>
  943. </xs:annotation>
  944. <xs:restriction base="xs:NMTOKEN">
  945. <xs:enumeration value="canonical"/>
  946. <xs:enumeration value="free"/>
  947. </xs:restriction>
  948. </xs:simpleType>
  949. <xs:attributeGroup name="graph.parseinfo.attrib">
  950. <xs:annotation>
  951. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  952. Definition of the attribute group graph.parseinfo.attrib. This group consists
  953. of the seven attributes: <ul>
  954. <li><code>parse.nodeids</code></li> (fixed to 'canonical' meaning that the id
  955. attribute of &lt;node&gt; follows the pattern 'n[number]),
  956. <li><code>parse.edgeids</code></li> (fixed to 'canonical' meaning that
  957. the id attribute of &lt;edge&gt; follows the pattern 'e[number]),
  958. <li><code>parse.order</code></li> (required; one of the values
  959. 'nodesfirst', 'adjacencylist' or 'free'),
  960. <li><code>parse.nodes</code></li> (required; number of nodes in this
  961. graph), <li><code>parse.edges</code></li> (required; number of edges in
  962. this graph), <li><code>parse.maxindegree</code></li> (optional; maximal
  963. indegree of a node in this graph), <li><code>parse.maxoutdegree</code></li>
  964. (optional; maximal outdegree of a node in this graph) </ul>
  965. </xs:documentation>
  966. </xs:annotation>
  967. <xs:attribute form="unqualified" name="parse.nodeids" type="graph.nodeids.type"/>
  968. <xs:attribute form="unqualified" name="parse.edgeids" type="graph.edgeids.type"/>
  969. <xs:attribute form="unqualified" name="parse.order" type="graph.order.type"/>
  970. <xs:attribute form="unqualified" name="parse.nodes" type="graph.nodes.type"/>
  971. <xs:attribute form="unqualified" name="parse.edges" type="graph.edges.type"/>
  972. <xs:attribute form="unqualified" name="parse.maxindegree" type="graph.maxindegree.type"
  973. use="optional"/>
  974. <xs:attribute form="unqualified" name="parse.maxoutdegree" type="graph.maxoutdegree.type"
  975. use="optional"/>
  976. </xs:attributeGroup>
  977. <xs:simpleType final="#all" name="node.indegree.type">
  978. <xs:annotation>
  979. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
  980. type for the parse.indegree attribute of &lt;node&gt;. node.indegree.type is final,
  981. that is, it may not be extended or restricted.
  982. node.indegree.type is a restriction of xs:nonNegativeInteger Allowed values:
  983. (no restriction). </xs:documentation>
  984. </xs:annotation>
  985. <xs:restriction base="xs:nonNegativeInteger"/>
  986. </xs:simpleType>
  987. <xs:simpleType final="#all" name="node.outdegree.type">
  988. <xs:annotation>
  989. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en"> Simple
  990. type for the parse.outdegree attribute of &lt;node&gt;. node.outdegree.type is final,
  991. that is, it may not be extended or restricted.
  992. node.outdegree.type is a restriction of xs:nonNegativeInteger Allowed values:
  993. (no restriction). </xs:documentation>
  994. </xs:annotation>
  995. <xs:restriction base="xs:nonNegativeInteger"/>
  996. </xs:simpleType>
  997. <xs:attributeGroup name="node.parseinfo.attrib">
  998. <xs:annotation>
  999. <xs:documentation source="http://graphml.graphdrawing.org/" xml:lang="en">
  1000. Definition of the attribute group node.parseinfo.attrib. This group consists of
  1001. two attributes - parse.indegree (optional; indegree of this node), -
  1002. parse.outdegree (optional; outdegree of this node). </xs:documentation>
  1003. </xs:annotation>
  1004. <xs:attribute form="unqualified" name="parse.indegree" type="node.indegree.type"
  1005. use="optional"/>
  1006. <xs:attribute form="unqualified" name="parse.outdegree" type="node.outdegree.type"
  1007. use="optional"/>
  1008. </xs:attributeGroup>
  1009. <!-- Type of Grouping -->
  1010. <xs:simpleType name="yfiles.foldertype.type">
  1011. <xs:annotation>
  1012. <xs:documentation> The valid folder types for a folder/group node.
  1013. <p>Valid values are <ul>
  1014. <li><b>folder</b>: for folder nodes</li>
  1015. <li><b>group</b>: for group nodes</li>
  1016. <li><b>leaf</b>: for leaf nodes (this is the implied value)</li>
  1017. </ul>
  1018. </p>
  1019. </xs:documentation>
  1020. </xs:annotation>
  1021. <xs:restriction base="xs:NMTOKEN">
  1022. <xs:enumeration value="folder"/>
  1023. <xs:enumeration value="group"/>
  1024. <xs:enumeration value="leaf"/>
  1025. </xs:restriction>
  1026. </xs:simpleType>
  1027. </xs:schema>