summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/assembly-xsd/src/main/resources/sca-policy.xsd
blob: 2c4875f36c5da721974acbad4411fdd62cf861bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?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>