xerces останавливается при получении xhtml1-переходной ДАТЫ

Я хотел бы выполнить вопросы XPath на XML-документе онлайн. Я создал InputStreams, которые восстанавливают содержание и прилагают <? xml...?> заголовок, который объявляет кодирование существующим в набор символов область запросов HTTP. Хотя это работает, это крайне медленно.

    //bis is the BufferedInputStream with the content part of the HTTP reply
docBuilder = docBuilderFactory.newDocumentBuilder();//throws exception.
Document doc = docBuilder.parse
    (new PrependInputStream(bis,
                "<?xml version='1.0' encoding='"+charset+"' ?>\r\n"));

(пожалуйста, позвольте мне не помещать свой целый источник на этот раз: я готовлю назначение на студентов).

Некоторый strace анализ показал, что программа останавливается, связываясь w3.org:

 send(8, "GET /TR/xhtml1/DTD/xhtml1-transitional.dtd HTTP/1.1\r\nUser-Agent: Java/1.6.0_17\r\nHost: www.w3.org\r\nAccept: 
      text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2\r\nConnection: keep-alive\r\n\r\n", 186, 0)
 recv(8, ...

Поскольку я не волнуюсь слишком много о содержимом HTML, чтобы быть действительным (правильно построенный, должен быть достаточно), я попробовал docBuilderFactory.setValidating (ложный) , но это, кажется, не предотвращает поиск онлайн ДАТЫ.

Trying to set manually a schema with docBuilderFactory.setSchema() using the same dtd file retrieved manually results in a "org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed. " (that was not a good idea)

Где я сверхусложняю вещи?

(бэкенд XML, кажется, com.sun.org.apache.xerces.internal.impl.xs. XMLSchemaLoader.loadSchema, насколько я могу сказать от трассировок стека - если это имеет какое-либо применение).

0
nl ja de
w3.org/Help/Webmaster#slowdtd
добавлено автор C. M. Sperberg-McQueen, источник
stackoverflow.com/questions/7956734/… <у/a> есть ответ. Этот вопрос может быть отмечен как дубликат.
добавлено автор PypeBros, источник
@Sperberg-McQueen: I' m не удивленный. That' s довольно нормальный для консорциума s.a. w3, чтобы не разбиваться запросами, выпущенными от происходящего кодом.
добавлено автор PypeBros, источник

1 ответы

Дата HTML огромна, использование включает. И вы правы, они берут навсегда. Используйте Каталог XML. Там можно сохранить даты в местном масштабе и нанести на карту их их системным ID.

Если вы будете использовать инструмент, как знаток, вы найдете достаточные указатели.

Преимущество i.o. перехват предприятий как ответ, связанный @sylvainulg, предлагает, то, что вы получаете правильные символы.

0
добавлено
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async