gpt4 book ai didi

xslt - XPath 中是否有独占 OR 'XOR'?

转载 作者:行者123 更新时间:2023-12-03 15:22:55 26 4
gpt4 key购买 nike

XPath1.0 中是否有异或“XOR”?

最佳答案

使用此 XPath 1.0 表达式 :

x and not(y)   or   y and not(x)

总是尽量避免 !=运算符(operator) ,因为当它的一个或两个参数是节点集时,它具有意外的含义/行为。

在 XSLT 2.0 或 XQuery 1.0 中,可以将其编写为函数 然后在任何 XPath 表达式中只使用该函数。下面是 xor 的 XSLT 2.0 函数定义以及使用此功能的一个小例子:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:f="my:f">
<xsl:output method="text"/>

<xsl:template match="/">
<xsl:sequence select=
"for $x in (true(), false()),
$y in (true(), false())
return
('xor(', $x, ',', $y,') = ', f:xor($x, $y), '&#xA;')
"/>
</xsl:template>

<xsl:function name="f:xor">
<xsl:param name="pX" as="xs:boolean"/>
<xsl:param name="pY" as="xs:boolean"/>

<xsl:sequence select=
"$pX and not($pY) or $pY and not($pX)"/>
</xsl:function>
</xsl:stylesheet>

当此转换应用于任何 XML 文档(未使用)时,会产生所需的正确结果 :
 xor( true , true ) =  false
xor( true , false ) = true
xor( false , true ) = true
xor( false , false ) = false

关于xslt - XPath 中是否有独占 OR 'XOR'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6493769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com