我有一个使用 xinclude 访问其他几个 xml 文件的 xml 文档。
<chapter xml:id="chapter1">
<title>Chapter in Main Doc</title>
<section xml:id="section">
<title>Section in Main Doc 1</title>
<mediaobject>
<imageobject>
<imagedata fileref="images/car.jpg"/>
</imageobject>
</mediaobject>
</section>
<xi:include href="../some-doc/section1.xml"/>
<xi:include href="../some-doc/section2.xml"/>
这些其他 section1 和 section2 xml 文件在不同的源位置使用不同的图像。我需要将所有图像复制到单个输出目录。因此,首先,我打算使用 XSLT 来解析整个 xml 文档并生成要复制的图像列表。如何使用 XSLT 生成 xml 文件的图像列表?你的想法真的很感激。
提前致谢..!!
添加:
我尝试使用以下已回答的 XSLT 1.0 代码。当我使用它生成 html 输出时,它只显示章节和章节 ID,如“chapter1, section ...”。它不显示图像数据节点内的图像路径值。
但是当我改变它时<xsl:template match="@*|node()">
,<xsl:template match="*">
它也会显示 xincluded xml 文件的所有图像路径值。但是还有其他节点的值,如上所示。我需要过滤除图像路径以外的所有值。
在这里,我只需要复制所有 xml 文档的图像路径,并将所有路径保存在一个数组或类似的东西中。然后我可以使用 java 类将这些保存的图像路径用于图像处理。