我在使用 XSLT 创建的宏获取数据时遇到问题。我有几个EventData
节点,我想从另一个 Content 文件夹中的页面访问它们。
我尝试了许多不同的查询(太多无法发布),但我的最新查询如下。当事件数据低于标准页面时,我有这个工作,但我已经将它们移动到他们自己的文件夹并且没有设法成功更新 XSLT。
XML:
<root id="-1">
<HomeTemplate id="1055" parentID="-1" level="1">
<ContentFolder id="1097" parentID="1055" level="2">
<EventData id="1095" parentID="1097" level="3">
<eventDate>2012-06-20T00:00:00</eventDate>
<eventName>Event Name Data</eventName>
<eventLocation>Event Location Data</eventLocation>
</EventData>
.......
</ContentFolder>
<ContentFolder id="1059" parentID="1055" level="2">
<StandardTemplate id="1061" parentID="1059" level="3">
<pageHeading>Results</pageHeading>
.......
</StandardTemplate>
</ContentFolder>
......
</HomeTemplate>
</root>
XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:param name="currentPage"/>
<xsl:template match="/">
<table>
<xsl:for-each select="EventData">
<tr>
<td>Event Date: <xsl:value-of select="umbraco.library:FormatDateTime(./eventDate, 'd')"/></td>
<td>Event Name: <xsl:value-of select="./eventName"/></td>
<td>Event Location: <xsl:value-of select="./eventLocation"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
编辑:
<xsl:for-each select="umbraco.library:GetXmlNodeById(1097)/EventData">
上面的方法有效,但理想情况下我想要一些可以按类型选择的东西,所以不是硬编码的。