You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XSLT样式表跨目录通过相对URI引用获取作者信息的技术问询

跨目录获取XML文件内容的解决方案

没问题,这完全可行!你只需要调整document()函数中的路径,让它能正确定位到跨目录的目标XML文件即可,具体分两种情况处理:

情况1:直接指定跨目录路径

如果不想修改1836_562_txt.xml里的note元素,可以直接在XSLT代码中使用相对路径指向目标文件:

<xsl:for-each select="document('../1836_561/1836_561_intro.xml')//author">
  <!-- 这里处理作者名逻辑 -->
</xsl:for-each>

这里的../表示当前目录(1836_562)的上级目录,之后再定位到1836_561目录下的1836_561_intro.xml文件。

情况2:通过修改note元素的target属性实现

如果想沿用之前通过note元素的target属性动态获取路径的方式,只需要修改1836_562_txt.xml里的note元素,把target值改成跨目录的相对路径:

<note target="../1836_561/1836_561_intro.xml" type="intro"/>

之后就可以继续使用你原来的代码逻辑:

<xsl:for-each select="document(//note[@type='intro']/@target)//author">
  <!-- 这里处理作者名逻辑 -->
</xsl:for-each>

关键说明

XSLT的document()函数支持相对路径解析,路径是相对于当前正在处理的XML文件(即1836_562_txt.xml)的位置来计算的。只要目标文件的路径正确、文件实际存在,并且你的XSLT处理器没有限制跨目录文件访问(大部分默认环境下都允许),就能顺利获取到1836_561_intro.xml中的作者名。

内容的提问来源于stack exchange,提问作者KSR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:57:36