XSLT搜索多个XML文件

时间:2014-02-27 20:45:39

标签: xslt

我正在使用XSLT和XML文件来构建网页。假设我的数据分散在几个文件中,如下所示:

CoreOptions.xml:

<optionsets>
    <optionset id="yes-no">
        <option id="yes">Yes</option>
        <option id="no">No</option>
    </optionset>
    ...
</optionsets>

ProjectSpecificOptions.xml:

<optionsets>
    <optionset id="menu">
        <option id="1">Chicken</option>
        <option id="2">Fish</option>
    </optionset>
    ...
</optionsets>

现在,通常情况下,我会像这样拉他们:

<xsl:param name="CoreOptionSets" select="document('CoreOptions.xml')/optionsets" />
<xsl:param name="ProjectOptionSets" select="document('ProjectSpecificOptions.xml')/optionsets" />

...并通过变量名引用它们。

<xsl:apply-templates select="$CoreOptionSets/optionset[id=....

但是,我正在努力设置,以便转换既不知道也不关心数据实际存在于哪个文件中。如果我选​​择optionset[@id='menu'],我不想指定哪个文件我把它拉出来了。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您可以合并添加此变量的集合:

<xsl:variable name="AllSets" select="$CoreOptionSets | $ProjectOptionSets"/>

然后使用以下选项设置:

$AllSets/optionset[@id='menu']
$AllSets/optionset[@id='yes-no']