blob: 35ac22fc32a816ee7025f40841fa576bc1cb6e80 [file] [log] [blame]
<?xml version="1.0"?>
<j:jelly
xmlns:j="jelly:core"
xmlns:x="jelly:xml"
xmlns:jsl="jelly:jsl"
xmlns:log="jelly:log">
<x:parse var="doc" xml="target/taglib.xml"/>
<x:set var="libraries" select="$doc/tags/library"/>
<!-- lets create a JSL stylesheet that we'll use later -->
<jsl:stylesheet var="docStylesheet">
<!-- don't output <doc> element but output its contents -->
<jsl:template match="doc">
<jsl:applyTemplates/>
</jsl:template>
<!-- ignore javadoc tags-->
<jsl:template match="authortag"/>
<jsl:template match="versiontag"/>
<jsl:template match="tagtag"/>
<jsl:template match="paramtag"/>
<jsl:template match="requiredtag"/>
<jsl:template match="seetag"/>
<!-- let other text and elements pass through via default rules-->
<jsl:template match="*" trim="false">
<jsl:copy>
<jsl:applyTemplates/>
</jsl:copy>
</jsl:template>
<jsl:template match="@*"/>
</jsl:stylesheet>
<document>
<properties>
<title>Tag Documentation</title>
</properties>
<body>
<section name="Tag Documentation">
<p>
[<a href="#Tag Libraries">tag libraries</a>]
[<a href="#Tags">tags</a>]
</p>
<p>
The following document contains a summary of all the core
<a href="http://jakarta.apache.org/commons/sandbox/jelly/">Jelly</a> tag libraries.
</p>
</section>
<section name="Tag Libraries">
<p>
[<a href="#Tag Libraries">tag libraries</a>]
[<a href="#Tags">tags</a>]
</p>
<table>
<tr>
<th>Library</th>
<th>Description</th>
</tr>
<x:forEach select="$libraries">
<x:set var="uri" select="string(@uri)"/>
<tr>
<td><a href="#${uri}">${uri}</a></td>
<td>
<jsl:style stylesheet="${docStylesheet}" select="doc"/>
</td>
</tr>
</x:forEach>
</table>
<x:forEach select="$libraries">
<x:set var="name" select="string(@uri)"/>
<x:set var="prefix" select="string(@prefix)"/>
<subsection name="${name}">
<p>
<jsl:style stylesheet="${docStylesheet}" select="doc"/>
</p>
<table>
<tr>
<th>Tag Name</th>
<th>Description</th>
</tr>
<x:forEach select="tag">
<x:set var="tagName" select="string(@name)"/>
<x:set var="doc" select="doc"/>
<tr>
<td><a href="#${prefix}:${tagName}">${tagName}</a></td>
<td>
<jsl:style stylesheet="${docStylesheet}" select="$doc"/>
</td>
</tr>
</x:forEach>
</table>
</subsection>
</x:forEach>
</section>
<section name="Tags">
<p>
[<a href="#Tag Libraries">tag libraries</a>]
[<a href="#Tags">tags</a>]
</p>
<x:forEach select="$libraries">
<x:set var="prefix" select="string(@prefix)"/>
<x:forEach select="tag" var="tag">
<x:set var="tagName" select="string(@name)"/>
<subsection name="${prefix}:${tagName}">
<p>
<jsl:style stylesheet="${docStylesheet}" select="$tag/doc"/>
</p>
<table>
<tr>
<th>Attribute Name</th>
<th>Type</th>
<th>Description</th>
</tr>
<x:forEach var="attr" select="$tag/attribute">
<tr>
<td><x:expr select="$attr/@name"/></td>
<td><x:expr select="$attr/@type"/></td>
<td>
<jsl:style stylesheet="${docStylesheet}" select="$attr/doc"/>
</td>
</tr>
</x:forEach>
</table>
</subsection>
</x:forEach>
</x:forEach>
</section>
</body>
</document>
</j:jelly>