Scala XML от Node до String предупреждений - PullRequest
0 голосов
/ 12 октября 2018

Мой вопрос касается scala.xml и преобразования из типа Node в String (используя любые методы buildString или toString).

Когда я делаю такое преобразование в стандартный вывод, я получаю список предупреждений о вводе, что-то вроде этого:

line 2 column 2 - Warning: unknown attribute "myAttribute1"
line 3 column 9 - Warning: unknown attribute "myAttribute2"
line 6 column 9 - Warning: unknown attribute "myAttribute3"
line 7 column 13 - Warning: unknown attribute "myAttribute4"
line 7 column 13 - Warning: unknown attribute "myAttribute5"
line 13 column 25 - Warning: <th> attribute "width" has invalid value "3%"
line 15 column 36 - Warning: <th> attribute "width" has invalid value "5%"
line 17 column 36 - Warning: <th> attribute "width" has invalid value "3%"
line 19 column 36 - Warning: <th> attribute "width" has invalid value "15%"
line 21 column 36 - Warning: <th> attribute "width" has invalid value "3%"
line 23 column 36 - Warning: <th> attribute "width" has invalid value "3%"
line 25 column 36 - Warning: <th> attribute "width" has invalid value "3%"
line 27 column 36 - Warning: <th> attribute "width" has invalid value "3%"
line 29 column 36 - Warning: <th> attribute "width" has invalid value "3%"
line 35 column 22 - Warning: unknown attribute "data-col-count"
line 41 column 15 - Warning: inserting missing 'title' element
InputStream: Document content looks like HTML 4.01 Transitional
18 warnings, no errors were found!
The table summary attribute should be used to describe
the table structure. It is very helpful for people using
non-visual browsers. The scope and headers attributes for
table cells are useful for specifying which headers apply
to each table cell, enabling non-visual browsers to provide
a meaningful context for each cell.
For further advice on how to make your pages accessible
see "http://www.w3.org/WAI/GL". You may also want to try
"http://www.cast.org/bobby/" which is a free Web-based
service for checking URLs for accessibility.

Итак, мой вопрос, есть ли способ получитьизбавиться от такого выхода.Код, генерирующий это просто:

data.buildString(true).getBytes(StandardCharsets.UTF_8)

Где данные Scala.xml.Node Спасибо

РЕДАКТИРОВАТЬ

Я пытался разобрать с Node к String и обратно в REPL, но я не получаю никаких предупреждений.

Для анализа я использую пользовательский объект, расширяющий XMLLooader из scala.xml с SAXParser с setValidation(false).Тогда я просто использую loadString(input), чтобы получить свой узел.

Посмотрите документацию по SAXParser Я в конечном итоге здесь: https://docs.oracle.com/javase/7/docs/api/org/xml/sax/helpers/DefaultHandler.html#warning(org.xml.sax.SAXParseException), где говорится, никаких действий для предупреждений в случае по умолчанию не предусмотрено.

1 Ответ

0 голосов
/ 12 октября 2018

Похоже, ваш вывод получен из JTidy, как описано в в этом вопросе об удалении предупреждений или, может быть, в какой-то другой библиотеке 'tidy'.

Когда я пробую вашу строку:

data.buildString(true).getBytes(StandardCharsets.UTF_8)

Это не дает мне никакого вывода, который вы получаете, может быть, другая часть программы вызывает это?

...