Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 使用xsl:if检查节点的值_Xml_Xslt - Fatal编程技术网

Xml 使用xsl:if检查节点的值

Xml 使用xsl:if检查节点的值,xml,xslt,Xml,Xslt,我想检查节点是“借方”还是“贷方” 这样我就可以将信息从信用卡信息转换为借记或信用交易 任何建议???元素xsl:if表示“如果A做B否则什么也不做”。使用xsl:choose(使用xsl:when和xsl:others)表示“如果A做B做C”。否则,我们确实需要一个更具体的例子来说明您的意思。元素xsl:if表示“if a do B else do nothing”。使用xsl:choose(使用xsl:when和xsl:others)表示“如果A做B做C”。否则,我们确实需要一个更具体的例子

我想检查节点
是“借方”还是“贷方”

这样我就可以将信息从信用卡信息转换为借记或信用交易


任何建议???

元素
xsl:if
表示“如果A做B否则什么也不做”。使用
xsl:choose
(使用
xsl:when
xsl:others
)表示“如果A做B做C”。否则,我们确实需要一个更具体的例子来说明您的意思。

元素
xsl:if
表示“if a do B else do nothing”。使用
xsl:choose
(使用
xsl:when
xsl:others
)表示“如果A做B做C”。否则,我们确实需要一个更具体的例子来说明您的意思。

我特别喜欢在大多数情况下使用xsl:choose。它提供了最大的灵活性。我还将使用模板之外的变量作为类型

变量代码(属于模板之外):


xsl:选择代码(属于模板):


类型是信用卡
类型是借记卡
类型既不是借记卡也不是信用卡

希望这有帮助:)

我特别喜欢在大多数情况下使用xsl:choose。它提供了最大的灵活性。我还将使用模板之外的变量作为类型

变量代码(属于模板之外):


xsl:选择代码(属于模板):


类型是信用卡
类型是借记卡
类型既不是借记卡也不是信用卡

希望这有帮助:)

你的问题太模糊,无法回答。您可以发布输入XML、您尝试过的XSLT和想要的输出XML的示例吗?您的问题太模糊,无法回答。您可以发布输入XML、您尝试过的XSLT和想要的输出XML的示例吗?您不能将代码缩短为或类似的格式吗?根据我的经验,XSL将空节点集解释为false,将1+节点集解释为true。但是这可能不可靠。@Tom W:我喜欢使用变量。。这只是我的观点:我认为这是更好的编码实践。这是因为如果您需要使用此文本一千次,但突然需要更改路径的一部分,则只需要在变量中更改一次,而不是在使用测试的所有位置更改一千次。不对你的想法感兴趣。这是一个公平的反驳。这将取决于所使用的上下文;我自然会假设,对于很多重复操作,使用变量会降低XSL处理引擎的速度;但是你关于可重用性的论点是很好的。如果它被用于许多不同的地方,那么变量可能是更好的选择。我倾向于在适当的地方选择简洁。@Tom W:你认为它会降低处理引擎的速度多少?我只是想知道xsl的未来编码:)难道你不能把代码缩短到或类似的程度吗?根据我的经验,XSL将空节点集解释为false,将1+节点集解释为true。但是这可能不可靠。@Tom W:我喜欢使用变量。。这只是我的观点:我认为这是更好的编码实践。这是因为如果您需要使用此文本一千次,但突然需要更改路径的一部分,则只需要在变量中更改一次,而不是在使用测试的所有位置更改一千次。不对你的想法感兴趣。这是一个公平的反驳。这将取决于所使用的上下文;我自然会假设,对于很多重复操作,使用变量会降低XSL处理引擎的速度;但是你关于可重用性的论点是很好的。如果它被用于许多不同的地方,那么变量可能是更好的选择。我倾向于在适当的地方选择简洁。@Tom W:你认为它会降低处理引擎的速度多少?只是想知道xsl的未来编码:)谢谢
<xsl:variable name="$type">
    <xsl:value-of select="//type" />
</xsl:variable>
<xsl:choose>
    <xsl:when test="$type='credit'">
        <xsl:text>Type is credit card</xsl:text>
    </xsl:when>
    <xsl:when text="$type='debit'">
        <xsl:text>Type is debit card</xsl:text>
    </xsl:when>
    <xsl:otherwise>
        <xsl:text>Type is neither debit or credit card</xsl:text>
    </xsl:otherwise>
</xsl:choose>