Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / libraries / libTools / resources / org / gvsig / tools / persistence / xml / persistentState_base.xsd @ 30619

History | View | Annotate | Download (10.4 KB)

1
<?xml version="1.0"?>
2

    
3
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
	targetNamespace="http://www.gvsig.org/libTools"	
5
	xmlns:tools="http://www.gvsig.org/libTools"
6
	xmlns:xlink="http://www.w3.org/1999/xlink" 
7
    elementFormDefault="unqualified"
8
    attributeFormDefault="unqualified"
9
>
10

    
11
<xs:simpleType name="stateTypeId">
12
    <xs:restriction base="xs:NMTOKEN">
13
      <xs:enumeration value="String"/>
14
      <xs:enumeration value="ObjectReference"/>
15
      <xs:enumeration value="Boolean"/>
16
      <xs:enumeration value="Integer"/>
17
      <xs:enumeration value="List"/>
18
      <xs:enumeration value="Set"/>
19
      <xs:enumeration value="Map"/>
20
      <xs:enumeration value="Double"/>
21
      <xs:enumeration value="Long"/>
22
      <xs:enumeration value="Float"/>
23
      <xs:enumeration value="Date"/>
24
      <xs:enumeration value="null"/>
25
    </xs:restriction>
26
</xs:simpleType>
27

    
28
<xs:simpleType name="stateTypeId_String">
29
    <xs:restriction base="xs:NMTOKEN">
30
      <xs:enumeration value="String"/>
31
      <xs:enumeration value="null"/>
32
    </xs:restriction>
33
</xs:simpleType>
34

    
35
<xs:simpleType name="stateTypeId_ObjectReference">
36
    <xs:restriction base="xs:NMTOKEN">
37
      <xs:enumeration value="ObjectReference"/>
38
      <xs:enumeration value="null"/>
39
    </xs:restriction>
40
</xs:simpleType>
41

    
42
<xs:simpleType name="stateTypeId_Boolean">
43
    <xs:restriction base="xs:NMTOKEN">
44
      <xs:enumeration value="Boolean"/>
45
      <xs:enumeration value="null"/>
46
    </xs:restriction>
47
</xs:simpleType>
48

    
49

    
50
<xs:simpleType name="stateTypeId_Integer">
51
    <xs:restriction base="xs:NMTOKEN">
52
      <xs:enumeration value="Integer"/>
53
      <xs:enumeration value="null"/>
54
    </xs:restriction>
55
</xs:simpleType>
56

    
57

    
58
<xs:simpleType name="stateTypeId_List">
59
    <xs:restriction base="xs:NMTOKEN">
60
      <xs:enumeration value="List"/>
61
      <xs:enumeration value="null"/>
62
    </xs:restriction>
63
</xs:simpleType>
64

    
65
<xs:simpleType name="stateTypeId_Set">
66
    <xs:restriction base="xs:NMTOKEN">
67
      <xs:enumeration value="Set"/>
68
      <xs:enumeration value="null"/>
69
    </xs:restriction>
70
</xs:simpleType>
71

    
72
<xs:simpleType name="stateTypeId_Map">
73
    <xs:restriction base="xs:NMTOKEN">
74
      <xs:enumeration value="Map"/>
75
      <xs:enumeration value="null"/>
76
    </xs:restriction>
77
</xs:simpleType>
78

    
79
<xs:simpleType name="stateTypeId_Double">
80
    <xs:restriction base="xs:NMTOKEN">
81
      <xs:enumeration value="Double"/>
82
      <xs:enumeration value="null"/>
83
    </xs:restriction>
84
</xs:simpleType>
85

    
86
<xs:simpleType name="stateTypeId_Long">
87
    <xs:restriction base="xs:NMTOKEN">
88
      <xs:enumeration value="Long"/>
89
      <xs:enumeration value="null"/>
90
    </xs:restriction>
91
</xs:simpleType>
92

    
93
<xs:simpleType name="stateTypeId_Float">
94
    <xs:restriction base="xs:NMTOKEN">
95
      <xs:enumeration value="Float"/>
96
      <xs:enumeration value="null"/>
97
    </xs:restriction>
98
</xs:simpleType>
99

    
100
<xs:simpleType name="stateTypeId_Date">
101
    <xs:restriction base="xs:NMTOKEN">
102
      <xs:enumeration value="Date"/>
103
      <xs:enumeration value="null"/>
104
    </xs:restriction>
105
</xs:simpleType>
106

    
107

    
108
<xs:simpleType name="xml_persistence_version">
109
    <xs:restriction base="xs:string">
110
      <xs:pattern value="[0-9]*[.][0-9]*[.][0-9]*"/>
111
    </xs:restriction>
112
</xs:simpleType>
113

    
114
<xs:simpleType name="boolean" xmlns="http://www.gvsig.org/libTools">
115
    <xs:restriction base="xs:NMTOKEN">
116
      <xs:enumeration value="true"/>
117
      <xs:enumeration value="false"/>
118
    </xs:restriction>
