hlship      2003/06/24 10:17:04

  Modified:    hivemind/src/java/org/apache/commons/hivemind/parse
                        HiveMind_1.0.xsd
  Log:
  Make the HiveMind XSD Ascii.
  
  Revision  Changes    Path
  1.7       +391 -391  
jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/parse/HiveMind_1.0.xsd
  
  Index: HiveMind_1.0.xsd
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/parse/HiveMind_1.0.xsd,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- HiveMind_1.0.xsd  18 Jun 2003 18:47:00 -0000      1.6
  +++ HiveMind_1.0.xsd  24 Jun 2003 17:17:04 -0000      1.7
  @@ -1,391 +1,391 @@
  -<?xml version="1.0" encoding="UTF-8"?>
  -<!-- $Id$ -->
  -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
elementFormDefault="qualified" attributeFormDefault="qualified">
  -     <xs:simpleType name="occurance-count">
  -             <xs:annotation>
  -                     <xs:documentation>Identifies a quantity.</xs:documentation>
  -             </xs:annotation>
  -             <xs:restriction base="xs:string">
  -                     <xs:enumeration value="unbounded"/>
  -                     <xs:enumeration value="0..1"/>
  -                     <xs:enumeration value="1"/>
  -                     <xs:enumeration value="1..n"/>
  -             </xs:restriction>
  -     </xs:simpleType>
  -     <xs:element name="module">
  -             <xs:annotation>
  -                     <xs:documentation>Document element for Hive 
modules.</xs:documentation>
  -             </xs:annotation>
  -             <xs:complexType>
  -                     <xs:sequence>
  -                             <xs:element ref="description" minOccurs="0"/>
  -                             <xs:element name="meta" minOccurs="0" 
maxOccurs="unbounded">
  -                                     <xs:annotation>
  -                                             <xs:documentation>Defines meta-data 
about the module.</xs:documentation>
  -                                     </xs:annotation>
  -                                     <xs:complexType>
  -                                             <xs:attribute name="key" 
type="xs:string" use="required"/>
  -                                             <xs:attribute name="value" 
type="xs:string" use="required"/>
  -                                     </xs:complexType>
  -                             </xs:element>
  -                             <xs:element name="dependency" minOccurs="0" 
maxOccurs="unbounded">
  -                                     <xs:annotation>
  -                                             <xs:documentation>Identifies a 
dependency on another module.  This should include modules to which contributions are 
made, but also any modules referenced in this modules code.</xs:documentation>
  -                                     </xs:annotation>
  -                                     <xs:complexType>
  -                                             <xs:attribute name="module-id" 
type="qualified-id" use="required"/>
  -                                             <xs:attribute name="version" 
type="version-filter" use="optional" default="*"/>
  -                                     </xs:complexType>
  -                             </xs:element>
  -                             <xs:element name="library" minOccurs="0" 
maxOccurs="unbounded">
  -                                     <xs:annotation>
  -                                             <xs:documentation>Defines a library in 
an external (maven-like) repository.  Libraries are referenced in terms of an id and a 
version.  All libraries are included in the compile-time and runtime classpath for 
this module.  Exported libraries may also be included in the classpaths of dependant 
modules.</xs:documentation>
  -                                     </xs:annotation>
  -                                     <xs:complexType>
  -                                             <xs:attribute name="id" 
type="xs:string" use="required">
  -                                                     <xs:annotation>
  -                                                             <xs:documentation>The 
id of the library.  Library ids are used to obtain libraries from a shared 
repository.</xs:documentation>
  -                                                     </xs:annotation>
  -                                             </xs:attribute>
  -                                             <xs:attribute name="version" 
type="xs:string" use="required">
  -                                                     <xs:annotation>
  -                                                             <xs:documentation>The 
version identifier for the library.  This is used to find the correct version of the 
library jar.  It is generally (but not always) in the same format as a module version 
number.</xs:documentation>
  -                                                     </xs:annotation>
  -                                             </xs:attribute>
  -                                             <xs:attribute name="export" 
type="xs:boolean" use="optional" default="false">
  -                                                     <xs:annotation>
  -                                                             <xs:documentation>If 
true, the modules which depend on this module will include this library in their 
compile-time and runtime classpath.  If false, the default, then only this module will 
include the library in the classpaths.  This value is set to true only when the API of 
the module exposes classes and interfaces provided by the library.</xs:documentation>
  -                                                     </xs:annotation>
  -                                             </xs:attribute>
  -                                     </xs:complexType>
  -                             </xs:element>
  -                             <xs:choice minOccurs="0" maxOccurs="unbounded">
  -                                     <xs:element name="service">
  -                                             <xs:annotation>
  -                                                     <xs:documentation>Defines a 
new service extension point.</xs:documentation>
  -                                             </xs:annotation>
  -                                             <xs:complexType>
  -                                                     <xs:sequence>
  -                                                             <xs:element 
ref="description" minOccurs="0"/>
  -                                                             <xs:choice 
minOccurs="0">
  -                                                                     <xs:element 
ref="create-instance"/>
  -                                                                     <xs:element 
ref="factory"/>
  -                                                             </xs:choice>
  -                                                             <xs:element 
ref="interceptor" minOccurs="0" maxOccurs="unbounded"/>
  -                                                     </xs:sequence>
  -                                                     <xs:attribute name="id" 
type="simple-id" use="required"/>
  -                                                     <xs:attribute name="interface" 
type="xs:string" use="required"/>
  -                                                     <xs:attribute name="required" 
