mcconnell 2002/08/13 19:55:17
Added: docs type_1_0.dtd
Log:
Avalon Type DTD
Revision Changes Path
1.1 jakarta-avalon-site/docs/type_1_0.dtd
Index: type_1_0.dtd
===================================================================
<!--
This is the DTD defining the Avalon Meta Model Type 1.0
descriptor (XML) file format/syntax.
Author: Stephen McConnell <[EMAIL PROTECTED]>
Author: Peter Donald <[EMAIL PROTECTED]>
An xinfo file is an XML file used to describe Component types and is located
side-by-side with
the .class file of the component. It describes the services the component
requires to operate
(its dependecies), the services the component is capable of offerring other
component, the
context entrys that component requires, logging catagories that the compoent may
use, and other
support meta data in the form of attributes.
Copyright (C) The Apache Software Foundation. All rights reserved.
This software is published under the terms of the Apache Software License
version 1.1, a copy of which has been included with this distribution in
the LICENSE.txt file.
-->
<!--
The component-info is the document root, it defines:
component the specifc details about this component
loggers the loggers used by this component
context the context required by this component
services the services offered by this component
dependencies the services that this component require to operate
stages the lifecycle stage extensions that this component is depenent on
extensions the lifecycle extensions that this component provides
-->
<!ELEMENT type (component, loggers?, context?, services?, dependencies?, stages?,
extensions?)>
<!--
The component element describes the component, it defines:
name the human readable name of component type. Must be a string
containing alphanumeric characters, '.', '_' and starting
with a letter.
version the version of the component in (in the format #.#.#, #.# or #
where
# is a integer
-->
<!ELEMENT component (name?,version,attributes?)>
<!ELEMENT name (#PCDATA) >
<!ELEMENT version (#PCDATA) >
<!--
The logger element defines the loggers that are available to component.
The element has one attribute specifying name of Logger. It contains:
attributes Optional attributes about logger
-->
<!ELEMENT logger (attributes?) >
<!ATTLIST logger name CDATA #IMPLIED >
<!--
The context element defines what values and type of context
is available to component.
It contains:
entrys Key value pairs that component uses
attributes Optional attributes about service
-->
<!ELEMENT context (entry*,attributes?) >
<!ATTLIST context type CDATA #IMPLIED >
<!--
The service element defines a service that the component
can provide to other component.
It contains:
reference the reference to service.
attributes Optional attributes about service
-->
<!ENTITY % ref "(service-ref|reference)">
<!ELEMENT service (%ref;,attributes?) >
<!--
The reference element defines a reference to a versioned interface.
It defines:
type the class of the interface. This must be equal to the class name of the
interface.
version the version of the interface in (in the format #.#.#, #.# or # where
# is a integer
-->
<!ELEMENT reference EMPTY >
<!ATTLIST reference
type CDATA #REQUIRED
version CDATA #IMPLIED >
<!--
The extension element defines a lifecycle extension stage supplied by a type:
name the extension name.
reference the version lifecycle interface supported
attributes Optional attributes about the extension
-->
<!ENTITY % stage.attribute "stage (CREATE|ACCESS|RELEASE|DESTROY|ALL|INNER|OUTER)
'ALL'">
<!ELEMENT extension (name,reference,attributes?)>
<!ATTLIST extension
%stage.attribute; >
<!--
The stage element defines a lifecycle extension stage that this component is
dependent on.
It contains:
name the stage name.
interface the client stage interface
attributes Optional attributes about the stage
-->
<!ELEMENT stage (reference,attributes?)>
<!--
The stages element contains a list of stages that this component id dependent on.
It contains stage elements.
-->
<!ELEMENT stages (stage*)>
<!--
The extensions element contains a list of extensions that the component provides.
-->
<!ELEMENT extensions (extension*)>
<!--
The service dependency describes a service that the component
requires. It defines:
role the role of the service. This is the value that is used to lookup the
service in the ComponentManager. If not provided it defaults to the
value specified in the name attribute of service element
service-ref the service that is required
-->
<!ELEMENT dependency (role?,%ref;,attributes?) >
<!ATTLIST dependency optional CDATA #IMPLIED >
<!ELEMENT role (#PCDATA) >
<!--
The loggers element contains a list of loggers that component uses.
-->
<!ELEMENT loggers (logger*)>
<!--
The services element contains a list of services that this component supports.
It contains service elements.
-->
<!ELEMENT services (service*)>
<!--
The dependencies element contains a list of services that this component requires.
It contains dependency elements.
-->
<!ELEMENT dependencies (dependency*)>
<!--
The attributes element contains a list of attributes for feature.
-->
<!ELEMENT attributes (attribute*)>
<!--
The attribute element defines an attribute (an opaque key-value pair for a feature).
It defines:
key the key for attribute.
value the value of attribute.
-->
<!ELEMENT attribute EMPTY >
<!ATTLIST attribute
key CDATA #REQUIRED
value CDATA #REQUIRED
>
<!--
The entry element defines entry in context.
It defines:
key the key for entry.
value the value of entry.
optional is entry optional
-->
<!ELEMENT entry EMPTY >
<!ATTLIST entry
key CDATA #REQUIRED
type CDATA #REQUIRED
optional CDATA #IMPLIED
>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>