xml – XSLT文档(”)函数不起作用

前端之家收集整理的这篇文章主要介绍了xml – XSLT文档(”)函数不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
据我所知,使用空字符串作为参数的XSLT函数document()应该读取当前的XSLT文档.但是以下代码不起作用:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <state>test2</state>
   <xsl:template match="/">
      test1
      <xsl:value-of select="document('')/*/state"/>
    </xsl:template>
   </xsl:stylesheet>

当我将这个XSLT应用于某些XML(仅作为示例)时,我只有“test1”作为输出.为什么排队

<xsl:value-of select="document('')/*/state"/>

不打印“test2”?

解决方法

文档(”)的定义是它读取XML文档,其URI与包含文档(”)调用的样式表中的指令的基URI相同.除非您使用外部实体,否则这通常与样式表模块的基URI相同.如果它不起作用,这通常是因为样式表模块的基URI是未知的.如果为XSLT处理器提供内存中的样式表(例如作为字符串或DOM)而不是通过URI检索的资源,则很容易发生这种情况.例如,如果您使用JAXP StreamSource并且不调用setSystemId(),那么基URI将是未知的.

猜你在找的XML相关文章