Grosse MàJ

This commit is contained in:
olivier
2008-11-25 22:11:16 +01:00
parent 53195fdfcd
commit 3e719157ea
2980 changed files with 343846 additions and 0 deletions

View File

@ -0,0 +1,402 @@
<!-- DTD for XML Schemas: Part 1: Structures
Public Identifier: "-//W3C//DTD XMLSCHEMA 200102//EN"
Official Location: http://www.w3.org/2001/XMLSchema.dtd -->
<!-- $Rev: 467222 $ $Date: 2006-10-24 05:17:11 +0200 (mar., 24 oct. 2006) $ -->
<!-- Note this DTD is NOT normative, or even definitive. --> <!--d-->
<!-- prose copy in the structures REC is the definitive version --> <!--d-->
<!-- (which shouldn't differ from this one except for this --> <!--d-->
<!-- comment and entity expansions, but just in case) --> <!--d-->
<!-- With the exception of cases with multiple namespace
prefixes for the XML Schema namespace, any XML document which is
not valid per this DTD given redefinitions in its internal subset of the
'p' and 's' parameter entities below appropriate to its namespace
declaration of the XML Schema namespace is almost certainly not
a valid schema. -->
<!-- The simpleType element and its constituent parts
are defined in XML Schema: Part 2: Datatypes -->
<!ENTITY % xs-datatypes PUBLIC 'datatypes' 'datatypes.dtd' >
<!ENTITY % p 'xs:'> <!-- can be overriden in the internal subset of a
schema document to establish a different
namespace prefix -->
<!ENTITY % s ':xs'> <!-- if %p is defined (e.g. as foo:) then you must
also define %s as the suffix for the appropriate
namespace declaration (e.g. :foo) -->
<!ENTITY % nds 'xmlns%s;'>
<!-- Define all the element names, with optional prefix -->
<!ENTITY % schema "%p;schema">
<!ENTITY % complexType "%p;complexType">
<!ENTITY % complexContent "%p;complexContent">
<!ENTITY % simpleContent "%p;simpleContent">
<!ENTITY % extension "%p;extension">
<!ENTITY % element "%p;element">
<!ENTITY % unique "%p;unique">
<!ENTITY % key "%p;key">
<!ENTITY % keyref "%p;keyref">
<!ENTITY % selector "%p;selector">
<!ENTITY % field "%p;field">
<!ENTITY % group "%p;group">
<!ENTITY % all "%p;all">
<!ENTITY % choice "%p;choice">
<!ENTITY % sequence "%p;sequence">
<!ENTITY % any "%p;any">
<!ENTITY % anyAttribute "%p;anyAttribute">
<!ENTITY % attribute "%p;attribute">
<!ENTITY % attributeGroup "%p;attributeGroup">
<!ENTITY % include "%p;include">
<!ENTITY % import "%p;import">
<!ENTITY % redefine "%p;redefine">
<!ENTITY % notation "%p;notation">
<!-- annotation elements -->
<!ENTITY % annotation "%p;annotation">
<!ENTITY % appinfo "%p;appinfo">
<!ENTITY % documentation "%p;documentation">
<!-- Customisation entities for the ATTLIST of each element type.
Define one of these if your schema takes advantage of the
anyAttribute='##other' in the schema for schemas -->
<!ENTITY % schemaAttrs ''>
<!ENTITY % complexTypeAttrs ''>
<!ENTITY % complexContentAttrs ''>
<!ENTITY % simpleContentAttrs ''>
<!ENTITY % extensionAttrs ''>
<!ENTITY % elementAttrs ''>
<!ENTITY % groupAttrs ''>
<!ENTITY % allAttrs ''>
<!ENTITY % choiceAttrs ''>
<!ENTITY % sequenceAttrs ''>
<!ENTITY % anyAttrs ''>
<!ENTITY % anyAttributeAttrs ''>
<!ENTITY % attributeAttrs ''>
<!ENTITY % attributeGroupAttrs ''>
<!ENTITY % uniqueAttrs ''>
<!ENTITY % keyAttrs ''>
<!ENTITY % keyrefAttrs ''>
<!ENTITY % selectorAttrs ''>
<!ENTITY % fieldAttrs ''>
<!ENTITY % includeAttrs ''>
<!ENTITY % importAttrs ''>
<!ENTITY % redefineAttrs ''>
<!ENTITY % notationAttrs ''>
<!ENTITY % annotationAttrs ''>
<!ENTITY % appinfoAttrs ''>
<!ENTITY % documentationAttrs ''>
<!ENTITY % complexDerivationSet "CDATA">
<!-- #all or space-separated list drawn from derivationChoice -->
<!ENTITY % blockSet "CDATA">
<!-- #all or space-separated list drawn from
derivationChoice + 'substitution' -->
<!ENTITY % mgs '%all; | %choice; | %sequence;'>
<!ENTITY % cs '%choice; | %sequence;'>
<!ENTITY % formValues '(qualified|unqualified)'>
<!ENTITY % attrDecls '((%attribute;| %attributeGroup;)*,(%anyAttribute;)?)'>
<!ENTITY % particleAndAttrs '((%mgs; | %group;)?, %attrDecls;)'>
<!-- This is used in part2 -->
<!ENTITY % restriction1 '((%mgs; | %group;)?)'>
%xs-datatypes;
<!-- the duplication below is to produce an unambiguous content model
which allows annotation everywhere -->
<!ELEMENT %schema; ((%include; | %import; | %redefine; | %annotation;)*,
((%simpleType; | %complexType;
| %element; | %attribute;
| %attributeGroup; | %group;
| %notation; ),
(%annotation;)*)* )>
<!ATTLIST %schema;
targetNamespace %URIref; #IMPLIED
version CDATA #IMPLIED
%nds; %URIref; #FIXED 'http://www.w3.org/2001/XMLSchema'
xmlns CDATA #IMPLIED
finalDefault %complexDerivationSet; ''
blockDefault %blockSet; ''
id ID #IMPLIED
elementFormDefault %formValues; 'unqualified'
attributeFormDefault %formValues; 'unqualified'
xml:lang CDATA #IMPLIED
%schemaAttrs;>
<!-- Note the xmlns declaration is NOT in the Schema for Schemas,
because at the Infoset level where schemas operate,
xmlns(:prefix) is NOT an attribute! -->
<!-- The declaration of xmlns is a convenience for schema authors -->
<!-- The id attribute here and below is for use in external references
from non-schemas using simple fragment identifiers.
It is NOT used for schema-to-schema reference, internal or
external. -->
<!-- a type is a named content type specification which allows attribute
declarations-->
<!-- -->
<!ELEMENT %complexType; ((%annotation;)?,
(%simpleContent;|%complexContent;|
%particleAndAttrs;))>
<!ATTLIST %complexType;
name %NCName; #IMPLIED
id ID #IMPLIED
abstract %boolean; #IMPLIED
final %complexDerivationSet; #IMPLIED
block %complexDerivationSet; #IMPLIED
mixed (true|false) 'false'
%complexTypeAttrs;>
<!-- particleAndAttrs is shorthand for a root type -->
<!-- mixed is disallowed if simpleContent, overriden if complexContent
has one too. -->
<!-- If anyAttribute appears in one or more referenced attributeGroups
and/or explicitly, the intersection of the permissions is used -->
<!ELEMENT %complexContent; ((%annotation;)?, (%restriction;|%extension;))>
<!ATTLIST %complexContent;
mixed (true|false) #IMPLIED
id ID #IMPLIED
%complexContentAttrs;>
<!-- restriction should use the branch defined above, not the simple
one from part2; extension should use the full model -->
<!ELEMENT %simpleContent; ((%annotation;)?, (%restriction;|%extension;))>
<!ATTLIST %simpleContent;
id ID #IMPLIED
%simpleContentAttrs;>
<!-- restriction should use the simple branch from part2, not the
one defined above; extension should have no particle -->
<!ELEMENT %extension; ((%annotation;)?, (%particleAndAttrs;))>
<!ATTLIST %extension;
base %QName; #REQUIRED
id ID #IMPLIED
%extensionAttrs;>
<!-- an element is declared by either:
a name and a type (either nested or referenced via the type attribute)
or a ref to an existing element declaration -->
<!ELEMENT %element; ((%annotation;)?, (%complexType;| %simpleType;)?,
(%unique; | %key; | %keyref;)*)>
<!-- simpleType or complexType only if no type|ref attribute -->
<!-- ref not allowed at top level -->
<!ATTLIST %element;
name %NCName; #IMPLIED
id ID #IMPLIED
ref %QName; #IMPLIED
type %QName; #IMPLIED
minOccurs %nonNegativeInteger; #IMPLIED
maxOccurs CDATA #IMPLIED
nillable %boolean; #IMPLIED
substitutionGroup %QName; #IMPLIED
abstract %boolean; #IMPLIED
final %complexDerivationSet; #IMPLIED
block %blockSet; #IMPLIED
default CDATA #IMPLIED
fixed CDATA #IMPLIED
form %formValues; #IMPLIED
%elementAttrs;>
<!-- type and ref are mutually exclusive.
name and ref are mutually exclusive, one is required -->
<!-- In the absence of type AND ref, type defaults to type of
substitutionGroup, if any, else the ur-type, i.e. unconstrained -->
<!-- default and fixed are mutually exclusive -->
<!ELEMENT %group; ((%annotation;)?,(%mgs;)?)>
<!ATTLIST %group;
name %NCName; #IMPLIED
ref %QName; #IMPLIED
minOccurs %nonNegativeInteger; #IMPLIED
maxOccurs CDATA #IMPLIED
id ID #IMPLIED
%groupAttrs;>
<!ELEMENT %all; ((%annotation;)?, (%element;)*)>
<!ATTLIST %all;
minOccurs (1) #IMPLIED
maxOccurs (1) #IMPLIED
id ID #IMPLIED
%allAttrs;>
<!ELEMENT %choice; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
<!ATTLIST %choice;
minOccurs %nonNegativeInteger; #IMPLIED
maxOccurs CDATA #IMPLIED
id ID #IMPLIED
%choiceAttrs;>
<!ELEMENT %sequence; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
<!ATTLIST %sequence;
minOccurs %nonNegativeInteger; #IMPLIED
maxOccurs CDATA #IMPLIED
id ID #IMPLIED
%sequenceAttrs;>
<!-- an anonymous grouping in a model, or
a top-level named group definition, or a reference to same -->
<!-- Note that if order is 'all', group is not allowed inside.
If order is 'all' THIS group must be alone (or referenced alone) at
the top level of a content model -->
<!-- If order is 'all', minOccurs==maxOccurs==1 on element/any inside -->
<!-- Should allow minOccurs=0 inside order='all' . . . -->
<!ELEMENT %any; (%annotation;)?>
<!ATTLIST %any;
namespace CDATA '##any'
processContents (skip|lax|strict) 'strict'
minOccurs %nonNegativeInteger; '1'
maxOccurs CDATA '1'
id ID #IMPLIED
%anyAttrs;>
<!-- namespace is interpreted as follows:
##any - - any non-conflicting WFXML at all
##other - - any non-conflicting WFXML from namespace other
than targetNamespace
##local - - any unqualified non-conflicting WFXML/attribute
one or - - any non-conflicting WFXML from
more URI the listed namespaces
references
##targetNamespace ##local may appear in the above list,
with the obvious meaning -->
<!ELEMENT %anyAttribute; (%annotation;)?>
<!ATTLIST %anyAttribute;
namespace CDATA '##any'
processContents (skip|lax|strict) 'strict'
id ID #IMPLIED
%anyAttributeAttrs;>
<!-- namespace is interpreted as for 'any' above -->
<!-- simpleType only if no type|ref attribute -->
<!-- ref not allowed at top level, name iff at top level -->
<!ELEMENT %attribute; ((%annotation;)?, (%simpleType;)?)>
<!ATTLIST %attribute;
name %NCName; #IMPLIED
id ID #IMPLIED
ref %QName; #IMPLIED
type %QName; #IMPLIED
use (prohibited|optional|required) #IMPLIED
default CDATA #IMPLIED
fixed CDATA #IMPLIED
form %formValues; #IMPLIED
%attributeAttrs;>
<!-- type and ref are mutually exclusive.
name and ref are mutually exclusive, one is required -->
<!-- default for use is optional when nested, none otherwise -->
<!-- default and fixed are mutually exclusive -->
<!-- type attr and simpleType content are mutually exclusive -->
<!-- an attributeGroup is a named collection of attribute decls, or a
reference thereto -->
<!ELEMENT %attributeGroup; ((%annotation;)?,
(%attribute; | %attributeGroup;)*,
(%anyAttribute;)?) >
<!ATTLIST %attributeGroup;
name %NCName; #IMPLIED
id ID #IMPLIED
ref %QName; #IMPLIED
%attributeGroupAttrs;>
<!-- ref iff no content, no name. ref iff not top level -->
<!-- better reference mechanisms -->
<!ELEMENT %unique; ((%annotation;)?, %selector;, (%field;)+)>
<!ATTLIST %unique;
name %NCName; #REQUIRED
id ID #IMPLIED
%uniqueAttrs;>
<!ELEMENT %key; ((%annotation;)?, %selector;, (%field;)+)>
<!ATTLIST %key;
name %NCName; #REQUIRED
id ID #IMPLIED
%keyAttrs;>
<!ELEMENT %keyref; ((%annotation;)?, %selector;, (%field;)+)>
<!ATTLIST %keyref;
name %NCName; #REQUIRED
refer %QName; #REQUIRED
id ID #IMPLIED
%keyrefAttrs;>
<!ELEMENT %selector; ((%annotation;)?)>
<!ATTLIST %selector;
xpath %XPathExpr; #REQUIRED
id ID #IMPLIED
%selectorAttrs;>
<!ELEMENT %field; ((%annotation;)?)>
<!ATTLIST %field;
xpath %XPathExpr; #REQUIRED
id ID #IMPLIED
%fieldAttrs;>
<!-- Schema combination mechanisms -->
<!ELEMENT %include; (%annotation;)?>
<!ATTLIST %include;
schemaLocation %URIref; #REQUIRED
id ID #IMPLIED
%includeAttrs;>
<!ELEMENT %import; (%annotation;)?>
<!ATTLIST %import;
namespace %URIref; #IMPLIED
schemaLocation %URIref; #IMPLIED
id ID #IMPLIED
%importAttrs;>
<!ELEMENT %redefine; (%annotation; | %simpleType; | %complexType; |
%attributeGroup; | %group;)*>
<!ATTLIST %redefine;
schemaLocation %URIref; #REQUIRED
id ID #IMPLIED
%redefineAttrs;>
<!ELEMENT %notation; (%annotation;)?>
<!ATTLIST %notation;
name %NCName; #REQUIRED
id ID #IMPLIED
public CDATA #REQUIRED
system %URIref; #IMPLIED
%notationAttrs;>
<!-- Annotation is either application information or documentation -->
<!-- By having these here they are available for datatypes as well
as all the structures elements -->
<!ELEMENT %annotation; (%appinfo; | %documentation;)*>
<!ATTLIST %annotation; %annotationAttrs;>
<!-- User must define annotation elements in internal subset for this
to work -->
<!ELEMENT %appinfo; ANY> <!-- too restrictive -->
<!ATTLIST %appinfo;
source %URIref; #IMPLIED
id ID #IMPLIED
%appinfoAttrs;>
<!ELEMENT %documentation; ANY> <!-- too restrictive -->
<!ATTLIST %documentation;
source %URIref; #IMPLIED
id ID #IMPLIED
xml:lang CDATA #IMPLIED
%documentationAttrs;>
<!NOTATION XMLSchemaStructures PUBLIC
'structures' 'http://www.w3.org/2001/XMLSchema.xsd' >
<!NOTATION XML PUBLIC
'REC-xml-1998-0210' 'http://www.w3.org/TR/1998/REC-xml-19980210' >

