From: Cyril Jandia (c.jandia@cross-systems.com)
Date: 06/04/2001 - 09:39
Bonjour Laurent,
> je suis à la recherche d'infos sur le développement d'un processeur xslt.
Très bien : on aura toujours besoin de bonnes volontés pour implémenter les
standards du Web !
> Mis à part, mettre le nez dans les sources de xt de xalan ou de saxxon,
Pas vraiment d'autre choix (... à ma connaissance, pour XSLT 1.0 en tout
cas) : donc, "read the source", "read the source" ... c'est là
principalement le but des initiatives dites "open source" justement !
> Les processeurs XSLT marchent ils comme tout autre compilateur ou
Tout d'abord : il est - relativement - rare que la spécification d'un
langage encourage/préconise **explicitement** une stratégie d'implémentation
précise et détaillée ; car comme son nom l'indique, une spécification
s'attache plutôt à (devinez!) ... "spécifier" ce en quoi consiste le jeu
lexical, la grammaire et la sémantique d'un langage ainsi que qq "use cases"
(ou domaines d'application). XSLT 1.0 [ http://www.w3.org/TR/xslt ]en
l'espèce, ne déroge pas à la tradition. Ainsi, il reste que plusieurs
schémas d'implémentation sont envisageables :
a/ interprétation "pure" du source XSLT, ou
b/ interprétation d'un modèle d'objets à l'exécution construit à partir du
DOM du source XSLT représentant les opérateurs de transformation et les
node-sets (comme dans la plupart des implémentations Java/C++), ou
c/ représentation sous une forme intermédiaire destinée à être optimisée, ou
d/ stratégie hybride de b/ et c/, ou
e/ pré-compilation "just in time" dans le langage d'implémentation puis
exécution du modèle d'objet ad-hoc - envisageable en Java, C# qui supportent
les metadata (appelées aussi "RTTI" - Run-Time Type Information) sur les
classes (pour java : package java.lang.reflect - voir par ex.
http://www.cjandia.com/me/works/java_xml/ ] ) et sont tous deux basés sur
une VM, voire en ECMAScript : par ex., mon "jouet" TinyXSL
http://www.cjandia.com/me/works/xml/espx/ ] ou
f/ : etc, etc !
> les processeurs XSLT se basent-ils sur un parser SAX ?
Ils peuvent utiliser SAX pour construire une représentation ad-hoc
(sous-entendu : à la stratégie choisie) de la transformation représentée par
le doc. XSLT ; comme ils peuvent tout aussi bien utiliser le DOM ... s'ils
choisissent de se contenter de "l'info set" que ce DOM peut leur apporter ,
en y ajoutant un peu de "sucre" propre aux besoins XSLT, de leur cru si
besoin est...
> Connaissez vous des urls sur le développement en Java d'un interpréteur
Il existe bien JavaCUP
[ http://www.cs.princeton.edu/~appel/modern/java/CUP/ ] (un "yacc" pour
Java) et sûrement des exemples mais il y a aussi, plus "propre" car plus
"orienté objets" à mon avis (bien que ce soit écrit pour C# mais dont les
techniques utilisées sont largement valables pour le programmeur Java
également) :
"Compiler Tools in C#" par le prof. Malcom Crowe
http://cis.paisley.ac.uk/crow-ci0/index.htm#Research ]
Tout cela dit, sachez cependant que :
1) sous Windows, MSXML3 (avec ou sans son SP1 mythique) et déjà une belle
réalisation ;
2) sous Windows et Linux, Napa fait déjà lui aussi "très fort" bien que les
sources ne soient pas encore dispo et malgrè l'absence d'API "ouverte" ;
3) en Java, XT et SAXON sont des références difficiles à battre également
... mais cela ne doit décourager personne : je suis de ceux qui pensent
qu'il n'y aura jamais assez "d'implémenteurs" pour l'explosion actuelle des
standards du Web ! Bon courage, donc ! Le meilleur point de départ reste ...
(et c'est une évidence je crois) les sources (ouverts) de ce qui existe
déjà...
Hope it helps,
Cyril
http://www.cjandia.com/
mailto:Cyril@cjandia.com
--
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
|