<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:oasis:names:tc:wsrp:extra"
        xmlns:wsrp-extra="urn:oasis:names:tc:wsrp:extra"
        xmlns:wsrpv2="urn:oasis:names:tc:wsrp:v2:types"

        xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"

        elementFormDefault="qualified">


  <import namespace="urn:oasis:names:tc:wsrp:v2:types" schemaLocation="wsrp-2.0-types.xsd"/>

<!-- Type definitions in a non-WSRP types namespace for use as extension elements  -->

  <complexType name="QNamedString">
    <attribute name="qname" type="xsd:QName"  use="required"/>
    <attribute name="value" type="xsd:string"/>
   <!-- Axis v1.1 ignores the following declaration! -->
    <anyAttribute/>
  </complexType>
  <element name="QNamedString" type="wsrp-extra:QNamedString"/>

  <complexType name="QNamedStringArray">
    <sequence>
      <element name="QNamedString" type="wsrp-extra:QNamedString" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    <anyAttribute/>
  </complexType>
  <element name="QNamedStringArray" type="wsrp-extra:QNamedStringArray"/>

  <complexType name="QNamedMultiValue">
    <sequence>
      <element name="value" type="xsd:string" maxOccurs="unbounded"/>
    </sequence>
    <attribute name="qname" type="xsd:QName"  use="required"/>
   <!-- Axis v1.1 ignores the following declaration! -->
    <anyAttribute/>
  </complexType>
  <element name="QNamedMultiValue" type="wsrp-extra:QNamedMultiValue"/>

  <complexType name="QNamedMultiValueArray">
    <sequence>
      <element name="QNamedMultiValue" type="wsrp-extra:QNamedMultiValue" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    <anyAttribute/>
  </complexType>
  <element name="QNamedMultiValueArray" type="wsrp-extra:QNamedMultiValueArray"/>

  <complexType name="NamedMultiValue">
    <sequence>
      <element name="value" type="xsd:string" maxOccurs="unbounded"/>
    </sequence>
    <attribute name="name" type="xsd:string" use="required"/>
  </complexType>
  <element name="NamedMultiValue" type="wsrp-extra:NamedMultiValue"/>

  <complexType name="NamedMultiValueArray">
    <sequence>
      <element name="NamedMultiValue" type="wsrp-extra:NamedMultiValue" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    <anyAttribute/>
  </complexType>
  <element name="NamedMultiValueArray" type="wsrp-extra:NamedMultiValueArray"/>

  <!-- Well known extensions -->
  <element name="doctype"               type="wsrp-extra:QNamedString"/>

  <element name="extendedURLParameters" type="wsrpv2:NamedStringArray"/>

  <element name="sharedResource" type="xsd:string"/> <!-- preferrably QName -->

</schema>
