~ubuntu-branches/ubuntu/quantal/netbeans/quantal

« back to all changes in this revision

Viewing changes to xml/schema/src/org/netbeans/modules/xml/schema/wizard/templates/LoanApplication.xsd

  • Committer: Bazaar Package Importer
  • Author(s): Marek Slama
  • Date: 2008-01-29 14:11:22 UTC
  • Revision ID: james.westby@ubuntu.com-20080129141122-fnzjbo11ntghxfu7
Tags: upstream-6.0.1
ImportĀ upstreamĀ versionĀ 6.0.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0"?>
 
2
 
 
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">
 
8
    
 
9
    <xs:element name="autoLoanApplication">
 
10
        <xs:annotation>
 
11
            <xs:documentation>A loan application xml schema</xs:documentation>
 
12
        </xs:annotation>
 
13
        <xs:complexType>
 
14
            <xs:sequence>                
 
15
                <xs:element name="loan" type="LoanType"/>                
 
16
                <xs:element name="term" type="xs:integer"/>                
 
17
                <xs:element name="amount">
 
18
                    <xs:simpleType>
 
19
                        <xs:restriction base="xs:decimal">
 
20
                            <xs:minInclusive value="5000.00"/>
 
21
                            <xs:maxInclusive value="10000.00"/>
 
22
                            <xs:fractionDigits value="2"/>
 
23
                        </xs:restriction>
 
24
                    </xs:simpleType>
 
25
                </xs:element>
 
26
                <xs:element name="application">
 
27
                    <xs:simpleType>
 
28
                        <xs:restriction base="xs:string">
 
29
                            <xs:enumeration value="individual"/>
 
30
                            <xs:enumeration value="joint"/>
 
31
                        </xs:restriction>
 
32
                    </xs:simpleType>
 
33
                </xs:element>                
 
34
                <xs:element name="state" type="StateType"/>                
 
35
                <xs:element name="applicant" type="ApplicantType" maxOccurs="2"/>                
 
36
                <xs:element name="tradeIn" minOccurs="0">
 
37
                    <xs:complexType>
 
38
                        <xs:sequence>
 
39
                            <xs:element name="vehicle" type="CarType"/>                            
 
40
                            <xs:element name="monthlyPayment">
 
41
                                <xs:simpleType>
 
42
                                    <xs:restriction base="xs:decimal">
 
43
                                        <xs:fractionDigits value="2"/>
 
44
                                        <xs:minInclusive value="0.00"/>
 
45
                                    </xs:restriction>
 
46
                                </xs:simpleType>
 
47
                            </xs:element>
 
48
                        </xs:sequence>
 
49
                    </xs:complexType>
 
50
                </xs:element>
 
51
            </xs:sequence>
 
52
        </xs:complexType>
 
53
    </xs:element>
 
54
    
 
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"/>
 
62
        </xs:restriction>
 
63
    </xs:simpleType>
 
64
    
 
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"/>
 
71
        </xs:restriction>
 
72
    </xs:simpleType>
 
73
    
 
74
    <xs:complexType name="ApplicantType">
 
75
        <xs:sequence>
 
76
            <xs:element name="name">
 
77
                <xs:complexType>
 
78
                    <xs:sequence>
 
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">
 
83
                            <xs:simpleType>
 
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"/>
 
91
                                </xs:restriction>
 
92
                            </xs:simpleType>
 
93
                        </xs:element>
 
94
                    </xs:sequence>
 
95
                </xs:complexType>
 
96
            </xs:element>
 
97
                <xs:element name="SSID">
 
98
                    <xs:simpleType>
 
99
                        <xs:restriction base="xs:string">
 
100
                            <xs:pattern value="\d{3}-\d{2}-\d{4}"/>
 
101
                        </xs:restriction>
 
102
                    </xs:simpleType>
 
103
                </xs:element>
 
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">
 
108
                    <xs:simpleType>
 
109
                        <xs:restriction base="xs:string"/>
 
110
                    </xs:simpleType>
 
111
                </xs:element>
 
112
                <xs:element name="residence" type="ResidenceType" maxOccurs="unbounded"/>
 
113
                <xs:element name="employment">
 
114
                    <xs:complexType>
 
115
                        <xs:sequence>
 
116
                            <xs:element name="status">
 
117
                                <xs:simpleType>
 
118
                                    <xs:restriction base="xs:string">
 
119
                                        <xs:enumeration value="unemployed"/>
 
120
                                        <xs:enumeration value="employed"/>
 
121
                                        <xs:enumeration value="self employed"/>
 
122
                                    </xs:restriction>
 
123
                                </xs:simpleType>
 
124
                            </xs:element>
 
125
                            <xs:element name="detail" minOccurs="0">
 
126
                                <xs:complexType>
 
127
                                    <xs:sequence>
 
128
                                        <xs:element name="occupation" type="xs:string"/>
 
129
                                        <xs:element name="employer">
 
130
                                            <xs:complexType>
 
131
                                                <xs:sequence>
 
132
                                                    <xs:element name="name"/>
 
