From: Jandia, Cyril (Cyril.Jandia@Restaupro.com)
Date: 27/02/2001 - 15:47
Re-re- ... bonjour,
Je viens d'y repenser :
faire attention cependant aux regles de portee peut-etre plus STRICTEMENT
controlees par Xalan x.y que par MSXML3 ;
par exemple, un travers classique est :
<xsl:choose>
<xsl:when test="..."> ... <xsl:variable name="MaVariable" select="..." />
... </xsl:when>
<xsl:otherwise> ... reference(s) a $MaVariable ... </xsl:otherwise>
</xsl:choose>
Un processeur XSLT STRICT doit rejeter ce genre de situation car
<xsl:variable .../> est dans la portee du <xsl:when ...>
et non pas dans celle du <xsl:choose ...> tout entier !
Ne seriez-vous pas dans une configuration plus ou moins similaire ?
Note 1 : MSXML3 ne se trompe pas la-dessus AFAYK, mais se trompe peut etre
dans d'autres situations ... (?)
Note 2 : l'ecriture "correcte" etant donc :
<xsl:variable name="MaVariable" select="..." />
<xsl:choose>
<xsl:when test="..."> ... </xsl:when>
<xsl:otherwise> ... reference(s) a $MaVariable ... </xsl:otherwise>
</xsl:choose>
Note 3 :
Cela ressemble un peu (de loin, la nuit, dans le brouillard ;=) comme le
probleme de l'indentation trompeuse en C / Pascal / Java :
if test1 then
if test 2 then
instruction1
else
instruction2
(ou "else instruction2" se rapporte au 2eme "if" et non pas au 1er)
Hope it helps,
Cyril
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:05 UTC
webmaster@xmlfr.org
|