119
</xs:simpleType>
120

    
121

    
122
<xs:complexType name="state_attribute">	
123
	<xs:attribute name="type" type="tools:stateTypeId"/>
124
</xs:complexType>
125

    
126

    
127
<xs:complexType name="state_attribute_Null" mixed="true">
128
	<xs:attribute name="type" type="tools:stateTypeId" fixed="null"/>
129
</xs:complexType>
130

    
131
<xs:complexType name="state_attribute_Integer">
132
	<xs:simpleContent>
133
		<xs:extension base="xs:integer">
134
			<xs:attribute name="type" type="tools:stateTypeId_Integer" />
135
		</xs:extension>
136
	</xs:simpleContent>
137
</xs:complexType>
138

    
139
<xs:complexType name="state_attribute_Integer_notNull">
140
	<xs:simpleContent>
141
		<xs:extension base="xs:integer">
142
			<xs:attribute name="type" type="tools:stateTypeId_Integer" fixed="Integer"/>
143
		</xs:extension>
144
	</xs:simpleContent>
145
</xs:complexType>
146

    
147

    
148
<xs:complexType name="state_attribute_Long">
149
	<xs:simpleContent>
150
		<xs:extension base="xs:long">
151
			<xs:attribute name="type" type="tools:stateTypeId_Long"/>
152
		</xs:extension>		
153
	</xs:simpleContent>
154
</xs:complexType>
155

    
156
<xs:complexType name="state_attribute_Long_notNull">
157
	<xs:simpleContent>
158
		<xs:extension base="xs:long">
159
			<xs:attribute name="type" type="tools:stateTypeId_Long" fixed="Long"/>
160
		</xs:extension>		
161
	</xs:simpleContent>
162
</xs:complexType>
163

    
164
<xs:complexType name="state_attribute_Date">
165
	<xs:simpleContent>
166
		<xs:extension base="xs:long">
167
			<xs:attribute name="type" type="tools:stateTypeId_Date"/>
168
		</xs:extension>		
169
	</xs:simpleContent>
170
</xs:complexType>
171

    
172
<xs:complexType name="state_attribute_Date_notNull">
173
	<xs:simpleContent>
174
		<xs:extension base="xs:long">
175
			<xs:attribute name="type" type="tools:stateTypeId_Date" fixed="Date"/>
176
		</xs:extension>		
177
	</xs:simpleContent>
178
</xs:complexType>
179

    
180
<xs:complexType name="state_attribute_Float">
181
	<xs:simpleContent>
182
		<xs:extension base="xs:float">
183
			<xs:attribute name="type" type="tools:stateTypeId_Float" />
184
		</xs:extension>		
185
	</xs:simpleContent>
186
</xs:complexType>
187

    
188
<xs:complexType name="state_attribute_Float_notNull">
189
	<xs:simpleContent>
190
		<xs:extension base="xs:float">
191
			<xs:attribute name="type" type="tools:stateTypeId_Float" fixed="Float"/>
192
		</xs:extension>		
193
	</xs:simpleContent>
194
</xs:complexType>
195

    
196

    
197
<xs:complexType name="state_attribute_Double">
198
	<xs:simpleContent>
199
		<xs:extension base="xs:double">
200
			<xs:attribute name="type" type="tools:stateTypeId_Double"/>
201
		</xs:extension>		
202
	</xs:simpleContent>
203
</xs:complexType>
204

    
205

    
206
<xs:complexType name="state_attribute_Double_notNull">
207
	<xs:simpleContent>
208
		<xs:extension base="xs:double">
209
			<xs:attribute name="type" type="tools:stateTypeId_Double" fixed="Double"/>
210
		</xs:extension>		
211
	</xs:simpleContent>
212
</xs:complexType>
213

    
214
<xs:complexType name="state_attribute_Boolean">
215
	<xs:simpleContent>
216
		<xs:extension base="tools:boolean">
217
			<xs:attribute name="type" type="tools:stateTypeId_Boolean"/>
218
		</xs:extension>		
219
	</xs:simpleContent>
220
</xs:complexType>
221

    
222
<xs:complexType name="state_attribute_Boolean_notNull">
223
	<xs:simpleContent>
224
		<xs:extension base="tools:boolean">
225
			<xs:attribute name="type" type="tools:stateTypeId_Boolean" fixed="Boolean"/>
226
		</xs:extension>		
227
	</xs:simpleContent>
228
</xs:complexType>
229

    
230

    
231
<xs:complexType name="state_attribute_String">
232
	<xs:simpleContent>
233
		<xs:extension base="xs:string">
234
			<xs:attribute name="type" type="tools:stateTypeId_String"/>
235
		</xs:extension>		
236
	</xs:simpleContent>
237
</xs:complexType>
238

    
239

    
240
<xs:complexType name="state_attribute_String_notNull">
241
	<xs:simpleContent>
242
		<xs:extension base="xs:string">
243
			<xs:attribute name="type" type="tools:stateTypeId_String" fixed="String"/>
244
		</xs:extension>		
245
	</xs:simpleContent>
