是否可以使用 XSLT 将嵌套的 web.sitemap 显示到单个非嵌套表中?
在网上环顾四周,我发现了一些将 web.sitemap 文件转换为一组嵌套的无序列表 (UL) 的 XSLT 代码。将其转换为表格标记,我得到的是一组嵌套表格。
我知道我“做错了”。有人知道如何将其呈现为单个表 - 不是嵌套的吗?
对于那些想知道我为什么要问这个以及我正在尝试做什么的人,我正在尝试填写客户端请求以读取站点地图,但将其呈现为表格而不是 asp.navigation 控件(即我的默认操作)。如果有更好的方法可以做到这一点,我对想法持开放态度。根据我通过网络搜索找到的内容,这是我最好的理论。
谢谢你的任何想法。
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:map="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" exclude-result
prefixes="map">
<xsl:output method="xml" encoding="utf-8" indent="yes"/>
<xsl:template name="mapNode" match="map:siteMap">
<table>
<xsl:apply-templates/>
</table>
</xsl:template>
<xsl:template match="map:siteMapNode">
<tr>
<td style="border:thin solid red;">
<a>
<xsl:attribute name="href">
<xsl:value-of select="@url"/>
</xsl:attribute>
<xsl:value-of select="@title"/>
</a>
<xsl:if test="map:siteMapNode">
<xsl:call-template name="mapNode"/>
</xsl:if>
</td>
<td style="border:thin solid red;">
<xsl:value-of select="@description"/>
</td>
</tr>
</xsl:template>
</xsl:stylesheet>