我有一个xml文档,使用xinclude访问其他几个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"/>
Run Code Online (Sandbox Code Playgroud)
这些其他section1和section2 xml文件在不同的源位置使用不同的图像.我需要将所有图像复制到单个输出目录.首先,我计划使用XSLT来解析整个xml文档并生成要复制的图像列表.如何使用XSLT生成xml文件的图像列表?你的想法真的很感激.
提前致谢..!!
添加:
我尝试了下面回答的XSLT 1.0代码.当我使用它生成html输出时,它只显示章节和节id,如"chapter1,section ...".它不显示imagedata节点内的图像路径值.
但是,当我改变<xsl:template match="@*|node()">作为<xsl:template match="*">然后显示的xincluded XML文件也全部图像路径值.但是还有其他节点的值也如上所述.我需要过滤除图像路径以外的所有值.
在这里,我只需要复制所有xml文档的图像路径,并将所有路径保存在数组或类似的东西中.然后我可以使用这些保存的图像路径来使用java类进行图像处理.