2015-02-05 1 views
0

Использование Saxon HE (чистая версия) wget и пакет, я пытаюсь преобразовать страницу, которую я загрузил через wget.Ошибка SAXON. Как игнорировать/пропускать его?

Всякий раз, когда вызов команды на странице, я получаю следующее сообщение об ошибке:

SXXP0003: Error reported by XML parser: The entity name must immediately follow the '&' in the entity reference.

Это связано с линией в очень неудобной линии javescript. Однако я не могу контролировать страницу, которую я хочу преобразовать, поэтому я не могу ничего сделать против этой ошибки с этой стороны.

Есть ли способ сказать Саксону пропустить такие ошибки? Я бы не возражал, если бы он потерял весь тег, так как я не хочу читать данные из элементов javascript.

Большое спасибо заранее!

ответ

1

Как говорится в сообщении об ошибке, это сообщение об ошибке, описанное базовым парсером XML, которое Saxon использует для разбора разметки документа, который вы ему предоставляете. Если это не правильно сформированный XML, то любой синтаксический анализатор XML отклонит его. Saxon предлагает вам the choice to use an HTML tag soup parser like TagSoup вместо этого, позвонив с опцией -x:org.ccil.cowan.tagsoup.Parser, если вы поместите TagSoup с http://home.ccil.org/~cowan/tagsoup/ в путь класса.

+0

Нельзя/не использовать TagSoup, поскольку я стараюсь избегать Java для этой цели (используя чистую версию Saxon), но ваш намек дал мне правильный путь, чтобы найти «xmllint», который, по-видимому, делает совершенно то же самое успешно (даже если его нужно вызывать отдельно в файле). Большое спасибо! – DragonGamer