246
</xs:complexType>
247

    
248
<xs:complexType name="state_attribute_List">
249
	<xs:sequence>
250
		<xs:element name="listItem" type="tools:state_attribute" maxOccurs="unbounded"/>
251
	</xs:sequence>
252
	<xs:attribute name="type" type="tools:stateTypeId_List"/>
253
</xs:complexType>
254

    
255
<xs:complexType name="state_attribute_List_notNull">
256
	<xs:sequence>
257
		<xs:element name="listItem" type="tools:state_attribute" maxOccurs="unbounded"/>
258
	</xs:sequence>
259
	<xs:attribute name="type" type="tools:stateTypeId_List" fixed="List"/>
260
</xs:complexType>
261

    
262

    
263
<xs:complexType name="state_attribute_Set">
264
	<xs:sequence>
265
		<xs:element name="setItem" type="tools:state_attribute" maxOccurs="unbounded"/>
266
	</xs:sequence>
267
	<xs:attribute name="type" type="tools:stateTypeId_Set"/>
268
</xs:complexType>
269

    
270

    
271
<xs:complexType name="state_attribute_Set_notNull">
272
	<xs:sequence>
273
		<xs:element name="setItem" type="tools:state_attribute" maxOccurs="unbounded"/>
274
	</xs:sequence>
275
	<xs:attribute name="type" type="tools:stateTypeId_Set" fixed="Set"/>
276
</xs:complexType>
277

    
278

    
279
<xs:complexType name="mapItem">
280
	<xs:all>
281
		<xs:element name="key" type="tools:state_attribute"/>
282
		<xs:element name="value" type="tools:state_attribute"/>
283
	</xs:all>
284
</xs:complexType>
285

    
286
<xs:complexType name="state_attribute_Map">
287
	<xs:sequence>		
288
		<xs:element name="mapItem" type="tools:mapItem" maxOccurs="unbounded"/>
289
	</xs:sequence>
290
	<xs:attribute name="type" type="tools:stateTypeId_Map"/>
291
</xs:complexType>
292

    
293
<xs:complexType name="state_attribute_Map_notNull">
294
	<xs:sequence>		
295
		<xs:element name="mapItem" type="tools:mapItem" maxOccurs="unbounded"/>
296
	</xs:sequence>
297
	<xs:attribute name="type" type="tools:stateTypeId_Map" fixed="Map"/>
298
</xs:complexType>
299

    
300
<xs:attributeGroup name="xlink_attributes">
301
	<xs:attribute name="type" xmlns="http://www.w3.org/1999/xlink" type="xs:string" fixed="simple" use="required"/>
302
	<xs:attribute name="href" xmlns="http://www.w3.org/1999/xlink" use="required">
303
		<xs:simpleType>
304
			<xs:restriction base="xs:string">
305
				<xs:pattern value="states[#]id[(]['][0-9]*['][)]"/>
306
			</xs:restriction>
307
		</xs:simpleType>
308
	</xs:attribute>
309
</xs:attributeGroup>
310

    
311
<xs:complexType name="objectReference">
312
	<xs:attribute name="id_state" type="xs:integer"/>
313
	<xs:attributeGroup ref="tools:xlink_attributes"/>
314
</xs:complexType>
315

    
316
<xs:complexType name="state_attribute_ObjectReference">
317
	<xs:all>		
318
		<xs:element name="reference" type="tools:objectReference"/>
319
	</xs:all>
320
	<xs:attribute name="type" type="tools:stateTypeId_ObjectReference"/>
321
</xs:complexType>
322

    
323
<xs:complexType name="state_attribute_ObjectReference_notNull">
324
	<xs:sequence>		
325
		<xs:element name="reference" type="tools:objectReference" maxOccurs="1" minOccurs="1"/>
326
	</xs:sequence>
327
	<xs:attribute name="type" type="tools:stateTypeId_ObjectReference" fixed="ObjectReference"/>
328
</xs:complexType>
329

    
330

    
331
 
332
<xs:attributeGroup name="state_attributes">
333
	<xs:attribute name="id" type="xs:integer" use="required"/>
334
</xs:attributeGroup>
335

    
336
 
337
<xs:element name="XMLPersitence">
338
  <xs:complexType>
339
    <xs:all>
340
    
341
      <xs:element name="persistence_xml_version" type="tools:xml_persistence_version" 
342
      		minOccurs="1" maxOccurs="1"/>
343
      <xs:element name="rootState" minOccurs="1" maxOccurs="1">
344
        <xs:complexType>
345
		  <xs:attribute name="id_state" type="xs:integer" use="required"/>
346
		  <xs:attributeGroup ref="tools:xlink_attributes"/>
347
		</xs:complexType>
348
      </xs:element>
349
      <xs:element name="states">
350
      	<xs:complexType>
351
      		<xs:sequence>
352
      			<xs:any minOccurs="1" maxOccurs="unbounded"/>
353
      		</xs:sequence>
354
      	</xs:complexType>
355
      </xs:element>
356
      
357
      
358
    </xs:all>
359
  </xs:complexType>
360
</xs:element>
361
</xs:schema>