@niederle niederle authored on 29 Dec 2015
dtd 1er commit 8 years ago
tmp 1er commit 8 years ago
tools ajout package.json avec dépendance à get-doctype 8 years ago
xml listing.bash --> Readme.txt 8 years ago
xslt 1er commit 8 years ago
.gitignore ajout package.json avec dépendance à get-doctype 8 years ago
README.md enrichissement des paragraphes xmlwf et get-doctype 8 years ago
package.json ajout package.json avec dépendance à get-doctype 8 years ago
parse-doctype ajout package.json avec dépendance à get-doctype 8 years ago
README.md

ADE Outils XML ISTEX

08 janvier 2016

Pré-requis

  • NodeJS
  • xmlstarlet
  • libxml2
  • expat
  • j'en oublie sûrement !!! ;-)

Installation

git clone ssh://vsistex.intra.inist.fr:22222/git/istex/ade-outils-xml.git
cd ade-outils-xml
npm install

XMLWF

Mon fichier XML est-il bien formé ?

  • balises ouvrantes bien fermées
  • balises qui "ne se chevauchent pas"
  • pas de caractères &<>;, dans les attributs ou noeuds texte
  • ...
# test sur un XML bien formé
xmlwf  xml/oup-sample.xml
echo $?

# test sur un XML mal formé
xmlwf  xml/bad-formed.xml
echo $?

# le même test en passant par stdin
cat xml/bad-formed.xml | xmlwf

# test d'un répertoire entier
xmlwf  xml/*

NB : Valeur de retour toujours 0, même si bien formé. Obligation de vérifier stdout si on souhaite automatiser

get-doctype

Récupération des informations contenues dans la ligne doctype.

# récupération d'un doctype "classique"
tools/parse_doctype xml/oup-sample.xml

# cas d'un XML sans doctype
tools/parse_doctype xml/wiley-sample.xml

# cas d'un XML mal formé
tools/parse_doctype xml/parsing-problem.xml

# utilisation en passant par stdin
cat tools/node_modules/get-doctype/test/dataset/big.xml | tools/parse_doctype

Plus d'infos sur https://github.com/Inist-CNRS/get-doctype

xmlstarlet

Site officiel : http://xmlstar.sourceforge.net/

xmlstarlet sel (select)

Interrogation de documents XML en ligne de commande.


xmlstarlet val (validate)

Validation de documents selon DTD, Schéma XML ou RelaxNG.

xmlstarlet val -e -d dtd/Wileyml3gv20-flat/Wileyml3gv20-flat.dtd tmp/wiley.xml

xmlstarlet tr (transform)

Transformation XSLT de documents XML.