xml decid : Stratégies, marchés, affaires autour de XML.
[xml-decid] Re: INFO : Qui va maintenir SAX
Subject: [xml-decid] Re: INFO : Qui va maintenir SAX
From: Pierre Attar (patt@tireme.fr)
Date: 02/10/2000 - 05:26
Bonjour,
Suite à l'annonce de Eric, sur la suite de SAX, voici un petit argumentaire
en faveur du W3C.
En effet, en terme de contexte, la question se relie de façon plus générale
à savoir, dans des activités d'intégration de systèmes, quelle
recommandation utiliser entre XSLT, DOM et SAX ?
D'un point de vue théorique, tout semble simple :
- XSLT est un langage de transformation lié à des notions de présentation
et de formatage de document : dédié au formatage, ce n'est donc pas un
langage de programmation pour réaliser n'importe quelle opération sur des
documents.
- DOM est une spécification de programmation en cours de standardisation,
il est basé sur des XML Infoset et, donc, sur l'utilisation d'un arbre
d'objets typés complet.
- SAX est un langage de programmation basé sur une lecture séquentielle
d'événements dans un flux XML.
Il y a donc trois champs d'action différents.
D'un point de vue pratique, le recouvrement entre XSLT et DOM est
important, vu la puissance du langage XSLT. Du coup, il est aujourd'hui
beaucoup utilisé pour des transformations simples, depuis XML vers XML. Le
choix d'outils sera donc lié à des architectures de systèmes et la
coopération des utilisations est tout à fait possible.
Entre DOM est SAX, même s'il existe un recouvrement, il vaut mieux
s'intéresser à des notions de complémentarité. En effet, dès que l'on sort
un peu du Web, et de ses présupposés petits documents, il n'est pas
envisageable d'utiliser uniquement DOM. Par exemple, une implémentation DOM
ne sera pas capable de manipuler un document de quelques centaines de
méga-octets. En revanche, le mode événementiel de SAX permettra des
traitements sur des documents de cette taille.
Mais du coup, si DOM et SAX sont complémentaires, il serait important que
la spécification SAX soit partie intégrante des recommandations du W3C.
Elle gagnerait alors une certaine stabilité et, surtout, elle permettrait
aux acteurs DOM et SAX de confronter leurs standards, afin de mieux les
faire coopérer.
Il serait alors possible d'envisager un fonctionnement dual permettant,
comme le proposait le logiciel Balise (www.balise.us.com), de conjuguer
dans un même programme, sur un même document XML, le mode événementiel et
le mode arborescent.
Par exemple, en balise on écrivait des programmes du type :
default text
cout << echo;
element (racine|toto) // traité en mode évènementiel
on start cout << "<?traitement séquentiel ?>"+echo ;
on end cout << echo ;
element TABLE // traité en mode arbre
on start holdSubTree();
on end {
var node ; // déclaration sous arbre
... // traitements sur un arbre
cout << "<?traitement sur arbre?>";
dumpSubTree(cout, node); // vidage du sous arbre
transformé dans la sortie
}
Qui permettait de traiter de façon mixte un fichier de type :
<racine>
<toto>du texte</toto>
<table> ... des informations structurées sur un tableau ...</table>
<toto>encore du texte</toto>
</racine>
Pour un fichier de sortie :
<?traitement séquentiel ?><racine>
<?traitement séquentiel ?><toto>du texte</toto>
<?traitement sur arbre?><table> ... de nouvelles informations
structurées transformées ...</table>
<?traitement séquentiel ?><toto>encore du texte</toto>
</racine>
------------
Pierre Attar (mailto:pattar@tireme.fr)
TIREME SARL (http://www.tireme.fr)
Projet "Mutualiser l'effort de montée en compétences sur XML"
http://fing.org/projet-xml/index.html
--
Devenez redacteur <XML>fr et contribuez au developpement
du xml francophone (http://xmlfr.org/infos/redacteurs) !
Liste de diffusion "xml-decid@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet lie a XML.
Pour resilier votre abonnement, envoyez un message contenant la
commande "unsubscribe" a xml-decid-request@xmlfr.org
(mailto:xml-decid-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2b28 le 05/01/2001 - 11:33 EST
webmaster@xmlfr.org
|