这在某种程度上是可能的,但XSL中没有if-else结构。这是我测试过的一个版本,您可能能够适应您的需求。我使用的输入是:
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<xml>
<LinkValue>http://www.google.com/</LinkValue>
</xml>
是呈现“做点1”,如果LinkValue是上面的字符串或“做点2:”如果我修改它是XSL:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:variable name="LinkValue" select="//LinkValue"/>
<xsl:element name="a">
<xsl:attribute name="href"><xsl:value-of select="$LinkValue"/></xsl:attribute>
<xsl:if test="$LinkValue = 'http://www.google.com/'">
Do something 1
</xsl:if>
<xsl:if test="$LinkValue != 'http://www.google.com/'">
Do something 2
</xsl:if>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
希望你可以使用这些示例来确定您需要为您的场景实施的内容。
你要匹配的字符串的内容,即“HTTP:// WWW谷歌融为一体”,或做某种分辨率或验证第一? – dlanod 2010-11-11 02:26:32
如果你想提供你的输入XML和你想要输出的样子,这将会很有帮助。否则,我们只是猜测你想要什么。 – 2010-11-11 03:26:12
好问题,+1。查看我的答案以获得完整的工作示例。 – 2010-11-11 03:33:36