blob: 2bea9370bbb0ac877309c6b4fc039489640debb8 [file] [log] [blame]
<?xml version="1.0"?>
<!--
*****************************************************************************
* 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 file. *
*****************************************************************************
-->
<!--
* Hello World logicsheet for the Java language
*
* @author <a href="mailto:vgritsenko@apache.org>Vadim Gritsenko</a>
* @version CVS $Revision: 1.1 $ $Date: 2003/03/09 00:11:07 $
-->
<xsl:stylesheet
version="1.0"
xmlns:xsp="http://apache.org/xsp"
xmlns:xsp-hello="http://apache.org/xsp/hello/1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="xsp-hello:greeting">
<xsl:variable name="name">
<xsl:choose>
<xsl:when test="@name">"<xsl:value-of select="@name"/>"</xsl:when>
<xsl:when test="xsp-hello:name">
<xsl:call-template name="get-nested-content">
<xsl:with-param name="content" select="xsp-hello:name"/>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="value">
<xsl:choose>
<xsl:when test="@value">"<xsl:value-of select="@value"/>"</xsl:when>
<xsl:when test="xsp-hello:value">
<xsl:call-template name="get-nested-content">
<xsl:with-param name="content" select="xsp-hello:value"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>"Hello"</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsp:content>
<xsp:expr><xsl:value-of select="$value"/></xsp:expr>,
<xsp:expr><xsl:value-of select="$name"/></xsp:expr>!
</xsp:content>
</xsl:template>
<xsl:template name="get-nested-content">
<xsl:param name="content"/>
<xsl:choose>
<xsl:when test="$content/*">
<xsl:apply-templates select="$content/*"/>
</xsl:when>
<xsl:otherwise>"<xsl:value-of select="$content"/>"</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="@*|*|text()|processing-instruction()">
<xsl:copy>
<xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>