donaldp 2002/11/12 20:02:31 Added: docs/excalibur/info componentinfo.dtd.txt sample.html Log: Add in DTD and start of sample. Revision Changes Path 1.1 jakarta-avalon-site/docs/excalibur/info/componentinfo.dtd.txt Index: componentinfo.dtd.txt =================================================================== <!-- This is the DTD defining the Avalon ComponentInfo 1.0 descriptor (XML) file format/syntax. Author: Peter Donald <peter at apache.org> A BlockInfo is an XML file used to describe Components and located side-by-side with the Component .class file. It describes the services the Component requires to operate, the services the Component is capable of offerring other Component, the context entrys that Component requires and other support meta data. 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 schema the configuration/parameters schema that this component validates against --> <!ELEMENT component-info (component, loggers?, context?, services?, dependencies?, schema?)> <!-- !ATTLIST component-info id ID #IMPLIED xmlns CDATA #FIXED "http://jakarta.apache.org/avalon/componentinfo_1_0.dtd" --> <!-- The service-info is the document root for service info file, it defines: service the specifc details about this service methods the methods declared by this service --> <!ELEMENT service-info (service, methods?)> <!-- 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. --> <!ELEMENT component (attribute*)> <!ATTLIST component type CDATA #REQUIRED > <!-- The schema element defines the schema for the component, it defines: category either "configuration" or "parameters" depending on what the schema is being used to validate against. location the location of the schema relative the the component --> <!ELEMENT schema (attribute*)> <!ATTLIST schema category CDATA #REQUIRED > <!ATTLIST schema location CDATA #REQUIRED > <!-- The logger element defines the loggers that are available to component. The element has one attribute specifying name of Logger. It contains: attribute Optional attributes about logger --> <!ELEMENT logger (attribute*) > <!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 attribute Optional attributes about service --> <!ELEMENT context (entry*,attribute*) > <!ATTLIST context type CDATA #IMPLIED > <!-- The service element defines a service that the component can provide to other component. type the name of the service. This is usually equal to the class name of the interface that defines the service. It contains: attribute Optional attributes about service --> <!ELEMENT service (attribute*) > <!ATTLIST service type CDATA #REQUIRED > <!-- The service dependency describes a service that the component requires. It defines: key the key used to lookup service. If not provided it defaults to the value specified in the name attribute of service element --> <!ELEMENT dependency (attribute*) > <!ATTLIST dependency key CDATA #IMPLIED type CDATA #REQUIRED optional CDATA #IMPLIED > <!-- 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 methods element contains a list of methods declared by service. --> <!ELEMENT methods (method*)> <!-- 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 (attribute*) > <!ATTLIST entry key CDATA #REQUIRED type CDATA #REQUIRED optional CDATA #IMPLIED > <!ELEMENT method (parameter*,attribute*) > <!ATTLIST method name CDATA #REQUIRED return-type CDATA #REQUIRED > <!ELEMENT parameter (attribute*) > <!ATTLIST parameter type CDATA #REQUIRED > <!-- The method element defines a method. It defines: key the key for entry. value the value of entry. optional is entry optional --> <!ELEMENT attribute (param*) > <!ATTLIST attribute name CDATA #REQUIRED > <!-- The param element defines an parameter to a attribute. It defines: name the name of attribute. value the value of attribute. --> <!ELEMENT param EMPTY > <!ATTLIST param name CDATA #REQUIRED value CDATA #REQUIRED > 1.1 jakarta-avalon-site/docs/excalibur/info/sample.html Index: sample.html =================================================================== <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- This is a generated file. Do not edit. --> <html> <head> <style type="text/css"> @import url("./css/tigris.css"); @import url("./css/site.css"); </style> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <meta name="author" value="Peter Donald"> <meta name="email" value="peter at apache.org"> <title>Avalon Info - Overview</title> </head> <body marginwidth="0" marginheight="0" class="composite"> <div id="banner"> <table border="0" cellspacing="0" cellpadding="8" width="100%"> <!-- TOP IMAGE --> <tr> <td> <td colspan="2"> <a href="http://jakarta.apache.org"><img src="http://jakarta.apache.org/images/jakarta-logo.gif" align="left" border="0"/></a> </td> </td> <td><div align="right" valign="bottom"><b><font size="+3">Avalon Info</font></b></div></td> </tr> </table> </div> <table border="0" cellspacing="0" cellpadding="8" width="100%" id="main"> <tr valign="top"> <!-- LEFT SIDE NAVIGATION --> <td id="leftcol" width="20%"> <div id="navcolumn"> <div> <strong>About</strong> <div><small> <a href="./index.html">Overview</a> </small></div> <div><small> <a href="http://jakarta.apache.org/avalon/excalibur/index.html">Excalibur Home</a> </small></div> <div><small> <a href="http://jakarta.apache.org/builds/jakarta-avalon-excalibur/release">Download</a> </small></div> <div><small> <a href="./api/">API Docs</a> </small></div> </div> <div> <strong>Specifications</strong> <div><small> <a href="./componentinfo.dtd.txt">Info DTD</a> </small></div> <div><small> <a href="./attributes.html">Common Attributes</a> </small></div> <div><small> <a href="./context.html">Context Entry Spec</a> </small></div> <div><small> <a href="./features.html">Features</a> </small></div> </div> <div> <strong>Tools</strong> <div><small> <a href="./tasks.html">Ant Tasks</a> </small></div> <div><small> <a href="./doclet.html">Doclet Markup</a> </small></div> </div> <div> <strong>Example</strong> <div><small> <a href="./sample.html">Sample Component Info</a> </small></div> </div> </div> </td> <td><div id="bodycol"><div class="app"> <div class="h3"> <h3><a name="Introduction">Introduction</a></h3> <p > Below is a sample xml descriptor that includes documentation describing the elements of the descriptor. </p> </div> <div class="h3"> <h3><a name="Example">Example</a></h3> <div id="source"> <pre><?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE component-info PUBLIC "-//AVALON/Component Info DTD Version 1.0//EN" "http://jakarta.apache.org/avalon/dtds/info/componentinfo_1_0.dtd" > <component-info> <!-- The following element defines the name of the components class. --> <component type="com.biz.MyComponent"/> <!-- The loggers section defines a set of loggers that the component will use. Names of loggers are hierarchial using a '.' to separate each element in the hierarchy. The component gets passed a logger that is conceptually named "" (empty string). They can retrieve child loggers via the Logger.getChildLogger(String name) method. The name that they pass into logger is the next name in the hierarchy. So the below example indicates that the component will retrieve the "auth" logger and use it to log messages, such as; getLogger().getChildLogger("auth").warn( "Some message!" ); --> <loggers> <logger/> <logger name="auth"/> </loggers> <context> <entry key="component.classloader" type="java.lang.ClassLoader"/> </context> <services> <service type="com.biz.Service1"/> </services> <dependencies> <dependency type="com.biz.Service2"/> <dependency key="com.biz.Service1/Variation" type="com.biz.Service1" optional="true"/> </dependencies> <schema category="configuration" location="MyComponent-schema.xml"/> </component-info></pre> </div> </div> </div> <div align="right" id="authors"> by <a href="mailto:peter at apache.org">Peter Donald</a> </div> </div></td> </tr> </table> <!-- FOOTER --> <div id="footer"> <table border="0" cellspacing="0" cellpadding="4"> <tr> <td>Copyright © 1999-2002, Apache Software Foundation</td> </tr> </table> </div> </body> </html>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>