mcconnell 2003/08/27 21:07:10
Added: merlin/merlin-platform/xdocs/meta/block/include index.xml
navigation.xml resource.xml source.xml
Log:
Updated block deployment meta-data spec.
Revision Changes Path
1.1
avalon-sandbox/merlin/merlin-platform/xdocs/meta/block/include/index.xml
Index: index.xml
===================================================================
<?xml version="1.0"?>
<document>
<header>
<title>Include Directive</title>
<authors>
<person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
</authors>
</header>
<body>
<section name="Include Directive">
<subsection name="Nested Elements">
<table>
<tr><th>Element</th><th>Occurance</th><th>Description</th></tr>
<tr>
<td>target</td><td>*</td>
<td>
A set of target directives scoped relative to the container established
by the include. Targets declarations correspond to the specification of
<a href="../../config/target.html">target elements</a> presented under
the config.xml spec.
</td>
</tr>
</table>
</subsection>
<subsection name="Attributes">
<table>
<tr><th>Attribute</th><th>Required</th><th>Description</th></tr>
<tr>
<td>name</td><td>yes</td>
<td>
A name to assign to the container created by the block include.
Will default to the name of the included block.
</td>
</tr>
<tr>
<td>id</td><td>yes</td>
<td>
The resource repository identifier.
</td>
</tr>
<tr>
<td>version</td><td>no</td>
<td>
The resource version.
</td>
</tr>
<tr>
<td>type</td><td>no</td>
<td>
A resource type such as 'jar' or 'xml'. Tge default value is 'jar'.
</td>
</tr>
</table>
</subsection>
<subsection name="Description">
<p>An include directive instructs Merlin to load and deploy the block defined within
the referenced jar file as a subcontainer within the enclosing container. The include
directive is equivalent to the nesting of a full block definition within another
block. Block includes enable composition of pre-packaged component based solutions as
the included block appears to other components as a regular component (exposing
services and dependecies, etc.).</p>
</subsection>
<subsection name="Sample XML">
<p>
The following example block.xml demonstrates the inclusion of three blocks within
another enclosing block. In this example, the common shared API (containing service
interfaces classes is declared in the containing block classloader).
</p>
<source><![CDATA[
<container name="tutorial">
<classloader>
<classpath>
<repository>
<resource id="tutorial:composition-api" version="1.0"/>
</repository>
</classpath>
</classloader>
<include name="publisher">
id="tutorial:composition-publisher" version="1.0"/>
<include name="application">
id="tutorial:composition-application" version="1.0"/>
<include name="location">
id="tutorial:composition-location" version="1.0"/>
</container>
]]></source>
</subsection>
</section>
</body>
</document>
1.1
avalon-sandbox/merlin/merlin-platform/xdocs/meta/block/include/navigation.xml
Index: navigation.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<project>
<title>Merlin</title>
<body>
<links>
<item name="Home" href="http://avalon.apache.org/"/>
<item name="Framework" href="http://avalon.apache.org/framework/"/>
<item name="Components" href="http://avalon.apache.org/components"/>
<item name="Containers" href="http://avalon.apache.org/containers/"/>
<item name="Sandbox" href="http://avalon.apache.org/sandbox/"/>
</links>
<menu name="About Merlin">
<item name="Overview" href="/about/index.html"/>
<item name="Getting Started" href="/starting/index.html"/>
<item name="Merlin System" href="/merlin/index.html"/>
<item name="Meta Model" href="/meta/index.html">
<item name="kernel.xml" href="/meta/kernel/index.html"/>
<item name="blocks.xml" href="/meta/block/index.html">
<item name="services" href="/meta/block/services/index.html"/>
<item name="classloader" href="/meta/block/classloader/index.html"/>
<item name="component" href="/meta/block/components/index.html"/>
<item name="container" href="/meta/block/index.html"/>
<item name="include" href="/meta/block/include/index.html"/>
</item>
<item name="config.xml" href="/meta/config/index.html"/>
</item>
<item name="Tools" href="/tools/index.html"/>
<item name="Resources" href="/resources/index.html"/>
</menu>
<menu name="Extensions">
<item name="JNDI" href="/extensions/jndi/index.html"/>
<item name="Servlet" href="/extensions/servlet/index.html"/>
</menu>
</body>
</project>
1.1
avalon-sandbox/merlin/merlin-platform/xdocs/meta/block/include/resource.xml
Index: resource.xml
===================================================================
<?xml version="1.0"?>
<document>
<header>
<title>Include Directive</title>
<authors>
<person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
</authors>
</header>
<body>
<section name="Resource Include Directive">
<subsection name="Attributes">
<table>
<tr><th>Attribute</th><th>Required</th><th>Description</th></tr>
<tr>
<td>id</td><td>yes</td>
<td>
A resource artifact identifier in form [group]:[artifact-name]. The value
identifes a jar file containing a block defintition that is resolved
relative to a repository established by the Merlin Kernel.
</td>
</tr>
<tr>
<td>version</td><td>no</td>
<td>
Used in conjuction with the id attribute to qualify the artifact version.
</td>
</tr>
</table>
</subsection>
<subsection name="Description">
<p>
The defintion of the block to include will be resolved from the jar file referenced
by the resource directive. The jar file shall be assumed to be a packaged block
containing a block defintion under the path BLOCK-INF/block.xml.
</p>
</subsection>
<subsection name="Sample XML">
<p>
The following example block.xml demonstrates the inclusion of three blocks within
another enclosing block. In this example, the common shared API (containing service
interfaces classes is declared in the containing block classloader).
</p>
<source><![CDATA[
<container name="tutorial">
<include name="publisher">
id="tutorial:composition-publisher" version="1.0"/>
</container>
]]></source>
</subsection>
</section>
</body>
</document>
1.1
avalon-sandbox/merlin/merlin-platform/xdocs/meta/block/include/source.xml
Index: source.xml
===================================================================
<?xml version="1.0"?>
<document>
<header>
<title>Source Include Directive</title>
<authors>
<person name="Stephen McConnell" email="[EMAIL PROTECTED]"/>
</authors>
</header>
<body>
<section name="Source Include Directive">
<subsection name="Attributes">
<table>
<tr><th>Attribute</th><th>Required</th><th>Description</th></tr>
<tr>
<td>path</td><td>no</td>
<td>
URL used to reference a block directive as a URL. Is useful as an
alternative form to the resource include during development.
</td>
</tr>
</table>
</subsection>
<subsection name="Description">
<p>
Includes a block defined by the block descriptor referenced by the path attribute
value.
</p>
</subsection>
<subsection name="Sample XML">
<source><![CDATA[
<container name="tutorial">
<classloader>
<classpath>
<repository>
<resource id="tutorial:composition-api" version="1.0"/>
</repository>
</classpath>
</classloader>
<include name="publisher">
<source path="conf/include.xml"/>
</include>
</container>
]]></source>
</subsection>
</section>
</body>
</document>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]