Bonjour,
> -----Original Message-----
> From: xml-tech-bounce@xmlfr.org [mailto:xml-tech-bounce@xmlfr.org]
> On Behalf Of COUTHURES Alain
> Sent: lundi 11 octobre 2004 14:18
> To: xml-tech@xmlfr.org
> Subject: [xml-tech] msxsl:node-set
Bonjour,
> Je viens de découvrir la fonction "msxsl:node-set" des parseurs [MSXML]
> Microsoft :
> elle permet de reprendre le contenu d'une variable XSL dans un "select" de
> "xsl:apply-templates" ou de "xsl:for-each" ou encore dans un "count".
> C'est bien pratique pour faire une première passe de transformation que
> l'on stocke dans une variable puis pour retransformer le résultat (tri en
> sortie,...).
> D'après la doc Microsoft, leurs premiers parseurs ne demandaient même pas
> l'usage de cette fonction
Au sens strict, le comportement des premiers parseurs Microsoft que vous mentionnez était bien "complètement hors normes".
Aujourd'hui (depuis MSXML version 3) l'usage impose d'utiliser msxsl:node-set() pour obtenir l'effet escompté, que vous décrivez également.
Au sens strict à nouveau, msxsl:node-set() est bien "hors norme" (puisqu'il s'agit d'une extension à XSLT / XPath 1.0. "Hors norme" = pas inclus dans le standard (version 1.0) de XSLT / XPath.
Mais je dirais que ce n'est "pas complètement" hors normes. En effet, MSXML v3 n'est pas la seule implémentation à proposer une telle extension, bien utile (si ce n'est incontournable dans certains cas).
> S'agit-il d'une extension uniquement Microsoft et complètement
> hors norme ?
SAXON, Xalan, pour ne citer que deux autres implémentations bien connues, offre une telle fonction d'extension, eux aussi, dans leurs namespaces respectifs :
Xalan :
http://xml.apache.org/xalan-c/extensionslib.html#nodeset
SAXON :
http://users.breathe.com/mhkay/saxon/saxon6.2.2/extensions.html#nodeset
Cette extension est donc à tel point "populaire" qu'elle fait l'objet d'une fonctionnalité de la librairie EXSLT (dont un objectif est en quelque sorte de "standardiser" les extensions XSLT / XPath, avec mise en contexte de leurs cas d'utilisation, justement) :
EXSLT :
http://www.exslt.org/exsl/functions/node-set/index.html
En espérant avoir répondu à votre question,
Cordialement,
Cyril Jandia
__________________________________________________________________________________________________________________________________________________
This e-mail and any files transmitted with it are confidential and intended solely for the use of the individual to whom it is addressed.If you
have received this email in error please send it back to the person that sent it to you. Unauthorized publication, use, dissemination, forwarding,
printing or copying of this email and its associated attachments is strictly prohibited.
--
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)
Received on Mon Oct 11 14:47:27 2004