J'essaie d'afficher différentes informations en fonction des données entrantes. Si c'est un entier, je veux afficher juste le nombre, si c'est un nombre décimal, je veux utiliser le modèle 0.00 #. Ya, je sais, un peu mélangé, mais c'est la spécification de développement. :>quelle est la bonne façon de tester xs: decimal en XSL?
J'ai la XSL suivante pour cette section spécifique, mais je ne peux pas voir à franchir le xsl: lorsque le message d'erreur de
« Fin prévue d'expression, a trouvé « coulable » numéro. (SAVG) -> coulable < - comme xs: décimal »
<xsl:choose>
<xsl:when test="number(SAVG) > 0">
<xsl:choose>
<xsl:when test="number(SAVG) castable as xs:decimal">
<xsl:value-of select="format-number(SAVG, '###,###,##0.00#')"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="format-number(SAVG, '###,###,##0.###')"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="number(SAVG) = 0">
<xsl:text disable-output-escaping="yes">&lt;</xsl:text>1
</xsl:when>
<xsl:otherwise>N/A</xsl:otherwise>
</xsl:choose>
J'ai essayé de regarder/farfouillé pour trouver des réponses et j'ai essayé "exemple de", je l'ai essayé d'utiliser xsl: if , etc mais je ne peux pas sembler obtenir thi s pour travailler. Toute aide serait grandement appréciée.
Merci.
De commentaires:
Oui, nous utilisons 1.0. Je suis désolé je suis nouveau au traitement XSL, comment puis-je coller votre XSL et l'entrée pour générer le code HTML?
Ceci est XSLT 2.0. Si vous utilisez le processeur XSLT 1.0, veuillez le dire. –
Bonne question (+1). Voir ma réponse pour une solution XSLT 2.0 courte et complète. –
J'ai ajouté une solution XSLT 1.0 à ma réponse. –