2006/unicorn/WebContent/WEB-INF/resources/schemas wadl.xsd,1.1,1.2 observer-response.xsd,1.1,1.2 Observer.rdfs,1.1,1.2 tasklist.xsd,1.1,1.2 Task.rdfs,1.1,1.2

Update of /sources/public/2006/unicorn/WebContent/WEB-INF/resources/schemas
In directory hutz:/tmp/cvs-serv22368/WebContent/WEB-INF/resources/schemas

Added Files:
	wadl.xsd observer-response.xsd Observer.rdfs tasklist.xsd 
	Task.rdfs 
Log Message:
Merging dev2 in HEAD

--- NEW FILE: observer-response.xsd ---
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    elementFormDefault="qualified" 
    targetNamespace="http://www.w3.org/unicorn/observationresponse"
    xmlns:m="http://www.w3.org/unicorn/observationresponse">
  <xs:import
      namespace="http://www.w3.org/XML/1998/namespace"
      schemaLocation="http://www.w3.org/2001/xml.xsd"/>
  <xs:element name="observationresponse">
    <xs:complexType>
      <xs:sequence>
        <!-- URI of the document checked-->
        <xs:element ref="m:uri"/>
        <!-- URI of the observer -->
        <xs:element ref="m:checkedby"  minOccurs="0"/>
        <!-- "Version" of the document. For example CSS 2, XHTML 1.0 Strict, ... -->
        <xs:element ref="m:version" minOccurs="0"/>
        <!-- Observation date-->
        <xs:element ref="m:date"  minOccurs="0"/>
        <!-- used for conformance checks -->
        <xs:element ref="m:passed" minOccurs="0"/>
        <!-- Result of the observation -->
        <xs:element ref="m:result"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="uri" type="xs:anyURI"/>
  <xs:element name="checkedby" type="xs:anyURI"/>
  <xs:element name="version" type="xs:string"/>
  <xs:element name="date" type="xs:dateTime"/>
  <xs:element name="passed" type="xs:boolean"/>
  
  <!-- there are three types of messages: errors, warnings and informations -->
  <xs:element name="result">
    <xs:complexType>
      <xs:sequence>
        <!-- global error list-->
        <xs:element ref="m:errors"  minOccurs="0"/>
        <!-- global warning list -->
        <xs:element ref="m:warnings"  minOccurs="0"/>
        <!-- global message list -->
        <xs:element ref="m:informations"  minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="errors">
    <xs:complexType>
      <xs:sequence>
        <!-- Total number of errors -->
        <xs:element ref="m:errorcount" minOccurs="0"/>
        <xs:element ref="m:errorlist" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute ref="xml:lang" use="required"/>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="errorcount" type="xs:integer"/>
  
  <xs:element name="errorlist">
    <xs:complexType>
      <xs:sequence>
        <!-- URI of an included and checked document -->
        <xs:element ref="m:uri"/>
        <!-- number of errors for this "sub" document -->
        <xs:element ref="m:errorcount" minOccurs="0"/>
        <!-- error list for this document -->
        <xs:element ref="m:error" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="error">
    <xs:complexType>
      <xs:sequence>
        <!-- Line where the error appeared-->
        <xs:element ref="m:line" minOccurs="0"/>
        <!-- Column where the error appeared -->
        <xs:element ref="m:column" minOccurs="0"/>
        <xs:element ref="m:errortype" minOccurs="0"/>
        <xs:element ref="m:context" minOccurs="0"/>
        <xs:element ref="m:message" maxOccurs="unbounded"/>
        <xs:element ref="m:longmessage" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="line" type="xs:nonNegativeInteger"/>        
  <xs:element name="column" type="xs:nonNegativeInteger"/>
  <xs:element name="errortype" type="xs:string"/>
  <xs:element name="context" type="xs:string"/>
  <xs:element name="message" type="xs:string"/>
  
  <xs:element name="longmessage">
    <xs:complexType mixed="true">
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="m:a"/>
        <xs:element ref="m:code" />
        <xs:element ref="m:img"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="Inline" mixed="true">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element ref="m:a"/>
      <xs:element ref="m:img"/>
    </xs:choice>
  </xs:complexType>
  
  <xs:complexType name="inA" mixed="true">
    <xs:choice>
      <xs:element ref="m:img"/>
    </xs:choice>
  </xs:complexType>

  <xs:element name="a">
    <xs:complexType mixed="true">
      <xs:complexContent>
        <xs:extension base="m:inA">
          <xs:attribute name="href" type="xs:anyURI"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>

  <xs:element name="code">
    <xs:complexType mixed="true">
      <xs:complexContent>
        <xs:extension base="m:Inline">
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>

  <xs:element name="img">
    <xs:complexType>
      <xs:attribute name="src" use="required" type="xs:anyURI"/>
      <xs:attribute name="alt" use="required" type="xs:string"/>
      <xs:attribute name="name" type="xs:NMTOKEN"/>
      <xs:attribute name="longdesc" type="xs:anyURI"/>
      <xs:attribute name="height" type="xs:nonNegativeInteger"/>
      <xs:attribute name="width" type="xs:nonNegativeInteger"/>
    </xs:complexType>
  </xs:element>

  <xs:element name="warnings">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="m:warningcount" minOccurs="0"/>
        <xs:element ref="m:warninglist" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute ref="xml:lang" use="required"/>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="warningcount" type="xs:integer"/>
  
  <xs:element name="warninglist">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="m:uri"/>
        <xs:element ref="m:warningcount" minOccurs="0"/>
        <xs:element ref="m:warning" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="warning">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="m:line" minOccurs="0"/>
        <xs:element ref="m:column" minOccurs="0"/>
        <xs:element ref="m:context" minOccurs="0"/>
        <xs:element ref="m:level" minOccurs="0"/>
        <xs:element ref="m:message" maxOccurs="unbounded"/>
        <xs:element ref="m:longmessage" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="level" type="m:tWarningLevels"/>

  <xs:simpleType name="tWarningLevels">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:maxInclusive value="3"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="informations">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="m:infocount" minOccurs="0"/>
        <xs:element ref="m:infolist" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute ref="xml:lang" use="required"/>
    </xs:complexType>
  </xs:element>

  <xs:element name="infocount" type="xs:integer"/>

  <xs:element name="infolist">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="m:uri"/>
        <xs:element ref="m:infocount" minOccurs="0"/>
        <xs:element ref="m:info" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="info">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="m:line" minOccurs="0"/>
        <xs:element ref="m:column" minOccurs="0"/>
        <xs:element ref="m:context" minOccurs="0"/>
        <xs:element ref="m:message" maxOccurs="unbounded"/>
        <xs:element ref="m:longmessage" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

