|
Почему dtd не только валидирует, но и влияет на процесс парсинга? как так?
|
|||
---|---|---|---|
#18+
Везде в уроках по dtd пишут, что оно используется для валидации структуры документа. То есть, по идее, его можно не использовать, при этом ничего не должно поменяться, если xml-документ все равно соответствует ограничениям. Почему же тогда некоторые либы требуют указания DOCTYPE и без него не хотят работать? Например, конфиг spring требует чтобы было указано или dtd или xsd, например так: Код: xml 1.
Если строчку убрать, то конфиг не парсится - возникают экзепшены. То же самое c jetty. Ему надо чтобы было так: Код: xml 1.
Эксперименты показали, что если эта строчка есть, то вот так будет работать: Код: xml 1. 2. 3. 4.
А если в конфиге строчки DOCTYPE нету - то чтобы заработало надо обязательно эту конструкцию писать ее в одну строчку без пробелов: Код: xml 1.
Но при этом все доки и хелпы в гугле пишут, что dtd нужно только для проверки правильности структуры (и между строк читается, что вроде как оно не должно влиять на парсинг, и значит оно необязательно) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2014, 15:41 |
|
Почему dtd не только валидирует, но и влияет на процесс парсинга? как так?
|
|||
---|---|---|---|
#18+
Почему же тогда некоторые либы требуют указания DOCTYPE и без него не хотят работать?Видимо у разных либ разные настройки по умолчанию, какие-то по умолчанию валидируют, какие-то нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2014, 16:36 |
|
|
start [/forum/topic.php?fid=14&fpage=14&tid=1332404]: |
0ms |
get settings: |
19ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 230ms |
total: | 388ms |
0 / 0 |