Project

General

Profile

« Previous | Next » 

Revision 9581

Added by Jing Tao over 8 years ago

use the noaa version.

View differences:

lib/schema/isotc211-noaa/xlink/xlinks.xsd
1
<?xml version='1.0' encoding='UTF-8'?>
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink">
3
 
4
 <xs:annotation>
5
  <xs:documentation>This schema document provides attribute declarations and
6
attribute group, complex type and simple type definitions which can be used in
7
the construction of user schemas to define the structure of particular linking
8
constructs, e.g.
9
<![CDATA[
10
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
11
           xmlns:xl="http://www.w3.org/1999/xlink">
12

  
13
 <xs:import namespace="http://www.w3.org/1999/xlink"
14
            location="http://www.w3.org/1999/xlink.xsd">
15

  
16
 <xs:element name="mySimple">
17
  <xs:complexType>
18
   ...
19
   <xs:attributeGroup ref="xl:simpleAttrs"/>
20
   ...
21
  </xs:complexType>
22
 </xs:element>
23
 ...
24
</xs:schema>]]></xs:documentation>
25
 </xs:annotation>
26

  
27
 <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
28

  
29
 <xs:attribute name="type" type="xlink:typeType"/>
30

  
31
 <xs:simpleType name="typeType">
32
  <xs:restriction base="xs:token">
33
   <xs:enumeration value="simple"/>
34
   <xs:enumeration value="extended"/>
35
   <xs:enumeration value="title"/>
36
   <xs:enumeration value="resource"/>
37
   <xs:enumeration value="locator"/>
38
   <xs:enumeration value="arc"/>
39
  </xs:restriction>
40
 </xs:simpleType>
41

  
42
 <xs:attribute name="href" type="xlink:hrefType"/>
43

  
44
 <xs:simpleType name="hrefType">
45
  <xs:restriction base="xs:anyURI"/>
46
 </xs:simpleType>
47

  
48
 <xs:attribute name="role" type="xlink:roleType"/>
49

  
50
 <xs:simpleType name="roleType">
51
  <xs:restriction base="xs:anyURI">
52
   <xs:minLength value="1"/>
53
  </xs:restriction>
54
 </xs:simpleType>
55

  
56
 <xs:attribute name="arcrole" type="xlink:arcroleType"/>
57

  
58
 <xs:simpleType name="arcroleType">
59
  <xs:restriction base="xs:anyURI">
60
   <xs:minLength value="1"/>
61
  </xs:restriction>
62
 </xs:simpleType>
63

  
64
 <xs:attribute name="title" type="xlink:titleAttrType"/>
65

  
66
 <xs:simpleType name="titleAttrType">
67
  <xs:restriction base="xs:string"/>
68
 </xs:simpleType>
69

  
70
 <xs:attribute name="show" type="xlink:showType"/>
71

  
72
 <xs:simpleType name="showType">
73
  <xs:restriction base="xs:token">
74
   <xs:enumeration value="new"/>
75
   <xs:enumeration value="replace"/>
76
   <xs:enumeration value="embed"/>
77
   <xs:enumeration value="other"/>
78
   <xs:enumeration value="none"/>
79
  </xs:restriction>
80
 </xs:simpleType>
81

  
82
 <xs:attribute name="actuate" type="xlink:actuateType"/>
83

  
84
 <xs:simpleType name="actuateType">
85
  <xs:restriction base="xs:token">
86
   <xs:enumeration value="onLoad"/>
87
   <xs:enumeration value="onRequest"/>
88
   <xs:enumeration value="other"/>
89
   <xs:enumeration value="none"/>
90
  </xs:restriction>
91
 </xs:simpleType>
92

  
93
 <xs:attribute name="label" type="xlink:labelType"/>
94

  
95
 <xs:simpleType name="labelType">
96
  <xs:restriction base="xs:NCName"/>
97
 </xs:simpleType>
98

  
99
 <xs:attribute name="from" type="xlink:fromType"/>
100

  
101
 <xs:simpleType name="fromType">
102
  <xs:restriction base="xs:NCName"/>
103
 </xs:simpleType>
104

  
105
 <xs:attribute name="to" type="xlink:toType"/>
106

  
107
 <xs:simpleType name="toType">
108
  <xs:restriction base="xs:NCName"/>
109
 </xs:simpleType>
110

  
111
 <xs:attributeGroup name="simpleAttrs">
112
  <xs:attribute ref="xlink:type" fixed="simple"/>
113
  <xs:attribute ref="xlink:href"/>
114
  <xs:attribute ref="xlink:role"/>
115
  <xs:attribute ref="xlink:arcrole"/>
116
  <xs:attribute ref="xlink:title"/>
117
  <xs:attribute ref="xlink:show"/>
