为什么XSL不显示任何数据

时间:2014-11-04 18:35:17

标签: xml xslt ektron

我有以下XSL文件:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template name="displayEventDetails" match="/">
        <div class="serviceHolder brClear">
            <xsl:for-each select="/root/Event">
                <h2 class="defaultHdrColor">
                    <xsl:value-of select="title" />
                </h2>
                <div class="hrHolder">
                    <hr class="hrDivider" />
                </div>
            </xsl:for-each>
        </div>
    </xsl:template>
</xsl:stylesheet>

XML:

<root>
    <Event>
        <title>Prepared Childbirth Classes </title>
        <speaker>Certified Instructor</speaker>
    </Event>
</root>

所有显示在HTML源代码中的是:

<div class="serviceHolder brClear"></div>

我从我的ASP.net页面打电话:

<CMS:Collection ID="Collection2" runat="server" DynamicParameter="id" DisplayXslt="Workarea\CustomFiles\displayEventDetails.xsl" />

我该如何解决?

2 个答案:

答案 0 :(得分:2)

<CMS:Collection ID="Collection2" runat="server" DynamicParameter="id" DisplayXslt="Workarea\CustomFiles\displayEventDetails.xsl" />

更改为

<CMS:ContentBlock ID="Collection2" runat="server" DynamicParameter="id" DisplayXslt="Workarea\CustomFiles\displayEventDetails.xsl" />

的工作。

原因:我没有尝试读取一个集合(其中包含两个或多个内容块),而是尝试分别读取每个内容块,一次一个,这就是XML格式不同并显示空白的原因。 / p>

答案 1 :(得分:1)

您是使用Java引擎进行转换还是希望浏览器为您执行此操作?

如果是Java,则需要显示源代码。

如果是浏览器,则必须从XML文件中指向XSLT,如本教程所示:http://webdesign.about.com/od/xslt/a/xslt-tutorial-6.htm