xsl-list
[Top] [All Lists]

Re: [xsl] problem of result returned by variable

2006-08-22 01:54:29
On 8/22/06, corine amel zayanie <corine_amel(_at_)yahoo(_dot_)fr> wrote:
problem of result returned by variable
I explain my problem between <!-- -->

<xsl:output method="html" media-type="text/html; charset=ISO-8859-1" 
version="4.0"/>
<xsl:template match="/">
<html>
<body>
<table border="0" width="*" >
<tr><th>Nombre noeud</th>
<th>Numero du A</th>
</tr>
<xsl:call-template name="doc">
<xsl:with-param name="requete" select="document('requete.xml')/requete"/>
</xsl:call-template>

The context node here is the root /

</table>
</body>
</html>
</xsl:template>
<xsl:template name ="doc" match="LISTE-A">
<xsl:param name="requete"/>
<xsl:call-template name="doc2">
<xsl:with-param name="requete" select="$requete"/>
<xsl:with-param name="varReq1" select=".//DEP = $requete/DEP and .//ANI= 
$requete/ANI"/>

The context here is still the root / so .//DEP and .//ANI are document wide

</xsl:call-template>
</xsl:template>
<xsl:template name ="doc2" match="LISTE-A">
<xsl:param name="varReq1"/>
<xsl:param name="requete"/>
<xsl:value-of select=".//DEP = $requete/DEP and .//ANI= $requete/ANI"/>
<xsl:for-each select="//A">

The context node is now each A in the document

<xsl:choose>
<xsl:when test=".//DEP = $requete/DEP and .//ANI= $requete/ANI">

The test is now using DEP and ANI descendants of the context node
(which is <A>) so its only checking descendants of each <A> in the
document this time which is why you get a different result - do you
really mean to use ".//" and not just "//"?

Either way if you are checking the same global condition you should
really make it a global variable.

cheers
andrew

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>