118
  <xs:attribute ref="xlink:actuate"/>
119
 </xs:attributeGroup>
120

  
121
 <xs:group name="simpleModel">
122
  <xs:sequence>
123
   <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
124
  </xs:sequence>
125
 </xs:group>
126

  
127
 <xs:complexType mixed="true" name="simple">
128
  <xs:annotation>
129
   <xs:documentation>
130
    Intended for use as the type of user-declared elements to make them
131
    simple links.
132
   </xs:documentation>
133
  </xs:annotation>
134
  <xs:group ref="xlink:simpleModel"/>
135
  <xs:attributeGroup ref="xlink:simpleAttrs"/>
136
 </xs:complexType>
137

  
138
 <xs:attributeGroup name="extendedAttrs">
139
  <xs:attribute ref="xlink:type" fixed="extended" use="required"/>
140
  <xs:attribute ref="xlink:role"/>
141
  <xs:attribute ref="xlink:title"/>
142
 </xs:attributeGroup>
143

  
144
 <xs:group name="extendedModel">
145
   <xs:choice>
146
    <xs:element ref="xlink:title"/>
147
    <xs:element ref="xlink:resource"/>
148
    <xs:element ref="xlink:locator"/>
149
    <xs:element ref="xlink:arc"/>
150
  </xs:choice>
151
 </xs:group>
152

  
153
 <xs:complexType name="extended">
154
  <xs:annotation>
155
   <xs:documentation>
156
    Intended for use as the type of user-declared elements to make them
157
    extended links.
158
    Note that the elements referenced in the content model are all abstract.
159
    The intention is that by simply declaring elements with these as their
160
    substitutionGroup, all the right things will happen.
161
   </xs:documentation>
162
  </xs:annotation>
163
  <xs:group ref="xlink:extendedModel" minOccurs="0" maxOccurs="unbounded"/>
164
  <xs:attributeGroup ref="xlink:extendedAttrs"/>
165
 </xs:complexType>
166

  
167
 <xs:element name="title" type="xlink:titleEltType" abstract="true"/>
168

  
169
 <xs:attributeGroup name="titleAttrs">
170
  <xs:attribute ref="xlink:type" fixed="title" use="required"/>
171
  <xs:attribute ref="xml:lang">
172
   <xs:annotation>
173
    <xs:documentation>
174
     xml:lang is not required, but provides much of the
175
     motivation for title elements in addition to attributes, and so
176
     is provided here for convenience.
177
    </xs:documentation>
178
   </xs:annotation>
179
  </xs:attribute>
180
 </xs:attributeGroup>
181

  
182
 <xs:group name="titleModel">
183
  <xs:sequence>
184
   <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
185
  </xs:sequence>
186
 </xs:group>
187

  
188
 <xs:complexType mixed="true" name="titleEltType">
189
  <xs:group ref="xlink:titleModel"/>
190
  <xs:attributeGroup ref="xlink:titleAttrs"/>
191
 </xs:complexType>
192

  
193
 <xs:element name="resource" type="xlink:resourceType" abstract="true"/>
194

  
195
 <xs:attributeGroup name="resourceAttrs">
196
  <xs:attribute ref="xlink:type" fixed="resource" use="required"/>
197
  <xs:attribute ref="xlink:role"/>
198
  <xs:attribute ref="xlink:title"/>
199
  <xs:attribute ref="xlink:label"/>
200
 </xs:attributeGroup>
201

  
202
 <xs:group name="resourceModel">
203
  <xs:sequence>
204
   <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
205
  </xs:sequence>
206
 </xs:group>
207

  
208
 <xs:complexType mixed="true" name="resourceType">
209
  <xs:group ref="xlink:resourceModel"/>
210
  <xs:attributeGroup ref="xlink:resourceAttrs"/>
211
 </xs:complexType>
212

  
213
 <xs:element name="locator" type="xlink:locatorType" abstract="true"/>
214

  
215
 <xs:attributeGroup name="locatorAttrs">
216
  <xs:attribute ref="xlink:type" fixed="locator" use="required"/>
217
  <xs:attribute ref="xlink:href" use="required"/>
218
  <xs:attribute ref="xlink:role"/>
219
  <xs:attribute ref="xlink:title"/>
220
  <xs:attribute ref="xlink:label">
221
   <xs:annotation>
222
    <xs:documentation>
223
     label is not required, but locators have no particular
224
     XLink function if they are not labeled.
225
    </xs:documentation>
226
   </xs:annotation>
227
  </xs:attribute>
228
 </xs:attributeGroup>
229

  
230
 <xs:group name="locatorModel">
231
  <xs:sequence>
232
   <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>
233
  </xs:sequence>
234
 </xs:group>
235

  
236
 <xs:complexType name="locatorType">
