diff options
Diffstat (limited to 'bkucommon/src/main/resources/at/gv/egiz')
-rw-r--r-- | bkucommon/src/main/resources/at/gv/egiz/bku/accesscontrol/config/AccessControl.xsd | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/bkucommon/src/main/resources/at/gv/egiz/bku/accesscontrol/config/AccessControl.xsd b/bkucommon/src/main/resources/at/gv/egiz/bku/accesscontrol/config/AccessControl.xsd new file mode 100644 index 00000000..9031ea78 --- /dev/null +++ b/bkucommon/src/main/resources/at/gv/egiz/bku/accesscontrol/config/AccessControl.xsd @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/* +* Copyright 2008 Federal Chancellery Austria and +* Graz University of Technology +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +--> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> + <xs:element name="AccessControl"> + <xs:complexType> + <xs:sequence> + <xs:element ref="Chains"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Chains"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="Chain"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Chain"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="Rules"/> + </xs:sequence> + <xs:attribute name="Id" type="xs:ID"/> + </xs:complexType> + </xs:element> + + <xs:element name="Rules"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="Rule"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="Rule"> + <xs:complexType> + <xs:sequence> + <xs:element ref="AuthClass"/> + <xs:choice minOccurs="0"> + <xs:element name="DomainName" type="xs:string"/> + <xs:element name="IPv4Address" type="xs:string"/> + <xs:element name="URL" type="xs:string"/> + </xs:choice> + <xs:element ref="Command" minOccurs="0"/> + <xs:element ref="Action" /> + <xs:element ref="UserInteraction"/> + </xs:sequence> + <xs:attribute name="Id" type="xs:ID" use="optional"/> + </xs:complexType> + </xs:element> + + <xs:element name="AuthClass"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="anonymous"/> + <xs:enumeration value="pseudoanonymous"/> + <xs:enumeration value="certified"/> + <xs:enumeration value="certifiedGovAgency"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + + <xs:element name="Command"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="Param"/> + </xs:sequence> + <xs:attribute name="Name" use="required"/> + </xs:complexType> + </xs:element> + + <xs:element name="Param"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Name" use="required" type="xs:NCName"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="Action"> + <xs:complexType> + <xs:choice> + <!--xs:element name="ChainRef" type="xs:IDREF"/--> + <xs:element name="ChainRef" type="xs:string"/> + <xs:element name="RuleAction"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="allow"/> + <xs:enumeration value="deny"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + </xs:choice> + </xs:complexType> + </xs:element> + + <xs:element name="UserInteraction"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="none"/> + <xs:enumeration value="info"/> + <xs:enumeration value="confirm"/> + <xs:enumeration value="confirmWithSecret"/> + </xs:restriction> + </xs:simpleType> + </xs:element> +</xs:schema> |