我有一个包含其他XML文件路径的XML文件,例如:
<PATH>InsertPathHere</PATH>
<PATH>InsertPathHere</PATH>
是否可以通过XSLT“打开” XML文件并使用其数据? 我想将数据保存在单独的文件中,并与XSLT一起使用。
答案 0 :(得分:1)
对于类似XML的文件
<?xml version='1.0' encoding='utf-8'?>
<root>
<PATH>InsertPath1Here.xml</PATH>
<PATH>InsertPath2Here.xml</PATH>
</root>
以及辅助XML文件,例如InsertPath1Here.xml
<data>
<value name="Value1">ABC</value>
</data>
和InsertPath2Here.xml
<data>
<value name="Value2">DEF</value>
</data>
您可以像这样使用XSLT文件:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/root">
<xsl:for-each select="document(PATH)">
<xsl:copy-of select="data" />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
这将创建(正确的)输出:
<data>
<value name="Value1">ABC</value>
</data>
<data>
<value name="Value2">DEF</value>
</data>