像这样在整个 xslt 文件中调用同一个文档是否可以接受:
<xsl:value-of select="document('doc.xml')/root/bar/foo1" />
<xsl:value-of select="document('doc.xml')/root/bar/foo2" />
<xsl:value-of select="document('doc.xml')/root/bar/foo3" />
...?
我可以想象缓存避免了一次又一次地读取文件产生的开销。
或者我应该将 doc.xm 存储在一个变量中并使用该变量进行查询?
在这种情况下,我将不得不使用像 xsle 这样的库,因为我使用的是 xslt1。
或者有没有其他解决方案?
注意:XPath 的某些部分应该是动态的,例如:
<xsl:value-of select="document('doc.xml')/root/*[name()=$lang]/foo3" />