comparison visualizer/Data/src/com/sun/hotspot/igv/data/serialization/graphdocument.xsd @ 4512:015fb895586b

Moved visualizer to new directory.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Tue, 07 Feb 2012 22:41:09 +0100
parents
children
comparison
equal deleted inserted replaced
4511:6cb549627941 4512:015fb895586b
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
3
4 <xsd:element name="graphDocument">
5 <xsd:complexType>
6 <xsd:sequence>
7 <xsd:element name="properties" type="propertiesType" minOccurs="0" maxOccurs="1" />
8 <xsd:element name="group" type="groupType" minOccurs="0" maxOccurs="unbounded" />
9 </xsd:sequence>
10 </xsd:complexType>
11 </xsd:element>
12
13 <xsd:complexType name="groupType">
14 <xsd:sequence>
15 <xsd:element name="properties" type="propertiesType" minOccurs="0" maxOccurs="1" />
16 <xsd:element name="assembly" type="assemblyType" minOccurs="0" maxOccurs="1" />
17 <xsd:element name="method" type="methodType" minOccurs="0" maxOccurs="1" />
18 <xsd:element name="graph" type="graphType" minOccurs="0" maxOccurs="unbounded" />
19 </xsd:sequence>
20 <xsd:attribute name="difference" use="optional" />
21 </xsd:complexType>
22
23 <xsd:complexType name="propertiesType">
24 <xsd:sequence>
25 <xsd:element name="p" minOccurs="0" maxOccurs="unbounded">
26 <xsd:complexType>
27 <xsd:simpleContent>
28 <xsd:extension base="xsd:string">
29 <xsd:attribute name="name" use="required" />
30 </xsd:extension>
31 </xsd:simpleContent>
32 </xsd:complexType>
33 </xsd:element>
34 </xsd:sequence>
35 </xsd:complexType>
36
37 <xsd:simpleType name="assemblyType">
38 <xsd:restriction base="xsd:string" />
39 </xsd:simpleType>
40
41 <xsd:complexType name="methodType">
42 <xsd:all>
43 <xsd:element name="properties" type="propertiesType" minOccurs="0" maxOccurs="1" />
44 <xsd:element name="bytecodes" minOccurs="0" maxOccurs="1">
45 <xsd:simpleType>
46 <xsd:restriction base="xsd:string" />
47 </xsd:simpleType>
48 </xsd:element>
49 <xsd:element name="inlined" minOccurs="0" maxOccurs="1">
50 <xsd:complexType>
51 <xsd:sequence>
52 <xsd:element name="method" type="methodType" minOccurs="0" maxOccurs="unbounded" />
53 </xsd:sequence>
54 </xsd:complexType>
55 </xsd:element>
56 </xsd:all>
57 <xsd:attribute name="bci" type="xsd:int" use="required" />
58 <xsd:attribute name="shortName" type="xsd:string" use="required" />
59 <xsd:attribute name="name" type="xsd:string" use="required" />
60 </xsd:complexType>
61
62 <xsd:complexType name="graphType">
63 <xsd:sequence>
64 <xsd:element name="properties" type="propertiesType" minOccurs="0" maxOccurs="1" />
65
66 <xsd:element name="nodes" minOccurs="0" maxOccurs="1">
67 <xsd:complexType>
68 <xsd:sequence>
69 <xsd:choice minOccurs="0" maxOccurs="unbounded">
70 <xsd:element name="node" type="nodeType" />
71 <xsd:element name="removeNode" type="nodeRefType" />
72 </xsd:choice>
73 </xsd:sequence>
74 </xsd:complexType>
75 </xsd:element>
76
77 <xsd:element name="edges" minOccurs="0" maxOccurs="1">
78 <xsd:complexType>
79 <xsd:sequence>
80 <xsd:choice minOccurs="0" maxOccurs="unbounded">
81 <xsd:element name="edge" type="edgeType" />
82 <xsd:element name="removeEdge" type="edgeType" />
83 </xsd:choice>
84 </xsd:sequence>
85 </xsd:complexType>
86 </xsd:element>
87
88 <xsd:element name="controlFlow" type="controlFlowType" minOccurs="0" maxOccurs="1" />
89 </xsd:sequence>
90
91 <xsd:attribute name="name" use="optional" />
92 </xsd:complexType>
93
94 <xsd:complexType name="nodeType">
95 <xsd:sequence>
96 <xsd:element name="properties" type="propertiesType" minOccurs="0" maxOccurs="1" />
97 </xsd:sequence>
98 <xsd:attribute name="id" type="xsd:int" use="required" />
99 </xsd:complexType>
100
101 <xsd:complexType name="nodeRefType">
102 <xsd:attribute name="id" type="xsd:int" use="required" />
103 </xsd:complexType>
104
105 <xsd:complexType name="edgeType">
106 <xsd:attribute name="from" type="xsd:int" use="required" />
107 <xsd:attribute name="to" type="xsd:int" use="required" />
108 <xsd:attribute name="label" type="xsd:string" use="optional" />
109 <xsd:attribute name="fromIndex" type="xsd:int" use="optional" />
110
111 <!-- These are aliases and should be mutually exclusive -->
112 <xsd:attribute name="toIndex" type="xsd:int" use="optional" />
113 <xsd:attribute name="index" type="xsd:int" use="optional" />
114 </xsd:complexType>
115
116 <xsd:complexType name="controlFlowType">
117 <xsd:sequence>
118 <xsd:element name="block" type="blockType" minOccurs="0" maxOccurs="unbounded" />
119 </xsd:sequence>
120 </xsd:complexType>
121
122 <xsd:complexType name="blockType">
123 <xsd:all>
124 <xsd:element name="successors" minOccurs="0" maxOccurs="1">
125 <xsd:complexType>
126 <xsd:sequence>
127 <xsd:element name="successor" minOccurs="0" maxOccurs="unbounded">
128 <xsd:complexType>
129 <xsd:attribute name="name" type="xsd:string" use="required" />
130 </xsd:complexType>
131 </xsd:element>
132 </xsd:sequence>
133 </xsd:complexType>
134 </xsd:element>
135 <xsd:element name="nodes" minOccurs="0" maxOccurs="1">
136 <xsd:complexType>
137 <xsd:sequence>
138 <xsd:element name="node" type="nodeRefType" minOccurs="0" maxOccurs="unbounded" />
139 </xsd:sequence>
140 </xsd:complexType>
141 </xsd:element>
142 </xsd:all>
143
144 <xsd:attribute name="name" type="xsd:string" use="required" />
145 </xsd:complexType>
146 </xsd:schema>