blob: ed2a29366996a52766cb23937450e1df27ef5f4b [file] [log] [blame]
<?xml version="1.0"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You 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">
<!-- user group providers type -->
<xs:complexType name="UserGroupProvider">
<xs:sequence>
<xs:element name="identifier" type="xs:string"/>
<xs:element name="class" type="xs:string"/>
<xs:element name="property" type="Prop" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<!-- access policy provider type -->
<xs:complexType name="AccessPolicyProvider">
<xs:sequence>
<xs:element name="identifier" type="xs:string"/>
<xs:element name="class" type="xs:string"/>
<xs:element name="property" type="Prop" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<!-- authorizers type -->
<xs:complexType name="Authorizer">
<xs:sequence>
<xs:element name="identifier" type="xs:string"/>
<xs:element name="class" type="xs:string"/>
<xs:element name="classpath" type="xs:string" minOccurs="0"/>
<xs:element name="property" type="Prop" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- Name/Value properties-->
<xs:complexType name="Prop">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name" type="xs:string"></xs:attribute>
<xs:attribute name="encryption" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- authorizers -->
<xs:element name="authorizers">
<xs:complexType>
<xs:sequence>
<xs:element name="userGroupProvider" type="UserGroupProvider" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="accessPolicyProvider" type="AccessPolicyProvider" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="authorizer" type="Authorizer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>