XSLT样式表中的相对URI引用

时间:2018-01-12 10:18:41

标签: xml xslt

我有这些目录:

enter image description here

目录1836_561包含五个xml文件:

enter image description here

站在1836_561我可以在1836_561_intro.xml中使用这个来获取作者的名字:1836_561_txt.xml:

<xsl:for-each select="document(//note[@type='intro']/@target)//author">

1836_561_txt.xml包含以下元素:

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

目录1836_562包含四个xml文件:

enter image description here

如何在1836_561 / 1836_561_intro.xml中获取1836_562转换1836_562_txt.xml的作者姓名?有可能吗?

1 个答案:

答案 0 :(得分:0)

如果您处理1836_562_txt.xml,那么document-uri(/)应该为您提供绝对URI,那么您可以使用resolve-uri('../1836_561/1836_561_txt.xml', document-uri(/))获取另一个文件夹中其他文件的URI,然后例如doc(resolve-uri('../1836_561/1836_561_txt.xml', document-uri(/)))加载该文件,doc(doc(resolve-uri('../1836_561/1836_561_txt.xml', document-uri(/))))//note[@type='intro']/@target)分别加载引用的文件,然后doc(doc(resolve-uri('../1836_561/1836_561_txt.xml', document-uri(/))))//note[@type='intro']/@target)//author选择引用文件中的autor元素。