pier 2003/03/04 20:02:47
Added: src/scratchpad/flowspec Cocoon.xml style.css style.xsl
Log:
Preliminary and _very_partial_ language independent flow specification.
NOTE: This is heavily tuned to be used with Mozilla 1.3 on client side.
Revision Changes Path
1.1 xml-cocoon2/src/scratchpad/flowspec/Cocoon.xml
Index: Cocoon.xml
===================================================================
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="style.xsl" type="text/xsl"?>
<interface name="Cocoon">
<attribute name="componentManager" type="ComponentManager" access="read-only">
<p>The Cocoon ComponentManager associated with this instance.</p>
</attribute>
<attribute name="environment" type="Environment" access="read-only">
<p>The Cocoon Environment instance associated with this request.</p>
</attribute>
<attribute name="interpreter" type="Interpreter" access="read-only">
<p>The Cocoon Interpreter instance executing this script.</p>
</attribute>
<attribute name="context" type="Context" access="read-only">
<p>The Cocoon Context associated with this instance.</p>
</attribute>
<attribute name="parameters" type="BeanArray" access="read-only">
<p>
An array of <ref type="Bean">Bean</ref> objects representing the current
request parameters.
</p>
<p>random gibberish</p>
</attribute>
<attribute name="request" type="Request" access="read-only">
<p>The current Cocoon Request instance associated with this request.</p>
</attribute>
<attribute name="response" type="Response" access="read-only">
<p>The current Cocoon Response instance associated with this request.</p>
</attribute>
<attribute name="session" type="Session" access="read-only">
<p>The Cocoon Session instance associated with the requesting client.</p>
</attribute>
<function name="callAction" type="Bean" raise="Exception">
<argument type="String" name="type">[???]</argument>
<argument type="String" name="source">[???]</argument>
<return>[???]</return>
<raise>[???]</raise>
<p>
Invoke a named action defined in the Cocoon pipeline.
</p>
<p>
random stuff...
</p>
</function>
<function name="createSession">
<p>
Create a new Cocoon Session instance and associate it univocally with the
current client.
</p>
</function>
<function name="displayAllContinuations" raise="ComponentException">
<raise>[???]</raise>
<p>
[???]
</p>
</function>
<function name="forwardTo" raise="Exception">
<raise>[???]</raise>
<argument type="String" name="uri">[???]</argument>
<argument type="Bean" name="bizData">[???]</argument>
<argument type="Continuation" name="continuation">[???]</argument>
<p>
Forward the current request to the specified URI to be used as a view.
</p>
</function>
<function name="inputModuleGetAttribute" raise="Exception">
<argument type="String" name="type">[???]</argument>
<argument type="String" name="attribute">[???]</argument>
<raise>[???]</raise>
<p>
[???]
</p>
</function>
<function name="load" type="Object" raise="Exception">
<argument type="String" name="filename">The file containing the script to
load</argument>
<raise>If the script cannot be loaded</raise>
<return>[???]</return>
<p>
Load and include a specified script in memory, as if it were typed in the
current script.
</p>
</function>
<function name="outputModuleCommit" raise="Exception">
<argument type="String" name="type">[???]</argument>
<raise>[???]</raise>
<p>
[???]
</p>
</function>
<function name="outputModuleRollback" raise="Exception">
<argument type="String" name="type">[???]</argument>
<raise>[???]</raise>
<p>
[???]
</p>
</function>
<function name="outputModuleSetAttribute" raise="Exception">
<argument type="String" name="type">[???]</argument>
<argument type="String" name="attribute">The name of the attribute to
set</argument>
<argument type="String" name="value">The value of the attribute</argument>
<raise>[???]</raise>
<p>
[???]
</p>
</function>
<function name="process" type="boolean" raise="Exception">
<argument type="String" name="uri">The Cocoon URI generating the
subrequest</argument>
<argument type="Bean" name="bizData">
A <ref type="Bean">Bean</ref> which can be evaluated by the invoked pipeline
components containing the business data associated with the subrequest
</argument>
<argument type="Object">
A Java-Native OutputStream where the subrequest output should be written to
</argument>
<return>Whatever the Cocoon Environment returns processing this
subrequest</return>
<raise>If an error occurred processing the subrequest</raise>
<p>
Process a subrequest made to the Cocoon sitemap, writing the output to
a specified OutputStream.
</p>
</function>
</interface>
1.1 xml-cocoon2/src/scratchpad/flowspec/style.css
Index: style.css
===================================================================
table.index {
background-color: #ccccff;
border-width: thin;
border-color: #3333ff;
border-style: ridge;
}
table.index thead th {
background-color: #9999ff;
border-width: thin;
border-color: #3333ff;
border-style: ridge;
font-size: larger;
}
table.index thead td {
background-color: #6666ff;
border-width: thin;
border-color: #3333ff;
border-style: ridge;
font-size: smaller;
font-weight: bold;
width: 0%;
}
table.index thead td.type {
width: 0%;
}
table.index thead td.desc {
width: 100%;
}
table.index thead td.accs {
width: 0%;
}
table.index tbody td {
background-color: #ffffff;
border-width: thin;
border-color: #3333ff;
border-style: solid;
vertical-align: top;
}
table.index tbody td.type {
width: 0%;
}
table.index tbody td.desc {
width: 0%;
}
table.index tbody td.type {
width: 0%;
}
table.index tbody td.read-only {
background-color: #ff9999;
text-align: center;
vertical-align: middle;
}
table.index tbody td.write-only {
background-color: #99ff99;
text-align: center;
vertical-align: middle;
}
table.index tbody td.read-write {
background-color: #ffff99;
text-align: center;
vertical-align: middle;
}
table.index div.type {
text-align: right;
font-family: monospace;
}
table.index div.name {
font-family: monospace;
}
table.index div.desc {
margin-left: 25px;
}
1.1 xml-cocoon2/src/scratchpad/flowspec/style.xsl
Index: style.xsl
===================================================================
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="style.xsl" type="text/xsl"?>
<xsl:stylesheet version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
<xsl:template match="/">
<html>
<xsl:apply-templates/>
</html>
</xsl:template>
<xsl:template match="interface">
<head>
<title>Flow Layer: Interface "<xsl:value-of select="@name"/>" definition.</title>
<link href="style.css" rel="stylesheet" text="text/css"/>
</head>
<body>
<h1><em><xsl:value-of select="@name"/></em> interface</h1>
<p>
<table width="100%" class="index">
<thead>
<tr><th colspan="3">Attributes</th></tr>
<tr>
<td class="type">Type</td>
<td class="desc">Name / Description</td>
<td class="accs">Acc.</td>
</tr>
</thead>
<xsl:apply-templates select="attribute">
<xsl:sort select="@name"/>
</xsl:apply-templates>
</table>
</p>
<p>
<table width="100%" class="index">
<thead>
<tr><th colspan="3">Functions</th></tr>
<tr>
<td class="type">Type</td>
<td class="desc">Name / Description</td>
</tr>
</thead>
<xsl:apply-templates select="function">
<xsl:sort select="@name"/>
</xsl:apply-templates>
</table>
</p>
</body>
</xsl:template>
<xsl:template match="attribute">
<tbody>
<tr>
<td><div class="type"><a href="./[EMAIL PROTECTED]"><xsl:value-of
select="@type"/></a></div></td>
<td>
<div class="name"><a href="[EMAIL PROTECTED]"><xsl:value-of
select="@name"/></a></div>
<div class="desc">
<xsl:apply-templates select="child::p[position()=1]" mode="index"/>
</div>
</td>
<td class="[EMAIL PROTECTED]">
<xsl:choose>
<xsl:when test="@access='read-only'">R</xsl:when>
<xsl:when test="@access='write-only'">W</xsl:when>
<xsl:otherwise>RW</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</tbody>
</xsl:template>
<xsl:template match="function">
<tbody>
<tr>
<td>
<div class="type">
<xsl:choose>
<xsl:when test="@type!=''">
<a href="./[EMAIL PROTECTED]"><xsl:value-of select="@type"/></a>
</xsl:when>
<xsl:otherwise>void</xsl:otherwise>
</xsl:choose>
</div>
</td>
<td>
<div class="name">
<a href="[EMAIL PROTECTED]"><xsl:value-of select="@name"/></a>
<xsl:text> (</xsl:text>
<xsl:apply-templates select="argument" mode="index"/>
<xsl:text>)</xsl:text>
<xsl:if test="@raise != ''">
<br/>raise <a href="./[EMAIL PROTECTED]"><xsl:value-of
select="@raise"/></a>
</xsl:if>
</div>
<div class="desc">
<xsl:apply-templates select="child::p[position()=1]" mode="index"/>
</div>
</td>
</tr>
</tbody>
</xsl:template>
<xsl:template match="p" mode="index">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="argument" mode="index">
<xsl:if test="position() > 1"><xsl:text>, </xsl:text></xsl:if>
<a href="./[EMAIL PROTECTED]"><xsl:value-of select="@type"/></a>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
</xsl:template>
<xsl:template match="ref">
<a href="./[EMAIL PROTECTED]"><xsl:apply-templates/></a>
</xsl:template>
</xsl:stylesheet>