Автор |
Сообщение |
alex79
Гость
|
[13932]
Пт Июл 24, 2009 20:49
Как указать в DTD что последовательность тегов не важна ?
Имеется много XML файлов.
Но, файлы генерировались разными программами (без DTD),
и централизованно разбирались простым парсером (на PHP, тоже без DTD)
без анализа последовательности тегов.
для <address>
иногда присылали city,street,building,flat
а иногда flat,building,street,city
и вообще не предсказуемо (но XML корректно, теги открываются-закрываются, не пересекаются)
Сейчас необходимо сделать валидацию, везде проверить аттрибуты.
Последовательность тегов по прежнему не важна.
Сам решил не писать. Скачал SP (James Clark). Пишу DTD.
<!ELEMENT address (city,street,building,flat) >
Вопросы:
1)
Собственно Subj.
Может я что по DTD недочитал ?
Подскажите как это пишется.
(если не перечислять все комбинации)
2)
начал читать XML Schema.
Добрался до complexType mixed="true"
Это оно ?
Если да, с DTD это согласуется как-то ?
|
olpa
Любитель
Зарегистрирован: 23.04.2002
Сообщения: 981
Откуда: Санкт-Петербург
|
[13933]
Сб Июл 25, 2009 06:58
SP -- это в основном для SGML, не для XML. Лучше использовать родные XML-утилиты. Например, libxml.
Цитата: Как указать в DTD что последовательность тегов не важна ?
Вроде бы никак.
|
Vasilisk
Наставник

Зарегистрирован: 17.05.2006
Сообщения: 370
Откуда: Украина, Харьков
|
[13935]
Вс Июл 26, 2009 20:21
DTD принципиально? Может использовать XSD?
_________________ С уважением Vasilisk
Уважайте читающих, используйте тэги [code ][/code]
|
alex79
Гость
|
[13943]
Вт Июл 28, 2009 13:25
olpa писал(а): SP -- это в основном для SGML, не для XML. Лучше использовать родные XML-утилиты. Например, libxml.
ok, спасибо, скачал, хотя что nsgmls что xmllint, все равно не указать произвольную последовательность в DTD
работат это:
Код: <!ELEMENT address (city|street|building|flat)+ >
но теперь теги стали не обязательные
Vasilisk писал(а): DTD принципиально? Может использовать XSD?
Не принципиально.
Сейчас пытыюсь сделать валидацию на XML Schema с помощью xmllint
Пока не понял как записать произвользую последовательность в xsd.
Код: complexType mixed="true"
оказалось не из той оперы. Это теги мешать с текстом,
но последовательность тегов важна.
Подскажите как указать произвольную последовательность тегов в XML Schema ?
|
Vasilisk
Наставник

Зарегистрирован: 17.05.2006
Сообщения: 370
Откуда: Украина, Харьков
|
[13945]
Вт Июл 28, 2009 21:44
<xsd:all>
_________________ С уважением Vasilisk
Уважайте читающих, используйте тэги [code ][/code]
|
alex79
Гость
|
[13946]
Ср Июл 29, 2009 11:10
Vasilisk писал(а): <xsd:all>
Cпасибо! Работает.
|