| <?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> |