Я пытаюсь прочитать версию файла POM Maven с помощью Saxon CLI следующим образом:Как определить пространство имен XML в Saxon CLI, чтобы я мог запрашивать вещи в этом пространстве имен?
java -cp Saxon-HE-9.7.0-4.jar net.sf.saxon.Query -s:./pom.xml -qs:/project/version \!method=text
Файл pom.xml
выглядит следующим образом:
<?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>
Я получаю сообщение об ошибке, потому что Я указываю пространство имен по умолчанию. Если я опускаю это объявление пространства имен (xmlns="http://maven.apache.org/POM/4.0.0"
), запрос работает. Я собрал в саксонской документации, что мне нужно сделать что-то вроде, возможно, определить обработчик пространства имен, но я считаю, что я внезапно погружаюсь в пространство имен XML esoterica. Кто-нибудь знает, как это сделать с помощью простой опции в командной строке Saxon?
Perfecto, @Martin, только то, что мне нужно! – nclark