powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Почему dtd не только валидирует, но и влияет на процесс парсинга? как так?
2 сообщений из 2, страница 1 из 1
Почему dtd не только валидирует, но и влияет на процесс парсинга? как так?
    #38552051
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Везде в уроках по dtd пишут, что оно используется для валидации структуры документа. То есть, по идее, его можно не использовать, при этом ничего не должно поменяться, если xml-документ все равно соответствует ограничениям.

Почему же тогда некоторые либы требуют указания DOCTYPE и без него не хотят работать? Например, конфиг spring требует чтобы было указано или dtd или xsd, например так:

Код: xml
1.
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">



Если строчку убрать, то конфиг не парсится - возникают экзепшены.

То же самое c jetty. Ему надо чтобы было так:
Код: xml
1.
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">



Эксперименты показали, что если эта строчка есть, то вот так будет работать:

Код: xml
1.
2.
3.
4.
    <Array id="systemClasses" type="java.lang.String">
        <Item>java.</Item>
        <Item>javax.</Item>
    </Array>



А если в конфиге строчки DOCTYPE нету - то чтобы заработало надо обязательно эту конструкцию писать ее в одну строчку без пробелов:
Код: xml
1.
    <Array id="systemClasses" type="java.lang.String"><Item>java.</Item><Item>javax.</Item></Array>



Но при этом все доки и хелпы в гугле пишут, что dtd нужно только для проверки правильности структуры (и между строк читается, что вроде как оно не должно влиять на парсинг, и значит оно необязательно)
...
Рейтинг: 0 / 0
Почему dtd не только валидирует, но и влияет на процесс парсинга? как так?
    #38552158
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему же тогда некоторые либы требуют указания DOCTYPE и без него не хотят работать?Видимо у разных либ разные настройки по умолчанию, какие-то по умолчанию валидируют, какие-то нет.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Почему dtd не только валидирует, но и влияет на процесс парсинга? как так?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]