我有以下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" />
我该如何解决?
答案 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