</xs:schema>

--- NEW FILE: Task.rdfs ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: Observer.rdfs ---
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE owl [
	<!ENTITY ucn "http://www.w3.org/unicorn#">
	<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
	<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#">
	]>

<rdf:RDF
	xmlns:rdf="&rdf;"
	xmlns:rdfs="&rdfs;"
	xmlns:ucn="&ucn;"
	xmlns="&ucn;"
	xml:base="&ucn;"
	>

	<!--
		UNICORN DEFINITION
	-->

	<rdfs:Class rdf:ID="Unicorn">
		<!--
		<rdfs:label xml:lang="en">Unicorn class</rdfs:label>
		<rdfs:label xml:lang="fr">La classe Unicorn</rdfs:label>
		<rdfs:comment xml:lang="en">Mother class of all classes in this package.</rdfs:comment>
		<rdfs:comment xml:lang="fr">La classe mere de toutes les autres de ce paquet.</rdfs:comment>
		-->
	</rdfs:Class>

	<!--
		PROPERTY DEFINITION
	-->

	<rdf:Property rdf:ID="property">
		<rdfs:subClassOf rdf:resource="ucn:Unicorn" />
		<!--
		<rdfs:label xml:lang="en">Property</rdfs:label>
		<rdfs:label xml:lang="fr">Propriete</rdfs:label>
		<rdfs:comment xml:lang="en">Mother property of all property in this package.</rdfs:comment>
		<rdfs:comment xml:lang="fr">La propriete mere de toutes les proprietes Unicorn.</rdfs:comment>
		-->
	</rdf:Property>

	<!--
		OBSERVER DEFINITION
	-->

	<rdfs:Class rdf:ID="Observer">
		<rdfs:subClassOf rdf:resource="#Unicorn" />
	</rdfs:Class>

	<!--
		OBSERVER PROPERTY DEFINITION
	-->

	<rdf:Property rdf:ID="name">
		<rdfs:subPropertyOf rdf:resource="#property" />
		<rdfs:domain rdf:resource="#Observer" />
		<rdfs:range rdf:resource="&rdfs;Literal" />
		<rdfs:label xml:lang="en">Name</rdfs:label>
		<rdfs:label xml:lang="fr">Nom</rdfs:label>
		<rdfs:comment xml:lang="en">The name property.</rdfs:comment>
		<rdfs:comment xml:lang="fr">La propriete de nom.</rdfs:comment>
	</rdf:Property>

	<rdf:Property rdf:ID="id">
		<rdfs:subPropertyOf rdf:resource="#property" />
		<rdfs:domain rdf:resource="#Observer" />
		<rdfs:range rdf:resource="&rdfs;Literal" />
		<rdfs:label xml:lang="en">Identifier</rdfs:label>
		<rdfs:label xml:lang="fr">Identifiant</rdfs:label>
	</rdf:Property>

	<rdf:Property rdf:ID="description">
		<rdfs:subPropertyOf rdf:resource="#property" />
		<rdfs:domain rdf:resource="#Observer" />
		<rdfs:range rdf:resource="&rdfs;Literal" />
	</rdf:Property>

	<!-- Link to a help page of the observer -->
	<rdf:Property rdf:ID="help">
		<rdfs:subPropertyOf rdf:resource="#property" />
		<rdfs:domain rdf:resource="#Observer" />
		<rdfs:range rdf:resource="&rdfs;Literal" />
	</rdf:Property>

	<!-- Author of the observer (name or url) -->
	<rdf:Property rdf:ID="provider">
		<rdfs:subPropertyOf rdf:resource="#property" />
		<rdfs:domain rdf:resource="#Observer" />
		<rdfs:range rdf:resource="&rdfs;Literal" />
	</rdf:Property>

	<rdf:Property rdf:ID="mimetype">
		<rdfs:subPropertyOf rdf:resource="#property" />
		<rdfs:domain rdf:resource="#Observer" />
		<rdfs:range rdf:resource="&rdfs;Literal" />
	</rdf:Property>

	<rdf:Property rdf:ID="inputMethod">
		<rdfs:subPropertyOf rdf:resource="#property" />
		<rdfs:domain rdf:resource="#Observer" />
		<rdfs:range rdf:resource="#InputParameter" />
	</rdf:Property>
	
	<rdf:Property rdf:ID="lang">
		<rdfs:subPropertyOf rdf:resource="#property" />
		<rdfs:domain rdf:resource="#Observer" />
		<rdfs:range rdf:resource="&rdfs;Literal" />
	</rdf:Property>
	

	<!--
		INPUT PARAMETER DEFINITION
	-->

	<rdfs:Class rdf:ID="InputParameter">
		<rdfs:subClassOf rdf:resource="#Unicorn" />
	</rdfs:Class>

	<rdfs:Class rdf:ID="ParameterURI">
		<rdfs:subClassOf rdf:resource="#InputParameter" />
	</rdfs:Class>

	<rdfs:Class rdf:ID="ParameterUpload">
		<rdfs:subClassOf rdf:resource="#InputParameter" />
	</rdfs:Class>

	<rdfs:Class rdf:ID="ParameterDirectInput">
		<rdfs:subClassOf rdf:resource="#InputParameter" />
	</rdfs:Class>

	<!--
		INPUT PARAMETER PROPERTY DEFINITION
	-->

	<rdf:Property rdf:ID="methodName">
		<rdfs:subPropertyOf rdf:resource="#property" />
		<rdfs:domain rdf:resource="#InputParameter" />
		<rdfs:range rdf:resource="&rdfs;Literal" />
	</rdf:Property>

	<rdf:Property rdf:ID="parameterName">
		<rdfs:subPropertyOf rdf:resource="#property" />
		<rdfs:domain rdf:resource="#InputParameter" />
		<rdfs:range rdf:resource="&rdfs;Literal" />
	</rdf:Property>

