Я хочу проанализировать html-документ с помощью XMLStarlet, который раньше хорошо работал, но из-за изменений основного генератора контента продолжает выдавать ошибки.
Теперь я получаю более двух десятков сообщений об ошибках, таких как
-:157.22: Namespace prefix xlink for href on use is not defined
<use xlink:href="#menu"/>
из-за новых встроенных изображений SVG, содержащих теги use xlink:href
. Соответствующее пространство имен для префикс xlink должно быть "http://www.w3.org/1999/xlink", который я добавил в сегмент команды на первом этапе.
(...) | xml.exe sel -N n="http://www.w3.org/1999/xlink" -t -v "/html/body/div/div/div/main/ul/li[1]/h2/a/@href"
но видимо я не правильно сделал, так как ошибки остались. Я не вижу объявления пространства имен в сгенерированном контенте сайта.
Как исправить ошибки?
Обновить
Полная команда, над которой я работаю:
wget -qO- "https://notepad-plus-plus.org/downloads/" | xml fo -H -Q | xml.exe sel -t -v "/html/body/div/div/div/main/ul/li[1]/h2/a/@href"
Нерегулярно я также получаю следующее сообщение об ошибке:
Attempt to load network entity http://www.w3.org/TR/REC-html40/loose.dtd
-:3.1: Start tag expected, '<' not found
Я предполагаю, что есть еще один конфликт пространства имен.