【问题标题】:Using XSLT as xhtml link extractor使用 XSLT 作为 xhtml 链接提取器
【发布时间】:2009-11-24 21:33:51
【问题描述】:

我开始使用 XSLT 并编写此 scipt:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="utf-8" />
<xsl:template match="span[@class='thumb']" >
    Link: <xsl:value-of select="$base" /><xsl:value-of select="a/@href" />
</xsl:template>

<xsl:template match="/">
    Base href: <xsl:value-of select="$base" />
    <xsl:apply-templates/>
</xsl:template>

</xsl:stylesheet>

然后使用这个命令:

xsltproc --html --param base "'http://example.com'" lista.xslt test.html

我需要获取链接列表,但我得到了整个页面的输出。怎么了?我怎样才能让它工作?

【问题讨论】:

    标签: html xslt hyperlink


    【解决方案1】:

    这里有一些默认模板是看不到的。解决它的真正简单方法是明确限制您匹配的跨度元素,如下所示。否则,您可以覆盖默认模板。

    <xsl:template match="/">
      Base href: <xsl:value-of select="$base" />
      <xsl:apply-templates select="//span[@class='thumb']" />
    </xsl:template>
    

    【讨论】:

      【解决方案2】:

      如果您允许的话,有一个默认模板基本上可以匹配所有内容。您的最后 4 行调用了该模板。

      这是问题的一部分。剩下的部分可以通过直接在顶级模板中匹配您要查找的内容来处理。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-16
        • 2014-02-27
        • 2011-12-01
        • 2013-11-09
        相关资源
        最近更新 更多