Cyril Jandia
a annoncé un
parseur Javascript
(ECMAScript)
pour un sous-ensemble de XML
(ESPX)
et "TinyXSL",
un "mini-langage" ressemblant à XSLT et assurant des transformations
simples sur des navigateurs supportant ECMAScript mais manquant de support XML/XSLT.
Eric van der Vlist,
Dyomedea (vdv@dyomedea.com).
mercredi 31 janvier 2001
Bien que l'annonce ait été faite sur la liste sml-dev, ESPX supporte
un sous-ensemble de XML plus large que Minimal-XML qui inclut les attributs, les contenus
mixtes, les commentaires et les sections CDATA. Les principales restrictions par
rapport à XML 1.0 concernent donc les
déclarations de type de document (internes et externes) qui sont ignorées. Les
espaces de noms ne sont pas supportés non plus et l'API s'inspire de DOM sans y être conforme.
ESPX apparaît donc être une
tentative pour aller le plus loin possible dans l'écriture d'un parseur robuste
écrit entièrement en Javascript et pouvant être
utilisé comme substitut pour des applications XML
exécutées sur des navigateurs ne supportant pas XML.
TinyXSL reprend la même idée
pour l'appliquer aux transformations. TinyXSL qui
ne cherche pas à être un sous-ensemble de XSLT a
choisi des noms d'éléments différents de ceux utilisés par XSLT pour éviter toute confusion entre les deux
langages.
TinyXSL ne s'appuie pas sur
des expressions XPath mais directement sur l'API
ESPX, ce qui permet d'écrire des instructions
telles que:
<txsl:when
test="self.attributes[`@xml:lang`]==`fr-FR`">
Une démonstration
est disponible sur la page ESPX de Cyril Jandia.
Cyril Jandia qui reconnaît quelques
problèmes de performances:
"...pour des documents de plus de 36 kb, vous devez savoir que les
durées de parsing et de construction de l'arbre que je constate ne sont pas
acceptables (plus de 2 secondes)."
fait de l'optimisation sa priorité numéro 1 sur ses plans de
développement --suivie par les espaces de noms, une version similaire à SAX et des améliorations pour TinyXSL.
Autres articles:
Copyright 2001,
Eric van der Vlist.
|