blob: 5aa359eb5c0ec90eb6106030a621e89cc6b2423e [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v3.0.7 NT (http://www.xmlspy.com) by Jake Throgmorton (NIKU) -->
<xsd:schema targetNamespace="http://schemas.niku.com/2002/security" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.niku.com/2002/security" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:simpleType name="featureType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="NONE"/>
<xsd:enumeration value="base"/>
<xsd:enumeration value="project"/>
<xsd:enumeration value="resource"/>
<xsd:enumeration value="financial"/>
<xsd:enumeration value="opportunity"/>
<xsd:enumeration value="extranet"/>
<xsd:enumeration value="studio"/>
<xsd:enumeration value="portfolio"/>
<xsd:enumeration value="investment"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="componentType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="NONE"/>
<xsd:enumeration value="BPM"/>
<xsd:enumeration value="SRM"/>
<xsd:enumeration value="PAC"/>
<xsd:enumeration value="CMN"/>
<xsd:enumeration value="WKF"/>
<xsd:enumeration value="CLB"/>
<xsd:enumeration value="MKT"/>
<xsd:enumeration value="BIZ"/>
<xsd:enumeration value="RSM"/>
<xsd:enumeration value="PRJ"/>
<xsd:enumeration value="XDM"/>
<xsd:enumeration value="CAL"/>
<xsd:enumeration value="NTD"/>
<xsd:enumeration value="REQ"/>
<xsd:enumeration value="RPT"/>
<xsd:enumeration value="XOG"/>
<xsd:enumeration value="ADM"/>
<xsd:enumeration value="PMA"/>
<xsd:enumeration value="TMS"/>
<xsd:enumeration value="INV"/>
<xsd:enumeration value="IDA"/>
<xsd:enumeration value="RIM"/>
<xsd:enumeration value="ITL"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="operatorType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="or"/>
<xsd:enumeration value="and"/>
<xsd:enumeration value="not"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="acl">
<xsd:annotation>
<xsd:documentation xml:lang="en">Access control list root element for defining multiple policies in an external file for WMD and other XML file types.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="policy" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="condition" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="schemaLocation" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="PolicyBaseType">
<xsd:attribute name="access" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation xml:lang="en">The group or right that is associated with the object and users.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="objectType" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The type of object (e.g. PAGE, FILE, LINK, etc.), if the string is surrounded by {} then it refers
to an HTTP parameter, rather than being hard coded.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="permission" type="xsd:string" default="READ">
<xsd:annotation>
<xsd:documentation xml:lang="en">the permission (e.g. READ, WRITE, DELETE, etc.)</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="component" type="componentType" default="NONE">
<xsd:annotation>
<xsd:documentation xml:lang="en">the component the policy belongs to</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="PolicyType">
<xsd:attribute name="access" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation xml:lang="en">The group or right that is associated with the object and users.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="objectType" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The type of object (e.g. PAGE, FILE, LINK, etc.), if the string is surrounded by {} then it refers
to an HTTP parameter, rather than being hard coded.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="permission" type="xsd:string" default="READ">
<xsd:annotation>
<xsd:documentation xml:lang="en">the permission (e.g. READ, WRITE, DELETE, etc.)</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="component" type="componentType" default="NONE">
<xsd:annotation>
<xsd:documentation xml:lang="en">the component the policy belongs to</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="id" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation xml:lang="en">identifier for the policy</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="objectId" type="xsd:string">
<xsd:annotation>
<xsd:documentation xml:lang="en">the object instance id (e.g. an instance of a FILE)</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="feature" type="featureType" default="NONE">
<xsd:annotation>
<xsd:documentation xml:lang="en">the feature the policy belongs to</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="policy" type="PolicyType">
<xsd:annotation>
<xsd:documentation xml:lang="en">Defines user policy (permission,object,right/group) for a WMD element. Examples of WMD elements that might have a policy defined are: web page, action, and portlet.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="condition">
<xsd:annotation>
<xsd:documentation xml:lang="en">The condition is a container for policies that are linked together to make a complex boolean relationship.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="policy" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="condition" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation xml:lang="en">identifier for the complex policy</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="operator" type="operatorType" use="required">
<xsd:annotation>
<xsd:documentation xml:lang="en">Used to link contained policies.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
</xsd:schema>