【发布时间】:2010-10-04 20:24:53
【问题描述】:
我正在尝试在 xsl 中选择 xhtml 文档中的所有链接。一些锚标记在其中包含名称空间声明 xmlns="http://www.w3.org/1999/xhtml"。这些没有被选中。例如使用这个 xml 文档:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="xsl.xsl"?>
<root>
<item>
this iz sum text and it haz sum <a xmlns="http://www.w3.org/1999/xhtml" href="http://cheezburger.com/">linx</a> in it.
Teh linx haz piks of <a href="http://icanhascheezburger.com/">kittehs</a> in dem.
</item>
</root>
还有这个 xsl:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<dl>
<xsl:for-each select="//root/item/a">
<dd><xsl:value-of select="."/></dd>
<dt><xsl:value-of select="@href"/></dt>
</xsl:for-each>
</dl>
</html>
</xsl:template>
</xsl:stylesheet>
只选择了第二个链接。有人可以解释这里发生了什么以及我可以如何解决它吗?
【问题讨论】:
标签: xml xslt xhtml namespaces xml-namespaces