Каковы плюсы и минусы в DTD и XML-схемах (я даже не уверен, что такое официальное имя последнего!)? Что лучше? Почему нам нужно два способа сделать то же самое?DTD или XML-схема. Какая из них лучше?
Изменить: Я нашел это в статье, которую я читал, что и побудило меня задать вопрос:
Почему W3C XML Schema язык?
Язык схемы W3C XML не является только языком схемы . Фактически, спецификация XML описывает определения типа документа (DTD) как способ для выразить схему. Кроме того, предварительные версии JAXB Справочная реализация работала только с с DTD, то есть не с схемами , написанными на языке XML-схемы. Однако язык XML-схемы - гораздо богаче, чем DTD. Например, схемы, написанные в XML-схеме Язык может описывать структурные связи и типы данных, которые не может быть выражен (или не может быть легко выражен ) в DTD. Есть инструменты доступны для преобразования DTDs в W3C XML Schema языка, поэтому если у вас есть схемы DTD на основе, которые вы использовали с более ранней версией от JAXB Reference Implementation, вы можете использовать эти инструменты для преобразования схем до Язык XML-схемы. http://java.sun.com/developer/technicalArticles/WebServices/jaxb/#binsch
Возможно, я хотел бы привести примеры, объясняющие, почему XML-схема лучше (если это действительно так).
Вы можете разместить XSD встроенный XML. Просто используйте правильное пространство имен и вставьте схему внутри документа. Обычно это файлы WSDL. DTD подвержены атакам DoS. См. Http://en.wikipedia.org/wiki/Billion_laughs – lavinio
@lavinio, я думаю, вы правы в создании XSD; Я видел файлы до этого. Интересная статья о нападении Billion Laughs. –
Есть ли какая-либо функция DTD, которая не может быть выполнена в XSD? –