<?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"> | |
<!-- [rfeng] Comment out the include to avoid circular dependency --> | |
<!-- | |
<include schemaLocation="sca-core-1.1-cd06.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="externalAttachment"> | |
<complexType> | |
<sequence minOccurs="0" maxOccurs="unbounded"> | |
<any namespace="##other" processContents="lax"/> | |
</sequence> | |
<attribute name="intents" type="sca:listOfQNames" use="optional"/> | |
<attribute name="policySets" type="sca:listOfQNames" use="optional"/> | |
<attribute name="attachTo" type="string" 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> |