Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Manifestations XML francophones et internationales.L'actualité des affaires et stratégies XML.L'actualité des technologies XML.Les nouveautés et l'actualités de notre site.Pointeurs sur l'actualité XML sur d'autres sites, en français comme en anglais.


hexml 1.0 : parseur de balises.

Répondez à cet article.

Russell Holt a publié hexml 1.0, un parseur open source qui traduit les balises en appel de classes Java, ce qui le rend souple, léger, capable de gérér des sources de données non conformes et... très controversé !

Par Eric van der Vlist, Dyomedea (vdv@dyomedea.com).
jeudi 20 juillet 2000

Sa conception est simple et originale, plaçant hexml à mi-chemin entre parseur SAX et outils de "Java binding":

    "Son principe de base est de traduire des balises en classes Java, et c'est donc un hybride entre arbres de type DOM et parseurs événementiels; les classes instanciées contrôlent de manière significative le processus de parsing."

Mettant l'accent sur les balises plus que sur les éléments, hexml traduit le parsing des balises en création de nouvelles classes Java. Ces classes Java assurent l'analyse d'éventuels attributs et peuvent recevoir une collection de classes imbriquées. Les balises ouvrantes des éléments, mais également les PIs, les commentaires et même la déclaration XML sont considéres comme des balises pouvant être traduites en classes Java.

La correspondance entre balises et classes peut être contrôlée dynamiquement en appelant des méthodes Java, mais également au moyen de fichiers XML de "vocabulaires".

Hexml ne fait aucun type de validation et ne demande pas même aux documents d'être bien formés (les balises peuvent par exemple se chevaucher), ce qui le rend extèmement souple mais également controversé, Aaron Hope  commentant:

    "Si votre parseur absorbe du XML audacieusement formé, c'est un mauvais parseur. Les parseurs XML doivent rejeter le XML mal formé, en fait d'après la spécification XML, si ce n'est pas conforme à XML, ce n'est pas du tout du XML."

Ce commentaire caractéristique illustre bien les craintes de la communauté XML de voir se répéter les excès de laxisme des navigateurs HTML.

Il n'en reste pas moins vrai que cette souplesse devrait permettre à hexml de parser des "variantes non conformes" de XML tels que documents HTML, le format HTML des documents office 2000 parfois décrit comme "un horrible mélange de XML, HTML mal formé, scripts et instructions 'if' à l'intérieur d'accolades carrées" et peut être même des DTDs.

Copyright 2000, Eric van der Vlist.


 

Mots clés.



L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.


Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot  

Conception, réalisation et hébergement
Questions ou commentaires
  redacteurs@xmlfr.org