type="xs:boolean" use="optional" default="true">
  -                                                             <xs:annotation>
  -                                                                     
<xs:documentation>If true (the default), then an implementation of the service must be 
provided.  If false, then the service is optional.</xs:documentation>
  -                                                             </xs:annotation>
  -                                                     </xs:attribute>
  -                                             </xs:complexType>
  -                                     </xs:element>
  -                                     <xs:element name="contribute-service">
  -                                             <xs:annotation>
  -                                                     <xs:documentation>Provides an 
instance and/or interceptors to a service extension point.</xs:documentation>
  -                                             </xs:annotation>
  -                                             <xs:complexType>
  -                                                     <xs:sequence>
  -                                                             <xs:choice 
minOccurs="0">
  -                                                                     <xs:element 
ref="create-instance"/>
  -                                                                     <xs:element 
ref="factory"/>
  -                                                             </xs:choice>
  -                                                             <xs:element 
ref="interceptor" minOccurs="0" maxOccurs="unbounded"/>
  -                                                     </xs:sequence>
  -                                                     <xs:attribute 
name="service-id" type="qualified-id" use="required"/>
  -                                             </xs:complexType>
  -                                     </xs:element>
  -                                     <xs:element name="configuration">
  -                                             <xs:annotation>
  -                                                     <xs:documentation>Defines a 
new configuration extension point.</xs:documentation>
  -                                             </xs:annotation>
  -                                             <xs:complexType>
  -                                                     <xs:sequence>
  -                                                             <xs:element 
ref="description" minOccurs="0"/>
  -                                                             <xs:choice 
minOccurs="0" maxOccurs="unbounded">
  -                                                                     <xs:element 
ref="expression"/>
  -                                                                     <xs:element 
ref="value"/>
  -                                                                     <xs:element 
ref="service-ref"/>
  -                                                                     <xs:element 
ref="xml"/>
  -                                                                     <xs:element 
ref="create-instance"/>
  -                                                                     <xs:element 
ref="factory"/>
  -                                                             </xs:choice>
  -                                                     </xs:sequence>
  -                                                     <xs:attribute name="id" 
type="simple-id" use="required"/>
  -                                                     <xs:attribute 
name="element-type" type="xs:string" use="required"/>
  -                                                     <xs:attribute name="count" 
type="occurance-count" use="optional" default="unbounded">
  -                                                             <xs:annotation>
  -                                                                     
<xs:documentation>The number of elements that may be contributed.  The default is 
unbounded (zero or more).</xs:documentation>
  -                                                             </xs:annotation>
  -                                                     </xs:attribute>
  -                                                     <xs:attribute 
name="cache-elements" type="xs:boolean" use="optional" default="true">
  -                                                             <xs:annotation>
  -                                                                     
<xs:documentation>If true (the default), then the extension point will cache the 
element list is creates.  If false, then the element list will be created every time.  
Set this to false when the element list is only needed once (for example, if used only 
by a startup service).</xs:documentation>
  -                                                             </xs:annotation>
  -                                                     </xs:attribute>
  -                                             </xs:complexType>
  -                                     </xs:element>
  -                                     <xs:element name="contribute-configuration">
  -                                             <xs:complexType>
  -                                                     <xs:choice minOccurs="0" 
maxOccurs="unbounded">
  -                                                             <xs:element 
ref="expression"/>
  -                                                             <xs:element 
ref="value"/>
  -                                                             <xs:element 
ref="service-ref"/>
  -                                                             <xs:element ref="xml"/>
  -                                                             <xs:element 
ref="create-instance"/>
  -                                                             <xs:element 
ref="factory"/>
  -                                                     </xs:choice>
  -                                                     <xs:attribute 
name="configuration-id" type="qualified-id" use="required"/>
  -                                             </xs:complexType>
  -                                     </xs:element>
  -                             </xs:choice>
  -                     </xs:sequence>
  -                     <xs:attribute name="id" type="qualified-id" use="required"/>
  -                     <xs:attribute name="class" type="xs:string" use="optional"/>
  -                     <xs:attribute name="version" type="version" use="required"/>
  -             </xs:complexType>
  -     </xs:element>
  -     <xs:complexType name="configure-instance-type">
  -             <xs:annotation>
  -                     <xs:documentation>Collection of elements for configuring an 
object instance.</xs:documentation>
  -             </xs:annotation>
  -             <xs:choice minOccurs="0" maxOccurs="unbounded">
  -                     <xs:element name="set">
  -                             <xs:annotation>
  -                                     <xs:documentation>Sets the value of an object 
property to a literal value.</xs:documentation>
  -                             </xs:annotation>
  -                             <xs:complexType>
  -                                     <xs:simpleContent>
  -                                             <xs:extension base="xs:string">
  -                                                     <xs:attributeGroup 
ref="property-setter"/>
  -                                                     <xs:attribute name="value" 
type="xs:string" use="optional"/>
  -                                             </xs:extension>
  -                                     </xs:simpleContent>
  -                             </xs:complexType>
  -                     </xs:element>
  -                     <xs:element name="set-expression">
  -                             <xs:annotation>
  -                                     <xs:documentation>Sets the value of a property 
to a computed OGNL expression.  The module is the root object of the 
expression.</xs:documentation>
  -                             </xs:annotation>
  -                             <xs:complexType>
  -                                     <xs:simpleContent>
  -                                             <xs:extension base="xs:string">
  -                                                     <xs:attribute 
