2011-09-07 2 views
0

Je suis en train de vérifier si deux variables XSL sont les mêmes:

<?xml version="1.0" encoding="UTF-8"?> 
<files> 
<file filename="export.csv" path="/export" active="true" ftp="false"> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl"> 
<xsl:output method="text" encoding="UTF-8"/> 
<xsl:variable name="quote">"</xsl:variable> 
<xsl:variable name="sepstart" select="'&#44;'"/> 

<xsl:template match="/"> 
<xsl:text>"CustomerID"</xsl:text> 

<xsl:variable name="second_check">0</xsl:variable> 

<xsl:for-each select="orders/order"> 
<xsl:for-each select="items/item"> 

<xsl:variable name="output"> 
<xsl:variable name="first_check"><xsl:value-of select="normalize-space(../../increment_id)"/></xsl:variable> 

<xsl:choose> 
<xsl:when test="$first_check = $second_check"> 

Do something... 

</xsl:when> 
<xsl:otherwise> 

Do something... 

<xsl:variable name="second_check"><xsl:value-of select="normalize-space(../../increment_id)"/></xsl:variable> 

</xsl:otherwise> 
</xsl:choose> 

</xsl:variable> 
<xsl:value-of select="$output" /> 
<xsl:text>&#xD;</xsl:text> 

</xsl:for-each> 

</xsl:for-each> 
</xsl:template> 

</xsl:stylesheet> 
</file> 
</files> 

Cependant, il est tout simplement sauter sur les deux et ne rien produire. Est-ce que quelqu'un peut signaler ce que je fais mal?

+4

Cela me semble OK. Peut-être que vous avez besoin de nous montrer du vrai code. –

+1

... et quelques entrées XML –

+0

Ajout d'un vrai code pour vous ... pourrait aider ... Je peux tout coller car je génère une exportation qui est énorme! les en-têtes continuent pendant des siècles –

Répondre

1

Vous ne pouvez pas "re-déclarer" des variables dans XSL. Lorsque vous écrivez

<xsl:variable name="second_check"> 
    <xsl:value-of select="normalize-space(../../increment_id)"/> 
</xsl:variable> 

Cela n'a pas d'effet, à cause de cette

<xsl:variable name="second_check">0</xsl:variable> 

Je ne peux pas vous aider à bien (encore), parce que je ne suis pas vraiment sûr de ce que vous essayez de faire

+0

Eh bien vous venez de répondre à ma question J'essaie de re-déclarer mes variables à chaque boucle, c'est là que je me trompe. Merci beaucoup –

+0

OK, alors. De rien! :-) –