В некоторой степени это возможно, но в XSL нет конструкции if-else. Вот версия, которую я тестировал, чтобы вы могли адаптироваться к вашим потребностям. Вход я использовал:
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<xml>
<LinkValue>http://www.google.com/</LinkValue>
</xml>
XSL, что показ «Сделайте что-нибудь 1», если LinkValue была строка выше или «Сделайте что-нибудь 2», если я изменил это было:
<?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 Google ком.», Или делать какие-то разрешения или проверки первый? – dlanod
Было бы полезно, если бы вы предоставили свой входной XML и то, что вы хотите, чтобы результат выглядел. В противном случае мы просто догадываемся о том, чего вы хотите. –
Хороший вопрос, +1. См. Мой ответ для полного рабочего примера. –