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

    
(2-2/3)