如果您的实际目标是从网页中删除链接,那么您应该使用这样的样式表,它匹配所有 XHTML<a>
元素(我假设您使用的是 XHTML?),并简单地将模板应用于其内容:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:h="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="h">
<!-- Don't copy the <a> elements, just process their content -->
<xsl:template match="h:a">
<xsl:apply-templates />
</xsl:template>
<!-- identity template; copies everything by default -->
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
此样式表将处理您在要保留的元素中嵌套<a>
某些内容的情况,例如:
<p>Here is <a href="....">some <em>linked</em> text</a>.</p>
你会想出来:
<p>Here is some <em>linked</em> text.</p>
它将处理您将链接嵌套在通常的父级(<p>
元素)和元素之间的意外元素中的情况<a>
,例如:
<p>Here is <em>some <a href="...">linked</a> text</em>.</p>