2014-11-04 107 views
1

我有以下XSL文件:为什么没有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
<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格式不同并显示为空白。

+1

现在好了。在适当的时候,你将能够接受它。同时,为什么不向解决方案添加解释?什么是'CMS:Collection'意味着什么? – 2014-11-04 21:52:21

+0

@MathiasMüller真棒反馈。我为解决方案添加了一些文本。 – Si8 2014-11-04 21:54:01

1

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

如果Java,那么你需要显示你的源代码。

如果浏览器,那么你必须指向XML文件的XSLT如本教程:http://webdesign.about.com/od/xslt/a/xslt-tutorial-6.htm

+0

我只是从我的ASP.net页面调用。更新我的问题以反映它。 – Si8 2014-11-04 18:58:30

+0

该ID在URL – Si8 2014-11-04 18:59:15

+0

' Si8 2014-11-04 19:13:19

相关问题