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="exception" type="exceptionType" minOccurs='0' maxOccurs='unbounded'/>
56    <xsd:element name="doc" type="xsd:string" minOccurs='0' maxOccurs='1'/>
57  </xsd:sequence>
58  <xsd:attribute name="name" type="xsd:string"/>
59  <xsd:attribute name="type" type="xsd:string" use='optional'/>
60  <xsd:attribute name="src" type="xsd:string" use='optional'/>
61  <xsd:attribute name="static" type="xsd:boolean"/>
62  <xsd:attribute name="final" type="xsd:boolean"/>
63  <xsd:attribute name="deprecated" type="xsd:string"/>
64  <xsd:attribute name="visibility" type="xsd:string"/>
65</xsd:complexType>
66
67<xsd:complexType name="paramsType">
68  <xsd:attribute name="name" type="xsd:string"/>
69  <xsd:attribute name="type" type="xsd:string"/>
70</xsd:complexType>
71
72<xsd:complexType name="exceptionType">
73  <xsd:attribute name="name" type="xsd:string"/>
74  <xsd:attribute name="type" type="xsd:string"/>
75</xsd:complexType>
76
77<xsd:complexType name="methodType">
78  <xsd:sequence>
79    <xsd:element name="param" type="paramsType" minOccurs='0' maxOccurs='unbounded'/>
80    <xsd:element name="exception" type="exceptionType" minOccurs='0' maxOccurs='unbounded'/>
81    <xsd:element name="doc" type="xsd:string" minOccurs='0' maxOccurs='1'/>
82  </xsd:sequence>
83  <xsd:attribute name="name" type="xsd:string"/>
84  <xsd:attribute name="return" type="xsd:string" use='optional'/>
85  <xsd:attribute name="abstract" type="xsd:boolean"/>
86  <xsd:attribute name="native" type="xsd:boolean"/>
87  <xsd:attribute name="synchronized" type="xsd:boolean"/>
88  <xsd:attribute name="src" type="xsd:string" use='optional'/>
89  <xsd:attribute name="static" type="xsd:boolean"/>
90  <xsd:attribute name="final" type="xsd:boolean"/>
91  <xsd:attribute name="deprecated" type="xsd:string"/>
92  <xsd:attribute name="visibility" type="xsd:string"/>
93</xsd:complexType>
94
95<xsd:complexType name="fieldType">
96  <xsd:sequence>
97    <xsd:element name="doc" type="xsd:string" minOccurs='0' maxOccurs='1'/>
98  </xsd:sequence>
99  <xsd:attribute name="name" type="xsd:string"/>
100  <xsd:attribute name="type" type="xsd:string"/>
101  <xsd:attribute name="transient" type="xsd:boolean"/>
102  <xsd:attribute name="volatile" type="xsd:boolean"/>
103  <xsd:attribute name="value" type="xsd:string" use='optional'/>
104  <xsd:attribute name="src" type="xsd:string" use='optional'/>
105  <xsd:attribute name="static" type="xsd:boolean"/>
106  <xsd:attribute name="final" type="xsd:boolean"/>
107  <xsd:attribute name="deprecated" type="xsd:string"/>
108  <xsd:attribute name="visibility" type="xsd:string"/>
109</xsd:complexType>
110
111</xsd:schema>
112