237
  <xs:group ref="xlink:locatorModel"/>
238
  <xs:attributeGroup ref="xlink:locatorAttrs"/>
239
 </xs:complexType>
240

  
241
 <xs:element name="arc" type="xlink:arcType" abstract="true"/>
242

  
243
 <xs:attributeGroup name="arcAttrs">
244
  <xs:attribute ref="xlink:type" fixed="arc" use="required"/>
245
  <xs:attribute ref="xlink:arcrole"/>
246
  <xs:attribute ref="xlink:title"/>
247
  <xs:attribute ref="xlink:show"/>
248
  <xs:attribute ref="xlink:actuate"/>
249
  <xs:attribute ref="xlink:from"/>
250
  <xs:attribute ref="xlink:to">
251
   <xs:annotation>
252
    <xs:documentation>
253
     from and to have default behavior when values are missing
254
    </xs:documentation>
255
   </xs:annotation>
256
  </xs:attribute>
257
 </xs:attributeGroup>
258

  
259
 <xs:group name="arcModel">
260
  <xs:sequence>
261
   <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>
262
  </xs:sequence>
263
 </xs:group>
264

  
265
 <xs:complexType name="arcType">
266
  <xs:group ref="xlink:arcModel"/>
267
  <xs:attributeGroup ref="xlink:arcAttrs"/>
268
 </xs:complexType>
269

  
270
 <xs:attributeGroup name="simpleLink">
271
  <xs:attribute name="type" type="xs:string" fixed="simple" form="qualified"/>
272
  <xs:attribute ref="xlink:href" use="optional"/>
273
  <xs:attribute ref="xlink:role" use="optional"/>
274
  <xs:attribute ref="xlink:arcrole" use="optional"/>
275
  <xs:attribute ref="xlink:title" use="optional"/>
276
  <xs:attribute ref="xlink:show" use="optional"/>
277
  <xs:attribute ref="xlink:actuate" use="optional"/>
278
 </xs:attributeGroup>
279
 <xs:attributeGroup name="extendedLink">
280
  <xs:attribute name="type" type="xs:string" fixed="extended" form="qualified"/>
281
  <xs:attribute ref="xlink:role" use="optional"/>
282
  <xs:attribute ref="xlink:title" use="optional"/>
283
 </xs:attributeGroup>
284
 <xs:attributeGroup name="locatorLink">
285
   <xs:attribute name="type" type="xs:string" fixed="locator" form="qualified"/>
286
   <xs:attribute ref="xlink:href" use="required"/>
287
   <xs:attribute ref="xlink:role" use="optional"/>
288
   <xs:attribute ref="xlink:title" use="optional"/>
289
   <xs:attribute ref="xlink:label" use="optional"/>
290
 </xs:attributeGroup>
291
 <xs:attributeGroup name="arcLink">
292
   <xs:attribute name="type" type="xs:string" fixed="arc" form="qualified"/>
293
   <xs:attribute ref="xlink:arcrole" use="optional"/>
294
   <xs:attribute ref="xlink:title" use="optional"/>
295
   <xs:attribute ref="xlink:show" use="optional"/>
296
   <xs:attribute ref="xlink:actuate" use="optional"/>
297
   <xs:attribute ref="xlink:from" use="optional"/>
298
   <xs:attribute ref="xlink:to" use="optional"/>
299
 </xs:attributeGroup>
300
 <xs:attributeGroup name="resourceLink">
301
   <xs:attribute name="type" type="xs:string" fixed="resource" form="qualified"/>
302
   <xs:attribute ref="xlink:role" use="optional"/>
303
   <xs:attribute ref="xlink:title" use="optional"/>
304
   <xs:attribute ref="xlink:label" use="optional"/>
305
 </xs:attributeGroup>
306
 <xs:attributeGroup name="titleLink">
307
   <xs:attribute name="type" type="xs:string" fixed="title" form="qualified"/>
308
 </xs:attributeGroup>
309
 <xs:attributeGroup name="emptyLink">
310
  <xs:attribute name="type" type="xs:string" fixed="none" form="qualified"/>
311
 </xs:attributeGroup>
312

  
313

  
314
</xs:schema>
1
<?xml version="1.0" encoding="UTF-8"?>
2
<schema targetNamespace="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" version="3.2.0">
3
	<annotation>
4
		<appinfo source="urn:opengis:specification:gml:schema-xlinks:v3.2.0">xlinks.xsd</appinfo>
5
		<documentation>see GML 7.2</documentation>
6
	</annotation>
7
	<!-- ==============================================================
8
       global declarations
9
  	=============================================================== -->
10
	<!-- locator attribute -->
11
	<attribute name="href" type="anyURI"/>
12
	<!-- semantic attributes -->
13
	<attribute name="role" type="anyURI"/>
