Appendix B: HELD Base Schema


This appendix provides a base HELD schema. Examples on message construction are not provided in this section. If required, they can be obtained from Chapter 4 and Appendix E.

HELD Schema

 <?xml version="1.0"?> <xs:schema    targetNamespace="http://sitacs.uow.edu.au/ns/location/held"    xmlns:xs="http://www.w3.org/2001/XMLSchema"    xmlns:held="http://sitacs.uow.edu.au/ns/location/held"    xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"    xmlns:ca="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"    xmlns:cp="urn:ietf:params:xml:ns:common-policy"    xmlns:gml="http://www.opengis.net/gml"    xmlns:xml="http://www.w3.org/XML/1998/namespace"    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"    elementFormDefault="qualified"    attributeFormDefault="unqualified">    <xs:annotation>       <xs:documentation>           This document defines HELD messages.        </xs:documentation>    </xs:annotation>    <xs:import namespace="http://www.w3.org/XML/1998/namespace"               schemaLocation="xml.xsd"/>    <xs:import namespace="urn:ietf:params:xml:ns:pidf:geopriv10"               schemaLocation="geopriv10.xsd"/>    <xs:import           namespace="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"           schemaLocation="civicAddress.xsd"/>    <xs:import namespace="urn:ietf:params:xml:ns:common-policy"               schemaLocation="common-policy.xsd"/>    <xs:import namespace="http://www.opengis.net/gml"               schemaLocation="GML-3.1.1/base/geometryBasic2d.xsd"/>    <xs:import namespace="urn:oasis:names:tc:SAML:2.0:assertion"               schemaLocation="saml-schema-assertion-2.0.xsd"/>   <!-- Context Information Element Definitions -->    <xs:complexType name="returnContextType">       <xs:complexContent>          <xs:restriction base="xs:anyType">             <xs:sequence>                <xs:element name="locationURI" type="xs:anyURI"                            maxOccurs ="unbounded"/>                 <xs:element name="password" type="xs:token"/>             </xs:sequence>             <xs:attribute name="expires" type="xs:dateTime"                           use="required"/>          </xs:restriction>       </xs:complexContent>    </xs:complexType>    <xs:complexType name="usesContextType">       <xs:complexContent>          <xs:restriction base="xs:anyType">             <xs:sequence>                <xs:element name="locationURI" type="xs:anyURI"/>                <xs:element name="password" type="xs:token"/>             </xs:sequence>          </xs:restriction>       </xs:complexContent>    </xs:complexType>   <!-- HELD Duration Type Definition -->    <xs:simpleType name="durationType">        <xs:union>           <xs:simpleType>              <xs:restriction base="xs:decimal">                 <xs:minInclusive value="0.0"/>              </xs:restriction>           </xs:simpleType>           <xs:simpleType>              <xs:restriction base="xs:duration">                 <xs:minInclusive value="PTOS"/>              </xs:restriction>           </xs:simpleType>        </xs:union>     </xs:simpleType>    <!-- HELD Profile Element Definitions -->    <xs:complexType name="pidfloProfileType">       <xs:complexContent>          <xs:restriction base="xs:anyType">             <xs:sequence>                <xs:choice minOccurs="0">                   <xs:element name="presentity" type="xs:anyURI" nillable="true"/>                   <xs:element ref="saml:Assertion"/>                   <xs:element ref="saml:EncryptedAssertion"/>                </xs:choice>                <xs:choice minOccurs="0">                   <xs:element name="retentionExpiry" type="xs:dateTime"                               nillable="true"/>                   <xs:element name="retentionInterval" type="held:durationType"                               nillable="true"/>                </xs:choice>                <xs:element name="retransmission" type="xs:boolean"                            minOccurs="0" nillable="true"/>                <xs:element name="rulesetURI" type="xs:anyURI"                            minOccurs="0" nillable="true"/>             </xs:sequence>          </xs:restriction>       </xs:complexContent>    </xs:complexType>    <!-Rules Element Definition -->    <xs:complexType name="rulesType">       <xs:choice minOccurs="0">          <xs:element name="rulesetURI" type="xs:anyURI"/>          <xs:element ref="cp:ruleset"/>       </xs:choice>    </xs:complexType>    <!-- Location Type Element Definitions -->    <xs:simpleType name="locationTypeBase">       <xs:union>          <xs:simpleType>             <xs:restriction base="xs:token">                <xs:enumeration value="any"/>             </xs:restriction>          </xs:simpleType>          <xs:simpleType>             <xs:list>                <xs:simpleType>                   <xs:restriction base="xs:token">                      <xs:enumeration value="civic"/>                      <xs:enumeration value="geodetic"/>                      <xs:enumeration value="postalCivic"/>                      <xs:enumeration value="jurisdictionalCivic"/>                   </xs:restriction>                </xs:simpleType>             </xs:list>          </xs:simpleType>       </xs:union>    </xs:simpleType>    <xs:complexType name="locationTypeType">       <xs:simpleContent>          <xs:extension base="held:locationTypeBase">             <xs:attribute name="exact" type="xs:boolean"                           use="optional" default="false"/>          </xs:extension>       </xs:simpleContent>    </xs:complexType>   <!-- Location Assertion -->    <xs:complexType name="locationAssertionType">       <xs:complexContent>          <xs:restriction base="xs:anyType">             <xs:choice>                <xs:element ref="ca:civicAddress"/>                <xs:sequence>                   <xs:element ref="gml: Geometry"/>                   <xs:element ref="ca:civicAddress" minOccurs="0"/>                </xs:sequence>             </xs:choice>             <xs:attribute name="method" type="xs:token"/>             <xs:attribute name="timestamp" type="xs:dateTime"/>             <xs:attribute name="expires" type="xs:dateTime"/>             <xs:attribute name="exact" type="xs:boolean"                           use="optional" default="false"/>          </xs:restriction>       </xs:complexContent>    </xs:complexType>    <!-- Response code -->    <xs:simpleType name="codeType">       <xs:restriction base="xs:nonNegativeInteger">          <xs:pattern value="[0-5][0-9][0-9]"/>       </xs:restriction>    </xs:simpleType>    <!-- Base response Message Definitions -->    <xs:complexType name="baseRequestType">       <xs:complexContent>          <xs:restriction base="xs:anyType">             <xs:sequence/>             <xs:attribute name="responseTime" type="held:durationType"                           use="optional"/>          </xs:restriction>       </xs:complexContent>    </xs:complexType>    <xs:complexType name="baseResponseType">       <xs:complexContent>          <xs:restriction base="xs:anyType">             <xs:sequence/>             <xs:attribute name="code" type="held:codeType" use="required"/>             <xs:attribute name="message" type="xs:token" use="optional"/>             <xs:attribute ref="xml:lang" use="optional"/>          </xs:restriction>       </xs:complexContent>    </xs:complexType>    <!-- ERROR MESSAGE DEFINITION -->    <xs:element name="error" type="held:baseResponseType"/>    <!-- Create Context -->    <xs:complexType name="createContextType">       <xs:complexContent>          <xs:extension base="held:baseRequestType">             <xs:sequence>                <xs:element name="lifetime" type="held:durationType"/>                <xs:element name="profile" type="held:pidfloProfileType"                            minOccurs="0"/>                <xs:element name="rules" type="held:rulesType" minOccurs="0"/>                <xs:any namespace="##other" processContents="lax"                        minOccurs="0" maxOccurs="unbounded"/>             </xs:sequence>          </xs:extension>       </xs:complexContent>    </xs:complexType>    <!-- CREATE CONTEXT MESSAGE DEFINITION -->    <xs:element name="createContext" type="held:createContextType"/>    <!-- Context Response -->    <xs:complexType name="contextResponseType">       <xs:complexContent>          <xs:extension base="held:baseResponseType">             <xs:sequence>                <xs:element name="context" type="held:returnContextType"/>             </xs:sequence>          </xs:extension>       </xs:complexContent>    </xs:complexType>    <!-- CONTEXT RESPONSE MESSAGE DEFINITION -->    <xs:element name="contextResponse" type="held:contextResponseType"/>    <!-- Update Context -->    <xs:complexType name="updateContextType">       <xs:complexContent>          <xs:extension base="held:baseRequestType">             <xs:sequence>                <xs:element name="context" type="held:usesContextType"/>                <xs:element name="lifetime" type="held:durationType"                            minOccurs="0"/>                <xs:element name="profile" type="held:pidfloProfileType"                            minOccurs="0"/>                <xs:element name="rules" type="held:rulesType" minOccurs="0"/>                <xs:any namespace="##other" processContents="lax"                        minOccurs="0" maxOccurs="unbounded"/>             </xs:sequence>          </xs:extension>       </xs:complexContent>    </xs:complexType>    <!-- UPDATE CONTEXT MESSAGE DEFINITION -->    <xs:element name="updateContext" type="held:updateContextType"/>    <!-- ... response to updateContext is contextResponse -->    <!-- Location Request -->    <xs:complexType name="locationRequestType">       <xs:complexContent>          <xs:extension base="held:baseRequestType">             <xs:sequence>                <xs:choice minOccurs="0">                   <xs:element name="locationType" type="held:locationTypeType"/>                   <xs:element name="assert" type="held:locationAssertionType"/>                </xs:choice>                <xs:choice minOccurs="0">                   <xs:element name="context" type="held:usesContextType"/>                   <xs:element name="profile" type="held:pidfloProfileType"/>                </xs:choice>                <xs:any namespace="##other" processContents="lax"                        minOccurs="0" maxOccurs="unbounded"/>             </xs:sequence>             <xs:attribute name="signed" type="xs:boolean"                           use="optional" default="false"/>          </xs:extension>       </xs:complexContent>    </xs:complexType>    <!-- LOCATION REQUEST MESSAGE DEFINITION -->    <xs:element name="locationRequest" type="held:locationRequestType"/> </xs:schema> 



IP Location
IP Location
ISBN: 0072263776
EAN: 2147483647
Year: 2004
Pages: 129

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net