name="expression" type="xs:string" use="optional"/>
  -                                                     <xs:attributeGroup 
ref="property-setter"/>
  -                                             </xs:extension>
  -                                     </xs:simpleContent>
  -                             </xs:complexType>
  -                     </xs:element>
  -                     <xs:element name="set-create">
  -                             <xs:annotation>
  -                                     <xs:documentation>Creates an instance of a new 
object, optionally configures it, and assigns it to an object 
property.</xs:documentation>
  -                             </xs:annotation>
  -                             <xs:complexType>
  -                                     <xs:complexContent>
  -                                             <xs:extension 
base="configure-instance-type">
  -                                                     <xs:attributeGroup 
ref="property-setter"/>
  -                                                     <xs:attribute name="class" 
type="xs:string" use="required">
  -                                                             <xs:annotation>
  -                                                                     
<xs:documentation>The fully qualified class name of the object to create.  The class 
must have a public, no-arguments constructor.</xs:documentation>
  -                                                             </xs:annotation>
  -                                                     </xs:attribute>
  -                                             </xs:extension>
  -                                     </xs:complexContent>
  -                             </xs:complexType>
  -                     </xs:element>
  -                     <xs:element name="set-factory">
  -                             <xs:annotation>
  -                                     <xs:documentation>Creates an instance of a new 
object by referencing another service (a factory service).  The instance may be 
further configured before being assigned to the property.</xs:documentation>
  -                             </xs:annotation>
  -                             <xs:complexType>
  -                                     <xs:complexContent>
  -                                             <xs:extension 
base="configure-instance-type">
  -                                                     <xs:attributeGroup 
ref="property-setter"/>
  -                                                     <xs:attribute 
name="service-id" type="qualified-id" use="required">
  -                                                             <xs:annotation>
  -                                                                     
<xs:documentation>The fully qualfiied id of a service extension point that will 
manufacture a new instance of an object (which may then be 
configured).</xs:documentation>
  -                                                             </xs:annotation>
  -                                                     </xs:attribute>
  -                                             </xs:extension>
  -                                     </xs:complexContent>
  -                             </xs:complexType>
  -                     </xs:element>
  -                     <xs:element name="set-service-ref">
  -                             <xs:annotation>
  -                                     <xs:documentation>Sets a property of the 
configured object to a service.</xs:documentation>
  -                             </xs:annotation>
  -                             <xs:complexType>
  -                                     <xs:attribute name="service-id" 
type="qualified-id" use="required">
  -                                             <xs:annotation>
  -                                                     <xs:documentation>The fully 
qualified name of the service to assign to the property.</xs:documentation>
  -                                             </xs:annotation>
  -                                     </xs:attribute>
  -                                     <xs:attributeGroup ref="property-setter"/>
  -                             </xs:complexType>
  -                     </xs:element>
  -                     <xs:element name="set-xml">
  -                             <xs:annotation>
  -                                     <xs:documentation>Reads the contents of an XML 
