【发布时间】:2016-03-24 17:49:25
【问题描述】:
我一直在修补这个问题太久了,似乎无法在任何地方找到答案——或者我可能不知道如何措辞这些问题。
我有一个表示站点地图的 XML 文件。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://...</loc>
<pagetitle>English</pagetitle>
<children>
<url>
<loc>http://...</loc>
<pagetitle>page title</pagetitle>
</url>
<children>
...
此 XML 表示站点地图。我写了一个 XSLT 来把它变成一个分层列表。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" version="4.0"/>
<xsl:template match="/">
<ul><xsl:apply-templates /></ul>
</xsl:template>
<xsl:template match="url">
<li><a href="{loc}"><xsl:value-of select="pagetitle"/></a></li>
<xsl:apply-templates select="children"/>
</xsl:template>
<xsl:template match="children">
<ul><xsl:apply-templates select="url"/></ul>
</xsl:template>
</xsl:stylesheet>
当我有<urlset xmlns="..> 时,此样式表不起作用,但如果我将节点更改为仅使用<xmlns>(没有属性),它就会起作用。
我远非 XSLT 专家。有人有建议吗?
【问题讨论】:
-
这是一个经常被问到的问题 - 搜索 namespace。
-
在 SO 搜索框中输入您的问题的标题会在几乎相同的问题上获得 125 次点击。你怎么会找不到他们?
标签: java xml xslt attributes