1
<?xml version="1.0" encoding="UTF-8"?>
3
<xs:schema targetNamespace="http://xml.netbeans.org/examples/LoanApplication"
4
xmlns="http://xml.netbeans.org/examples/LoanApplication"
5
xmlns:xs="http://www.w3.org/2001/XMLSchema"
6
elementFormDefault="qualified"
7
attributeFormDefault="unqualified">
9
<xs:element name="autoLoanApplication" >
11
<xs:documentation>A loan application xml schema</xs:documentation>
15
<xs:element name="applicant" type="ApplicantType" maxOccurs="2"/>
16
<xs:element name="tradeIn" minOccurs="0">
19
<xs:element name="vehicle" type="CarType"/>
20
<xs:element name="monthlyPayment">
22
<xs:restriction base="xs:decimal">
23
<xs:fractionDigits value="2"/>
24
<xs:minInclusive value="0.00"/>
32
<xs:attribute name="type" type="LoanType"/>
33
<xs:attribute name="term" type="xs:int"/>
34
<xs:attribute name="amount" type="xs:decimal"/>
35
<xs:attribute name="application" type="ApplicationType"/>
36
<xs:attribute name="state" type="StateType"/>
40
<xs:simpleType name="LoanType">
41
<xs:restriction base="xs:string">
42
<xs:enumeration value="new"/>
43
<xs:enumeration value="used dealer"/>
44
<xs:enumeration value="used private"/>
45
<xs:enumeration value="refinance"/>
46
<xs:enumeration value="lease buyout"/>
50
<xs:simpleType name="StateType">
51
<xs:restriction base="xs:string">
52
<xs:enumeration value="AZ"/>
53
<xs:enumeration value="CA"/>
54
<xs:enumeration value="NY"/>
55
<xs:enumeration value="TX"/>
59
<xs:complexType name="ApplicantType">
61
<xs:element name="name">
64
<xs:element name="first" type="xs:string"/>
65
<xs:element name="middle" type="xs:string"/>
66
<xs:element name="last" type="xs:string"/>
67
<xs:element name="suffix">
69
<xs:restriction base="xs:string">
70
<xs:enumeration value="Jr"/>
71
<xs:enumeration value="Sr"/>
72
<xs:enumeration value="II"/>
73
<xs:enumeration value="III"/>
74
<xs:enumeration value="IV"/>
75
<xs:enumeration value="V"/>
82
<xs:element name="residence" type="ResidenceType" maxOccurs="unbounded"/>
83
<xs:element name="employment">
86
<xs:element name="status">
88
<xs:restriction base="xs:string">
89
<xs:enumeration value="unemployed"/>
90
<xs:enumeration value="employed"/>
91
<xs:enumeration value="self employed"/>
95
<xs:element name="detail" minOccurs="0">
98
<xs:element name="occupation" type="xs:string"/>
99
<xs:element name="employer">
102
<xs:element name="name"/>
103
<xs:element name="address" type="AddressType"/>
104
<xs:element name="lengthOfEmployment" type="DurationType"/>
108
<xs:element name="workPhone" type="PhoneNumberType"/>
109
<xs:element name="grossMonthlyIncome">
111
<xs:restriction base="xs:decimal">
112
<xs:minInclusive value="0.00"/>
113
<xs:fractionDigits value="2"/>
123
<xs:element name="supplementalIncome">
126
<xs:element name="source">
128
<xs:restriction base="xs:string">
129
<xs:enumeration value="alimony"/>
130
<xs:enumeration value="child support"/>
131
<xs:enumeration value="investments"/>
132
<xs:enumeration value="part time job"/>
133
<xs:enumeration value="rental property"/>
134
<xs:enumeration value="retirement income"/>
135
<xs:enumeration value="social security"/>
139
<xs:element name="grossMonthlyIncome">
141
<xs:restriction base="xs:decimal">
142
<xs:minInclusive value="0.00"/>
143
<xs:fractionDigits value="2"/>
151
<xs:attribute name="ssn">
153
<xs:restriction base="xs:string">
154
<xs:pattern value="\d{3}-\d{2}-\d{4}"/>
158
<xs:attribute name="birthDate" type="xs:date"/>
159
<xs:attribute name="homePhone" type="xs:string"/>
160
<xs:attribute name="cellPhone" type="xs:string"/>
161
<xs:attribute name="email" type="xs:string"/>
164
<xs:complexType name="AddressType">
167
<xs:attribute name="address1"/>
168
<xs:attribute name="address2"/>
169
<xs:attribute name="city"/>
170
<xs:attribute name="state" type="StateType"/>
171
<xs:attribute name="zip">
173
<xs:restriction base="xs:string">
174
<xs:minLength value="5"/>
175
<xs:maxLength value="5"/>
176
<xs:pattern value="\d{5}"/>
182
<xs:complexType name="PhoneNumberType">
183
<xs:attribute name="areaCode"/>
184
<xs:attribute name="exchange"/>
185
<xs:attribute name="number"/>
186
<xs:attribute name="extension"/>
189
<xs:complexType name="OccupancyType">
191
<xs:element name="lengthOfOccupancy" type="DurationType"/>
193
<xs:attribute name="movedIn" type="xs:date"/>
194
<xs:attribute name="type">
196
<xs:restriction base="xs:string">
197
<xs:enumeration value="rent"/>
198
<xs:enumeration value="own"/>
202
<xs:attribute name="payment">
204
<xs:restriction base="xs:decimal">
205
<xs:fractionDigits value="2"/>
206
<xs:minInclusive value="0.00"/>
212
<xs:complexType name="ResidenceType">
214
<xs:element name="address" type="AddressType"/>
215
<xs:element name="occupancy" type="OccupancyType"/>
219
<xs:complexType name="CarType">
220
<xs:attribute name="year" type="xs:gYear"/>
221
<xs:attribute name="make" type="xs:string"/>
222
<xs:attribute name="model" type="xs:string"/>
223
<xs:attribute name="vin" type="xs:string"/>
226
<xs:complexType name="DurationType">
227
<xs:attribute name="years" type="xs:positiveInteger"/>
228
<xs:attribute name="months" type="xs:positiveInteger"/>
231
<xs:simpleType name="ApplicationType">
232
<xs:restriction base="xs:string">
233
<xs:enumeration value="individual"/>
234
<xs:enumeration value="joint"/>
237
<xs:simpleType name="phoneNumberType">
238
<xs:restriction base="xs:string"/>