Project

General

Profile

1
<?xml version="1.0" encoding="utf-8"?>
2
<xs:schema version="1.0.0"
3
			 xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
 			 targetNamespace="http://www.opengis.net/context"
5
			 xmlns:context="http://www.opengis.net/context"
6
			 xmlns:sld="http://www.opengis.net/sld"
7
			 xmlns:xlink="http://www.w3.org/1999/xlink"
8
			 elementFormDefault="qualified">
9
	<xs:import namespace="http://www.opengis.net/sld" schemaLocation="http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"/>
10
	<xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://schemas.opengis.net/xlink/1.0.0/xlinks.xsd"/>
11
	<xs:element name="ViewContext" type="context:ViewContextType"/>
12
	<xs:complexType name="ViewContextType">
13
		<xs:sequence>
14
			<xs:element name="General" type="context:GeneralType" minOccurs="1" maxOccurs="1"/>
15
			<xs:element name="LayerList" type="context:LayerListType" minOccurs="1" maxOccurs="1"/>
16
		</xs:sequence>
17
		<xs:attribute name="version" type="xs:string" use="required" fixed="1.0.0"/>
18
		<xs:attribute name="id" type="xs:string" use="required"/>
19
	</xs:complexType>
20
	<xs:complexType name="GeneralType">
21
		<xs:sequence>
22
			<xs:element name="Window" type="context:WindowType" minOccurs="0" maxOccurs="1"/>
23
			<xs:element name="BoundingBox" type="context:BoundingBoxType" minOccurs="1" maxOccurs="1"/>
24
			<xs:element name="Title" type="xs:string" minOccurs="1" maxOccurs="1"/>
25
			<xs:element name="KeywordList" type="context:KeywordListType" minOccurs="0" maxOccurs="1"/>
26
			<xs:element name="Abstract" type="xs:string" minOccurs="0" maxOccurs="1"/>
27
			<xs:element name="LogoURL" type="context:URLType" minOccurs="0" maxOccurs="1"/>
28
			<xs:element name="DescriptionURL" type="context:URLType" minOccurs="0" maxOccurs="1"/>
29
			<xs:element name="ContactInformation" type="context:ContactInformationType" minOccurs="0" maxOccurs="1"/>
30
			<xs:element name="Extension" type="context:ExtensionType" minOccurs="0" maxOccurs="1"/>
31
		</xs:sequence>
32
	</xs:complexType>
33
	<xs:complexType name="WindowType">
34
		<xs:attribute name="width" type="xs:integer" use="required"/>
35
		<xs:attribute name="height" type="xs:integer" use="required"/>
36
	</xs:complexType>
37
	<xs:complexType name="BoundingBoxType">
38
		<xs:attribute name="SRS" type="xs:string" use="required"/>
39
		<xs:attribute name="minx" type="xs:decimal" use="required"/>
40
		<xs:attribute name="miny" type="xs:decimal" use="required"/>
41
		<xs:attribute name="maxx" type="xs:decimal" use="required"/>
42
		<xs:attribute name="maxy" type="xs:decimal" use="required"/>
43
	</xs:complexType>
44
	<xs:complexType name="KeywordListType">
45
		<xs:sequence>
46
			<xs:element name="Keyword" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
47
		</xs:sequence>	</xs:complexType>
48
	<xs:complexType name="URLType">
49
		<xs:sequence>
50
			<xs:element name="OnlineResource" type="context:OnlineResourceType" minOccurs="1" maxOccurs="1"/>
51
		</xs:sequence>
52
		<xs:attribute name="width" type="xs:integer" use="optional"/>
53
		<xs:attribute name="height" type="xs:integer" use="optional"/>
54
		<xs:attribute name="format" type="xs:string" use="optional"/>
55
	</xs:complexType>
56
	<xs:complexType name="ContactInformationType">
57
		<xs:sequence>
58
			<xs:element name="ContactPersonPrimary" type="context:ContactPersonPrimaryType" minOccurs="1" maxOccurs="1"/>
59
			<xs:element name="ContactPosition" type="xs:string" minOccurs="1" maxOccurs="1"/>
60
			<xs:element name="ContactAddress" type="context:AddressType" minOccurs="1" maxOccurs="1"/>
61
			<xs:element name="ContactVoiceTelephone" type="xs:string" minOccurs="1" maxOccurs="1"/>
62
			<xs:element name="ContactFacsimileTelephone" type="xs:string" minOccurs="1" maxOccurs="1"/>
63
			<xs:element name="ContactElectronicMailAddress" type="xs:string" minOccurs="1" maxOccurs="1"/>
64
		</xs:sequence>
65
	</xs:complexType>
66
	<xs:complexType name="ContactPersonPrimaryType">
67
		<xs:sequence>
68
			<xs:element name="ContactPerson" type="xs:string" minOccurs="1" maxOccurs="1"/>
69
			<xs:element name="ContactOrganization" type="xs:string" minOccurs="1" maxOccurs="1"/>
70
		</xs:sequence>
71
	</xs:complexType>
72
	<xs:complexType name="AddressType">
73
		<xs:sequence>
74
			<xs:element name="AddressType" type="xs:string" minOccurs="1" maxOccurs="1"/>