133
                                                    <xs:element name="address" type="AddressType"/>
 
134
                                                    <xs:element name="lengthOfEmployment" type="DurationType"/>
 
135
                                                </xs:sequence>
 
136
                                            </xs:complexType>
 
137
                                        </xs:element>
 
138
                                        <xs:element name="workPhone" type="PhoneNumberType"/>
 
139
                                        <xs:element name="grossMonthlyIncome">
 
140
                                            <xs:simpleType>
 
141
                                                <xs:restriction base="xs:decimal">
 
142
                                                    <xs:minInclusive value="0.00"/>
 
143
                                                    <xs:fractionDigits value="2"/>
 
144
                                                </xs:restriction>
 
145
                                            </xs:simpleType>
 
146
                                        </xs:element>
 
147
                                    </xs:sequence>
 
148
                                </xs:complexType>
 
149
                            </xs:element>
 
150
                        </xs:sequence>
 
151
                    </xs:complexType>
 
152
                </xs:element>
 
153
                <xs:element name="supplementalIncome">
 
154
                    <xs:complexType>
 
155
                        <xs:sequence>
 
156
                            <xs:element name="source">
 
157
                                <xs:simpleType>
 
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"/>
 
166
                                    </xs:restriction>
 
167
                                </xs:simpleType>
 
168
                            </xs:element>
 
169
                            <xs:element name="grossMonthlyIncome">
 
170
                                <xs:simpleType>
 
171
                                    <xs:restriction base="xs:decimal">
 
172
                                        <xs:minInclusive value="0.00"/>
 
173
                                        <xs:fractionDigits value="2"/>
 
174
                                    </xs:restriction>
 
175
                                </xs:simpleType>
 
176
                            </xs:element>
 
177
                        </xs:sequence>
 
178
                    </xs:complexType>
 
179
                </xs:element>
 
180
        </xs:sequence>
 
181
    </xs:complexType>
 
182
    
 
183
    <xs:complexType name="AddressType">
 
184
        <xs:sequence>
 
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">
 
190
                <xs:simpleType>
 
191
                    <xs:restriction base="xs:string">
 
192
                        <xs:minLength value="5"/>
 
193
                        <xs:maxLength value="5"/>
 
194
                        <xs:pattern value="\d{5}"/>
 
195
                    </xs:restriction>
 
196
                </xs:simpleType>
 
197
            </xs:element>
 
198
        </xs:sequence>
 
199
    </xs:complexType>
 
200
    
 
201
    <xs:complexType name="PhoneNumberType">
 
202
        <xs:sequence>
 
203
            <xs:element name="areaCode"/>
 
204
            <xs:element name="exchange"/>
 
205
            <xs:element name="number"/>
 
206
            <xs:element name="extension" minOccurs="0"/>
 
207
        </xs:sequence>
 
208
    </xs:complexType>
 
209
    
 
210
    <xs:complexType name="OccupancyType">
 
211
        <xs:sequence>
 
212
            <xs:element name="type">
 
213
                <xs:simpleType>
 
214
                    <xs:restriction base="xs:string">
 
215
                        <xs:enumeration value="rent"/>
 
216
                        <xs:enumeration value="own"/>
 
217
                    </xs:restriction>
 
218
                </xs:simpleType>
 
219
            </xs:element>
 
220
            <xs:element name="movedIn" type="xs:date"/>
 
221
            <xs:element name="lengthOfOccupancy" type="DurationType"/>
 
222
            <xs:element name="payment">
 
223
                <xs:simpleType>
 
224
                    <xs:restriction base="xs:decimal">
 
225
                        <xs:fractionDigits value="2"/>
 
226
                        <xs:minInclusive value="0.00"/>
 
227
                    </xs:restriction>
 
228
                </xs:simpleType>
 
229
            </xs:element>
 
230
        </xs:sequence>
 
231
    </xs:complexType>
 
232
    
 
233
    <xs:complexType name="ResidenceType">
 
234
        <xs:sequence>
 
235
            <xs:element name="address" type="AddressType"/>
 
236
            <xs:element name="occupancy" type="OccupancyType"/>
 
237
        </xs:sequence>
 
238
    </xs:complexType>
 
239
    
 
240
    <xs:complexType name="CarType">
 
241
        <xs:sequence>
 
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"/>
 
246
        </xs:sequence>
 
247
    </xs:complexType>
 
248
    
 
249
    <xs:complexType name="DurationType">
 
250
        <xs:sequence>
 
251
            <xs:element name="years" type="xs:positiveInteger"/>
 
252
            <xs:element name="months">
 
253
                <xs:simpleType>
 
254
                    <xs:restriction base="xs:positiveInteger">
 
255
                        <xs:minInclusive value="1"/>
 
256
                        <xs:maxInclusive value="12"/>
 
257
                    </xs:restriction>
 
258
                </xs:simpleType>
 
259
            </xs:element>
 
260
        </xs:sequence>
 
261
    </xs:complexType>
 
262
    
 
263
</xs:schema>