<?xml version="1.0" encoding="UTF-8"?>

<!--
     Service Component Architecture Spring Component Implementation Specification Version 1.1
     Committee Specification Draft 01 / Public Review Draft 01
     23 May 2011
     Copyright (c) OASIS Open 2011.  All Rights Reserved.
     Source: http://docs.oasis-open.org/opencsa/sca-j/sca-springci-spec/v1.1/csprd01/xsd/
-->

<xsd:schema 
  xmlns="http://docs.oasis-open.org/ns/opencsa/sca-j/spring/200810"  
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" 
  xsi:schemaLocation="
       http://docs.oasis-open.org/ns/opencsa/sca/200912
       http://docs.oasis-open.org/opencsa/sca-assembly/sca-core-1.1-cd06.xsd" 
  attributeFormDefault="unqualified" 
  elementFormDefault="qualified" 
  targetNamespace=
    "http://docs.oasis-open.org/ns/opencsa/sca-j/spring/200810">
   
  <xsd:element name="reference">
    <xsd:complexType>
      <any namespace="##other" processContents="lax"  
           minOccurs="0" maxOccurs="unbounded"/>
      <xsd:attribute name="name" type="xsd:NCName" use="required"/>
      <xsd:attribute name="type" type="xsd:NCName" use="required"/>
      <xsd:attribute name="default" type="xsd:NCName" use="optional"/>
      <xsd:attribute name="requires" type="sca:listOfQNames" use="optional"/>
      <xsd:attribute name="policySets" type="sca:listOfQNames" use="optional"/>
      <xsd:anyAttribute namespace="##other" processContents="lax" 
                        use="optional"/>  
    </xsd:complexType>            
  </xsd:element>

  <xsd:element name="property">
    <xsd:complexType>
      <any namespace="##other" processContents="lax" 
           minOccurs="0" maxOccurs="unbounded"/>
      <xsd:attribute name="name" type="xsd:NCName" use="required"/>
      <xsd:attribute name="type" type="xsd:NCName" use="required"/>
      <xsd:anyAttribute namespace="##other" processContents="lax" 
                        use="optional"/>  
    </xsd:complexType>            
  </xsd:element>
 
  <xsd:element name="service">
    <xsd:complexType>
      <any namespace="##other" processContents="lax" 
           minOccurs="0" maxOccurs="unbounded"/>
      <xsd:attribute name="name" type="xsd:NCName" use="required"/>
      <xsd:attribute name="type" type="xsd:NCName" use="optional"/>
      <xsd:attribute name="target" type="xsd:NCName" use="required"/>
      <xsd:attribute name="requires" type="sca:listOfQNames" use="optional"/>
      <xsd:attribute name="policySets" type="sca:listOfQNames" use="optional"/>
      <xsd:anyAttribute namespace="##other" processContents="lax" 
                        use="optional"/>  
    </xsd:complexType>            
  </xsd:element>
</xsd:schema>
