读取多个xml文件不会在xsl中返回值

时间:2011-08-10 16:46:48

标签: xml xslt

我有2个xml文件,我想在一个xsl转换中从两个文件中读取数据。我尝试使用document()函数从第二个文件中读取数据,但它不返回任何值。

XSL模板

<xsl:template name="BuildingList" match="building">
    <xsl:variable name="allBuildings" select="document('buildings.xml')/buildings"/>
    <xsl:value-of select="$allBuildings" />
</xsl:template>

Buildings.xml结构

<?xml version="1.0" encoding="windows-1251"?>
<buildings>
    <building id="First">
        <title>Some title</title>
    </building>
</buildings>

如何获取内容以便操作它?

编辑: 这三个文件都在同一目录中。我尝试使用以下两个jQuery插件处理转换:

对于其中任何一个,多个文件的转换都不起作用。

使用羽毛:

function LoadContent(pageName)
        {
            var currentPage = pageName+ '.xsl';

            $.transform({el:"#information",xml:"pages.xml",xsl:currentPage});

            /*$('#information').xsltParser({
                xml:  'pages.xml',
                xslt: currentPage,

                onStart: function() {
                    //$('#log').append('Preparing... ');
                },
                onSend: function(url) {
                    //$('#log').append('Requesting ' + url + '... ');
                },
                onComplete: function() {
                    //$('#log').append('Done!');
                }
            });*/
        }

2 个答案:

答案 0 :(得分:0)

两个文件在哪里相对于彼此以及与样式表有关? select="document('buildings.xml', /)/buildings"会给出更好的结果吗?如果样式表与主输入文档位于不同的位置,则可以。

答案 1 :(得分:0)

我发现客户端转换不支持document() here