</rdf:RDF>

--- NEW FILE: tasklist.xsd ---
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.w3.org/unicorn/tasklist" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tas="http://www.w3.org/unicorn/tasklist">
  <xs:element name="tasklist" type="tas:tasklistType" xmlns:tas="http://www.w3.org/unicorn/tasklist"/>
  <xs:complexType name="parametersType">
    <xs:sequence>
      <xs:element type="tas:parameterType" name="parameter" maxOccurs="unbounded" minOccurs="0" xmlns:tas="http://www.w3.org/unicorn/tasklist"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="taskType">
        <xs:all>
      <xs:element type="tas:condsType" name="conds" xmlns:tas="http://www.w3.org/unicorn/tasklist" minOccurs="0" />
      <xs:element type="tas:routineType" name="routine" xmlns:tas="http://www.w3.org/unicorn/tasklist" />
      <xs:element type="tas:outputseqType" name="outputseq" xmlns:tas="http://www.w3.org/unicorn/tasklist" />
      <xs:element type="tas:parametersType" name="parameters" xmlns:tas="http://www.w3.org/unicorn/tasklist" minOccurs="0" />
    </xs:all>
    <xs:attribute type="xs:string" name="id" use="required"/>
  </xs:complexType>
  <xs:complexType name="parameterType" mixed="true">
    <xs:sequence>
      <xs:element type="tas:valueType" name="value" minOccurs="0" maxOccurs="unbounded" xmlns:tas="http://www.w3.org/unicorn/tasklist"/>
    </xs:sequence>
    <xs:attribute type="xs:NCName" name="name" use="required"/>
    <xs:attribute type="tas:tParamType" name="type" use="required"/>
    <xs:attribute type="xs:string" name="default" use="optional"/>
    <xs:attribute type="tas:tUi" name="ui" use="optional" default="advanced"/>
    <xs:attribute type="xs:NCName" name="observer" use="optional"/>
  </xs:complexType>
  <xs:complexType name="valueType">
    <xs:sequence>
      <xs:element type="tas:mappedType" name="mapped" maxOccurs="unbounded" minOccurs="0" xmlns:tas="http://www.w3.org/unicorn/tasklist"/>
    </xs:sequence>
    <xs:attribute type="xs:string" name="name"/>
  </xs:complexType>
  <xs:complexType name="outputseqType">
    <xs:sequence>
      <xs:element type="tas:outputgroupType" name="outputgroup" maxOccurs="unbounded" minOccurs="0" xmlns:tas="http://www.w3.org/unicorn/tasklist"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="outputgroupType">
    <xs:sequence>
      <xs:element type="xs:string" name="tasksort" maxOccurs="unbounded" minOccurs="0" xmlns:tas="http://www.w3.org/unicorn/tasklist"/>
    </xs:sequence>
    <xs:attribute type="xs:byte" name="id" use="optional"/>
  </xs:complexType>
  <xs:complexType name="paramType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute type="xs:NCName" name="name"/>
        <xs:attribute type="xs:NCName" name="observer"/>
        <xs:attribute type="xs:string" name="value"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="condType">
	<xs:sequence>
		 <xs:element name="value" type="xs:string" minOccurs="1" maxOccurs="1" />
        </xs:sequence>
        <xs:attribute type="xs:string" name="id" use="optional"/>
        <xs:attribute type="xs:string" name="result" use="optional"/>
        <xs:attribute type="xs:NCName" name="observer" use="optional"/>
        <xs:attribute type="xs:string" name="type" use="optional"/>
  </xs:complexType>
  <xs:complexType name="routineType">
    <xs:sequence maxOccurs="unbounded">
      <xs:element type="tas:ifType" name="if" maxOccurs="unbounded" minOccurs="0" xmlns:tas="http://www.w3.org/unicorn/tasklist"/>
      <xs:element type="tas:execType" name="exec" maxOccurs="unbounded" minOccurs="0" xmlns:tas="http://www.w3.org/unicorn/tasklist"/>
    </xs:sequence>
    <xs:attribute type="xs:string" name="ref"/>
  </xs:complexType>
  <xs:complexType name="ifType">
    <xs:sequence>
      <xs:element type="tas:routineType" name="then" xmlns:tas="http://www.w3.org/unicorn/tasklist"/>
      <xs:element type="tas:routineType" name="else" maxOccurs="1" minOccurs="0" xmlns:tas="http://www.w3.org/unicorn/tasklist"/>
    </xs:sequence>
    <xs:attribute type="xs:string" name="test"/>
  </xs:complexType>
  <xs:complexType name="tasklistType">
    <xs:sequence>
      <xs:element type="tas:taskType" name="task" maxOccurs="unbounded" xmlns:tas="http://www.w3.org/unicorn/tasklist"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="mappedType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute type="xs:NCName" name="param" use="required"/>
        <xs:attribute type="xs:NCName" name="observer" use="required"/>
        <xs:attribute type="xs:string" name="value"/>
	<xs:attribute name="inputmethod" use="optional" default="uri direct file">
                <xs:simpleType>
                    <xs:list itemType="tas:tInputMethod"/>
                </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="condsType">
    <xs:sequence>
      <xs:element type="tas:condType" name="cond" maxOccurs="unbounded" minOccurs="1" xmlns:tas="http://www.w3.org/unicorn/tasklist"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="execType" mixed="true">
    <xs:sequence>
      <xs:element type="tas:paramType" name="param" minOccurs="0" xmlns:tas="http://www.w3.org/unicorn/tasklist"/>
    </xs:sequence>
    <xs:attribute type="xs:string" name="id" use="optional"/>
    <xs:attribute type="xs:string" name="value" use="optional"/>
    <xs:attribute type="xs:string" name="type" use="optional"/>
  </xs:complexType>
    <xs:simpleType name="tInputMethod" xmlns:tas="http://www.w3.org/unicorn/tasklist">
        <xs:restriction base="xs:string">
            <xs:enumeration value="file"/>
            <xs:enumeration value="direct"/>
            <xs:enumeration value="uri"/>
        </xs:restriction>     
    </xs:simpleType>
    <xs:simpleType name="tUi" xmlns:tas="http://www.w3.org/unicorn/tasklist">
        <xs:restriction base="xs:string">
            <xs:enumeration value="none"/>
            <xs:enumeration value="simple"/>
            <xs:enumeration value="advanced"/>
        </xs:restriction>     
    </xs:simpleType>
    <xs:simpleType name="tParamType" xmlns:tas="http://www.w3.org/unicorn/tasklist">
        <xs:restriction base="xs:string">
            <xs:enumeration value="checkbox"/>
            <xs:enumeration value="checkboxlist"/>
            <xs:enumeration value="dropdown"/>
            <xs:enumeration value="dropdownlist"/>
            <xs:enumeration value="textarea"/>
            <xs:enumeration value="textfield"/>
            <xs:enumeration value="radio"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>

