据我所知,使用空字符串作为参数的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>
Run Code Online (Sandbox Code Playgroud)
当我将这个XSLT应用于某些XML(仅作为示例)时,我只有"test1"作为输出.为什么排队
<xsl:value-of select="document('')/*/state"/>
Run Code Online (Sandbox Code Playgroud)
不打印"test2"?
Mic*_*Kay 10
文档('')的定义是它读取XML文档,其URI与包含文档('')调用的样式表中的指令的基URI相同.除非您使用外部实体,否则这通常与样式表模块的基URI相同.如果它不起作用,这通常是因为样式表模块的基URI是未知的.如果为XSLT处理器提供内存中的样式表(例如作为字符串或DOM)而不是通过URI检索的资源,则很容易发生这种情况.例如,如果您使用JAXP StreamSource并且不调用setSystemId(),那么基URI将是未知的.
| 归档时间: |
|
| 查看次数: |
10178 次 |
| 最近记录: |