Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在XSLT中,如果某个元素的xml文件包含在xinclude中,如何获取该xml文件的文件路径?_Java_Xslt_Docbook_Xinclude - Fatal编程技术网

Java 在XSLT中,如果某个元素的xml文件包含在xinclude中,如何获取该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

我有以下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>
<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。)