blob: 3d4ea6b37a121446ea2c91287c31cef544bdcb8e [file] [log] [blame]
<?xml version="1.0"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:apply-templates select="//tag">
<xsl:sort select="name"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="tag">
<xsl:param name="tagname" select="name"/>
<sect2 id="tag-{$tagname}">
<title>Tag
<classname>
<xsl:value-of select="name"/>
</classname>
<indexterm>
<primary>tag</primary>
<secondary>
<xsl:value-of select="name"/>
</secondary>
</indexterm>
</title>
<para>
<xsl:value-of select="description"/>
</para>
<variablelist>
<varlistentry>
<term>Class</term>
<listitem>
<para>
<xsl:value-of select="tag-class"/>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>BodyContent</term>
<listitem>
<para>
<xsl:value-of select="body-content"/>
</para>
</listitem>
<listitem>
<para>
<xsl:value-of select="body-content-description"/>
</para>
</listitem>
</varlistentry>
<!--<varlistentry>-->
<!--<term>Description</term>-->
<!--<listitem>-->
<!--<para>-->
<!--<xsl:value-of select="description"/>-->
<!--</para>-->
<!--</listitem>-->
<!--</varlistentry>-->
</variablelist>
<example>
<title>Example of tag
<classname>
<xsl:value-of select="name"/>
</classname>
</title>
<programlisting lang="jsp">
<textobject>
<textdata fileref="../sniplets/{$tagname}.snip"/>
</textobject>
</programlisting>
</example>
<example>
<title>Screenshot of tag
<classname>
<xsl:value-of select="name"/>
</classname>
</title>
<mediaobject>
<imageobject>
<imagedata fileref="image/{$tagname}.png" fileformat="png" />
</imageobject>
</mediaobject>
</example>
<table>
<title>Attributes of tag
<classname>
<xsl:value-of select="name"/>
</classname>
</title>
<tgroup cols="6">
<!--<colspec colname="name" colwidth="2.5cm" align="left"/>-->
<!--<colspec colname="required" colwidth="0.8cm" align="center"/>-->
<!--<colspec colname="expr" colwidth="0.8cm" align="center"/>-->
<!--<colspec colname="type" colwidth="2.5cm" align="left"/>-->
<!--<colspec colname="default" colwidth="1.2cm" align="left"/>-->
<!--<colspec colname="description" colwidth="8.2cm" align="left"/>-->
<colspec colname="name" colwidth="4*" align="left"/>
<colspec colname="required" colwidth="1*" align="center"/>
<colspec colname="expr" colwidth="1*" align="center"/>
<colspec colname="type" colwidth="2*" align="left"/>
<colspec colname="default" colwidth="2*" align="left"/>
<colspec colname="description" colwidth="10*" align="left"/>
<thead>
<row>
<entry>Name</entry>
<entry>Req</entry>
<entry>Exp</entry>
<entry>Type</entry>
<entry>Def</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<xsl:apply-templates select="attribute">
<xsl:sort select="name"/>
</xsl:apply-templates>
</tbody>
</tgroup>
</table>
<!-- <footnoteref></footnoteref>-->
</sect2>
</xsl:template>
<xsl:template match="attribute">
<xsl:param name="required" select="required"/>
<xsl:param name="expression" select="ui-attribute-expression"/>
<xsl:param name="type-package" select="ui-attribute-type/class/package"/>
<xsl:param name="type-class" select="ui-attribute-type/class/name"/>
<row>
<xsl:if test="position() mod 2 = 1">
<xsl:attribute name="class">tobago-reference-row-odd</xsl:attribute>
</xsl:if>
<xsl:if test="position() mod 2 != 1">
<xsl:attribute name="class">tobago-reference-row-even</xsl:attribute>
</xsl:if>
<entry>
<xsl:value-of select="name"/>
<indexterm>
<primary>attribute</primary>
<secondary>
<xsl:value-of select="name"/>
</secondary>
</indexterm>
</entry>
<entry>
<xsl:if test="$required = 'true'">X</xsl:if>
</entry>
<entry>
<xsl:if test="$expression != 'NONE'">
<xsl:value-of select="ui-attribute-expression"/>
</xsl:if>
</entry>
<entry>
<!--<simplelist>--> <!--FIXME: simplelist causes spacings in column, is tag needed? -->
<xsl:apply-templates select="ui-attribute-type/class">
<xsl:sort select="name"/>
</xsl:apply-templates>
<!--</simplelist>-->
</entry>
<entry>
<xsl:value-of select="ui-attribute-default-value"/>
</entry>
<entry>
<xsl:value-of select="description"/>
</entry>
</row>
</xsl:template>
<xsl:template match="ui-attribute-type/class">
<xsl:param name="type-package" select="package"/>
<xsl:param name="type-class" select="name"/>
<xsl:param name="attribute-name" select="../../name"/>
<member>
<xsl:value-of select="name"/>
<xsl:if test="not(starts-with($type-package,'java'))">
<footnote id="{$attribute-name}-{$type-package}.{$type-class}">
<para>
<xsl:value-of select="package"/>
</para>
</footnote>
</xsl:if>
</member>
</xsl:template>
</xsl:stylesheet>