Développement

xmlstarlet – manipuler du XML en shell

A l'époque où le JSON est roi, ce billet fait un peu tâche, non ? Pourtant le XML est toujours là, plutôt côté serveur, bien discret. Et même s'il n'est plus aussi populaire que le JSON, nous sommes parfois amené à le manipuler. Pour tout ce qui est transformation de document, vous pouvoir aller voir du côté du bien connu XSL. Mais si vous souhaitez seulement explorer un XML pour y extraire simplement et rapidement des informations dans un script…
Lire d'avantage

Validation XML avec des schémas inclus/importés

La validation d'un fichier XML avec un fichier de schéma XML indépendant est assez simple en Java. En revanche, dès que le schéma XML importe ou inclut d'autres schémas, la validation échoue car ces fichiers se sont pas chargés automatiquement. Après investigation, l'API de validation XML ne peut pas charger les schémas inclus. Heureusement, cette API permet d'enregistrer son propre résolveur afin de fournir le contenu des XSD incluses/importées. Pour celà, il faut implémenter l'interface "LSInput" qui se charge de…
Lire d'avantage

JAXB – ignorer les espaces inutiles dans les fichiers XML

JAXB permet de générer des classes Java à partir de XSD pour manipuler du XML plus facilement. En clair, il permet de générer un parseur et un générateur de flux XML en Java. Ce qui fait gagner énormément de temps en développement. En revanche, par défaut, le parseur JAXB n'ignore pas les espaces inutiles (appelés whitespaces). Pas de panique, l'API JAXB permet de le faire assez simplement. Il faut seulement créer un filtre et l'appliquer lors de la lecture du…
Lire d'avantage

Générer un doctype avec du DOM

Le DOCTYPE est souvent oublié, pourtant parfois il se révèle indispensable. Mais comment générer cette section dans un document XML avec du DOM en Java ? Pour rappel, le DOCTYPE permet de spécifier dans un  XML la définition du type de document (ie. le format utilisé). Il est peu souvent utilisé lors de la génération de document XML. De plus la documentation de l'API DOM n'est pas forcément explicite. Du coup certaines personnes peuvent rencontrer quelques problèmes pour le générer. Voici…
Lire d'avantage