C'est possible dans une certaine mesure, mais il n'y a pas de construction if-else dans XSL. Voici une version que j'ai testé que vous pourriez être en mesure de s'adapter à vos besoins. L'entrée I utilisé était:
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<xml>
<LinkValue>http://www.google.com/</LinkValue>
</xml>
Le XSL montrant « Faites quelque chose 1 » si LinkValue était la chaîne ci-dessus ou « Faites quelque chose 2 » si je l'ai modifié était:
<?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>
Espérons que vous pouvez utilisez ces exemples pour déterminer exactement ce que vous devez implémenter pour votre scénario.
Voulez-vous faire correspondre le contenu de la chaîne, à savoir « http: // www. Google com. », Ou faire une sorte de résolution ou de validation premier? – dlanod
Il serait utile que vous fournissiez votre XML d'entrée et ce à quoi vous voulez que la sortie ressemble. Sinon, nous ne faisons que deviner ce que vous voulez. –
Bonne question, +1. Voir ma réponse pour un exemple de travail complet. –