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中可能存在第三个选项,这样您可以确保结果是模式的实例。     

要回复问题请先登录注册