我正试图将Doxygen xml输出发送到graphviz,但我有超过1000+ xml文件要组合,我不知道如何在windows上做到这一点。我已经安装了Saxon用于XSLT处理,一旦它全部放在一个文件中,但是我不知道如何组合这些文件。
我所理解的管道是这样的:
氧XML输出->合并为单个XML(如何)->通过Saxon ->转换为DOT ->通过graphviz输出->方
氧输出XML,我有一个命令,用于在合并java -jar c:saxonsaxon9he.jar -s:myinput.xml -xsl:myxslt.xslt -o:myoutput.xml
后使用saxon,还有无数的DOT转换实用程序。但是如何合并数百个XML文件呢?
我可以运行批处理文件/脚本或python脚本或windows程序的命令作为解决方案。我正在寻找的东西,在一个连续的管道工作,为将来使用另一组可能几百个文件。我的最终目标是打印出从graphviz创建的大图表,作为UML映射的替代,UML映射很难找到解决方案(氧正在读取C代码)。
使用XPathcollection()
函数。您可以按照建议在管道中的单独步骤中进行合并,也可以将其合并到主样式表中。例如:
<xsl:variable name="merged">
<xsl:copy-of select="collection('file:///c:/data/dir/?select=*.xml;recurse=yes')"/>
</xsl:variable>