Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
Xml Tester des XPath
GUI
[modifier | modifier le wikicode]Eclipse
[modifier | modifier le wikicode]On installera les plugins suivants qui sont disponible dans Eclipse Web Tools Platform :
- XSL Tools SDK
- PscyhoPath XPath 2.0 Processor Feature
- XSL Tools Developer Resources
Remarques : On fera attention au processeur que l'on utilise : XPath 1.0 ou XPath 2.0.
Terminal
[modifier | modifier le wikicode]Utilitaire xpath
[modifier | modifier le wikicode]Cela correspond au paquet linux : libxml-xpath-perl disponible sur [[1]]
xpath -e '//archref/@href'
Pour n'avoir que les noeud, on rajoutera une redirection des erreurs à la fin de la commande : 2&>1
XMLStarlet
[modifier | modifier le wikicode]On peut également utiliser XMLStarlet, qui est open source, gratuit. Et disponible sur Windows et Linux.
xmlstarlet sel -t -v "count(/xml/table/rec/numField)" table.xml
Exemple avancé
[modifier | modifier le wikicode]xmlstarlet sel -N xhtml="http://www.w3.org/1999/xhtml" -t -c "/xhtml:html/xhtml:head/xhtml:link" /tmp/bmo/bmoxml-basket.xml
sel: sélection de noeud dans le document XML ;-N xhtml="http://www.w3.org/1999/xhtml": définition d'un espace de nom<ref>Namespaces and default namespace</ref> ;-t -c "/xhtml:html/xhtml:head/xhtml:link": le template XPath que l'on applique pour obtenir nos résultats<ref>Querying XML documents</ref>.- l'option
-cou--copy-oféquivaut à un <xsl:copy-of> ; - l'option
-vou--value-oféquivaut à un <xsl:value-of>.
- l'option
Valeur de tous les nœuds
[modifier | modifier le wikicode]xmlstarlet sel -N csv="http://apache.org/cocoon/csv/1.0" \
-t -m "//csv:record[csv:field[@column = 'type' and text()='almanach']]" -v "csv:field[@column='type']" -n \
./csv-almanachs.xml
Explication :
xmlstarlet sel \
-N csv="http://apache.org/cocoon/csv/1.0" \
-t # template à appliquer \
-m "//csv:record[csv:field[@column = 'type' and text()='almanach']]" # on match ce genre de nœud \
-v "csv:field[@column='type']" # une fois matcher, on affiche cette valeur \
-n # saut de ligne entre chaque match \
./csv-almanachs.xml # document d'entrée
Références
[modifier | modifier le wikicode]- Quick help XMLStarlet Command Line XML Toolkit
- Complete document as a single HTML page
- Querying XML documents
- Namespaces and default namespace
<references/>