View File

@ -0,0 +1,219 @@
<!--
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.
-->
<!--
DTD for XML Schemas: Part 2: Datatypes
$Id: datatypes.dtd 467222 2006-10-24 03:17:11Z markt $
Note this DTD is NOT normative, or even definitive. - - the
prose copy in the datatypes REC is the definitive version
(which shouldn't differ from this one except for this comment
and entity expansions, but just in case)
-->
<!--
This DTD cannot be used on its own, it is intended
only for incorporation in XMLSchema.dtd, q.v.
-->
<!-- Define all the element names, with optional prefix -->
<!ENTITY % simpleType "%p;simpleType">
<!ENTITY % restriction "%p;restriction">
<!ENTITY % list "%p;list">
<!ENTITY % union "%p;union">
<!ENTITY % maxExclusive "%p;maxExclusive">
<!ENTITY % minExclusive "%p;minExclusive">
<!ENTITY % maxInclusive "%p;maxInclusive">
<!ENTITY % minInclusive "%p;minInclusive">
<!ENTITY % totalDigits "%p;totalDigits">
<!ENTITY % fractionDigits "%p;fractionDigits">
<!ENTITY % length "%p;length">
<!ENTITY % minLength "%p;minLength">
<!ENTITY % maxLength "%p;maxLength">
<!ENTITY % enumeration "%p;enumeration">
<!ENTITY % whiteSpace "%p;whiteSpace">
<!ENTITY % pattern "%p;pattern">
<!--
Customisation entities for the ATTLIST of each element
type. Define one of these if your schema takes advantage
of the anyAttribute='##other' in the schema for schemas
-->
<!ENTITY % simpleTypeAttrs "">
<!ENTITY % restrictionAttrs "">
<!ENTITY % listAttrs "">
<!ENTITY % unionAttrs "">
<!ENTITY % maxExclusiveAttrs "">
<!ENTITY % minExclusiveAttrs "">
<!ENTITY % maxInclusiveAttrs "">
<!ENTITY % minInclusiveAttrs "">
<!ENTITY % totalDigitsAttrs "">
<!ENTITY % fractionDigitsAttrs "">
<!ENTITY % lengthAttrs "">
<!ENTITY % minLengthAttrs "">
<!ENTITY % maxLengthAttrs "">
<!ENTITY % enumerationAttrs "">
<!ENTITY % whiteSpaceAttrs "">
<!ENTITY % patternAttrs "">
<!-- Define some entities for informative use as attribute
types -->
<!ENTITY % URIref "CDATA">
<!ENTITY % XPathExpr "CDATA">
<!ENTITY % QName "NMTOKEN">
<!ENTITY % QNames "NMTOKENS">
<!ENTITY % NCName "NMTOKEN">
<!ENTITY % nonNegativeInteger "NMTOKEN">
<!ENTITY % boolean "(true|false)">
<!ENTITY % simpleDerivationSet "CDATA">
<!--
#all or space-separated list drawn from derivationChoice
-->
<!--
Note that the use of 'facet' below is less restrictive
than is really intended: There should in fact be no
more than one of each of minInclusive, minExclusive,
maxInclusive, maxExclusive, totalDigits, fractionDigits,
length, maxLength, minLength within datatype,
and the min- and max- variants of Inclusive and Exclusive
are mutually exclusive. On the other hand, pattern and
enumeration may repeat.
-->
<!ENTITY % minBound "(%minInclusive; | %minExclusive;)">
<!ENTITY % maxBound "(%maxInclusive; | %maxExclusive;)">
<!ENTITY % bounds "%minBound; | %maxBound;">
<!ENTITY % numeric "%totalDigits; | %fractionDigits;">
<!ENTITY % ordered "%bounds; | %numeric;">
<!ENTITY % unordered
"%pattern; | %enumeration; | %whiteSpace; | %length; |
%maxLength; | %minLength;">
<!ENTITY % facet "%ordered; | %unordered;">
<!ENTITY % facetAttr
"value CDATA #REQUIRED
id ID #IMPLIED">
<!ENTITY % fixedAttr "fixed %boolean; #IMPLIED">
<!ENTITY % facetModel "(%annotation;)?">
<!ELEMENT %simpleType;
((%annotation;)?, (%restriction; | %list; | %union;))>
<!ATTLIST %simpleType;
name %NCName; #IMPLIED
final %simpleDerivationSet; #IMPLIED
id ID #IMPLIED
%simpleTypeAttrs;>
<!-- name is required at top level -->
<!ELEMENT %restriction; ((%annotation;)?,
(%restriction1; |
((%simpleType;)?,(%facet;)*)),
(%attrDecls;))>
<!ATTLIST %restriction;
base %QName; #IMPLIED
id ID #IMPLIED
%restrictionAttrs;>
<!--
base and simpleType child are mutually exclusive,
one is required.
restriction is shared between simpleType and
simpleContent and complexContent (in XMLSchema.xsd).
restriction1 is for the latter cases, when this
is restricting a complex type, as is attrDecls.
-->
<!ELEMENT %list; ((%annotation;)?,(%simpleType;)?)>
<!ATTLIST %list;
itemType %QName; #IMPLIED
id ID #IMPLIED
%listAttrs;>
<!--
itemType and simpleType child are mutually exclusive,
one is required
-->
<!ELEMENT %union; ((%annotation;)?,(%simpleType;)*)>
<!ATTLIST %union;
id ID #IMPLIED
memberTypes %QNames; #IMPLIED
%unionAttrs;>
<!--
At least one item in memberTypes or one simpleType
child is required
-->
<!ELEMENT %maxExclusive; %facetModel;>
<!ATTLIST %maxExclusive;
%facetAttr;
%fixedAttr;
%maxExclusiveAttrs;>
<!ELEMENT %minExclusive; %facetModel;>
<!ATTLIST %minExclusive;
%facetAttr;
%fixedAttr;
%minExclusiveAttrs;>
<!ELEMENT %maxInclusive; %facetModel;>
<!ATTLIST %maxInclusive;
%facetAttr;
%fixedAttr;
%maxInclusiveAttrs;>
<!ELEMENT %minInclusive; %facetModel;>
<!ATTLIST %minInclusive;
%facetAttr;
%fixedAttr;
%minInclusiveAttrs;>
<!ELEMENT %totalDigits; %facetModel;>
<!ATTLIST %totalDigits;
%facetAttr;
%fixedAttr;
%totalDigitsAttrs;>
<!ELEMENT %fractionDigits; %facetModel;>
<!ATTLIST %fractionDigits;
%facetAttr;
%fixedAttr;
%fractionDigitsAttrs;>
<!ELEMENT %length; %facetModel;>
<!ATTLIST %length;
%facetAttr;
%fixedAttr;
%lengthAttrs;>
<!ELEMENT %minLength; %facetModel;>
<!ATTLIST %minLength;
%facetAttr;
%fixedAttr;
%minLengthAttrs;>
<!ELEMENT %maxLength; %facetModel;>
<!ATTLIST %maxLength;
%facetAttr;
%fixedAttr;
%maxLengthAttrs;>
<!-- This one can be repeated -->
<!ELEMENT %enumeration; %facetModel;>
<!ATTLIST %enumeration;
%facetAttr;
%enumerationAttrs;>
<!ELEMENT %whiteSpace; %facetModel;>
<!ATTLIST %whiteSpace;
%facetAttr;
%fixedAttr;
%whiteSpaceAttrs;>
<!-- This one can be repeated -->
<!ELEMENT %pattern; %facetModel;>
<!ATTLIST %pattern;
%facetAttr;
%patternAttrs;>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,505 @@
<?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.
-->
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://java.sun.com/xml/ns/j2ee"
xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.1">
<xsd:annotation>
<xsd:documentation>
@(#)j2ee_web_services_1_1.xsds 1.11 02/11/03
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
Road, Palo Alto, California 94303, U.S.A. All rights
reserved.
Sun Microsystems, Inc. has intellectual property rights
relating to technology described in this document. In
particular, and without limitation, these intellectual
property rights may include one or more of the U.S. patents
listed at http://www.sun.com/patents and one or more
additional patents or pending patent applications in the
U.S. and other countries.
This document and the technology which it describes are
distributed under licenses restricting their use, copying,
distribution, and decompilation. No part of this document
may be reproduced in any form by any means without prior
written authorization of Sun and its licensors, if any.
Third-party software, including font technology, is
copyrighted and licensed from Sun suppliers.
Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
JavaServer Pages, Enterprise JavaBeans and the Java Coffee
Cup logo are trademarks or registered trademarks of Sun
Microsystems, Inc. in the U.S. and other countries.
Federal Acquisitions: Commercial Software - Government Users
Subject to Standard License Terms and Conditions.
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
(C) Copyright International Business Machines Corporation 2002
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<![CDATA[
The webservices element is the root element for the web services
deployment descriptor. It specifies the set of web service
descriptions that are to be deployed into the J2EE Application
Server and the dependencies they have on container resources and
services. The deployment descriptor must be named
"META-INF/webservices.xml" in the web services' jar file.
Used in: webservices.xml
All webservices deployment descriptors must indicate the
webservices schema by using the J2EE namespace:
http://java.sun.com/xml/ns/j2ee
and by indicating the version of the schema by using the version
element as shown below:
<webservices xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd"
version="1.1">
...
</webservices>
The instance documents may indicate the published version of the
schema using the xsi:schemaLocation attribute for the J2EE
namespace with the following location:
http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
The following conventions apply to all J2EE
deployment descriptor elements unless indicated otherwise.
- In elements that specify a pathname to a file within the
same JAR file, relative filenames (i.e., those not
starting with "/") are considered relative to the root of
the JAR file's namespace. Absolute filenames (i.e., those
starting with "/") also specify names in the root of the
JAR file's namespace. In general, relative names are
preferred. The exception is .war files where absolute
names are preferred for consistency with the Servlet API.
</xsd:documentation>
</xsd:annotation>
<xsd:include schemaLocation="j2ee_1_4.xsd"/>
<!-- **************************************************** -->
<xsd:element name="webservices" type="j2ee:webservicesType">
<xsd:annotation>
<xsd:documentation>
The webservices element is the root element for the web services
deployment descriptor. It specifies the set of web service
descriptions that are to be deployed into the J2EE Application Server
and the dependencies they have on container resources and services.
Used in: webservices.xml
</xsd:documentation>
</xsd:annotation>
<xsd:key name="webservice-description-name-key">
<xsd:annotation>
<xsd:documentation>
The webservice-description-name identifies the collection of
port-components associated with a WSDL file and JAX-RPC mapping. The
name must be unique within the deployment descriptor.
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="j2ee:webservice-description"/>
<xsd:field xpath="j2ee:webservice-description-name"/>
</xsd:key>
</xsd:element>
<!-- **************************************************** -->
<xsd:complexType name="port-componentType">
<xsd:annotation>
<xsd:documentation>
The port-component element associates a WSDL port with a web service
interface and implementation. It defines the name of the port as a
component, optional description, optional display name, optional iconic
representations, WSDL port QName, Service Endpoint Interface, Service
Implementation Bean.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="description"
type="j2ee:descriptionType"
minOccurs="0" maxOccurs="1"/>
<xsd:element name="display-name"
type="j2ee:display-nameType"
minOccurs="0" maxOccurs="1"/>
<xsd:element name="icon"
type="j2ee:iconType"
minOccurs="0" maxOccurs="1"/>
<xsd:element name="port-component-name"
type="j2ee:string">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
The port-component-name element specifies a port component's
name. This name is assigned by the module producer to name
the service implementation bean in the module's deployment
descriptor. The name must be unique among the port component
names defined in the same module.
Used in: port-component
Example:
<port-component-name>EmployeeService
</port-component-name>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="wsdl-port"
type="j2ee:xsdQNameType">
<xsd:annotation>
<xsd:documentation>
Defines the name space and local name part of the WSDL port QName.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="service-endpoint-interface"
type="j2ee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
The service-endpoint-interface element contains the
fully-qualified name of the port component's Service Endpoint
Interface.
Used in: port-component
Example:
<remote>com.wombat.empl.EmployeeService</remote>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="service-impl-bean"
type="j2ee:service-impl-beanType"/>
<xsd:element name="handler"
type="j2ee:port-component_handlerType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="port-component_handlerType">
<xsd:annotation>
<xsd:documentation>
Declares the handler for a port-component. Handlers can access the
init-param name/value pairs using the HandlerInfo interface.
Used in: port-component
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="j2ee:descriptionGroup"/>
<xsd:element name="handler-name"
type="j2ee:string">
<xsd:annotation>
<xsd:documentation>
Defines the name of the handler. The name must be unique within the
module.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="handler-class"
type="j2ee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
Defines a fully qualified class name for the handler implementation.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="init-param"
type="j2ee:param-valueType"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="soap-header"
type="j2ee:xsdQNameType"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
Defines the QName of a SOAP header that will be processed by the
handler.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="soap-role"
type="j2ee:string"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The soap-role element contains a SOAP actor definition that the
Handler will play as a role.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="service-impl-beanType">
<xsd:annotation>
<xsd:documentation>
The service-impl-bean element defines the web service implementation.
A service implementation can be an EJB bean class or JAX-RPC web
component. Existing EJB implementations are exposed as a web service
using an ejb-link.
Used in: port-component
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="ejb-link"
type="j2ee:ejb-linkType"/>
<xsd:element name="servlet-link"
type="j2ee:servlet-linkType"/>
</xsd:choice>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="servlet-linkType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
The servlet-link element is used in the service-impl-bean element
to specify that a Service Implementation Bean is defined as a
JAX-RPC Service Endpoint.
The value of the servlet-link element must be the servlet-name of
a JAX-RPC Service Endpoint in the same WAR file.
Used in: service-impl-bean
Example:
<servlet-link>StockQuoteService</servlet-link>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="j2ee:string"/>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="webservice-descriptionType">
<xsd:annotation>
<xsd:documentation>
The webservice-description element defines a WSDL document file
and the set of Port components associated with the WSDL ports
defined in the WSDL document. There may be multiple
webservice-descriptions defined within a module.
All WSDL file ports must have a corresponding port-component element
defined.
Used in: webservices
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="description"
type="j2ee:descriptionType"
minOccurs="0" maxOccurs="1"/>
<xsd:element name="display-name"
type="j2ee:display-nameType"
minOccurs="0" maxOccurs="1"/>
<xsd:element name="icon"
type="j2ee:iconType"
minOccurs="0" maxOccurs="1"/>
<xsd:element name="webservice-description-name"
type="j2ee:string">
<xsd:annotation>
<xsd:documentation>
The webservice-description-name identifies the collection of
port-components associated with a WSDL file and JAX-RPC
mapping. The name must be unique within the deployment descriptor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="wsdl-file"
type="j2ee:pathType">
<xsd:annotation>
<xsd:documentation>
The wsdl-file element contains the name of a WSDL file in the
module. The file name is a relative path within the module.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="jaxrpc-mapping-file"
type="j2ee:pathType">
<xsd:annotation>
<xsd:documentation>
The jaxrpc-mapping-file element contains the name of a file that
describes the JAX-RPC mapping between the Java interaces used by
the application and the WSDL description in the wsdl-file. The
file name is a relative path within the module.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="port-component"
type="j2ee:port-componentType"
minOccurs="1" maxOccurs="unbounded">
<xsd:key name="port-component_handler-name-key">
<xsd:annotation>
<xsd:documentation>
Defines the name of the handler. The name must be unique
within the module.
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="j2ee:handler"/>
<xsd:field xpath="j2ee:handler-name"/>
</xsd:key>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="webservicesType">
<xsd:sequence>
<xsd:group ref="j2ee:descriptionGroup"/>
<xsd:element name="webservice-description"
type="j2ee:webservice-descriptionType"
minOccurs="1" maxOccurs="unbounded">
<xsd:key name="port-component-name-key">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
The port-component-name element specifies a port
component's name. This name is assigned by the module
producer to name the service implementation bean in the
module's deployment descriptor. The name must be unique
among the port component names defined in the same module.
Used in: port-component
Example:
<port-component-name>EmployeeService
</port-component-name>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="j2ee:port-component"/>
<xsd:field xpath="j2ee:port-component-name"/>
</xsd:key>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="version"
type="j2ee:dewey-versionType"
fixed="1.1"
use="required">
<xsd:annotation>
<xsd:documentation>
The required value for the version is 1.1.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
</xsd:schema>

View File

@ -0,0 +1,359 @@
<?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.
-->
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://java.sun.com/xml/ns/j2ee"
xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.1">
<xsd:annotation>
<xsd:documentation>
@(#)j2ee_web_services_client_1_1.xsds 1.10 02/11/03
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
Road, Palo Alto, California 94303, U.S.A. All rights
reserved.
Sun Microsystems, Inc. has intellectual property rights
relating to technology described in this document. In
particular, and without limitation, these intellectual
property rights may include one or more of the U.S. patents
listed at http://www.sun.com/patents and one or more
additional patents or pending patent applications in the
U.S. and other countries.
This document and the technology which it describes are
distributed under licenses restricting their use, copying,
distribution, and decompilation. No part of this document
may be reproduced in any form by any means without prior
written authorization of Sun and its licensors, if any.
Third-party software, including font technology, is
copyrighted and licensed from Sun suppliers.
Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
JavaServer Pages, Enterprise JavaBeans and the Java Coffee
Cup logo are trademarks or registered trademarks of Sun
Microsystems, Inc. in the U.S. and other countries.
Federal Acquisitions: Commercial Software - Government Users
Subject to Standard License Terms and Conditions.
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
(C) Copyright International Business Machines Corporation 2002
</xsd:documentation>
</xsd:annotation>
<!-- **************************************************** -->
<xsd:complexType name="port-component-refType">
<xsd:annotation>
<xsd:documentation>
The port-component-ref element declares a client dependency
on the container for resolving a Service Endpoint Interface
to a WSDL port. It optionally associates the Service Endpoint
Interface with a particular port-component. This is only used
by the container for a Service.getPort(Class) method call.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="service-endpoint-interface"
type="j2ee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
The service-endpoint-interface element defines a fully qualified
Java class that represents the Service Endpoint Interface of a
WSDL port.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="port-component-link"
type="j2ee:string"
minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The port-component-link element links a port-component-ref
to a specific port-component required to be made available
by a service reference.
The value of a port-component-link must be the
port-component-name of a port-component in the same module
or another module in the same application unit. The syntax
for specification follows the syntax defined for ejb-link
in the EJB 2.0 specification.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:group name="service-refGroup">
<xsd:sequence>
<xsd:element name="service-ref"
type="j2ee:service-refType"
minOccurs="0" maxOccurs="unbounded">
<xsd:key name="service-ref_handler-name-key">
<xsd:annotation>
<xsd:documentation>
Defines the name of the handler. The name must be unique
within the module.
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="j2ee:handler"/>
<xsd:field xpath="j2ee:handler-name"/>
</xsd:key>
</xsd:element>
</xsd:sequence>
</xsd:group>
<!-- **************************************************** -->
<xsd:complexType name="service-refType">
<xsd:annotation>
<xsd:documentation>
The service-ref element declares a reference to a Web
service. It contains optional description, display name and
icons, a declaration of the required Service interface,
an optional WSDL document location, an optional set
of JAX-RPC mappings, an optional QName for the service element,
an optional set of Service Endpoint Interfaces to be resolved
by the container to a WSDL port, and an optional set of handlers.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="j2ee:descriptionGroup"/>
<xsd:element name="service-ref-name"
type="j2ee:jndi-nameType">
<xsd:annotation>
<xsd:documentation>
The service-ref-name element declares logical name that the
components in the module use to look up the Web service. It
is recommended that all service reference names start with
"service/".
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="service-interface"
type="j2ee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
The service-interface element declares the fully qualified class
name of the JAX-RPC Service interface the client depends on.
In most cases the value will be javax.xml.rpc.Service. A JAX-RPC
generated Service Interface class may also be specified.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="wsdl-file"
type="j2ee:xsdAnyURIType"
minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The wsdl-file element contains the URI location of a WSDL
file. The location is relative to the root of the module.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="jaxrpc-mapping-file"
type="j2ee:pathType"
minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The jaxrpc-mapping-file element contains the name of a file that
describes the JAX-RPC mapping between the Java interaces used by
the application and the WSDL description in the wsdl-file. The
file name is a relative path within the module file.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="service-qname"
type="j2ee:xsdQNameType"
minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The service-qname element declares the specific WSDL service
element that is being refered to. It is not specified if no
wsdl-file is declared.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="port-component-ref"
type="j2ee:port-component-refType"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The port-component-ref element declares a client dependency
on the container for resolving a Service Endpoint Interface
to a WSDL port. It optionally associates the Service Endpoint
Interface with a particular port-component. This is only used
by the container for a Service.getPort(Class) method call.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="handler"
type="j2ee:service-ref_handlerType"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
Declares the handler for a port-component. Handlers can
access the init-param name/value pairs using the
HandlerInfo interface. If port-name is not specified, the
handler is assumed to be associated with all ports of the
service.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="service-ref_handlerType">
<xsd:annotation>
<xsd:documentation>
Declares the handler for a port-component. Handlers can access the
init-param name/value pairs using the HandlerInfo interface. If
port-name is not specified, the handler is assumed to be associated
with all ports of the service.
Used in: service-ref
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="j2ee:descriptionGroup"/>
<xsd:element name="handler-name"
type="j2ee:string">
<xsd:annotation>
<xsd:documentation>
Defines the name of the handler. The name must be unique
within the module.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="handler-class"
type="j2ee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
Defines a fully qualified class name for the handler
implementation.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="init-param"
type="j2ee:param-valueType"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="soap-header"
type="j2ee:xsdQNameType"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
Defines the QName of a SOAP header that will be processed
by the handler.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="soap-role"
type="j2ee:string"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The soap-role element contains a SOAP actor definition that
the Handler will play as a role.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="port-name"
type="j2ee:string"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The port-name element defines the WSDL port-name that a
handler should be associated with.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
</xsd:schema>

View File

@ -0,0 +1,581 @@
<!--
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.
-->
<!--
The web-app element is the root of the deployment descriptor for
a web application
-->
<!ELEMENT web-app (icon?, display-name?, description?, distributable?,
context-param*, servlet*, servlet-mapping*, session-config?,
mime-mapping*, welcome-file-list?, error-page*, taglib*,
resource-ref*, security-constraint*, login-config?, security-role*,
env-entry*, ejb-ref*)>
<!--
The icon element contains a small-icon and a large-icon element
which specify the location within the web application for a small and
large image used to represent the web application in a GUI tool. At a
minimum, tools must accept GIF and JPEG format images.
-->
<!ELEMENT icon (small-icon?, large-icon?)>
<!--
The small-icon element contains the location within the web
application of a file containing a small (16x16 pixel) icon image.
-->
<!ELEMENT small-icon (#PCDATA)>
<!--
The large-icon element contains the location within the web
application of a file containing a large (32x32 pixel) icon image.
-->
<!ELEMENT large-icon (#PCDATA)>
<!--
The display-name element contains a short name that is intended
to be displayed by GUI tools
-->
<!ELEMENT display-name (#PCDATA)>
<!--
The description element is used to provide descriptive text about
the parent element.
-->
<!ELEMENT description (#PCDATA)>
<!--
The distributable element, by its presence in a web application
deployment descriptor, indicates that this web application is
programmed appropriately to be deployed into a distributed servlet
container
-->
<!ELEMENT distributable EMPTY>
<!--
The context-param element contains the declaration of a web
application's servlet context initialization parameters.
-->
<!ELEMENT context-param (param-name, param-value, description?)>
<!--
The param-name element contains the name of a parameter.
-->
<!ELEMENT param-name (#PCDATA)>
<!--
The param-value element contains the value of a parameter.
-->
<!ELEMENT param-value (#PCDATA)>
<!--
The servlet element contains the declarative data of a
servlet. If a jsp-file is specified and the load-on-startup element is
present, then the JSP should be precompiled and loaded.
-->
<!ELEMENT servlet (icon?, servlet-name, display-name?, description?,
(servlet-class|jsp-file), init-param*, load-on-startup?, security-role-ref*)>
<!--
The servlet-name element contains the canonical name of the
servlet.
-->
<!ELEMENT servlet-name (#PCDATA)>
<!--
The servlet-class element contains the fully qualified class name
of the servlet.
-->
<!ELEMENT servlet-class (#PCDATA)>
<!--
The jsp-file element contains the full path to a JSP file within
the web application.
-->
<!ELEMENT jsp-file (#PCDATA)>
<!--
The init-param element contains a name/value pair as an
initialization param of the servlet
-->
<!ELEMENT init-param (param-name, param-value, description?)>
<!--
The load-on-startup element indicates that this servlet should be
loaded on the startup of the web application. The optional contents of
these element must be a positive integer indicating the order in which
the servlet should be loaded. Lower integers are loaded before higher
integers. If no value is specified, or if the value specified is not a
positive integer, the container is free to load it at any time in the
startup sequence.
-->
<!ELEMENT load-on-startup (#PCDATA)>
<!--
The servlet-mapping element defines a mapping between a servlet
and a url pattern
-->
<!ELEMENT servlet-mapping (servlet-name, url-pattern)>
<!--
The url-pattern element contains the url pattern of the
mapping. Must follow the rules specified in Section 10 of the Servlet
API Specification.
-->
<!ELEMENT url-pattern (#PCDATA)>
<!--
The session-config element defines the session parameters for
this web application.
-->
<!ELEMENT session-config (session-timeout?)>
<!--
The session-timeout element defines the default session timeout
interval for all sessions created in this web application. The
specified timeout must be expressed in a whole number of minutes.
-->
<!ELEMENT session-timeout (#PCDATA)>
<!--
The mime-mapping element defines a mapping between an extension
and a mime type.
-->
<!ELEMENT mime-mapping (extension, mime-type)>
<!--
The extension element contains a string describing an
extension. example: "txt"
-->
<!ELEMENT extension (#PCDATA)>
<!--
The mime-type element contains a defined mime type. example:
"text/plain"
-->
<!ELEMENT mime-type (#PCDATA)>
<!--
The welcome-file-list contains an ordered list of welcome files
elements.
-->
<!ELEMENT welcome-file-list (welcome-file+)>
<!--
The welcome-file element contains file name to use as a default
welcome file, such as index.html
-->
<!ELEMENT welcome-file (#PCDATA)>
<!--
The taglib element is used to describe a JSP tag library.
-->
<!ELEMENT taglib (taglib-uri, taglib-location)>
<!--
The taglib-uri element describes a URI, relative to the location
of the web.xml document, identifying a Tag Library used in the Web
Application.
-->
<!ELEMENT taglib-uri (#PCDATA)>
<!--
the taglib-location element contains the location (as a resource
relative to the root of the web application) where to find the Tag
Libary Description file for the tag library.
-->
<!ELEMENT taglib-location (#PCDATA)>
<!--
The error-page element contains a mapping between an error code
or exception type to the path of a resource in the web application
-->
<!ELEMENT error-page ((error-code | exception-type), location)>
<!--
The error-code contains an HTTP error code, ex: 404
-->
<!ELEMENT error-code (#PCDATA)>
<!--
The exception type contains a fully qualified class name of a
Java exception type.
-->
<!ELEMENT exception-type (#PCDATA)>
<!--
The location element contains the location of the resource in the
web application
-->
<!ELEMENT location (#PCDATA)>
<!--
The resource-ref element contains a declaration of a Web
Application's reference to an external resource.
-->
<!ELEMENT resource-ref (description?, res-ref-name, res-type, res-auth)>
<!--
The res-ref-name element specifies the name of the resource
factory reference name.
-->
<!ELEMENT res-ref-name (#PCDATA)>
<!--
The res-type element specifies the (Java class) type of the data
source.
-->
<!ELEMENT res-type (#PCDATA)>
<!--
The res-auth element indicates whether the application component
code performs resource signon programmatically or whether the
container signs onto the resource based on the principle mapping
information supplied by the deployer. Must be CONTAINER or SERVLET
-->
<!ELEMENT res-auth (#PCDATA)>
<!--
The security-constraint element is used to associate security
constraints with one or more web resource collections
-->
<!ELEMENT security-constraint (web-resource-collection+,
auth-constraint?, user-data-constraint?)>
<!--
The web-resource-collection element is used to identify a subset
of the resources and HTTP methods on those resources within a web
application to which a security constraint applies. If no HTTP methods
are specified, then the security constraint applies to all HTTP
methods.
-->
<!ELEMENT web-resource-collection (web-resource-name, description?,
url-pattern*, http-method*)>
<!--
The web-resource-name contains the name of this web resource
collection
-->
<!ELEMENT web-resource-name (#PCDATA)>
<!--
The http-method contains an HTTP method (GET | POST |...)
-->
<!ELEMENT http-method (#PCDATA)>
<!--
The user-data-constraint element is used to indicate how data
communicated between the client and container should be protected
-->
<!ELEMENT user-data-constraint (description?, transport-guarantee)>
<!--
The transport-guarantee element specifies that the communication
between client and server should be NONE, INTEGRAL, or
CONFIDENTIAL. NONE means that the application does not require any
transport guarantees. A value of INTEGRAL means that the application
requires that the data sent between the client and server be sent in
such a way that it can't be changed in transit. CONFIDENTIAL means
that the application requires that the data be transmitted in a
fashion that prevents other entities from observing the contents of
the transmission. In most cases, the presence of the INTEGRAL or
CONFIDENTIAL flag will indicate that the use of SSL is required.
-->
<!ELEMENT transport-guarantee (#PCDATA)>
<!--
The auth-constraint element indicates the user roles that should
be permitted access to this resource collection. The role used here
must appear in a security-role-ref element.
-->
<!ELEMENT auth-constraint (description?, role-name*)>
<!--
The role-name element contains the name of a security role.
-->
<!ELEMENT role-name (#PCDATA)>
<!--
The login-config element is used to configure the authentication
method that should be used, the realm name that should be used for
this application, and the attributes that are needed by the form login
mechanism.
-->
<!ELEMENT login-config (auth-method?, realm-name?, form-login-config?)>
<!--
The realm name element specifies the realm name to use in HTTP
Basic authorization
-->
<!ELEMENT realm-name (#PCDATA)>
<!--
The form-login-config element specifies the login and error pages
that should be used in form based login. If form based authentication
is not used, these elements are ignored.
-->
<!ELEMENT form-login-config (form-login-page, form-error-page)>
<!--
The form-login-page element defines the location in the web app
where the page that can be used for login can be found
-->
<!ELEMENT form-login-page (#PCDATA)>
<!--
The form-error-page element defines the location in the web app
where the error page that is displayed when login is not successful
can be found
-->
<!ELEMENT form-error-page (#PCDATA)>
<!--
The auth-method element is used to configure the authentication
mechanism for the web application. As a prerequisite to gaining access
to any web resources which are protected by an authorization
constraint, a user must have authenticated using the configured
mechanism. Legal values for this element are "BASIC", "DIGEST",
"FORM", or "CLIENT-CERT".
-->
<!ELEMENT auth-method (#PCDATA)>
<!--
The security-role element contains the declaration of a security
role which is used in the security-constraints placed on the web
application.
-->
<!ELEMENT security-role (description?, role-name)>
<!--
The role-name element contains the name of a role. This element
must contain a non-empty string.
-->
<!ELEMENT security-role-ref (description?, role-name, role-link)>
<!--
The role-link element is used to link a security role reference
to a defined security role. The role-link element must contain the
name of one of the security roles defined in the security-role
elements.
-->
<!ELEMENT role-link (#PCDATA)>
<!--
The env-entry element contains the declaration of an
application's environment entry. This element is required to be
honored on in J2EE compliant servlet containers.
-->
<!ELEMENT env-entry (description?, env-entry-name, env-entry-value?,
env-entry-type)>
<!--
The env-entry-name contains the name of an application's
environment entry
-->
<!ELEMENT env-entry-name (#PCDATA)>
<!--
The env-entry-value element contains the value of an
application's environment entry
-->
<!ELEMENT env-entry-value (#PCDATA)>
<!--
The env-entry-type element contains the fully qualified Java type
of the environment entry value that is expected by the application
code. The following are the legal values of env-entry-type:
java.lang.Boolean, java.lang.String, java.lang.Integer,
java.lang.Double, java.lang.Float.
-->
<!ELEMENT env-entry-type (#PCDATA)>
<!--
The ejb-ref element is used to declare a reference to an
enterprise bean.
-->
<!ELEMENT ejb-ref (description?, ejb-ref-name, ejb-ref-type, home, remote,
ejb-link?)>
<!--
The ejb-ref-name element contains the name of an EJB
reference. This is the JNDI name that the servlet code uses to get a
reference to the enterprise bean.
-->
<!ELEMENT ejb-ref-name (#PCDATA)>
<!--
The ejb-ref-type element contains the expected java class type of
the referenced EJB.
-->
<!ELEMENT ejb-ref-type (#PCDATA)>
<!--
The ejb-home element contains the fully qualified name of the
EJB's home interface
-->
<!ELEMENT home (#PCDATA)>
<!--
The ejb-remote element contains the fully qualified name of the
EJB's remote interface
-->
<!ELEMENT remote (#PCDATA)>
<!--
The ejb-link element is used in the ejb-ref element to specify
that an EJB reference is linked to an EJB in an encompassing Java2
Enterprise Edition (J2EE) application package. The value of the
ejb-link element must be the ejb-name of and EJB in the J2EE
application package.
-->
<!ELEMENT ejb-link (#PCDATA)>
<!--
The ID mechanism is to allow tools to easily make tool-specific
references to the elements of the deployment descriptor. This allows
tools that produce additional deployment information (i.e information
beyond the standard deployment descriptor information) to store the
non-standard information in a separate file, and easily refer from
these tools-specific files to the information in the standard web-app
deployment descriptor.
-->
<!ATTLIST web-app id ID #IMPLIED>
<!ATTLIST icon id ID #IMPLIED>
<!ATTLIST small-icon id ID #IMPLIED>
<!ATTLIST large-icon id ID #IMPLIED>
<!ATTLIST display-name id ID #IMPLIED>
<!ATTLIST description id ID #IMPLIED>
<!ATTLIST distributable id ID #IMPLIED>
<!ATTLIST context-param id ID #IMPLIED>
<!ATTLIST param-name id ID #IMPLIED>
<!ATTLIST param-value id ID #IMPLIED>
<!ATTLIST servlet id ID #IMPLIED>
<!ATTLIST servlet-name id ID #IMPLIED>
<!ATTLIST servlet-class id ID #IMPLIED>
<!ATTLIST jsp-file id ID #IMPLIED>
<!ATTLIST init-param id ID #IMPLIED>
<!ATTLIST load-on-startup id ID #IMPLIED>
<!ATTLIST servlet-mapping id ID #IMPLIED>
<!ATTLIST url-pattern id ID #IMPLIED>
<!ATTLIST session-config id ID #IMPLIED>
<!ATTLIST session-timeout id ID #IMPLIED>
<!ATTLIST mime-mapping id ID #IMPLIED>
<!ATTLIST extension id ID #IMPLIED>
<!ATTLIST mime-type id ID #IMPLIED>
<!ATTLIST welcome-file-list id ID #IMPLIED>
<!ATTLIST welcome-file id ID #IMPLIED>
<!ATTLIST taglib id ID #IMPLIED>
<!ATTLIST taglib-uri id ID #IMPLIED>
<!ATTLIST taglib-location id ID #IMPLIED>
<!ATTLIST error-page id ID #IMPLIED>
<!ATTLIST error-code id ID #IMPLIED>
<!ATTLIST exception-type id ID #IMPLIED>
<!ATTLIST location id ID #IMPLIED>
<!ATTLIST resource-ref id ID #IMPLIED>
<!ATTLIST res-ref-name id ID #IMPLIED>
<!ATTLIST res-type id ID #IMPLIED>
<!ATTLIST res-auth id ID #IMPLIED>
<!ATTLIST security-constraint id ID #IMPLIED>
<!ATTLIST web-resource-collection id ID #IMPLIED>
<!ATTLIST web-resource-name id ID #IMPLIED>
<!ATTLIST http-method id ID #IMPLIED>
<!ATTLIST user-data-constraint id ID #IMPLIED>
<!ATTLIST transport-guarantee id ID #IMPLIED>
<!ATTLIST auth-constraint id ID #IMPLIED>
<!ATTLIST role-name id ID #IMPLIED>
<!ATTLIST login-config id ID #IMPLIED>
<!ATTLIST realm-name id ID #IMPLIED>
<!ATTLIST form-login-config id ID #IMPLIED>
<!ATTLIST form-login-page id ID #IMPLIED>
<!ATTLIST form-error-page id ID #IMPLIED>
<!ATTLIST auth-method id ID #IMPLIED>
<!ATTLIST security-role id ID #IMPLIED>
<!ATTLIST security-role-ref id ID #IMPLIED>
<!ATTLIST role-link id ID #IMPLIED>
<!ATTLIST env-entry id ID #IMPLIED>
<!ATTLIST env-entry-name id ID #IMPLIED>
<!ATTLIST env-entry-value id ID #IMPLIED>
<!ATTLIST env-entry-type id ID #IMPLIED>
<!ATTLIST ejb-ref id ID #IMPLIED>
<!ATTLIST ejb-ref-name id ID #IMPLIED>
<!ATTLIST ejb-ref-type id ID #IMPLIED>
<!ATTLIST home id ID #IMPLIED>
<!ATTLIST remote id ID #IMPLIED>
<!ATTLIST ejb-link id ID #IMPLIED>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,950 @@
<!--
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.
-->
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://java.sun.com/xml/ns/javaee"
xmlns:javaee="http://java.sun.com/xml/ns/javaee"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified"
version="2.5">
<xsd:annotation>
<xsd:documentation>
@(#)web-app_2_5.xsds1.62 05/08/06
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<![CDATA[
This is the XML Schema for the Servlet 2.5 deployment descriptor.
The deployment descriptor must be named "WEB-INF/web.xml" in the
web application's war file. All Servlet deployment descriptors
must indicate the web application schema by using the Java EE
namespace:
http://java.sun.com/xml/ns/javaee
and by indicating the version of the schema by
using the version element as shown below:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="..."
version="2.5">
...
</web-app>
The instance documents may indicate the published version of
the schema using the xsi:schemaLocation attribute for Java EE
namespace with the following location:
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
The following conventions apply to all Java EE deployment
descriptor elements unless indicated otherwise. - In
elements that specify a pathname to a file within the same
JAR file, relative filenames (i.e., those not starting with
"/") are considered relative to the root of the JAR file's
namespace. Absolute filenames (i.e., those starting with
"/") also specify names in the root of the JAR file's
namespace. In general, relative names are preferred. The
exception is .war files where absolute names are preferred
for consistency with the Servlet API.
</xsd:documentation>
</xsd:annotation>
<xsd:include schemaLocation="javaee_5.xsd" />
<xsd:include schemaLocation="jsp_2_1.xsd" />
<!-- **************************************************** -->
<xsd:element name="web-app" type="javaee:web-appType">
<xsd:annotation>
<xsd:documentation>
The web-app element is the root of the deployment
descriptor for a web application. Note that the
sub-elements of this element can be in the arbitrary
order. Because of that, the multiplicity of the elements
of distributable, session-config, welcome-file-list,
jsp-config, login-config, and
locale-encoding-mapping-list was changed from "?" to "*"
in this schema. However, the deployment descriptor
instance file must not contain multiple elements of
session-config, jsp-config, and login-config. When there
are multiple elements of welcome-file-list or
locale-encoding-mapping-list, the container must
concatenate the element contents. The multiple occurence
of the element distributable is redundant and the
container treats that case exactly in the same way when
there is only one distributable.
</xsd:documentation>
</xsd:annotation>
<xsd:unique name="web-app-servlet-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
The servlet element contains the name of a servlet.
The name must be unique within the web application.
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:servlet" />
<xsd:field xpath="javaee:servlet-name" />
</xsd:unique>
<xsd:unique name="web-app-filter-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
The filter element contains the name of a filter.
The name must be unique within the web application.
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:filter" />
<xsd:field xpath="javaee:filter-name" />
</xsd:unique>
<xsd:unique name="web-app-ejb-local-ref-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
The ejb-local-ref-name element contains the name of
an EJB reference. The EJB reference is an entry in
the web application's environment and is relative to
the java:comp/env context. The name must be unique
within the web application. It is recommended that
name is prefixed with "ejb/".
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:ejb-local-ref" />
<xsd:field xpath="javaee:ejb-ref-name" />
</xsd:unique>
<xsd:unique name="web-app-ejb-ref-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
The ejb-ref-name element contains the name of an EJB
reference. The EJB reference is an entry in the web
application's environment and is relative to the
java:comp/env context. The name must be unique
within the web application. It is recommended that
name is prefixed with "ejb/".
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:ejb-ref" />
<xsd:field xpath="javaee:ejb-ref-name" />
</xsd:unique>
<xsd:unique name="web-app-resource-env-ref-uniqueness">
<xsd:annotation>
<xsd:documentation>
The resource-env-ref-name element specifies the name
of a resource environment reference; its value is
the environment entry name used in the web
application code. The name is a JNDI name relative
to the java:comp/env context and must be unique
within a web application.
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:resource-env-ref" />
<xsd:field xpath="javaee:resource-env-ref-name" />
</xsd:unique>
<xsd:unique name="web-app-message-destination-ref-uniqueness">
<xsd:annotation>
<xsd:documentation>
The message-destination-ref-name element specifies
the name of a message destination reference; its
value is the environment entry name used in the web
application code. The name is a JNDI name relative
to the java:comp/env context and must be unique
within a web application.
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:message-destination-ref" />
<xsd:field xpath="javaee:message-destination-ref-name" />
</xsd:unique>
<xsd:unique name="web-app-res-ref-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
The res-ref-name element specifies the name of a
resource manager connection factory reference. The
name is a JNDI name relative to the java:comp/env
context. The name must be unique within a web
application.
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:resource-ref" />
<xsd:field xpath="javaee:res-ref-name" />
</xsd:unique>
<xsd:unique name="web-app-env-entry-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
The env-entry-name element contains the name of a
web application's environment entry. The name is a
JNDI name relative to the java:comp/env context. The
name must be unique within a web application.
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:env-entry" />
<xsd:field xpath="javaee:env-entry-name" />
</xsd:unique>
<xsd:key name="web-app-role-name-key">
<xsd:annotation>
<xsd:documentation>
A role-name-key is specified to allow the references
from the security-role-refs.
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:security-role" />
<xsd:field xpath="javaee:role-name" />
</xsd:key>
<xsd:keyref name="web-app-role-name-references"
refer="javaee:web-app-role-name-key">
<xsd:annotation>
<xsd:documentation>
The keyref indicates the references from
security-role-ref to a specified role-name.
</xsd:documentation>
</xsd:annotation>
<xsd:selector
xpath="javaee:servlet/javaee:security-role-ref" />
<xsd:field xpath="javaee:role-link" />
</xsd:keyref>
</xsd:element>
<!-- **************************************************** -->
<xsd:complexType name="auth-constraintType">
<xsd:annotation>
<xsd:documentation>
The auth-constraintType indicates the user roles that
should be permitted access to this resource collection.
The role-name used here must either correspond to the
role-name of one of the security-role elements defined
for this web application, or be the specially reserved
role-name "*" that is a compact syntax for indicating
all roles in the web application. If both "*" and
rolenames appear, the container interprets this as all
roles. If no roles are defined, no user is allowed
access to the portion of the web application described
by the containing security-constraint. The container
matches role names case sensitively when determining
access.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="description"
type="javaee:descriptionType" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="role-name" type="javaee:role-nameType"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="auth-methodType">
<xsd:annotation>
<xsd:documentation>
The auth-methodType is used to configure the
authentication mechanism for the web application. As a
prerequisite to gaining access to any web resources
which are protected by an authorization constraint, a
user must have authenticated using the configured
mechanism. Legal values are "BASIC", "DIGEST", "FORM",
"CLIENT-CERT", or a vendor-specific authentication
scheme. Used in: login-config
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="javaee:string" />
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="dispatcherType">
<xsd:annotation>
<xsd:documentation>
The dispatcher has four legal values: FORWARD, REQUEST,
INCLUDE, and ERROR. A value of FORWARD means the Filter
will be applied under RequestDispatcher.forward() calls.
A value of REQUEST means the Filter will be applied
under ordinary client calls to the path or servlet. A
value of INCLUDE means the Filter will be applied under
RequestDispatcher.include() calls. A value of ERROR
means the Filter will be applied under the error page
mechanism. The absence of any dispatcher elements in a
filter-mapping indicates a default of applying filters
only under ordinary client calls to the path or servlet.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="javaee:string">
<xsd:enumeration value="FORWARD" />
<xsd:enumeration value="INCLUDE" />
<xsd:enumeration value="REQUEST" />
<xsd:enumeration value="ERROR" />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:simpleType name="encodingType">
<xsd:annotation>
<xsd:documentation>
The encodingType defines IANA character sets.
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[^\s]+" />
</xsd:restriction>
</xsd:simpleType>
<!-- **************************************************** -->
<xsd:complexType name="error-codeType">
<xsd:annotation>
<xsd:documentation>
The error-code contains an HTTP error code, ex: 404 Used
in: error-page
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="javaee:xsdPositiveIntegerType">
<xsd:pattern value="\d{3}" />
<xsd:attribute name="id" type="xsd:ID" />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="error-pageType">
<xsd:annotation>
<xsd:documentation>
The error-pageType contains a mapping between an error
code or exception type to the path of a resource in the
web application. Used in: web-app
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice>
<xsd:element name="error-code"
type="javaee:error-codeType" />
<xsd:element name="exception-type"
type="javaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
The exception-type contains a fully
qualified class name of a Java exception
type.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="location" type="javaee:war-pathType">
<xsd:annotation>
<xsd:documentation>
The location element contains the location of
the resource in the web application relative to
the root of the web application. The value of
the location must have a leading `/'.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="filter-mappingType">
<xsd:annotation>
<xsd:documentation>
Declaration of the filter mappings in this web
application is done by using filter-mappingType. The
container uses the filter-mapping declarations to decide
which filters to apply to a request, and in what order.
The container matches the request URI to a Servlet in
the normal way. To determine which filters to apply it
matches filter-mapping declarations either on
servlet-name, or on url-pattern for each filter-mapping
element, depending on which style is used. The order in
which filters are invoked is the order in which
filter-mapping declarations that match a request URI for
a servlet appear in the list of filter-mapping
elements.The filter-name value must be the value of the
filter-name sub-elements of one of the filter
declarations in the deployment descriptor.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="filter-name"
type="javaee:filter-nameType" />
<xsd:choice minOccurs="1" maxOccurs="unbounded">
<xsd:element name="url-pattern"
type="javaee:url-patternType" />
<xsd:element name="servlet-name"
type="javaee:servlet-nameType" />
</xsd:choice>
<xsd:element name="dispatcher" type="javaee:dispatcherType"
minOccurs="0" maxOccurs="4" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="filter-nameType">
<xsd:annotation>
<xsd:documentation>
The logical name of the filter is declare by using
filter-nameType. This name is used to map the filter.
Each filter name is unique within the web application.
Used in: filter, filter-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="javaee:nonEmptyStringType" />
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="filterType">
<xsd:annotation>
<xsd:documentation>
The filterType is used to declare a filter in the web
application. The filter is mapped to either a servlet or
a URL pattern in the filter-mapping element, using the
filter-name value to reference. Filters can access the
initialization parameters declared in the deployment
descriptor at runtime via the FilterConfig interface.
Used in: web-app
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="javaee:descriptionGroup" />
<xsd:element name="filter-name"
type="javaee:filter-nameType" />
<xsd:element name="filter-class"
type="javaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
The fully qualified classname of the filter.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="init-param" type="javaee:param-valueType"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The init-param element contains a name/value
pair as an initialization param of a servlet
filter
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="form-login-configType">
<xsd:annotation>
<xsd:documentation>
The form-login-configType specifies the login and error
pages that should be used in form based login. If form
based authentication is not used, these elements are
ignored. Used in: login-config
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="form-login-page"
type="javaee:war-pathType">
<xsd:annotation>
<xsd:documentation>
The form-login-page element defines the location
in the web app where the page that can be used
for login can be found. The path begins with a
leading / and is interpreted relative to the
root of the WAR.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="form-error-page"
type="javaee:war-pathType">
<xsd:annotation>
<xsd:documentation>
The form-error-page element defines the location
in the web app where the error page that is
displayed when login is not successful can be
found. The path begins with a leading / and is
interpreted relative to the root of the WAR.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:simpleType name="<22><>?http-methodType<70><65>?">
<xsd:annotation>
<xsd:documentation>
A HTTP method type as defined in HTTP 1.1 section 2.2.
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="<22><>?xsd:token<65><6E>?">
<xsd:pattern value="<22><>?[\p{L}-[\p{Cc}\p{Z}]]+<2B><>?" />
</xsd:restriction>
</xsd:simpleType>
<!-- **************************************************** -->
<xsd:simpleType name="load-on-startupType">
<xsd:union memberTypes="javaee:null-charType xsd:integer" />
</xsd:simpleType>
<!-- **************************************************** -->
<xsd:complexType name="locale-encoding-mapping-listType">
<xsd:annotation>
<xsd:documentation>
The locale-encoding-mapping-list contains one or more
locale-encoding-mapping(s).
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="locale-encoding-mapping"
type="javaee:locale-encoding-mappingType"
maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="locale-encoding-mappingType">
<xsd:annotation>
<xsd:documentation>
The locale-encoding-mapping contains locale name and
encoding name. The locale name must be either
"Language-code", such as "ja", defined by ISO-639 or
"Language-code_Country-code", such as "ja_JP". "Country
code" is defined by ISO-3166.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="locale" type="javaee:localeType" />
<xsd:element name="encoding" type="javaee:encodingType" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:simpleType name="localeType">
<xsd:annotation>
<xsd:documentation>
The localeType defines valid locale defined by ISO-639-1
and ISO-3166.
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[a-z]{2}(_|-)?([\p{L}\-\p{Nd}]{2})?" />
</xsd:restriction>
</xsd:simpleType>
<!-- **************************************************** -->
<xsd:complexType name="login-configType">
<xsd:annotation>
<xsd:documentation>
The login-configType is used to configure the
authentication method that should be used, the realm
name that should be used for this application, and the
attributes that are needed by the form login mechanism.
Used in: web-app
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="auth-method"
type="javaee:auth-methodType" minOccurs="0" />
<xsd:element name="realm-name" type="javaee:string"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The realm name element specifies the realm name
to use in HTTP Basic authorization.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="form-login-config"
type="javaee:form-login-configType" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="mime-mappingType">
<xsd:annotation>
<xsd:documentation>
The mime-mappingType defines a mapping between an
extension and a mime type. Used in: web-app
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:annotation>
<xsd:documentation>
The extension element contains a string describing
an extension. example: "txt"
</xsd:documentation>
</xsd:annotation>
<xsd:element name="extension" type="javaee:string" />
<xsd:element name="mime-type" type="javaee:mime-typeType" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="mime-typeType">
<xsd:annotation>
<xsd:documentation>
The mime-typeType is used to indicate a defined mime
type. Example: "text/plain" Used in: mime-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="javaee:string">
<xsd:pattern value="[^\p{Cc}^\s]+/[^\p{Cc}^\s]+" />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="nonEmptyStringType">
<xsd:annotation>
<xsd:documentation>
This type defines a string which contains at least one
character.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="javaee:string">
<xsd:minLength value="1" />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:simpleType name="null-charType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="" />
</xsd:restriction>
</xsd:simpleType>
<!-- **************************************************** -->
<xsd:complexType name="security-constraintType">
<xsd:annotation>
<xsd:documentation>
The security-constraintType is used to associate
security constraints with one or more web resource
collections Used in: web-app
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="display-name"
type="javaee:display-nameType" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="web-resource-collection"
type="javaee:web-resource-collectionType"
maxOccurs="unbounded" />
<xsd:element name="auth-constraint"
type="javaee:auth-constraintType" minOccurs="0" />
<xsd:element name="user-data-constraint"
type="javaee:user-data-constraintType" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="servlet-mappingType">
<xsd:annotation>
<xsd:documentation>
The servlet-mappingType defines a mapping between a
servlet and a url pattern. Used in: web-app
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="servlet-name"
type="javaee:servlet-nameType" />
<xsd:element name="url-pattern"
type="javaee:url-patternType" minOccurs="1"
maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="servlet-nameType">
<xsd:annotation>
<xsd:documentation>
The servlet-name element contains the canonical name of
the servlet. Each servlet name is unique within the web
application.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="javaee:nonEmptyStringType" />
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="servletType">
<xsd:annotation>
<xsd:documentation>
The servletType is used to declare a servlet. It
contains the declarative data of a servlet. If a
jsp-file is specified and the load-on-startup element is
present, then the JSP should be precompiled and loaded.
Used in: web-app
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="javaee:descriptionGroup" />
<xsd:element name="servlet-name"
type="javaee:servlet-nameType" />
<xsd:choice>
<xsd:element name="servlet-class"
type="javaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
The servlet-class element contains the fully
qualified class name of the servlet.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="jsp-file" type="javaee:jsp-fileType" />
</xsd:choice>
<xsd:element name="init-param" type="javaee:param-valueType"
minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="load-on-startup"
type="javaee:load-on-startupType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The load-on-startup element indicates that this
servlet should be loaded (instantiated and have
its init() called) on the startup of the web
application. The optional contents of these
element must be an integer indicating the order
in which the servlet should be loaded. If the
value is a negative integer, or the element is
not present, the container is free to load the
servlet whenever it chooses. If the value is a
positive integer or 0, the container must load
and initialize the servlet as the application is
deployed. The container must guarantee that
servlets marked with lower integers are loaded
before servlets marked with higher integers. The
container may choose the order of loading of
servlets with the same load-on-start-up value.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="run-as" type="javaee:run-asType"
minOccurs="0" />
<xsd:element name="security-role-ref"
type="javaee:security-role-refType" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="session-configType">
<xsd:annotation>
<xsd:documentation>
The session-configType defines the session parameters
for this web application.
Used in: web-app
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="session-timeout"
type="javaee:xsdIntegerType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The session-timeout element defines the default
session timeout interval for all sessions
created in this web application. The specified
timeout must be expressed in a whole number of
minutes. If the timeout is 0 or less, the
container ensures the default behaviour of
sessions is never to time out. If this element
is not specified, the container must set its
default timeout period.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="transport-guaranteeType">
<xsd:annotation>
<xsd:documentation>
The transport-guaranteeType specifies that the
communication between client and server should be NONE,
INTEGRAL, or CONFIDENTIAL. NONE means that the
application does not require any transport guarantees. A
value of INTEGRAL means that the application requires
that the data sent between the client and server be sent
in such a way that it can't be changed in transit.
CONFIDENTIAL means that the application requires that
the data be transmitted in a fashion that prevents other
entities from observing the contents of the
transmission. In most cases, the presence of the
INTEGRAL or CONFIDENTIAL flag will indicate that the use
of SSL is required. Used in: user-data-constraint
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="javaee:string">
<xsd:enumeration value="NONE" />
<xsd:enumeration value="INTEGRAL" />
<xsd:enumeration value="CONFIDENTIAL" />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="user-data-constraintType">
<xsd:annotation>
<xsd:documentation>
The user-data-constraintType is used to indicate how
data communicated between the client and container
should be protected. Used in: security-constraint
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="description"
type="javaee:descriptionType" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="transport-guarantee"
type="javaee:transport-guaranteeType" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="war-pathType">
<xsd:annotation>
<xsd:documentation>
The elements that use this type designate a path
starting with a "/" and interpreted relative to the root
of a WAR file.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="javaee:string">
<xsd:pattern value="/.*" />
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:simpleType name="web-app-versionType">
<xsd:annotation>
<xsd:documentation>
This type contains the recognized versions of
web-application supported. It is used to designate the
version of the web application.
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="2.5" />
</xsd:restriction>
</xsd:simpleType>
<!-- **************************************************** -->
<xsd:complexType name="web-appType">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:group ref="javaee:descriptionGroup" />
<xsd:element name="distributable" type="javaee:emptyType" />
<xsd:element name="context-param"
type="javaee:param-valueType">
<xsd:annotation>
<xsd:documentation>
The context-param element contains the
declaration of a web application's servlet
context initialization parameters.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="filter" type="javaee:filterType" />
<xsd:element name="filter-mapping"
type="javaee:filter-mappingType" />
<xsd:element name="listener" type="javaee:listenerType" />
<xsd:element name="servlet" type="javaee:servletType" />
<xsd:element name="servlet-mapping"
type="javaee:servlet-mappingType" />
<xsd:element name="session-config"
type="javaee:session-configType" />
<xsd:element name="mime-mapping"
type="javaee:mime-mappingType" />
<xsd:element name="welcome-file-list"
type="javaee:welcome-file-listType" />
<xsd:element name="error-page" type="javaee:error-pageType" />
<xsd:element name="jsp-config" type="javaee:jsp-configType" />
<xsd:element name="security-constraint"
type="javaee:security-constraintType" />
<xsd:element name="login-config"
type="javaee:login-configType" />
<xsd:element name="security-role"
type="javaee:security-roleType" />
<xsd:group ref="javaee:jndiEnvironmentRefsGroup" />
<xsd:element name="message-destination"
type="javaee:message-destinationType" />
<xsd:element name="locale-encoding-mapping-list"
type="javaee:locale-encoding-mapping-listType" />
</xsd:choice>
<xsd:attribute name="version" type="javaee:web-app-versionType"
use="required" />
<xsd:attribute name="id" type="xsd:ID" />
xsd:attribute name="metadata-complete" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation>
The metadata-complete attribute defines whether this
deployment descriptor is complete, or whether the class
files of the jar file should be examined for annotations
that specify deployment information. If
metadata-complete is set to "true", the deployment tool
must ignore any Servlet annotations present in the class
files of the application. If metadata-complete is not
specified or is set to "false", the deployment tool must
examine the class files of the application for
annotations, as specified by the Servlet specifications.
</xsd:documentation>
</xsd:annotation>
<xsd:attribute />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="web-resource-collectionType">
<xsd:annotation>
<xsd:documentation>
The web-resource-collectionType is used to identify a
subset of the resources and HTTP methods on those
resources within a web application to which a security
constraint applies. If no HTTP methods are specified,
then the security constraint applies to all HTTP
methods. Used in: security-constraint
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="web-resource-name"
type="javaee:string">
<xsd:annotation>
<xsd:documentation>
The web-resource-name contains the name of this
web resource collection.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="description"
type="javaee:descriptionType" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="url-pattern"
type="javaee:url-patternType" maxOccurs="unbounded" />
<xsd:element name="http-method"
type="javaee:http-methodType" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="welcome-file-listType">
<xsd:annotation>
<xsd:documentation>
The welcome-file-list contains an ordered list of
welcome files elements. Used in: web-app
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="welcome-file" type="xsd:string"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The welcome-file element contains file name to
use as a default welcome file, such as
index.html
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
</xsd:schema>

View File

@ -0,0 +1,97 @@
<?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.
-->
<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" >
<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
<xs:annotation>
<xs:documentation>
See http://www.w3.org/XML/1998/namespace.html and
http://www.w3.org/TR/REC-xml for information about this namespace.
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>This schema defines attributes and an attribute group
suitable for use by
schemas wishing to allow xml:base, xml:lang or xml:space attributes
on elements they define.
To enable this, such a schema must import this schema
for the XML namespace, e.g. as follows:
&lt;schema . . .>
. . .
&lt;import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
Subsequently, qualified reference to any of the attributes
or the group defined below will have the desired effect, e.g.
&lt;type . . .>
. . .
&lt;attributeGroup ref="xml:specialAttrs"/>
will define a type which will schema-validate an instance
element with any of those attributes</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>In keeping with the XML Schema WG's standard versioning
policy, this schema document will persist at
http://www.w3.org/2001/03/xml.xsd.
At the date of issue it can also be found at
http://www.w3.org/2001/xml.xsd.
The schema document at that URI may however change in the future,
in order to remain compatible with the latest version of XML Schema
itself. In other words, if the XML Schema namespace changes, the version
of this document at
http://www.w3.org/2001/xml.xsd will change
accordingly; the version at
http://www.w3.org/2001/03/xml.xsd will not change.
</xs:documentation>
</xs:annotation>
<xs:attribute name="lang" type="xs:language">
<xs:annotation>
<xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
codes as the enumerated possible values . . .</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="space" default="preserve">
<xs:simpleType>
<xs:restriction base="xs:NCName">
<xs:enumeration value="default"/>
<xs:enumeration value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="base" type="xs:anyURI">
<xs:annotation>
<xs:documentation>See http://www.w3.org/TR/xmlbase/ for
information about this attribute.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup name="specialAttrs">
<xs:attribute ref="xml:base"/>
<xs:attribute ref="xml:lang"/>
<xs:attribute ref="xml:space"/>
</xs:attributeGroup>
</xs:schema>