如何解决XSLT:检查输出的XML上是否存在标签
| 如何使用xslt检查标签是否存在? 所不同的是,我要检查正在创建的XML(而不是输入XML)。 有点像<xsl:when test=\"phone\">
,但用于输出。
解决方法
样式表的结果树是只写的。如果您想阅读它,则可以从另一个转换中进行操作-转换管道是一种有用的设计模式。但是您没有说要解决什么问题。
,除非您链接两个样式表,第二个样式表将第二个样式表的结果作为输入,或者除非将结果存储在变量中,例如
<xsl:variable name=\"temp-result\">
<xsl:apply-templates/>
<xsl:variable>
<xsl:if test=\"$temp-result//phone\">
<xsl:copy-of select=\"$temp-result\"/>
</xsl:if>
我认为没有办法。请注意,上述使用变量的方法在XSLT 2.0中的工作方式与此相同,在1.0中,您将需要使用扩展功能,例如test=\"exsl:node-set($temp-result)//phone\"
中的exsl:node-set
。
通过根据模式验证结果,模式识别XSLT 2.0中可能存在第三个选项,这样您可以确保结果是模式的实例。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。