j'ai besoin de construire un composant qui prendrait quelques documents XML en entrée et vérifier le type de règles suivantes:Interprétez une règle l'application de plusieurs requêtes XPath sur plusieurs documents XML
XML1:/bookstore/book[price>35.00] != null
and (XML2:/city/name = 'Montreal'
or XML3://customer[@language] contains 'en')
Fondamentalement, mon composant devrait être en mesure à:
- remplacer les jetons XML avec le document XML correspondant (avant deux points)
- appliquer requête XPath sur ce document XML
- che ck la sortie xpath contre le résultat attendu ("=", "! =", "contient")
- suivre la syntaxe de base ("et", "ou" et parenthèses)
- dire si la règle est vraie ou fausse
Connaissez-vous une bibliothèque pour m'aider? peut-être JavaCC?
Merci
Pour la partie xpath, je pensais utiliser l'API JDK. Selon le benchmark suivant, il semble plus rapide que les autres bibliothèques et je n'ai pas vraiment de contraintes de performance de toute façon: http://www.asciiarmor.com/post/33736620/java-xpath-1-0-engine-comparison-performance Ma question est plus liée à comment interpréter la règle et orchestrer l'analyse en conséquence. J'aurais dû être plus précis, désolé. – Damien
Je pense que si vous voulez utiliser des noms de fichiers avec XPath, alors vous devriez regarder xquery. Il y a une autre librairie XPath que vous voudrez peut-être explorer, elle s'appelle VTD-XML (dont je suis le coauteur) –
Merci, j'ai vu que schematron est supposé être capable de fonctionner avec xquery au lieu de xpath mais, malheureusement , l'implémentation java (probatron) ne supporte jusqu'ici que xpath. Je vais évaluer tout cela et aussi jeter un oeil à VTD-XML pour construire ma solution. – Damien