2015-01-07 3 views
1

Как видно из потока How to parse HTML using XPath with Saxon-HE in command line?, я пытаюсь запросить HTML с помощью Saxon и XPath.Как установить пространство имен по умолчанию с net.sf.saxon.Query в Saxon-HE 9.6 в командной строке?

То, что я пытался до сих пор из моей Linux оболочки:

java -classpath "./tagsoup-1.2.jar:./saxon9he.jar" \ 
    net.sf.saxon.Query \ 
    -x:org.ccil.cowan.tagsoup.Parser \ 
    -s:https://stackoverflow.com/questions/27826172 \ 
    -qs:'/*:html/*:head/*:title/text()' 

Это работает, но я хотел бы установить пространство имен в по умолчанию, чтобы иметь возможность запросить файл HTML без префикса или шаблона, по пример:

/html/head/title/text() 

должен быть действительным запросом.

Любая идея?

ответ

1

С XQuery вы можете установить declare default element namespace "http://www.w3.org/1999/xhtml"; так, по крайней мере в теории, если вы начинаете свой qs аргумент запроса -qs:'declare default element namespace "http://www.w3.org/1999/xhtml";/*:html/*:head/*:title/text()' с, что вы должны быть в состоянии использовать //body. Можно ли и возможно в вашей оболочке писать и избегать всех тех кавычек, которые я не знаю, использование файла запроса может быть проще в долгосрочной перспективе.

+0

Спасибо! Хаддж! знак равно –

Смежные вопросы