blob: 2c4875f36c5da721974acbad4411fdd62cf861bd [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!-- (c) Copyright SCA Collaboration 2006, 2007 -->
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
elementFormDefault="qualified">
<include schemaLocation="sca-core.xsd"/>
<element name="intent" type="sca:Intent"/>
<complexType name="Intent">
<sequence>
<element name="description" type="string" minOccurs="0" maxOccurs="1" />
<any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="name" type="QName" 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"/>
<anyAttribute namespace="##any" processContents="lax"/>
</complexType>
<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="QName" use="required"/>
<attribute name="provides" type="sca:listOfQNames" use="optional"/>
<attribute name="appliesTo" type="string" use="required"/>
<anyAttribute namespace="##any" processContents="lax"/>
</complexType>
<complexType name="PolicySetReference">
<attribute name="name" type="QName" use="required"/>
<anyAttribute namespace="##any" 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"/>
<attribute name="default" type="string" use="optional"/>
<anyAttribute namespace="##any" processContents="lax"/>
</complexType>
<complexType name="Qualifier">
<choice minOccurs="1" maxOccurs="unbounded">
<element name="intentMap" type="sca:IntentMap"/>
<any namespace="##other" processContents="lax"/>
</choice>
<attribute name="name" type="string" use="required"/>
<anyAttribute namespace="##any" processContents="lax"/>
</complexType>
<element name="allow" type="sca:Allow"/>
<complexType name="Allow">
<attribute name="roles" type="string" use="required"/>
</complexType>
<element name="permitAll" type="sca:PermitAll"/>
<complexType name="PermitAll"/>
<element name="denyAll" type="sca:DenyAll"/>
<complexType name="DenyAll"/>
<element name="runAs" type="sca:RunAs"/>
<complexType name="RunAs">
<attribute name="role" type="string" use="required"/>
</complexType>
</schema>