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="loan" type="LoanType"/>
16
<xs:element name="term" type="xs:integer"/>
17
<xs:element name="amount">
19
<xs:restriction base="xs:decimal">
20
<xs:minInclusive value="5000.00"/>
21
<xs:maxInclusive value="10000.00"/>
22
<xs:fractionDigits value="2"/>
26
<xs:element name="application">
28
<xs:restriction base="xs:string">
29
<xs:enumeration value="individual"/>
30
<xs:enumeration value="joint"/>
34
<xs:element name="state" type="StateType"/>
35
<xs:element name="applicant" type="ApplicantType" maxOccurs="2"/>
36
<xs:element name="tradeIn" minOccurs="0">
39
<xs:element name="vehicle" type="CarType"/>
40
<xs:element name="monthlyPayment">
42
<xs:restriction base="xs:decimal">
43
<xs:fractionDigits value="2"/>
44
<xs:minInclusive value="0.00"/>
55
<xs:simpleType name="LoanType">
56
<xs:restriction base="xs:string">
57
<xs:enumeration value="new"/>
58
<xs:enumeration value="used dealer"/>
59
<xs:enumeration value="used private"/>
60
<xs:enumeration value="refinance"/>
61
<xs:enumeration value="lease buyout"/>
65
<xs:simpleType name="StateType">
66
<xs:restriction base="xs:string">
67
<xs:enumeration value="AZ"/>
68
<xs:enumeration value="CA"/>
69
<xs:enumeration value="NY"/>
70
<xs:enumeration value="TX"/>
74
<xs:complexType name="ApplicantType">
76
<xs:element name="name">
79
<xs:element name="first" type="xs:string"/>
80
<xs:element name="middle" type="xs:string"/>
81
<xs:element name="last" type="xs:string"/>
82
<xs:element name="suffix">
84
<xs:restriction base="xs:string">
85
<xs:enumeration value="Jr"/>
86
<xs:enumeration value="Sr"/>
87
<xs:enumeration value="II"/>
88
<xs:enumeration value="III"/>
89
<xs:enumeration value="IV"/>
90
<xs:enumeration value="V"/>
97
<xs:element name="SSID">
99
<xs:restriction base="xs:string">
100
<xs:pattern value="\d{3}-\d{2}-\d{4}"/>
104
<xs:element name="birthDate" type="xs:date"/>
105
<xs:element name="homePhone" type="PhoneNumberType"/>
106
<xs:element name="cellPhone" type="PhoneNumberType"/>
107
<xs:element name="emailAddress">
109
<xs:restriction base="xs:string"/>
112
<xs:element name="residence" type="ResidenceType" maxOccurs="unbounded"/>
113
<xs:element name="employment">
116
<xs:element name="status">
118
<xs:restriction base="xs:string">
119
<xs:enumeration value="unemployed"/>
120
<xs:enumeration value="employed"/>
121
<xs:enumeration value="self employed"/>
125
<xs:element name="detail" minOccurs="0">
128
<xs:element name="occupation" type="xs:string"/>
129
<xs:element name="employer">
132
<xs:element name="name"/>
133
<xs:element name="address" type="AddressType"/>
134
<xs:element name="lengthOfEmployment" type="DurationType"/>
138
<xs:element name="workPhone" type="PhoneNumberType"/>
139
<xs:element name="grossMonthlyIncome">
141
<xs:restriction base="xs:decimal">
142
<xs:minInclusive value="0.00"/>
143
<xs:fractionDigits value="2"/>
153
<xs:element name="supplementalIncome">
156
<xs:element name="source">
158
<xs:restriction base="xs:string">
159
<xs:enumeration value="alimony"/>
160
<xs:enumeration value="child support"/>
161
<xs:enumeration value="investments"/>
162
<xs:enumeration value="part time job"/>
163
<xs:enumeration value="rental property"/>
164
<xs:enumeration value="retirement income"/>
165
<xs:enumeration value="social security"/>
169
<xs:element name="grossMonthlyIncome">
171
<xs:restriction base="xs:decimal">
172
<xs:minInclusive value="0.00"/>
173
<xs:fractionDigits value="2"/>
183
<xs:complexType name="AddressType">
185
<xs:element name="address1"/>
186
<xs:element name="address2"/>
187
<xs:element name="city"/>
188
<xs:element name="state" type="StateType"/>
189
<xs:element name="zip">
191
<xs:restriction base="xs:string">
192
<xs:minLength value="5"/>
193
<xs:maxLength value="5"/>
194
<xs:pattern value="\d{5}"/>
201
<xs:complexType name="PhoneNumberType">
203
<xs:element name="areaCode"/>
204
<xs:element name="exchange"/>
205
<xs:element name="number"/>
206
<xs:element name="extension" minOccurs="0"/>
210
<xs:complexType name="OccupancyType">
212
<xs:element name="type">
214
<xs:restriction base="xs:string">
215
<xs:enumeration value="rent"/>
216
<xs:enumeration value="own"/>
220
<xs:element name="movedIn" type="xs:date"/>
221
<xs:element name="lengthOfOccupancy" type="DurationType"/>
222
<xs:element name="payment">
224
<xs:restriction base="xs:decimal">
225
<xs:fractionDigits value="2"/>
226
<xs:minInclusive value="0.00"/>
233
<xs:complexType name="ResidenceType">
235
<xs:element name="address" type="AddressType"/>
236
<xs:element name="occupancy" type="OccupancyType"/>
240
<xs:complexType name="CarType">
242
<xs:element name="year" type="xs:gYear"/>
243
<xs:element name="make" type="xs:string"/>
244
<xs:element name="model" type="xs:string"/>
245
<xs:element name="VIN" type="xs:string"/>
249
<xs:complexType name="DurationType">
251
<xs:element name="years" type="xs:positiveInteger"/>
252
<xs:element name="months">
254
<xs:restriction base="xs:positiveInteger">
255
<xs:minInclusive value="1"/>
256
<xs:maxInclusive value="12"/>