1<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
2<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
4<xsd:annotation>
5  <xsd:documentation>
6  Schema for JDiff API representation.
7  </xsd:documentation>
8</xsd:annotation>
9
10<xsd:element name="api" type="apiType"/>
11
12<xsd:complexType name="apiType">
13  <xsd:sequence>
14    <xsd:element name="package" type="packageType" minOccurs='1' maxOccurs='unbounded'/>
15  </xsd:sequence>
16  <xsd:attribute name="name" type="xsd:string"/>
17  <xsd:attribute name="jdversion" type="xsd:string"/>
18</xsd:complexType>
19
20<xsd:complexType name="packageType">
21  <xsd:sequence>
22    <xsd:choice maxOccurs='unbounded'>
23      <xsd:element name="class" type="classType"/>
24      <xsd:element name="interface" type="classType"/>
25    </xsd:choice>
26    <xsd:element name="doc" type="xsd:string" minOccurs='0' maxOccurs='1'/>
27  </xsd:sequence>
28  <xsd:attribute name="name" type="xsd:string"/>
29</xsd:complexType>
30
31<xsd:complexType name="classType">
32  <xsd:sequence>
33    <xsd:element name="implements" type="interfaceTypeName" minOccurs='0' maxOccurs='unbounded'/>
34    <xsd:element name="constructor" type="constructorType" minOccurs='0' maxOccurs='unbounded'/>
35    <xsd:element name="method" type="methodType" minOccurs='0' maxOccurs='unbounded'/>
36    <xsd:element name="field" type="fieldType" minOccurs='0' maxOccurs='unbounded'/>
37    <xsd:element name="doc" type="xsd:string" minOccurs='0' maxOccurs='1'/>
38  </xsd:sequence>
39  <xsd:attribute name="name" type="xsd:string"/>
40  <xsd:attribute name="extends" type="xsd:string" use='optional'/>
41  <xsd:attribute name="abstract" type="xsd:boolean"/>
42  <xsd:attribute name="src" type="xsd:string" use='optional'/>
43  <xsd:attribute name="static" type="xsd:boolean"/>
44  <xsd:attribute name="final" type="xsd:boolean"/>
45  <xsd:attribute name="deprecated" type="xsd:string"/>
46  <xsd:attribute name="visibility" type="xsd:string"/>
47</xsd:complexType>
48
49<xsd:complexType name="interfaceTypeName">
50  <xsd:attribute name="name" type="xsd:string"/>
51</xsd:complexType>
52
53<xsd:complexType name="constructorType">
54  <xsd:sequence>
55    <xsd:element name="parameter" type="paramsType" minOccurs='0' maxOccurs='unbounded'/>
56    <xsd:element name="exception" type="exceptionType" minOccurs='0' maxOccurs='unbounded'/>
57    <xsd:element name="doc" type="xsd:string" minOccurs='0' maxOccurs='1'/>
58  </xsd:sequence>
59  <xsd:attribute name="name" type="xsd:string"/>
60  <xsd:attribute name="type" type="xsd:string" use='optional'/>
61  <xsd:attribute name="src" type="xsd:string" use='optional'/>
62  <xsd:attribute name="static" type="xsd:boolean"/>
63  <xsd:attribute name="final" type="xsd:boolean"/>
64  <xsd:attribute name="deprecated" type="xsd:string"/>
65  <xsd:attribute name="visibility" type="xsd:string"/>
66</xsd:complexType>
67
68<xsd:complexType name="paramsType">
69  <xsd:attribute name="name" type="xsd:string"/>
70  <xsd:attribute name="type" type="xsd:string"/>
71</xsd:complexType>
72
73<xsd:complexType name="exceptionType">
74  <xsd:attribute name="name" type="xsd:string"/>
75  <xsd:attribute name="type" type="xsd:string"/>
76</xsd:complexType>
77
78<xsd:complexType name="methodType">
79  <xsd:sequence>
80    <xsd:element name="parameter" type="paramsType" minOccurs='0' maxOccurs='unbounded'/>
81    <xsd:element name="exception" type="exceptionType" minOccurs='0' maxOccurs='unbounded'/>
82    <xsd:element name="doc" type="xsd:string" minOccurs='0' maxOccurs='1'/>
83  </xsd:sequence>
84  <xsd:attribute name="name" type="xsd:string"/>
85  <xsd:attribute name="return" type="xsd:string" use='optional'/>
86  <xsd:attribute name="abstract" type="xsd:boolean"/>
87  <xsd:attribute name="native" type="xsd:boolean"/>
88  <xsd:attribute name="synchronized" type="xsd:boolean"/>
89  <xsd:attribute name="src" type="xsd:string" use='optional'/>
90  <xsd:attribute name="static" type="xsd:boolean"/>
91  <xsd:attribute name="final" type="xsd:boolean"/>
92  <xsd:attribute name="deprecated" type="xsd:string"/>
93  <xsd:attribute name="visibility" type="xsd:string"/>
94</xsd:complexType>
95
96<xsd:complexType name="fieldType">
97  <xsd:sequence>
98    <xsd:element name="doc" type="xsd:string" minOccurs='0' maxOccurs='1'/>
99  </xsd:sequence>
100  <xsd:attribute name="name" type="xsd:string"/>
101  <xsd:attribute name="type" type="xsd:string"/>
102  <xsd:attribute name="transient" type="xsd:boolean"/>
103  <xsd:attribute name="volatile" type="xsd:boolean"/>
104  <xsd:attribute name="value" type="xsd:string" use='optional'/>
105  <xsd:attribute name="src" type="xsd:string" use='optional'/>
106  <xsd:attribute name="static" type="xsd:boolean"/>
107  <xsd:attribute name="final" type="xsd:boolean"/>
108  <xsd:attribute name="deprecated" type="xsd:string"/>
109  <xsd:attribute name="visibility" type="xsd:string"/>
110</xsd:complexType>
111
112</xsd:schema>
113