14
	<attribute name="arcrole" type="anyURI"/>
15
	<attribute name="title" type="string"/>
16
	<!-- behavior attributes -->
17
	<attribute name="show">
18
		<annotation>
19
			<documentation>
20
        The 'show' attribute is used to communicate the desired presentation 
21
        of the ending resource on traversal from the starting resource; it's 
22
        value should be treated as follows: 
23
        new - load ending resource in a new window, frame, pane, or other 
24
              presentation context
25
        replace - load the resource in the same window, frame, pane, or 
26
                  other presentation context
27
        embed - load ending resource in place of the presentation of the 
28
                starting resource
29
        other - behavior is unconstrained; examine other markup in the 
30
                link for hints 
31
        none - behavior is unconstrained 
32
      </documentation>
33
		</annotation>
34
		<simpleType>
35
			<restriction base="string">
36
				<enumeration value="new"/>
37
				<enumeration value="replace"/>
38
				<enumeration value="embed"/>
39
				<enumeration value="other"/>
40
				<enumeration value="none"/>
41
			</restriction>
42
		</simpleType>
43
	</attribute>
44
	<attribute name="actuate">
45
		<annotation>
46
			<documentation>
47
        The 'actuate' attribute is used to communicate the desired timing 
48
        of traversal from the starting resource to the ending resource; 
49
        it's value should be treated as follows:
50
        onLoad - traverse to the ending resource immediately on loading 
51
                 the starting resource 
52
        onRequest - traverse from the starting resource to the ending 
53
                    resource only on a post-loading event triggered for 
54
                    this purpose 
55
        other - behavior is unconstrained; examine other markup in link 
56
                for hints 
57
        none - behavior is unconstrained
58
      </documentation>
59
		</annotation>
60
		<simpleType>
61
			<restriction base="string">
62
				<enumeration value="onLoad"/>
63
				<enumeration value="onRequest"/>
64
				<enumeration value="other"/>
65
				<enumeration value="none"/>
66
			</restriction>
67
		</simpleType>
68
	</attribute>
69
	<!-- traversal attributes -->
70
	<attribute name="label" type="string"/>
71
	<attribute name="from" type="string"/>
72
	<attribute name="to" type="string"/>
73
	<!-- ==============================================================
74
       Attributes grouped by XLink type, as specified in the W3C Recommendation
75
	============================================================== -->
76
	<attributeGroup name="simpleLink">
77
		<attribute name="type" type="string" fixed="simple" form="qualified"/>
78
		<attribute ref="xlink:href" use="optional"/>
79
		<attribute ref="xlink:role" use="optional"/>
80
		<attribute ref="xlink:arcrole" use="optional"/>
81
		<attribute ref="xlink:title" use="optional"/>
82
		<attribute ref="xlink:show" use="optional"/>
83
		<attribute ref="xlink:actuate" use="optional"/>
84
	</attributeGroup>
85
	<attributeGroup name="extendedLink">
86
		<attribute name="type" type="string" fixed="extended" form="qualified"/>
87
		<attribute ref="xlink:role" use="optional"/>
88
		<attribute ref="xlink:title" use="optional"/>
89
	</attributeGroup>
90
	<attributeGroup name="locatorLink">
91
		<attribute name="type" type="string" fixed="locator" form="qualified"/>
92
		<attribute ref="xlink:href" use="required"/>
93
		<attribute ref="xlink:role" use="optional"/>
94
		<attribute ref="xlink:title" use="optional"/>
95
		<attribute ref="xlink:label" use="optional"/>
96
	</attributeGroup>
97
	<attributeGroup name="arcLink">
98
		<attribute name="type" type="string" fixed="arc" form="qualified"/>
99
		<attribute ref="xlink:arcrole" use="optional"/>
100
		<attribute ref="xlink:title" use="optional"/>
101
		<attribute ref="xlink:show" use="optional"/>
102
		<attribute ref="xlink:actuate" use="optional"/>
103
		<attribute ref="xlink:from" use="optional"/>
104
		<attribute ref="xlink:to" use="optional"/>
105
	</attributeGroup>
106
	<attributeGroup name="resourceLink">
107
		<attribute name="type" type="string" fixed="resource" form="qualified"/>
108
		<attribute ref="xlink:role" use="optional"/>
109
		<attribute ref="xlink:title" use="optional"/>
110
		<attribute ref="xlink:label" use="optional"/>
111
	</attributeGroup>
112
	<attributeGroup name="titleLink">
113
		<attribute name="type" type="string" fixed="title" form="qualified"/>
114
	</attributeGroup>
115
	<attributeGroup name="emptyLink">
116
		<attribute name="type" type="string" fixed="none" form="qualified"/>
117
	</attributeGroup>
118
</schema>

Also available in: Unified diff