<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://www.opengeospatial.net/fps"
xmlns:fps="http://www.opengeospatial.net/fps" 
xmlns:ows="http://www.opengeospatial.net/ows" 
xmlns:se="http://www.opengeospatial.net/se" 
xmlns:sld="http://www.opengis.net/sld" 
xmlns:ogc="http://www.opengis.net/ogc" 
xmlns="http://www.w3.org/2001/XMLSchema" 
elementFormDefault="qualified" version="0.0.30" xml:lang="en">
	<annotation>
		<appinfo source="urn:x-opengis:specification:ogcfps:schema-xsd:fpsgetportrayal:v0.0.30">GetPortrayal.xsd 2005-07-05</appinfo>
		<documentation>This XML Schema encodes the FPS GetPortrayal operation request message.
		Copyright (c) Open Geospatial Consortium (2005) </documentation>
	</annotation>
	<!-- ==============================================================
		includes and imports
	============================================================== -->
	<import namespace="http://www.opengeospatial.net/ows" schemaLocation="../../ows/1.0.30/owsGetCapabilities.xsd"/>
	<import namespace="http://www.opengeospatial.net/se" schemaLocation="../../se/0.0.30/SymbologyEncoding.xsd"/>
	<import namespace="http://www.opengis.net/ogc" schemaLocation="../../filter/1.0.30/filter.xsd"/>
	<!-- ==============================================================
		elements and types
	============================================================== -->
	<element name="GetPortrayal">
		<annotation>
			<documentation>Request to a FPS to perform the GetPortrayal operation. This operation allows FPS clients to request and receive back styled digital feature data in a portrayed map-like image. The styles applied are identified or specified by the client, and are applied to digital feature data identified by the client. In this XML encoding, no "request" parameter is included, since the element name specifies the specific operation. </documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="OutputFormat" type="ows:MimeType" minOccurs="0">
					<annotation>
						<documentation>Optional reference to the data format to be used for the response to this operation request. This element shall be included when multiple output formats are available, and the client desires a format other than the specified default, if any. </documentation>
					</annotation>
				</element>
				<element ref="ows:BoundingBox">
					<annotation>
						<documentation>BoundingBox surrounding desired subset of features to be portrayed, in desired CRS. The supported CRS values are specified in the service metadata (Capabilities). In this application of ows:BoundingBox, the “crs” for that BoundingBox shall always be referenced and shall always have two axes (i.e., be 2D or two-dimensional). The CRS referenced in the BoundingBox shall be the desired CRS for this feature portrayal. Since the FPS does not perform coordinate conversion, this CRS identifier shall be passed on to the identified WFS to retrieve feature data in this CRS. </documentation>
					</annotation>
				</element>
				<element name="PortrayOutput" type="fps:PortrayOutputType"/>
				<choice>
					<element name="SymbologyURL" type="ows:OnlineResourceType" minOccurs="0">
						<annotation>
							<documentation>Reference to Symbology Encoding document. </documentation>
						</annotation>
					</element>
					<element ref="se:SymbologyEncoding">
						<annotation>
							<documentation>Symbology Encoding document contents. NOTE: The type of this element needs to be specified (TBD). </documentation>
						</annotation>
					</element>
				</choice>
				<element name="ChainRequest" type="fps:ChainRequestType"/>
			</sequence>
			<attribute name="service" type="ows:ServiceType" use="required" fixed="FPS"/>
			<attribute name="version" type="ows:VersionType" use="required"/>
		</complexType>
	</element>
	<!-- ============================================================ -->
	<complexType name="PortrayOutputType">
		<annotation>
			<documentation>Specifies desired portrayal output data. </documentation>
		</annotation>
		<sequence>
			<element name="Width" type="positiveInteger">
				<annotation>
					<documentation>Width of desired output, in pixels. </documentation>
				</annotation>
			</element>
			<element name="Height" type="positiveInteger">
				<annotation>
					<documentation>Height of desired output, in pixels. </documentation>
				</annotation>
			</element>
			<element name="Transparent" type="boolean" default="true" minOccurs="0">
				<annotation>
					<documentation>Background transparency desired. Include when non-transparent background desired. </documentation>
				</annotation>
			</element>
			<element name="BackgroundColor" type="string" minOccurs="0">
				<annotation>
					<documentation>Background colour desired. Include when background colour desired. </documentation>
				</annotation>
			</element>
			<element name="ExceptionFormat" type="fps:ExceptionFormatType" minOccurs="0">
				<annotation>
					<documentation>Reference to format in which operation exceptions should be returned. Include when default XML not desired. </documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<!-- =========================================================== -->
	<simpleType name="ExceptionFormatType">
		<annotation>
			<documentation>Identifier of format in which operation exceptions should be returned. </documentation>
		</annotation>
		<restriction base="NCName">
			<enumeration value="XML">
				<annotation>
					<documentation>Use normal XML formal (text/xml). </documentation>
				</annotation>
			</enumeration>
			<enumeration value="INIMAGE">
				<annotation>
					<documentation>Return exception message in portrayal image. </documentation>
				</annotation>
			</enumeration>
			<enumeration value="BLANK">
				<annotation>
					<documentation>Return blank portrayal image. </documentation>
				</annotation>
			</enumeration>
		</restriction>
	</simpleType>
	<!-- =========================================================== -->
	<complexType name="ChainRequestType">
		<annotation>
			<documentation>Specifies chained OWS from which to get data, plus how to get desired data. </documentation>
		</annotation>
		<sequence>
			<element name="RemoteOWSType" type="ows:ServiceType">
				<annotation>
					<documentation>Identifier of service type from which to request data. The string value is the OWS type abbreviation, such as "WFS" or "WCS". </documentation>
				</annotation>
			</element>
			<element name="RemoteOWSURL" type="ows:OnlineResourceType">
				<annotation>
					<documentation>Reference to the specific OWS server from which to request data. Value is URL for HTTP GET transfer of the GetCapabilities operation request. </documentation>
				</annotation>
			</element>
			<element name="FeatureType" type="QName">
				<annotation>
					<documentation>Reference to the feature TypeName to be used to retrieve the desired features from a WFS. </documentation>
				</annotation>
			</element>
			<element ref="ogc:Filter" minOccurs="0">
				<annotation>
					<documentation>Filter used to specify which features to retrieve from a WFS, to be used in the request. Include when needed. </documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<!-- =========================================================== -->
</schema>
