Java 在XSLT中,如果某个元素的xml文件包含在xinclude中,如何获取该xml文件的文件路径?
我有以下XML文件:Java 在XSLT中,如果某个元素的xml文件包含在xinclude中,如何获取该xml文件的文件路径?,java,xslt,docbook,xinclude,Java,Xslt,Docbook,Xinclude,我有以下XML文件: master.xml (which uses XInclude to include child1.xml and child2.xml) child1.xml child2.xml child1.xml和child2.xml都包含带有一些文本的元素 在XSLT转换中,我想添加元素来自的文件名,因此得到如下结果: <section srcFile="child1.xml">Text from child 1.</section> <secti
master.xml (which uses XInclude to include child1.xml and child2.xml)
child1.xml
child2.xml
child1.xml
和child2.xml
都包含带有一些文本的
元素
在XSLT转换中,我想添加
元素来自的文件名,因此得到如下结果:
<section srcFile="child1.xml">Text from child 1.</section>
<section srcFile="child2.xml">Text from child 2.</section>
来自子对象1的文本。
来自儿童2的文本。
如何检索值
child1.xml
和child2.xml
?我可以99%确定,一旦处理了xi:include,您就有一个文档(和一个信息集),它不会让您确定文档的任何给定部分来自哪个URL
我认为您需要将这些信息直接放在单独包含的文件中。话虽如此,您仍然可以尝试一下,但我认为所有节点都将返回相同的URI。我确信,一旦处理了xi:include,您就拥有了一个文档(和一个信息集),它不会让您确定文档的任何给定部分来自哪个URL
我认为您需要将这些信息直接放在单独包含的文件中。话虽如此,您仍然可以尝试一下,但我认为所有节点都将返回相同的URI。除非您关闭该功能,否则所有XInclude处理器都应该添加@xml:base属性 使用包含的文件的URL。所以你不必做任何事情,应该已经做到:
<section xml:base="child1.xml">Text from child 1.</section>
<section xml:base="child2.xml">Text from child 2.</section>
来自子对象1的文本。
来自儿童2的文本。
(如果需要,可以使用XSLT将@xml:base属性转换为@srcFile。)除非关闭该功能,否则所有XInclude处理器都应添加@xml:base属性 使用包含的文件的URL。所以你不必做任何事情,应该已经做到:
<section xml:base="child1.xml">Text from child 1.</section>
<section xml:base="child2.xml">Text from child 2.</section>
来自子对象1的文本。
来自儿童2的文本。
(如果需要,可以使用XSLT将@xml:base attr转换为@srcFile。)