75
			<xs:element name="Address" type="xs:string" minOccurs="1" maxOccurs="1"/>
76
			<xs:element name="City" type="xs:string" minOccurs="1" maxOccurs="1"/>
77
			<xs:element name="StateOrProvince" type="xs:string" minOccurs="1" maxOccurs="1"/>
78
			<xs:element name="PostCode" type="xs:string" minOccurs="1" maxOccurs="1"/>
79
			<xs:element name="Country" type="xs:string" minOccurs="1" maxOccurs="1"/>
80
		</xs:sequence>
81
	</xs:complexType>
82
	<xs:complexType name="LayerListType">
83
		<xs:sequence>
84
			<xs:element name="Layer" type="context:LayerType" minOccurs="1" maxOccurs="unbounded"/>
85
		</xs:sequence>
86
	</xs:complexType>
87
	<xs:complexType name="LayerType">
88
		<xs:sequence>
89
			<xs:element name="Server" type="context:ServerType" minOccurs="1" maxOccurs="1"/>
90
			<xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1"/>
91
			<xs:element name="Title" type="xs:string" minOccurs="1" maxOccurs="1"/>
92
			<xs:element name="Abstract" type="xs:string" minOccurs="0" maxOccurs="1"/>
93
			<xs:element name="DataURL" type="context:URLType" minOccurs="0" maxOccurs="1"/>
94
			<xs:element name="MetadataURL" type="context:URLType" minOccurs="0" maxOccurs="1"/>
95
			<xs:element name="SRS" type="xs:string" minOccurs="0" maxOccurs="1"/>
96
			<xs:element name="FormatList" type="context:FormatListType" minOccurs="0" maxOccurs="1"/>
97
			<xs:element name="StyleList" type="context:StyleListType" minOccurs="0" maxOccurs="1"/>
98
			<xs:element name="Extension" type="context:ExtensionType" minOccurs="0" maxOccurs="1"/>
99
		</xs:sequence>
100
		<xs:attribute name="queryable" type="xs:boolean" use="required"/>
101
		<xs:attribute name="hidden" type="xs:boolean" use="required"/>
102
	</xs:complexType>
103
	<xs:complexType name="ServerType">
104
		<xs:sequence>
105
			<xs:element name="OnlineResource" type="context:OnlineResourceType"/>
106
		</xs:sequence>
107
		<xs:attribute name="service" type="xs:string" use="required"/>
108
		<xs:attribute name="version" type="xs:string" use="required"/>
109
		<xs:attribute name="title" type="xs:string" use="optional"/>
110
	</xs:complexType>
111
	<xs:complexType name="FormatListType">
112
		<xs:sequence>
113
			<xs:element name="Format" type="context:FormatType" minOccurs="1" maxOccurs="unbounded"/>
114
		</xs:sequence>
115
	</xs:complexType>
116
	<xs:complexType name="FormatType">
117
		<xs:simpleContent>
118
			<xs:extension base="xs:string">
119
				<xs:attribute name="current" type="xs:boolean"/>
120
			</xs:extension>
121
		</xs:simpleContent>
122
	</xs:complexType>
123
	<xs:complexType name="StyleListType">
124
		<xs:sequence>
125
			<xs:element name="Style" type="context:StyleType" minOccurs="1" maxOccurs="unbounded"/>
126
		</xs:sequence>
127
	</xs:complexType>
128
	<xs:complexType name="StyleType">
129
		<xs:choice>
130
			<xs:sequence>
131
				<xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1"/>
132
				<xs:element name="Title" type="xs:string" minOccurs="1" maxOccurs="1"/>
133
				<xs:element name="Abstract" type="xs:string" minOccurs="0" maxOccurs="1"/>
134
				<xs:element name="LegendURL" type="context:URLType" minOccurs="0" maxOccurs="1"/>
135
			</xs:sequence>
136
			<xs:element name="SLD" type="context:SLDType" minOccurs="0" maxOccurs="1"/>
137
		</xs:choice>
138
		<xs:attribute name="current" type="xs:boolean"/>
139
	</xs:complexType>
140
	<xs:complexType name="SLDType">
141
		<xs:sequence>
142
			<xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="1"/>
143
			<xs:element name="Title" type="xs:string" minOccurs="0" maxOccurs="1"/>
144
			<xs:choice>
145
				<xs:element name="OnlineResource" type="context:OnlineResourceType"/>
146
				<xs:element ref="sld:StyledLayerDescriptor"/>
147
				<xs:element ref="sld:FeatureTypeStyle"/>
148
			</xs:choice>
149
		</xs:sequence>
150
	</xs:complexType>
151
	<xs:complexType name="OnlineResourceType">
152
		<xs:attributeGroup ref="xlink:simpleLink"/>
153
	</xs:complexType>
154
	<xs:complexType name="ExtensionType">
155
		<xs:annotation>
156
			<xs:documentation>This allows additional elements to be added to support non WMS Layer services.</xs:documentation>
157
		</xs:annotation>
158
		<xs:sequence>
159
			<xs:any namespace="##any"/>
160
		</xs:sequence>
161
	</xs:complexType>
162
</xs:schema>
163

    
(3-3/4)