Les instructions conditionnelles dans xsl
Je travaille sur un site qui s'/ou les déclarations XSL et d'être un peu unfamilar avec la langue que je ne suis pas sûr de la façon d'accomplir:
si [condion est rencontré] ou [condition deux est rencontré] puis faire [action] sinon [variante de l'action]
quelqu'un peut-il offrir des exemples?
Merci d'avance!
Vous devez vous connecter pour publier un commentaire.
Des instructions conditionnelles dans XSLT sont soit une unaire "si":
ou plus, comme l'instruction switch d'autres langues:
où il ya de la place pour autant de
<xsl:when>
s que vous le souhaitez.Chaque expression XPath peut être évaluée comme un Booléen selon un ensemble de règles. Ces (pour la plupart) se résument à "si il y a quelque chose ->
true
" /"si il n'y a rien ->false
"false
false
(doncNaN
)false
false()
estfalse
true
(notamment:'false'
esttrue
et'0'
esttrue
)Edit: Il y a des cours plus avancés (et plus idiomatiques) la méthode de contrôle de flux de programme, et que le modèle de l'appariement:
Écrire des modèles qui correspondent à des nœuds spécifiques et l'utilisation de
<xsl:apply-templates>
pour rendre le processeur XSLT choisir la plus appropriée est supérieure à l'écriture complexe<xsl:if>
ou<xsl:choose>
constructions.L'exemple ci-dessus est équivalent à l'impératif de style:
XSLT les débutants ont tendance à choisir la forme de sa familiarité, mais l'examen de modèle correspondant au lieu d'utiliser le conditionnel en vaut la peine. (également voir.)
XSL a un
<xsl:if>
, mais vous êtes probablement à la recherche de plus pour un<xsl:choose>
/<xsl:when>
/<xsl:otherwise>
séquence. Quelques exemples ici (près du fond). Peut-être:Le général si la syntaxe de l'instruction est
Ne sais pas si XSL a la condition else mais vous devriez être capable de tester si la valeur est true alors tester si la valeur est false ou l'autre manière autour.
else
; XSL a<xsl:otherwise>
à la place.Dans ce cas, vous devez utiliser un
xsl:choose
. C'est comme utiliser si/d'autre avec un final d'autre.