Skip to main content
J'ai fait des recherches sur le traitement des données XML (Extensible Markup Language) sur VOS et OpenVOS, et j'ai pensé qu'il serait utile de partager ce que j'ai appris avec un public plus large.

 

QU'EST-CE QUE LE XML ?
La description suivante de XML est tirée de "XML : A Beginner's Guide", par Dave Mercer. (Osborne/McGraw Hill, 2001).

 

"SGML (Standard Generalized Markup Language) est une norme internationale (ISO 8879) pour la définition de méthodes de représentation de l'information indépendantes des appareils et des systèmes, lisibles par l'homme et par la machine. Les langages conformes aux règles du SGML sont appelés applications, et HTML est une application du SGML. [...] HTML ne prévoit pas de s'étendre de manière standard à de nouvelles balises, attributs, structures de données ou types de contenu... XML, plutôt que d'être un langage prédéfini comme HTML, est une manière prédéfinie de définir de nouveaux langages tout en évitant la nature trop complexe du SGML. Techniquement, XML inclut un sous-ensemble des capacités que l'on trouve dans le SGML".

 

Un schéma XML est une méthode permettant de définir un document XML spécifique (ou une classe de documents). Il décrit la structure d'un document, y compris les éléments, les attributs, les types de données et les contraintes qui peuvent être utilisés, un peu comme on le ferait pour une base de données.

 

Une définition de type de document XML (DTD) remplit une fonction similaire à celle d'un schéma.

Le XML existe depuis plus de 10 ans, et il existe un certain nombre de produits et de méthodes concurrents, ainsi qu'un certain nombre de normes connexes. Il existe également de nombreux ouvrages spécialisés sur le XML. O'Reilly publie un livre intitulé "Learning XML" qui peut être utile. Voir www.oreilly.com. Le site web http://xml.com/, géré par O'Reilly, contient un certain nombre d'articles et de liens utiles.

Les normes XML sont publiées par le World Wide Web Consortium, qui se trouve à l'adresse http://www.w3.org. Les normes sont assez sèches, donc je ne recommande pas d'essayer de les lire.

 

Le XML ressemble au HTML et a un héritage similaire à celui-ci, mais il s'agit d'un codage beaucoup plus général. Le HTML décrit l'aspect des données lorsqu'elles sont affichées sur une page web. Le HTML, en soi, n'enregistre pas si un nombre représente une quantité, un prix ou un numéro de stock. Le XML, en revanche, ne se préoccupe généralement pas de l'apparence des données ; il décrit leur signification. Une application courante du XML consiste à créer un codage textuel d'une base de données spécifique. XML a la capacité de dire que ce champ est un prix numérique, et que ce champ est un numéro d'action alphanumérique, et ainsi de suite. Toutes les données d'un document XML sont codées sous forme de texte, ce qui signifie que les problèmes collants comme l'endianness ou la représentation binaire des nombres à virgule flottante disparaissent. Ainsi, le XML est de plus en plus accepté comme un bon langage pour la communication des données d'ordinateur à ordinateur.
OUTILS POUR TRAITER LES XML

 

Je connais deux logiciels libres couramment utilisés qui traitent le XML. Le premier est Expat et le second est Xerces. Ces deux logiciels ont été créés en 1999. Expat est l'œuvre d'une seule personne ; Xerces est issu d'IBM.

 

Il existe deux modèles concurrents pour traiter le XML. L'un est le Document Object Model (DOM) et l'autre est l'API simple pour XML (SAX). La méthode SAX (utilisée par Expat) lit un document XML de manière linéaire, en appelant une fonction de traitement chaque fois qu'un élément de balisage apparaît. La méthode DOM lit l'ensemble du document XML et crée une hiérarchie arborescente. On peut considérer SAX comme une méthode d'accès séquentiel et DOM comme une méthode d'accès aléatoire. Xerces prend en charge les API SAX et DOM. Il existe des paquets tiers qui fournissent une API DOM à l'expatrié (voir "simkin").

 

Bien que nous utilisions le terme "document XML", dans la pratique, le texte codé en XML peut être un fichier ou un flux de données. En général, vous fournissez les fonctions qui collectent le texte et le transmettent à l'analyseur syntaxique, de sorte qu'il puisse provenir de n'importe quelle source.

 

EXPAT

 

Expat est conçu pour lire le XML et prendre des mesures à chaque fois qu'un élément XML apparaît. Je n'ai vu aucune documentation qui suggère qu'il peut créer des flux de données basés sur XML. Expat est écrit en C. Il existe également une version de Xerces pour Perl et Java.
Un port d'expat vers VOS est disponible à l'adresse suivante

 

Le site web principal pour les expatriés est :

 

et

 

Une belle introduction à l'expatriation peut être trouvée sur la page de sourceforge home ; voici le lien :

 

 

Vous pouvez trouver des liens vers d'autres logiciels libres qui utilisent expat sur http://www.libexpat.org/.

 

XERCES

 

Xerces peut à la fois lire et écrire des flux de données XML. Xerces est écrit en C++ et est conçu pour être appelé par des programmes C++.

 

Tom Mallory et moi avons porté la version 2.8.0 de Xerces pour un client de Stratus à la mi-2008. Notre objectif était une plateforme de la série V. La version actuelle de Xerces est la 3.0.1. Si vous souhaitez obtenir une copie de ce portage, veuillez contacter l'équipe chargée de votre compte.

 

Le site principal de xerces est :

 

LEQUEL UTILISER ?

 

Si vous souhaitez simplement analyser un document codé en XML et que votre traitement est compatible avec la lecture séquentielle du flux de données, je vous recommande d'utiliser expat. Bien qu'il soit écrit en C, grâce au fait que tous les langages de programmation VOS peuvent appeler des fonctions et des sous-routines écrites dans n'importe quel autre langage de programmation, vous pouvez appeler expat depuis n'importe quel langage VOS.

 

Si vous avez besoin de pouvoir effectuer des opérations à accès aléatoire sur un document XML, ou si vous voulez créer du XML et que vous êtes à l'aise pour programmer en C++, je vous recommande d'utiliser Xerces.

 

Si vous avez besoin d'aide pour ajouter la possibilité de traiter des documents XML à votre demande, contactez votre équipe locale chargée du compte Stratus .

2024 Stratus Technologies.