我开始使用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
我需要获取链接列表,但我得到整页输出。怎么了?我怎样才能使它有效?
答案 0 :(得分:3)
这里有一些默认的模板。解决它的真正简单方法是明确限制您匹配的span元素,如下所示。否则,您可以覆盖默认模板。
<xsl:template match="/">
Base href: <xsl:value-of select="$base" />
<xsl:apply-templates select="//span[@class='thumb']" />
</xsl:template>
答案 1 :(得分:1)
如果你允许的话,有一个默认模板基本匹配所有内容。您的第4行称为该模板。
这是问题的一部分。其余的可能是通过直接在顶级模板中匹配您正在寻找的东西来处理。