| <?xml version="1.0" encoding="UTF-8"?> | |
| <!-- | |
| 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 targetNamespace="http://geronimo.apache.org/xml/ns/geronimo-jaspi" | |
| xmlns:jaspi="http://geronimo.apache.org/xml/ns/geronimo-jaspi" | |
| xmlns:xs="http://www.w3.org/2001/XMLSchema" | |
| xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" | |
| xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" | |
| elementFormDefault="qualified" | |
| attributeFormDefault="unqualified" | |
| jaxb:extensionBindingPrefixes="xjc" | |
| jaxb:version="2.0"> | |
| <xs:annotation> | |
| <xs:appinfo> | |
| <jaxb:globalBindings> | |
| <xjc:serializable uid="12343"/> | |
| </jaxb:globalBindings> | |
| </xs:appinfo> | |
| </xs:annotation> | |
| <xs:annotation> | |
| <xs:documentation> | |
| This is an XML Schema Definition for Geronimo JASPI implementation configurations. | |
| </xs:documentation> | |
| </xs:annotation> | |
| <xs:element name="jaspi" type="jaspi:jaspiType"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| The jaspi element is the root element of the jaspi configuration file. | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="configProvider" type="jaspi:configProviderType"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| Configuration of a single configProvider element | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="clientAuthConfig" type="jaspi:clientAuthConfigType"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| Configuration of a single clientAuthConfig element | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="clientAuthContext" type="jaspi:clientAuthContextType"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| Configuration of a single clientAuthContext element | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="clientAuthModule" type="jaspi:authModuleType"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| Configuration of a single clientAuthModule element | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="serverAuthConfig" type="jaspi:serverAuthConfigType"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| Configuration of a single serverAuthConfig element | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="serverAuthContext" type="jaspi:serverAuthContextType"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| Configuration of a single serverAuthContext element | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="serverAuthModule" type="jaspi:authModuleType"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| Configuration of a single serverAuthModule element | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:complexType name="jaspiType"> | |
| <xs:sequence> | |
| <xs:element name="configProvider" type="jaspi:configProviderType" minOccurs="0" maxOccurs="unbounded"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| Reference to configProvider element defined later in this xsd. | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| </xs:sequence> | |
| </xs:complexType> | |
| <!--<xs:complexType name="emptyType"/>--> | |
| <xs:complexType name="configProviderType"> | |
| <xs:sequence> | |
| <xs:annotation> | |
| <xs:documentation> | |
| configProviderType configures a AuthConfigProvider | |
| </xs:documentation> | |
| </xs:annotation> | |
| <xs:element name="messageLayer" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| messageLayer specifies the type of message this configProvider works with, e.g Http | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="appContext" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| appContext is the name of the application in some profile-specified format | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="description" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| description of the config provider | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:choice> | |
| <xs:sequence> | |
| <xs:element name="className" type="xs:string"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| class name of the config provider implementation | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="properties" | |
| type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| The standard ConfigProviders take a Map(String, String) as a single constructor argument. | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| </xs:sequence> | |
| <xs:sequence> | |
| <xs:element name="clientAuthConfig" type="jaspi:clientAuthConfigType" minOccurs="0" maxOccurs="unbounded"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| configures a ClientAuthConfig | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="serverAuthConfig" type="jaspi:serverAuthConfigType" minOccurs="0" maxOccurs="unbounded"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| configures a ServerAuthConfig | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| </xs:sequence> | |
| </xs:choice> | |
| <xs:element name="persistent" type="xs:boolean" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| whether the configprovider is "persistent". so far it's not clear what this might mean. | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="classLoaderName" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| name of classloader to load any needed classes (e.g. custom config providers, modules, policy stuff) | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| </xs:sequence> | |
| </xs:complexType> | |
| <xs:complexType name="clientAuthConfigType"> | |
| <xs:sequence> | |
| <xs:element name="messageLayer" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| messageLayer specifies the type of message this configProvider works with, e.g Http | |
| defaults to parents value if missing | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="appContext" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| appContext is the name of the application in some profile-specified format | |
| defaults to parents value if missing | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="authenticationContextID" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| the constant value to be returned from getAuthContextID(MessageInfo messageInfo) | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="protected" type="xs:boolean"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| value to be returned from isProtected. Meaning unknown. | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="clientAuthContext" type="jaspi:clientAuthContextType" minOccurs="0" maxOccurs="unbounded"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| configuration of a client auth context | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| </xs:sequence> | |
| </xs:complexType> | |
| <xs:complexType name="clientAuthContextType"> | |
| <xs:sequence> | |
| <xs:element name="messageLayer" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| messageLayer specifies the type of message this configProvider works with, e.g Http | |
| defaults to parents value if missing | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="appContext" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| appContext is the name of the application in some profile-specified format | |
| defaults to parents value if missing | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="authenticationContextID" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| the constant value to be returned from getAuthContextID(MessageInfo messageInfo) | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="clientAuthModule" type="jaspi:authModuleType" minOccurs="0" maxOccurs="unbounded"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| client auth module in this auth context | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| </xs:sequence> | |
| </xs:complexType> | |
| <xs:complexType name="serverAuthConfigType"> | |
| <xs:sequence> | |
| <xs:element name="messageLayer" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| messageLayer specifies the type of message this configProvider works with, e.g Http | |
| defaults to parents value if missing | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="appContext" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| appContext is the name of the application in some profile-specified format | |
| defaults to parents value if missing | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="authenticationContextID" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| the constant value to be returned from getAuthContextID(MessageInfo messageInfo) | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="protected" type="xs:boolean"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| value to be returned from isProtected. Meaning unknown. | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="serverAuthContext" type="jaspi:serverAuthContextType" minOccurs="0" maxOccurs="unbounded"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| configuration of a server auth context | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| </xs:sequence> | |
| </xs:complexType> | |
| <xs:complexType name="serverAuthContextType"> | |
| <xs:sequence> | |
| <xs:element name="messageLayer" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| messageLayer specifies the type of message this configProvider works with, e.g Http | |
| defaults to parents value if missing | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="appContext" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| appContext is the name of the application in some profile-specified format | |
| defaults to parents value if missing | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="authenticationContextID" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| the constant value to be returned from getAuthContextID(MessageInfo messageInfo) | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="serverAuthModule" type="jaspi:authModuleType" minOccurs="0" maxOccurs="unbounded"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| server auth module in this auth context | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| </xs:sequence> | |
| </xs:complexType> | |
| <xs:complexType name="authModuleType"> | |
| <xs:sequence> | |
| <xs:element name="className" type="xs:string"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| class name of auth module | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="classLoaderName" type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| name of classloader to load any needed classes (e.g. custom config providers, modules, policy stuff) | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:element name="requestPolicy" type="jaspi:messagePolicyType" minOccurs="0"> | |
| </xs:element> | |
| <xs:element name="responsePolicy" type="jaspi:messagePolicyType" minOccurs="0"> | |
| </xs:element> | |
| <xs:element name="options" | |
| type="xs:string" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| initialization options as a string-string map | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| </xs:sequence> | |
| </xs:complexType> | |
| <xs:complexType name="messagePolicyType"> | |
| <xs:sequence> | |
| <xs:element name="targetPolicy" type="jaspi:targetPolicyType" minOccurs="0" maxOccurs="unbounded"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| target policy for the message policy | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| </xs:sequence> | |
| <xs:attribute name="mandatory" type="xs:boolean"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| supplies the isMandatory value of the policy | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:attribute> | |
| </xs:complexType> | |
| <xs:complexType name="targetPolicyType"> | |
| <xs:sequence> | |
| <xs:element name="protectionPolicy" type="jaspi:protectionPolicyType"> | |
| </xs:element> | |
| <xs:element name="target" type="jaspi:targetType" minOccurs="0" maxOccurs="unbounded"> | |
| </xs:element> | |
| </xs:sequence> | |
| </xs:complexType> | |
| <xs:complexType name="protectionPolicyType"> | |
| <xs:sequence> | |
| <xs:element name="className" type="xs:string"> | |
| </xs:element> | |
| </xs:sequence> | |
| </xs:complexType> | |
| <xs:complexType name="targetType"> | |
| <xs:sequence> | |
| <xs:element name="className" type="xs:string"> | |
| </xs:element> | |
| </xs:sequence> | |
| </xs:complexType> | |
| </xs:schema> |