file (located relative to the contributing module's descriptor) and assigns that to a 
property.</xs:documentation>
  -                             </xs:annotation>
  -                             <xs:complexType>
  -                                     <xs:attributeGroup ref="property-setter"/>
  -                                     <xs:attribute name="path" type="xs:string" 
use="required">
  -                                             <xs:annotation>
  -                                                     <xs:documentation>The path of 
the XML file, relative to the contributing module's descriptor.</xs:documentation>
  -                                             </xs:annotation>
  -                                     </xs:attribute>
  -                             </xs:complexType>
  -                     </xs:element>
  -             </xs:choice>
  -     </xs:complexType>
  -     <xs:element name="value" type="xs:string">
  -             <xs:annotation>
  -                     <xs:documentation>A literal value (which may contain variable 
references).</xs:documentation>
  -             </xs:annotation>
  -     </xs:element>
  -     <xs:element name="expression" type="xs:string">
  -             <xs:annotation>
  -                     <xs:documentation>An OGNL expression to be evaluated in the 
context of the Module.</xs:documentation>
  -             </xs:annotation>
  -     </xs:element>
  -     <xs:element name="description" type="xs:string">
  -             <xs:annotation>
  -                     <xs:documentation>Documents a module, service extension point, 
or configuration extension point.</xs:documentation>
  -             </xs:annotation>
  -     </xs:element>
  -     <xs:element name="create-instance">
  -             <xs:annotation>
  -                     <xs:documentation>Instantiates and configures an 
instance.</xs:documentation>
  -             </xs:annotation>
  -             <xs:complexType>
  -                     <xs:complexContent>
  -                             <xs:extension base="configure-instance-type">
  -                                     <xs:attribute name="class" type="xs:string" 
use="required">
  -                                             <xs:annotation>
  -                                                     <xs:documentation>The fully 
qualified class name of the JavaBean to instantiate.</xs:documentation>
  -                                             </xs:annotation>
  -                                     </xs:attribute>
  -                             </xs:extension>
  -                     </xs:complexContent>
  -             </xs:complexType>
  -     </xs:element>
  -     <xs:element name="interceptor">
  -             <xs:annotation>
  -                     <xs:documentation>References an interceptor service that can 
provide an enhancement to the service.</xs:documentation>
  -             </xs:annotation>
  -             <xs:complexType>
  -                     <xs:attribute name="service-id" type="qualified-id" 
use="required">
  -                             <xs:annotation>
  -                                     <xs:documentation>The id of an interceptor 
factory service.</xs:documentation>
  -                             </xs:annotation>
  -                     </xs:attribute>
  -                     <xs:attribute name="order" type="xs:int" use="optional" 
default="0">
  -                             <xs:annotation>
  -                                     <xs:documentation>Used to sort interceptor 
contributions (from multiple Modules) into an order in which they will be applied.  
Interceptors are applied in ascending order.</xs:documentation>
  -                             </xs:annotation>
  -                     </xs:attribute>
  -             </xs:complexType>
  -     </xs:element>
  -     <xs:simpleType name="qualified-id">
  -             <xs:annotation>
  -                     <xs:documentation>A combination of a package id and a simple 
id.</xs:documentation>
  -             </xs:annotation>
  -             <xs:restriction base="xs:string">
  -                     <xs:pattern 
value="(_?(\p{L}|_[0-9])*\.?)+(_?(\p{L}|_|[0-9])*)"/>
  -             </xs:restriction>
  -     </xs:simpleType>
  -     <!--We don't use the xs:ID type, because we want to be able to aggregate many 
module elements together as modules (this is useful when trying to create 
documentation from a number of module descriptors).-->
  -     <xs:simpleType name="simple-id">
  -             <xs:annotation>
  -                     <xs:documentation>An unqualified, local id.</xs:documentation>
  -             </xs:annotation>
  -             <xs:restriction base="xs:string">
  -                     <xs:pattern value="_?(\p{L}|[0-9]|_)+">
  -                             <xs:annotation>
  -                                     <xs:documentation>A simple Java 
id.</xs:documentation>
  -                             </xs:annotation>
  -                     </xs:pattern>
  -             </xs:restriction>
  -     </xs:simpleType>
  -     <xs:simpleType name="version">
  -             <xs:annotation>
  -                     <xs:documentation>Defines a module version number, as three 
numeric values.</xs:documentation>
  -             </xs:annotation>
  -             <xs:restriction base="xs:string">
  -                     <xs:pattern value="([0-9]+\.){2}[0-9]+">
  -                             <xs:annotation>
  -                                     <xs:documentation>A sequence of three numeric 
values: major version, minor version, incremental version.  Example: "0.1.2" or 
"1.1.7".</xs:documentation>
  -                             </xs:annotation>
  -                     </xs:pattern>
  -             </xs:restriction>
  -     </xs:simpleType>
  -     <xs:simpleType name="version-filter">
  -             <xs:annotation>
  -                     <xs:documentation>Used to handle version 
checking.</xs:documentation>
  -             </xs:annotation>
  -             <xs:restriction base="xs:string">
  -                     <xs:pattern value="\*">
  -                             <xs:annotation>
  -                                     <xs:documentation>The value "*" matches any 
version.</xs:documentation>
  -                             </xs:annotation>
  -                     </xs:pattern>
  -                     <xs:pattern value="([0-9]+\.){2}[0-9]+\+?">
  -                             <xs:annotation>
  -                                     <xs:documentation>An exact (or minimum) 
version to match.  A trailing "+" means any subsequent version is acceptible.  
Example: "1.0.3" would match only version "1.0.3", but "1.0.3+" would match "1.0.4", 
"1.1.0", "2.0.0", etc.</xs:documentation>
  -                             </xs:annotation>
  -                     </xs:pattern>
  -             </xs:restriction>
  -     </xs:simpleType>
  -     <xs:element name="factory">
  -             <xs:annotation>
  -                     <xs:documentation>Used to reference a service which can be 
used to create an instance, which is then configured further.</xs:documentation>
  -             </xs:annotation>
  -             <xs:complexType>
  -                     <xs:complexContent>
  -                             <xs:extension base="configure-instance-type">
  -                                     <xs:attribute name="service-id" 
type="qualified-id" use="required">
  -                                             <xs:annotation>
  -                                                     <xs:documentation>The identity 
of a service which can create an instance.  The instance created by the factory may be 
further configured.</xs:documentation>
  -                                             </xs:annotation>
  -                                     </xs:attribute>
  -                             </xs:extension>
  -                     </xs:complexContent>
  -             </xs:complexType>
  -     </xs:element>
  -     <xs:attributeGroup name="property-setter">
  -             <xs:annotation>
  -                     <xs:documentation>Used with elements that set a property of an 
object.</xs:documentation>
  -             </xs:annotation>
  -             <xs:attribute name="property" type="xs:string" use="required">
  -                     <xs:annotation>
  -                             <xs:documentation>The name of the property of the 
object to set.</xs:documentation>
  -                     </xs:annotation>
  -             </xs:attribute>
  -     </xs:attributeGroup>
  -     <xs:element name="service-ref">
  -             <xs:annotation>
  -                     <xs:documentation>A reference to a service, allowing a service 
to be directly added to a configuration extension point as an 
element.</xs:documentation>
  -             </xs:annotation>
  -             <xs:complexType>
  -                     <xs:attribute name="service-id" type="qualified-id" 
use="required">
  -                             <xs:annotation>
  -                                     <xs:documentation>The fully qualified name of 
the service to add as a configuration element.</xs:documentation>
  -                             </xs:annotation>
  -                     </xs:attribute>
  -             </xs:complexType>
  -     </xs:element>
  -     <xs:element name="xml">
  -             <xs:annotation>
  -                     <xs:documentation>Contributes the contents of an XML 
file.</xs:documentation>
  -             </xs:annotation>
  -             <xs:complexType>
  -                     <xs:attribute name="path" type="xs:string" use="required">
  -                             <xs:annotation>
  -                                     <xs:documentation>The path of the XML file, 
relative to the contributing module's module descriptor.</xs:documentation>
  -                             </xs:annotation>
  -                     </xs:attribute>
  -             </xs:complexType>
  -     </xs:element>
  -</xs:schema>
  +<?xml version="1.0" encoding="UTF-8"?>
  +<!-- $Id$ -->
  +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
elementFormDefault="qualified" attributeFormDefault="qualified">
  +     <xs:simpleType name="occurance-count">
  +             <xs:annotation>
  +                     <xs:documentation>Identifies a quantity.</xs:documentation>
  +             </xs:annotation>
  +             <xs:restriction base="xs:string">
  +                     <xs:enumeration value="unbounded"/>
  +                     <xs:enumeration value="0..1"/>
  +                     <xs:enumeration value="1"/>
  +                     <xs:enumeration value="1..n"/>
  +             </xs:restriction>
  +     </xs:simpleType>
  +     <xs:element name="module">
  +             <xs:annotation>
  +                     <xs:documentation>Document element for Hive 
modules.</xs:documentation>
  +             </xs:annotation>
  +             <xs:complexType>
  +                     <xs:sequence>
  +                             <xs:element ref="description" minOccurs="0"/>
  +                             <xs:element name="meta" minOccurs="0" 
maxOccurs="unbounded">
  +                                     <xs:annotation>
  +                                             <xs:documentation>Defines meta-data 
about the module.</xs:documentation>
  +                                     </xs:annotation>
  +                                     <xs:complexType>
  +                                             <xs:attribute name="key" 
type="xs:string" use="required"/>
  +                                             <xs:attribute name="value" 
type="xs:string" use="required"/>
  +                                     </xs:complexType>
  +                             </xs:element>
  +                             <xs:element name="dependency" minOccurs="0" 
maxOccurs="unbounded">
  +                                     <xs:annotation>
  +                                             <xs:documentation>Identifies a 
dependency on another module.  This should include modules to which contributions are 
made, but also any modules referenced in this modules code.</xs:documentation>
  +                                     </xs:annotation>
  +                                     <xs:complexType>
  +                                             <xs:attribute name="module-id" 
type="qualified-id" use="required"/>
  +                                             <xs:attribute name="version" 
type="version-filter" use="optional" default="*"/>
  +                                     </xs:complexType>
  +                             </xs:element>
  +                             <xs:element name="library" minOccurs="0" 
maxOccurs="unbounded">
  +                                     <xs:annotation>
  +                                             <xs:documentation>Defines a library in 
an external (maven-like) repository.  Libraries are referenced in terms of an id and a 
version.  All libraries are included in the compile-time and runtime classpath for 
this module.  Exported libraries may also be included in the classpaths of dependant 
modules.</xs:documentation>
  +                                     </xs:annotation>
  +                                     <xs:complexType>
  +                                             <xs:attribute name="id" 
type="xs:string" use="required">
  +                                                     <xs:annotation>
  +                                                             <xs:documentation>The 
id of the library.  Library ids are used to obtain libraries from a shared 
repository.</xs:documentation>
  +                                                     </xs:annotation>
  +                                             </xs:attribute>
  +                                             <xs:attribute name="version" 
type="xs:string" use="required">
  +                                                     <xs:annotation>
  +                                                             <xs:documentation>The 
version identifier for the library.  This is used to find the correct version of the 
library jar.  It is generally (but not always) in the same format as a module version 
number.</xs:documentation>
  +                                                     </xs:annotation>
  +                                             </xs:attribute>
  +                                             <xs:attribute name="export" 
type="xs:boolean" use="optional" default="false">
  +                                                     <xs:annotation>
  +                                                             <xs:documentation>If 
true, the modules which depend on this module will include this library in their 
compile-time and runtime classpath.  If false, the default, then only this module will 
include the library in the classpaths.  This value is set to true only when the API of 
the module exposes classes and interfaces provided by the library.</xs:documentation>
  +                                                     </xs:annotation>
  +                                             </xs:attribute>
  +                                     </xs:complexType>
  +                             </xs:element>
  +                             <xs:choice minOccurs="0" maxOccurs="unbounded">
  +                                     <xs:element name="service">
  +                                             <xs:annotation>
  +                                                     <xs:documentation>Defines a 
new service extension point.</xs:documentation>
  +                                             </xs:annotation>
  +                                             <xs:complexType>
  +                                                     <xs:sequence>
  +                                                             <xs:element 
ref="description" minOccurs="0"/>
  +                                                             <xs:choice 
minOccurs="0">
  +                                                                     <xs:element 
ref="create-instance"/>
  +                                                                     <xs:element 
ref="factory"/>
  +                                                             </xs:choice>
  +                                                             <xs:element 
ref="interceptor" minOccurs="0" maxOccurs="unbounded"/>
  +                                                     </xs:sequence>
  +                                                     <xs:attribute name="id" 
type="simple-id" use="required"/>
  +                                                     <xs:attribute name="interface" 
type="xs:string" use="required"/>
  +                                                     <xs:attribute name="required" 
type="xs:boolean" use="optional" default="true">
  +                                                             <xs:annotation>
  +                                                                     
<xs:documentation>If true (the default), then an implementation of the service must be 
provided.  If false, then the service is optional.</xs:documentation>
  +                                                             </xs:annotation>
  +                                                     </xs:attribute>
  +                                             </xs:complexType>
  +                                     </xs:element>
  +                                     <xs:element name="contribute-service">
  +                                             <xs:annotation>
  +                                                     <xs:documentation>Provides an 
instance and/or interceptors to a service extension point.</xs:documentation>
  +                                             </xs:annotation>
  +                                             <xs:complexType>
  +                                                     <xs:sequence>
  +                                                             <xs:choice 
minOccurs="0">
  +                                                                     <xs:element 
ref="create-instance"/>
  +                                                                     <xs:element 
ref="factory"/>
  +                                                             </xs:choice>
  +                                                             <xs:element 
ref="interceptor" minOccurs="0" maxOccurs="unbounded"/>
  +                                                     </xs:sequence>
  +                                                     <xs:attribute 
name="service-id" type="qualified-id" use="required"/>
  +                                             </xs:complexType>
  +                                     </xs:element>
  +                                     <xs:element name="configuration">
  +                                             <xs:annotation>
  +                                                     <xs:documentation>Defines a 
new configuration extension point.</xs:documentation>
  +                                             </xs:annotation>
  +                                             <xs:complexType>
  +                                                     <xs:sequence>
  +                                                             <xs:element 
ref="description" minOccurs="0"/>
  +                                                             <xs:choice 
minOccurs="0" maxOccurs="unbounded">
  +                                                                     <xs:element 
ref="expression"/>
  +                                                                     <xs:element 
ref="value"/>
  +                                                                     <xs:element 
ref="service-ref"/>
  +                                                                     <xs:element 
ref="xml"/>
  +                                                                     <xs:element 
ref="create-instance"/>
  +                                                                     <xs:element 
ref="factory"/>
  +                                                             </xs:choice>
  +                                                     </xs:sequence>
  +                                                     <xs:attribute name="id" 
type="simple-id" use="required"/>
  +                                                     <xs:attribute 
name="element-type" type="xs:string" use="required"/>
  +                                                     <xs:attribute name="count" 
type="occurance-count" use="optional" default="unbounded">
  +                                                             <xs:annotation>
  +                                                                     
<xs:documentation>The number of elements that may be contributed.  The default is 
unbounded (zero or more).</xs:documentation>
  +                                                             </xs:annotation>
  +                                                     </xs:attribute>
  +                                                     <xs:attribute 
name="cache-elements" type="xs:boolean" use="optional" default="true">
  +                                                             <xs:annotation>
  +                                                                     
<xs:documentation>If true (the default), then the extension point will cache the 
element list is creates.  If false, then the element list will be created every time.  
Set this to false when the element list is only needed once (for example, if used only 
by a startup service).</xs:documentation>
  +                                                             </xs:annotation>
  +                                                     </xs:attribute>
  +                                             </xs:complexType>
  +                                     </xs:element>
  +                                     <xs:element name="contribute-configuration">
  +                                             <xs:complexType>
  +                                                     <xs:choice minOccurs="0" 
maxOccurs="unbounded">
  +                                                             <xs:element 
ref="expression"/>
  +                                                             <xs:element 
ref="value"/>
  +                                                             <xs:element 
ref="service-ref"/>
  +                                                             <xs:element ref="xml"/>
  +                                                             <xs:element 
ref="create-instance"/>
  +                                                             <xs:element 
ref="factory"/>
  +                                                     </xs:choice>
  +                                                     <xs:attribute 
name="configuration-id" type="qualified-id" use="required"/>
  +                                             </xs:complexType>
  +                                     </xs:element>
  +                             </xs:choice>
  +                     </xs:sequence>
  +                     <xs:attribute name="id" type="qualified-id" use="required"/>
  +                     <xs:attribute name="class" type="xs:string" use="optional"/>
  +                     <xs:attribute name="version" type="version" use="required"/>
  +             </xs:complexType>
  +     </xs:element>
  +     <xs:complexType name="configure-instance-type">
  +             <xs:annotation>
  +                     <xs:documentation>Collection of elements for configuring an 
object instance.</xs:documentation>
  +             </xs:annotation>
  +             <xs:choice minOccurs="0" maxOccurs="unbounded">
  +                     <xs:element name="set">
  +                             <xs:annotation>
  +                                     <xs:documentation>Sets the value of an object 
property to a literal value.</xs:documentation>
  +                             </xs:annotation>
  +                             <xs:complexType>
  +                                     <xs:simpleContent>
  +                                             <xs:extension base="xs:string">
  +                                                     <xs:attributeGroup 
ref="property-setter"/>
  +                                                     <xs:attribute name="value" 
type="xs:string" use="optional"/>
  +                                             </xs:extension>
  +                                     </xs:simpleContent>
  +                             </xs:complexType>
  +                     </xs:element>
  +                     <xs:element name="set-expression">
  +                             <xs:annotation>
  +                                     <xs:documentation>Sets the value of a property 
to a computed OGNL expression.  The module is the root object of the 
expression.</xs:documentation>
  +                             </xs:annotation>
  +                             <xs:complexType>
  +                                     <xs:simpleContent>
  +                                             <xs:extension base="xs:string">
  +                                                     <xs:attribute 
name="expression" type="xs:string" use="optional"/>
  +                                                     <xs:attributeGroup 
ref="property-setter"/>
  +                                             </xs:extension>
  +                                     </xs:simpleContent>
  +                             </xs:complexType>
  +                     </xs:element>
  +                     <xs:element name="set-create">
  +                             <xs:annotation>
  +                                     <xs:documentation>Creates an instance of a new 
object, optionally configures it, and assigns it to an object 
property.</xs:documentation>
  +                             </xs:annotation>
  +                             <xs:complexType>
  +                                     <xs:complexContent>
  +                                             <xs:extension 
base="configure-instance-type">
  +                                                     <xs:attributeGroup 
ref="property-setter"/>
  +                                                     <xs:attribute name="class" 
type="xs:string" use="required">
  +                                                             <xs:annotation>
  +                                                                     
<xs:documentation>The fully qualified class name of the object to create.  The class 
must have a public, no-arguments constructor.</xs:documentation>
  +                                                             </xs:annotation>
  +                                                     </xs:attribute>
  +                                             </xs:extension>
  +                                     </xs:complexContent>
  +                             </xs:complexType>
  +                     </xs:element>
  +                     <xs:element name="set-factory">
  +                             <xs:annotation>
  +                                     <xs:documentation>Creates an instance of a new 
object by referencing another service (a factory service).  The instance may be 
further configured before being assigned to the property.</xs:documentation>
  +                             </xs:annotation>
  +                             <xs:complexType>
  +                                     <xs:complexContent>
  +                                             <xs:extension 
base="configure-instance-type">
  +                                                     <xs:attributeGroup 
ref="property-setter"/>
  +                                                     <xs:attribute 
name="service-id" type="qualified-id" use="required">
  +                                                             <xs:annotation>
  +                                                                     
<xs:documentation>The fully qualfiied id of a service extension point that will 
manufacture a new instance of an object (which may then be 
configured).</xs:documentation>
  +                                                             </xs:annotation>
  +                                                     </xs:attribute>
  +                                             </xs:extension>
  +                                     </xs:complexContent>
  +                             </xs:complexType>
  +                     </xs:element>
  +                     <xs:element name="set-service-ref">
  +                             <xs:annotation>
  +                                     <xs:documentation>Sets a property of the 
configured object to a service.</xs:documentation>
  +                             </xs:annotation>
  +                             <xs:complexType>
  +                                     <xs:attribute name="service-id" 
type="qualified-id" use="required">
  +                                             <xs:annotation>
  +                                                     <xs:documentation>The fully 
qualified name of the service to assign to the property.</xs:documentation>
  +                                             </xs:annotation>
  +                                     </xs:attribute>
  +                                     <xs:attributeGroup ref="property-setter"/>
  +                             </xs:complexType>
  +                     </xs:element>
  +                     <xs:element name="set-xml">
  +                             <xs:annotation>
  +                                     <xs:documentation>Reads the contents of an XML 
file (located relative to the contributing module's descriptor) and assigns that to a 
property.</xs:documentation>
  +                             </xs:annotation>
  +                             <xs:complexType>
  +                                     <xs:attributeGroup ref="property-setter"/>
  +                                     <xs:attribute name="path" type="xs:string" 
use="required">
  +                                             <xs:annotation>
  +                                                     <xs:documentation>The path of 
the XML file, relative to the contributing module's descriptor.</xs:documentation>
  +                                             </xs:annotation>
  +                                     </xs:attribute>
  +                             </xs:complexType>
  +                     </xs:element>
  +             </xs:choice>
  +     </xs:complexType>
  +     <xs:element name="value" type="xs:string">
  +             <xs:annotation>
  +                     <xs:documentation>A literal value (which may contain variable 
references).</xs:documentation>
  +             </xs:annotation>
  +     </xs:element>
  +     <xs:element name="expression" type="xs:string">
  +             <xs:annotation>
  +                     <xs:documentation>An OGNL expression to be evaluated in the 
context of the Module.</xs:documentation>
  +             </xs:annotation>
  +     </xs:element>
  +     <xs:element name="description" type="xs:string">
  +             <xs:annotation>
  +                     <xs:documentation>Documents a module, service extension point, 
or configuration extension point.</xs:documentation>
  +             </xs:annotation>
  +     </xs:element>
  +     <xs:element name="create-instance">
  +             <xs:annotation>
  +                     <xs:documentation>Instantiates and configures an 
instance.</xs:documentation>
  +             </xs:annotation>
  +             <xs:complexType>
  +                     <xs:complexContent>
  +                             <xs:extension base="configure-instance-type">
  +                                     <xs:attribute name="class" type="xs:string" 
use="required">
  +                                             <xs:annotation>
  +                                                     <xs:documentation>The fully 
qualified class name of the JavaBean to instantiate.</xs:documentation>
  +                                             </xs:annotation>
  +                                     </xs:attribute>
  +                             </xs:extension>
  +                     </xs:complexContent>
  +             </xs:complexType>
  +     </xs:element>
  +     <xs:element name="interceptor">
  +             <xs:annotation>
  +                     <xs:documentation>References an interceptor service that can 
provide an enhancement to the service.</xs:documentation>
  +             </xs:annotation>
  +             <xs:complexType>
  +                     <xs:attribute name="service-id" type="qualified-id" 
use="required">
  +                             <xs:annotation>
  +                                     <xs:documentation>The id of an interceptor 
factory service.</xs:documentation>
  +                             </xs:annotation>
  +                     </xs:attribute>
  +                     <xs:attribute name="order" type="xs:int" use="optional" 
default="0">
  +                             <xs:annotation>
  +                                     <xs:documentation>Used to sort interceptor 
contributions (from multiple Modules) into an order in which they will be applied.  
Interceptors are applied in ascending order.</xs:documentation>
  +                             </xs:annotation>
  +                     </xs:attribute>
  +             </xs:complexType>
  +     </xs:element>
  +     <xs:simpleType name="qualified-id">
  +             <xs:annotation>
  +                     <xs:documentation>A combination of a package id and a simple 
id.</xs:documentation>
  +             </xs:annotation>
  +             <xs:restriction base="xs:string">
  +                     <xs:pattern 
value="(_?(\p{L}|_[0-9])*\.?)+(_?(\p{L}|_|[0-9])*)"/>
  +             </xs:restriction>
  +     </xs:simpleType>
  +     <!--We don't use the xs:ID type, because we want to be able to aggregate many 
module elements together as modules (this is useful when trying to create 
documentation from a number of module descriptors).-->
  +     <xs:simpleType name="simple-id">
  +             <xs:annotation>
  +                     <xs:documentation>An unqualified, local id.</xs:documentation>
  +             </xs:annotation>
  +             <xs:restriction base="xs:string">
  +                     <xs:pattern value="_?(\p{L}|[0-9]|_)+">
  +                             <xs:annotation>
  +                                     <xs:documentation>A simple Java 
id.</xs:documentation>
  +                             </xs:annotation>
  +                     </xs:pattern>
  +             </xs:restriction>
  +     </xs:simpleType>
  +     <xs:simpleType name="version">
  +             <xs:annotation>
  +                     <xs:documentation>Defines a module version number, as three 
numeric values.</xs:documentation>
  +             </xs:annotation>
  +             <xs:restriction base="xs:string">
  +                     <xs:pattern value="([0-9]+\.){2}[0-9]+">
  +                             <xs:annotation>
  +                                     <xs:documentation>A sequence of three numeric 
values: major version, minor version, incremental version.  Example: "0.1.2" or 
"1.1.7".</xs:documentation>
  +                             </xs:annotation>
  +                     </xs:pattern>
  +             </xs:restriction>
  +     </xs:simpleType>
  +     <xs:simpleType name="version-filter">
  +             <xs:annotation>
  +                     <xs:documentation>Used to handle version 
checking.</xs:documentation>
  +             </xs:annotation>
  +             <xs:restriction base="xs:string">
  +                     <xs:pattern value="\*">
  +                             <xs:annotation>
  +                                     <xs:documentation>The value "*" matches any 
version.</xs:documentation>
  +                             </xs:annotation>
  +                     </xs:pattern>
  +                     <xs:pattern value="([0-9]+\.){2}[0-9]+\+?">
  +                             <xs:annotation>
  +                                     <xs:documentation>An exact (or minimum) 
version to match.  A trailing "+" means any subsequent version is acceptible.  
Example: "1.0.3" would match only version "1.0.3", but "1.0.3+" would match "1.0.4", 
"1.1.0", "2.0.0", etc.</xs:documentation>
  +                             </xs:annotation>
  +                     </xs:pattern>
  +             </xs:restriction>
  +     </xs:simpleType>
  +     <xs:element name="factory">
  +             <xs:annotation>
  +                     <xs:documentation>Used to reference a service which can be 
used to create an instance, which is then configured further.</xs:documentation>
  +             </xs:annotation>
  +             <xs:complexType>
  +                     <xs:complexContent>
  +                             <xs:extension base="configure-instance-type">
  +                                     <xs:attribute name="service-id" 
type="qualified-id" use="required">
  +                                             <xs:annotation>
  +                                                     <xs:documentation>The identity 
of a service which can create an instance.  The instance created by the factory may be 
further configured.</xs:documentation>
  +                                             </xs:annotation>
  +                                     </xs:attribute>
  +                             </xs:extension>
  +                     </xs:complexContent>
  +             </xs:complexType>
  +     </xs:element>
  +     <xs:attributeGroup name="property-setter">
  +             <xs:annotation>
  +                     <xs:documentation>Used with elements that set a property of an 
object.</xs:documentation>
  +             </xs:annotation>
  +             <xs:attribute name="property" type="xs:string" use="required">
  +                     <xs:annotation>
  +                             <xs:documentation>The name of the property of the 
object to set.</xs:documentation>
  +                     </xs:annotation>
  +             </xs:attribute>
  +     </xs:attributeGroup>
  +     <xs:element name="service-ref">
  +             <xs:annotation>
  +                     <xs:documentation>A reference to a service, allowing a service 
to be directly added to a configuration extension point as an 
element.</xs:documentation>
  +             </xs:annotation>
  +             <xs:complexType>
  +                     <xs:attribute name="service-id" type="qualified-id" 
use="required">
  +                             <xs:annotation>
  +                                     <xs:documentation>The fully qualified name of 
the service to add as a configuration element.</xs:documentation>
  +                             </xs:annotation>
  +                     </xs:attribute>
  +             </xs:complexType>
  +     </xs:element>
  +     <xs:element name="xml">
  +             <xs:annotation>
  +                     <xs:documentation>Contributes the contents of an XML 
file.</xs:documentation>
  +             </xs:annotation>
  +             <xs:complexType>
  +                     <xs:attribute name="path" type="xs:string" use="required">
  +                             <xs:annotation>
  +                                     <xs:documentation>The path of the XML file, 
relative to the contributing module's module descriptor.</xs:documentation>
  +                             </xs:annotation>
  +                     </xs:attribute>
  +             </xs:complexType>
  +     </xs:element>
  +</xs:schema>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to