如何在XSLT 2.0中获取当前的xml文件名?

时间:2018-01-23 05:44:27

标签: java xml xslt xslt-2.0

我正在将一个XML转换为html并使用document-uri()来获取当前文件名。当我在我的本地系统上进行转换时,此代码工作正常,但当我尝试在服务器和应用程序上进行转换时,它没有返回任何值。

XSLT代码:

<xsl:value-of select="substring-before(replace(document-uri(.), '.*/', '') , '.xml')"/>

2 个答案:

答案 0 :(得分:1)

试试这个:

<xsl:value-of select="tokenize(base-uri(.), '/')[last()]"/>

答案 1 :(得分:1)

如果document-uri(。)不返回任何内容,则表明存储文档的URI未知。这可能意味着文档在传递给XSLT处理器时在内存中,例如:

  • 您可能已经通过了没有系统ID属性的StreamSource

  • 您可能已通过DOM文档

因此,我们需要了解如何调用XSLT转换。