dmarston 01/07/03 09:01:08
Added: test/tests/conf/variable variable50.xsl variable48.xsl
variable49.xml variable49.xsl variable50.xml
variable48.xml
Log:
New cases about passing params around
Revision Changes Path
1.1 xml-xalan/test/tests/conf/variable/variable50.xsl
Index: variable50.xsl
===================================================================
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- FileName: variable50 -->
<!-- Document: http://www.w3.org/TR/xslt -->
<!-- DocVersion: 19991116 -->
<!-- Section: 11.2 -->
<!-- Author: Scott Boag -->
<!-- Purpose: Ensure that we can find descendants of the nodes
in a node-set stored in a variable. -->
<xsl:template match="/">
<out>
<xsl:variable name="in" select="*/p"/>
<xsl:for-each select="$in//text()">
<xsl:value-of select="."/><xsl:text> </xsl:text>
</xsl:for-each>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/variable/variable48.xsl
Index: variable48.xsl
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml" indent="no" encoding="UTF-8"/>
<!-- FileName: variable48 -->
<!-- Document: http://www.w3.org/TR/xslt -->
<!-- DocVersion: 19991116 -->
<!-- Section: 11.5 -->
<!-- Purpose: Check propagation of params down into templates -->
<!-- Author: Scott Boag -->
<xsl:param name="request" select="'top'"/>
<xsl:template match="/">
<xsl:apply-templates>
<xsl:with-param name="p1" select="$request"/>
<xsl:with-param name="p2" select="'root'"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="*">
<xsl:param name="p1" select="'error1!'"/>
<xsl:param name="p2" select="'error2!'"/>
<xsl:copy>
<xsl:apply-templates select="node()|@*">
<xsl:with-param name="p1" select="$request"/>
<xsl:with-param name="p2" select="@id"/>
</xsl:apply-templates>
<from>
<xsl:call-template name="dump-values">
<xsl:with-param name="p1" select="$request"/>
<xsl:with-param name="p2" select="$p2"/>
</xsl:call-template>
</from>
</xsl:copy>
</xsl:template>
<xsl:template match="@*">
<xsl:param name="p1" select="'error3!'"/>
<xsl:param name="p2" select="'error4!'"/>
<xsl:attribute name="Value">
<xsl:call-template name="dump-values">
<xsl:with-param name="p1" select="$p1"/>
<xsl:with-param name="p2" select="concat('id=', string($p2))"/>
</xsl:call-template>
</xsl:attribute>
</xsl:template>
<xsl:template name="dump-values">
<xsl:param name="p1" select="'error5!'"/>
<xsl:param name="p2" select="'error6!'"/>
<xsl:value-of select="$p1"/>, <xsl:value-of select="$p2"/>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/variable/variable49.xml
Index: variable49.xml
===================================================================
<?xml version="1.0"?>
<doc id="id0">
<a id="id1">
*id1*
<a id="id2">*id2*
<a id="id3">*id3*</a>
<b id="id4">*id4*</b>
<c id="id5">*id5*</c>
</a>
<b id="id6">*id6*</b>
<c id="id7">*id7*</c>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/variable/variable49.xsl
Index: variable49.xsl
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml" indent="no" encoding="UTF-8"/>
<!-- FileName: variable49 -->
<!-- Document: http://www.w3.org/TR/xslt -->
<!-- DocVersion: 19991116 -->
<!-- Section: 11.5 -->
<!-- Purpose: Show that one param (p2) can be set to value of another (p1)
equally well in apply and call template invocations. -->
<!-- Author: Scott Boag -->
<xsl:template match="/">
<out>
<xsl:apply-templates select="*"/>
<xsl:text> == apply above, call below == </xsl:text>
<xsl:for-each select="//*">
<xsl:call-template name="matchElem"/>
</xsl:for-each>
</out>
</xsl:template>
<xsl:template match="*">
<xsl:param name="p1" select="@id"/>
<xsl:param name="p2" select="$p1"/>
<xsl:value-of select="$p1"/>, <xsl:value-of select="$p2"/>
<xsl:text> </xsl:text>
<xsl:apply-templates select="*"/><!-- Recursively visit all children -->
</xsl:template>
<xsl:template name="matchElem">
<xsl:param name="p1" select="@id"/>
<xsl:param name="p2" select="$p1"/>
<xsl:value-of select="$p1"/>, <xsl:value-of select="$p2"/>
<xsl:text> </xsl:text>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/variable/variable50.xml
Index: variable50.xml
===================================================================
<?xml version="1.0"?>
<doc><p>a<b>b</b>c</p></doc>
1.1 xml-xalan/test/tests/conf/variable/variable48.xml
Index: variable48.xml
===================================================================
<?xml version="1.0"?>
<doc id="id0">
<a id="id1">
*id1*
<a id="id2">*id2*
<a id="id3">*id3*</a>
<b id="id4">*id4*</b>
<c id="id5">*id5*</c>
</a>
<b id="id6">*id6*</b>
<c id="id7">*id7*</c>
</a>
<b id="id8">
*id8*
<a id="id9">*id9*</a>
<b id="id10">*id10*
<a id="id11">*id11*</a>
<b id="id12">*id12*</b>
<c id="id13">*id13*</c>
</b>
<c id="id14">*id14*</c>
</b>
<c id="id15">
*id15*
<a id="id16">*id16*</a>
<b id="id17">*id17*</b>
<c id="id18">*id18*
<a id="id19">*id19*</a>
</c>
</c>
</doc>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]