XSL:如何基于单独的 XML 元素限制 apply-template 中的选择
这是我正在尝试做的一个例子。 XML:
<TEST>
<NODE>
<A id="ELEMENT_1"/>
<A id="ELEMENT_2"/>
<A id="ELEMENT_3"/>
</NODE>
<SOME_OTHER_NODE>
<B nodeId="ELEMENT_1" invalid="1"/>
</SOME_OTHER_NODE>
</TEST>
XSL:
<xsl:apply-templates select="A[?? only select the A's where there is no B where A/@id = B/@nodeId and B/@invalid = 1 ??]"/>
这可能吗?在实际的 xsl 中,我当前有类似这样的内容:
<xsl:apply-templates select="(ANSWER|GROUP)[position() mod 2 = 0]"/>
我想找到一种方法来限制基于 xml 中不同元素选择的答案。希望我已经清楚地解释了这一点,如果没有,请告诉我。也许有更好的方法来做这样的事情。我愿意接受任何反馈或建议。谢谢。
Here is an example of what I am trying to do.
XML:
<TEST>
<NODE>
<A id="ELEMENT_1"/>
<A id="ELEMENT_2"/>
<A id="ELEMENT_3"/>
</NODE>
<SOME_OTHER_NODE>
<B nodeId="ELEMENT_1" invalid="1"/>
</SOME_OTHER_NODE>
</TEST>
XSL:
<xsl:apply-templates select="A[?? only select the A's where there is no B where A/@id = B/@nodeId and B/@invalid = 1 ??]"/>
Is this even possible? In the actual xsl I have something like this currently:
<xsl:apply-templates select="(ANSWER|GROUP)[position() mod 2 = 0]"/>
And I want to find a way to limit the ANSWER's selected based upon a different element in the xml. Hopefully I have clearly explained this, let me know if I have not. Perhaps there is a better way of doing something like this. I am open to any feedback or suggestions. Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
此 XPath 表达式(节点集比较)以
NODE
作为上下文:使用键:
This XPath expression (node set comparison) with
NODE
as context:With keys: