Ich versuche, die Version eines Maven POM-Datei wie folgt mit der Sächsischen CLI zu lesen:Wie definiere ich den XML-Namespace in der CLI von Saxon so, dass ich Dinge in diesem Namespace abfragen kann?
java -cp Saxon-HE-9.7.0-4.jar net.sf.saxon.Query -s:./pom.xml -qs:/project/version \!method=text
Die Datei pom.xml
sieht wie folgt aus:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<packaging>pom</packaging>
<name>baz</name>
<version>0.0.1-SNAPSHOT</version>
</project>
Ich erhalte einen Fehler, da Ich gebe einen Standardnamespace an. Wenn ich diese Namespacedeklaration (xmlns="http://maven.apache.org/POM/4.0.0"
) weglasse, funktioniert die Abfrage. Ich entnehme der sächsischen Dokumentation, dass ich etwas wie einen Namespace-Handler definieren muss, aber ich merke, dass ich plötzlich in den XML-Namensraum esoterica eintauche. Wer weiß das mit einer einfachen Option an der sächsischen Kommandozeile?
Perfecto, @Martin, genau das, was ich brauchte! – nclark