XSL выбрать, когда $ variable = $ variable - PullRequest
0 голосов
/ 07 сентября 2011

Я пытаюсь проверить, совпадают ли две переменные XSL:

<?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>

Однако, он просто пропускает оба и ничего не выводит.

Может кто-нибудь указать, что яя делаю не так?

1 Ответ

1 голос
/ 07 сентября 2011

Вы не можете «объявлять» переменные в XSL.Когда вы пишете

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

Это никак не влияет, из-за этого

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

Я не могу вам помочь (пока), потому что я не совсем уверен, что вы 'пытаюсь сделать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...