<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://xmlns.oracle.com/weblogic/weblogic-sca" 
        xmlns="http://www.w3.org/2001/XMLSchema"
        elementFormDefault="qualified"
        attributeFormDefault="unqualified"
        version="1.0">

  <element name="reference">
	<annotation>
        <documentation>
          The element declares a Spring bean representing an SCA service external to the Spring application context. 
        </documentation>
	</annotation>
  
    <complexType>
      <sequence>
        <any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </sequence>
      <attribute name="name" use="required">
          <annotation>
            <documentation>
              The name of the reference.
            </documentation>
	      </annotation>
        <simpleType>
          <restriction base="string" />
        </simpleType>
      </attribute>
      <attribute name="type" use="required">
        <annotation>
          <documentation>
            The fully-qualified Java type of the interface or class representing the remote service.
            For example, if the external reference is to a Web Service, this would be the type of
            the client-side proxy to the Web Service. For SCA references using a Web Service binding,
            the type used must be a JAX-WS compatible interface, generated from the external WSDL
            using the WebLogic clientgen Ant task.
          </documentation>
        </annotation>
        <simpleType>
          <restriction base="string" />
        </simpleType>
      </attribute>
      <attribute name="default" use="optional">
        <annotation>
          <documentation>
            The target bean (within the application context) for the reference if none is specified.      		
          </documentation>
        </annotation>
        <simpleType>
          <restriction base="string" />
        </simpleType>
      </attribute>
    </complexType>
  </element>
  <element name="service">
    <annotation>
      <documentation>
        The element declares a Spring bean that WebLogic SCA exposes as a service.  		
      </documentation>
    </annotation>
    <complexType>
      <sequence>
        <any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </sequence>
      <attribute name="name" use="required">
        <annotation>
          <documentation>
	      The name of the service.
	    </documentation>
	  </annotation>
        <simpleType>
          <restriction base="string" />
        </simpleType>
      </attribute>
      <attribute name="type" use="required">
        <annotation>
	    <documentation>
            The fully-qualified Java type of the Java class to be exposed as an SCA service.
          </documentation>
	  </annotation>
        <simpleType>
          <restriction base="string" />
        </simpleType>
      </attribute>
      <attribute name="target" use="required">
        <annotation>
          <documentation>
            The bean to be exposed as a service.
          </documentation>
        </annotation>
        <simpleType>
          <restriction base="string" />
        </simpleType>
      </attribute>
    </complexType>
  </element>
</schema>