<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
   targetNamespace="http://www.opengis.net/wrs"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:wrs="http://www.opengis.net/wrs"
   elementFormDefault="qualified"
   version="0.7.0">

   <!-- Request message -->
   <xsd:element name="DescribeRecordType"
                type="wrs:DescribeRecordTypeRequestType"/>

   <!-- Response message -->
   <xsd:element name="DescribeRecordTypeResponse"
                type="wrs:DescribeRecordTypeResponseType"/>

   <!-- Type defintions -->
   <xsd:complexType name="DescribeRecordTypeRequestType">
      <xsd:annotation>
         <xsd:documentation xml:lang="en">
            Request the queryable parameters of an known
            value-add schema such as SYMBOL or STYLE. 
            The request can describe one of more record types.
         </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element name="RecordTypeName"
                      type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
      <xsd:attribute name="version" type="xsd:string" use="optional"/>
      <xsd:attribute name="service" type="xsd:string" use="optional"/>
   </xsd:complexType>
   <xsd:complexType name="DescribeRecordTypeResponseType">
      <xsd:sequence>
         <xsd:element name="QueryableParameters"
                      type="wrs:QueryableParametersType" maxOccurs="unbounded"/>
      </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="QueryableParametersType">
      <xsd:annotation>
         <xsd:documentation xml:lang="en">
            The queryable parameters are presented as a simple
            list with the name of each parameter and the expected
            type.  For example 'LatLongBoundingBox' could be of
            type gml:Box.
         </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element name="QueryableParameter" maxOccurs="unbounded">
            <xsd:complexType>
               <xsd:attribute name="name" type="xsd:string" use="required"/>
               <xsd:attribute name="type" type="xsd:QName" use="required"/>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="recordTypeName" type="xsd:string" use="required"/>
   </xsd:complexType>
</xsd:schema>
