| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- Copyright(C) OASIS(R) 2005,2010. All Rights Reserved. |
| OASIS trademark, IPR and other policies apply. --> |
| <schema xmlns="http://www.w3.org/2001/XMLSchema" |
| targetNamespace="http://docs.oasis-open.org/ns/opencsa/sca/200912" |
| xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" |
| xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" |
| elementFormDefault="qualified"> |
| |
| <include schemaLocation="sca-core-1.1-cd05.xsd"/> |
| <import namespace="http://www.w3.org/ns/ws-policy" |
| schemaLocation="http://www.w3.org/2007/02/ws-policy.xsd"/> |
| |
| <element name="intent" type="sca:Intent"/> |
| <complexType name="Intent"> |
| <sequence> |
| <element name="description" type="string" minOccurs="0" |
| maxOccurs="1" /> |
| <element name="qualifier" type="sca:IntentQualifier" |
| minOccurs="0" maxOccurs="unbounded" /> |
| <any namespace="##other" processContents="lax" |
| minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| <attribute name="name" type="NCName" use="required"/> |
| <attribute name="constrains" type="sca:listOfQNames" |
| use="optional"/> |
| <attribute name="requires" type="sca:listOfQNames" |
| use="optional"/> |
| <attribute name="excludes" type="sca:listOfQNames" |
| use="optional"/> |
| <attribute name="mutuallyExclusive" type="boolean" |
| use="optional" default="false"/> |
| <attribute name="intentType" |
| type="sca:InteractionOrImplementation" |
| use="optional" default="interaction"/> |
| <anyAttribute namespace="##other" processContents="lax"/> |
| </complexType> |
| |
| <complexType name="IntentQualifier"> |
| <sequence> |
| <element name="description" type="string" minOccurs="0" |
| maxOccurs="1" /> |
| <any namespace="##other" processContents="lax" minOccurs="0" |
| maxOccurs="unbounded"/> |
| </sequence> |
| <attribute name="name" type="NCName" use="required"/> |
| <attribute name="default" type="boolean" use="optional" |
| default="false"/> |
| </complexType> |
| |
| <element name="requires"> |
| <complexType> |
| <sequence minOccurs="0" maxOccurs="unbounded"> |
| <any namespace="##other" processContents="lax"/> |
| </sequence> |
| <attribute name="intents" type="sca:listOfQNames" use="required"/> |
| <anyAttribute namespace="##other" processContents="lax"/> |
| </complexType> |
| </element> |
| |
| <element name="policySet" type="sca:PolicySet"/> |
| <complexType name="PolicySet"> |
| <choice minOccurs="0" maxOccurs="unbounded"> |
| <element name="policySetReference" |
| type="sca:PolicySetReference"/> |
| <element name="intentMap" type="sca:IntentMap"/> |
| <any namespace="##other" processContents="lax"/> |
| </choice> |
| <attribute name="name" type="NCName" use="required"/> |
| <attribute name="provides" type="sca:listOfQNames"/> |
| <attribute name="appliesTo" type="string" use="optional"/> |
| <attribute name="attachTo" type="string" use="optional"/> |
| <anyAttribute namespace="##other" processContents="lax"/> |
| </complexType> |
| |
| <element name="policySetAttachment"> |
| <complexType> |
| <sequence minOccurs="0" maxOccurs="unbounded"> |
| <any namespace="##other" processContents="lax"/> |
| </sequence> |
| <attribute name="name" type="QName" use="required"/> |
| <anyAttribute namespace="##other" processContents="lax"/> |
| </complexType> |
| </element> |
| |
| <complexType name="PolicySetReference"> |
| <attribute name="name" type="QName" use="required"/> |
| <anyAttribute namespace="##other" processContents="lax"/> |
| </complexType> |
| |
| <complexType name="IntentMap"> |
| <choice minOccurs="1" maxOccurs="unbounded"> |
| <element name="qualifier" type="sca:Qualifier"/> |
| <any namespace="##other" processContents="lax"/> |
| </choice> |
| <attribute name="provides" type="QName" use="required"/> |
| <anyAttribute namespace="##other" processContents="lax"/> |
| </complexType> |
| |
| <complexType name="Qualifier"> |
| <sequence minOccurs="0" maxOccurs="unbounded"> |
| <any namespace="##other" processContents="lax"/> |
| </sequence> |
| <attribute name="name" type="string" use="required"/> |
| <anyAttribute namespace="##other" processContents="lax"/> |
| </complexType> |
| |
| <simpleType name="listOfNCNames"> |
| <list itemType="NCName"/> |
| </simpleType> |
| |
| <simpleType name="InteractionOrImplementation"> |
| <restriction base="string"> |
| <enumeration value="interaction"/> |
| <enumeration value="implementation"/> |
| </restriction> |
| </simpleType> |
| |
| </schema> |