--- NEW FILE: wadl.xsd ---
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  targetNamespace="http://research.sun.com/wadl"
  xmlns:tns="http://research.sun.com/wadl"
  elementFormDefault="qualified">
  
  <xs:element name="application">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="tns:grammars" minOccurs="0"/>
        <xs:element ref="tns:resources" minOccurs="0"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="tns:method"/>
          <xs:element ref="tns:representation"/>
          <xs:element ref="tns:fault"/>
        </xs:choice>
        <xs:any namespace="##other" processContents="lax"
          minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="grammars">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="tns:include"/>
        <xs:any namespace="##other" processContents="lax"
          minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="resources">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="tns:resource" maxOccurs="unbounded"/>
        <xs:any namespace="##other" processContents="lax"
          minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="base" type="xs:anyURI"/>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="resource">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="tns:path_variable" minOccurs="0"/>
        <xs:choice maxOccurs="unbounded">
          <xs:element ref="tns:method"/>
          <xs:element ref="tns:resource"/>
        </xs:choice>
        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax"/>
      </xs:sequence>
      <xs:attribute name="uri" type="xs:anyURI"/>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="method">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="tns:request" minOccurs="0"/>
        <xs:element ref="tns:response" minOccurs="0"/>
        <xs:any namespace="##other" processContents="lax"
          minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:ID"/>
      <xs:attribute name="name" type="tns:Method"/>
      <xs:attribute name="href" type="xs:anyURI"/>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
  </xs:element>
  
  <xs:simpleType name="Method">
    <xs:union memberTypes="tns:HTTPMethods xs:NMTOKEN"/>
  </xs:simpleType>
  
  <xs:simpleType name="HTTPMethods">
    <xs:restriction base="xs:NMTOKEN">
      <xs:enumeration value="GET"/>
      <xs:enumeration value="POST"/>
      <xs:enumeration value="PUT"/>
      <xs:enumeration value="HEAD"/>
      <xs:enumeration value="DELETE"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:element name="include">
    <xs:complexType>
      <xs:attribute name="href" type="xs:anyURI"/>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="request">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="tns:representation" minOccurs="0"
          maxOccurs="unbounded"/>
        <xs:element ref="tns:query_variable" minOccurs="0"
          maxOccurs="unbounded"/>
        <xs:any namespace="##other" processContents="lax"
          minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="response">
    <xs:complexType>
      <xs:sequence>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="tns:representation"/>
          <xs:element ref="tns:fault"/>
        </xs:choice>
        <xs:any namespace="##other" processContents="lax"
          minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="representation">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="tns:representation_variable" minOccurs="0"
          maxOccurs="unbounded"/>
        <xs:any namespace="##other" processContents="lax"
          minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:ID"/>
      <xs:attribute name="element" type="xs:QName"/>
      <xs:attribute name="mediaType" type="xs:string"/>
      <xs:attribute name="href" type="xs:anyURI"/>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
  </xs:element>
  
  <xs:simpleType name="faultCodeList">
    <xs:list itemType="xs:unsignedInt"/>
  </xs:simpleType>
  
  <xs:element name="fault">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="tns:representation_variable" minOccurs="0"
          maxOccurs="unbounded"/>
        <xs:any namespace="##other" processContents="lax"
          minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:ID" use="required"/>
      <xs:attribute name="element" type="xs:QName"/>
      <xs:attribute name="status" type="tns:faultCodeList"/>
      <xs:attribute name="mediaType" type="xs:string"/>
      <xs:attribute name="href" type="xs:anyURI"/>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="query_variable">
    <xs:complexType>
      <xs:sequence>
        <xs:any namespace="##other" processContents="lax"
          minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
      <xs:attribute name="type" type="xs:QName" default="xs:string"/>
      <xs:attribute name="required" type="xs:boolean" default="false"/>
      <xs:attribute name="repeating" type="xs:boolean" default="false"/>
      <xs:attribute name="fixed" type="xs:string"/>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="path_variable">
    <xs:complexType>
      <xs:sequence>
        <xs:any namespace="##other" processContents="lax"
          minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
      <xs:attribute name="type" type="xs:QName" default="xs:string"/>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="representation_variable">
    <xs:complexType>
      <xs:sequence>
        <xs:any namespace="##other" processContents="lax"
          minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
      <xs:attribute name="type" type="xs:QName" default="xs:string"/>
      <xs:attribute name="path" type="xs:string"/>
      <xs:attribute name="required" type="xs:boolean" default="false"/>
      <xs:attribute name="repeating" type="xs:boolean" default="false"/>
      <xs:attribute name="fixed" type="xs:string"/>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
  </xs:element>

</xs:schema>

Received on Friday, 28 August 2009 12:40:14 UTC