Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Преимущества использования валидных XML-документов



 

Чтобы быть уверенным в том, что созданный XML-документ отвечает определенной структуре или набору стандартов, включение DTD, которое описывает эту структуру, дает возможность XML-процессору проверить, соответствует ли документ структуре. Другими словами, DTD обеспечивает стандартный шаблон для процессора, чтобы при проверке валидности он мог следовать требуемой структуре и гарантировать, что созданный документ соответствует установленным стандартам. Если какая-либо часть документа не отвечает DTD-cneцификации, процессор может отобразить сообщение об ошибке, чтобы можно было отредактировать документ и исправить несоответствия.

Использование валидных документов особенно полезно для проверки однородности среди группы схожих документов. Фактически, стандарт XML определяет DTD как “грамматику для определенного класса документов”.

Предположим, группе разработчиков, занимающейся публикацией в Web, требуется, чтобы все ее редакторы создавали XML-документы, отвечающие единой структуре. Создание одного DTD и включение его во все документы может обеспечить условия соответствия документов требуемой структуре, в то время как редакторы будут избавлены от необходимости добавлять новые элементы, помещать информацию в неправильном порядке, присваивать неправильные типы данных и т.д. Конечно, валидность документа должна быть проверена при его обработке процессором.

Включение DTD и проверка валидности имеют особое значение, если документ будет обрабатываться программой пользователя, ориентированной на определенную структуру документа. Если все пользователи программного обеспечения включат в свои XML-документы соответствующие DTD, и все документы пройдут проверку на валидность, то пользователи могут быть уверены, что их документы будут распознаны программой-обработчиком. Например, если группа математиков создает математические документы, которые будут отображаться специальной программой, все они могут включить в свои документы одинаковые DTD, которые содержат определения требуемой структуры, элементов, атрибутов и других компонентов.

При открытии XML-документа в браузере, процессор проверяет весь документ (в том числе объявление типа документа, если оно присутствует) на корректность формы составления, и выводит сообщение о фатальной ошибке при любом обнаруженном несоответствии. Однако процессор браузера не проверяет документ на валидность. Для этого можно создать дополнительный сценарий проверки XML-документа на валидность, пример которого будет представлен далее.



 

Добавление DTD

 

Объявление типа документа представляет собой блок XML-разметки, который нужно добавить в пролог валидного XML-документа. Он может располагаться в любом месте пролога - вне другой разметки - после XML-объявления, как показано на следующем рисунке.

Рисунок 10. Размещение DTD в XML-документе

 

Объявление типа документа определяет структуру документа. При открытии документа, не содержащего объявления типа, в браузере, XML-процессор всего лишь осуществляет проверку документа на корректность формы составления. В противном случае при наличии объявления типа документа, процессор будет проверять документ на валидность вместе с проверкой на корректность формы составления, так что созданный документ должен отвечать всем имеющимся декларациям в объявлении типа документа. Таким образом, нельзя будет включить в документ какие-либо элементы или атрибуты, если они не объявлены в объявлении типа документа. Каждый используемый элемент и атрибут должен соответствовать спецификации (например, допустимости применения данного содержимого элемента или типа атрибута), выраженной в соответствующем объявлении.

XML-процессор проверяет документ на валидность только в том случае, если документ открывается через HTML Web-страницу. При открытии XML-документа непосредственно в браузере, процессор будет проверять документ (включая любое объявление типа документа, которое он содержит) на корректность формы составления, но не будет проверять документ на валидность, даже если он содержит объявление типа документа.

 

Форма записи DTD

 

Объявление типа документа имеет следующую обобщенную форму записи:



 

<!DOCTYPE Имя DTD>

 

Здесь “Имя” указывает на имя элемента Документ. Имя действительного элемента Документ должно в точности соответствовать имени, записанному в объявлении. (Правила, в соответствии с которыми следует выбирать имена элементов, приведены в разделе «Анатомия элемента».) Например, при объявлении типа документа для документа, рассмотренного в предыдущем разделе, следует использовать имя INVENTORY:

 

<!DOCTYPE INVENTORY DTD>

 

Это еще не законченное объявление типа документа. DTD следует заменить реальным содержимым. DTD представляет собой определение типа документа, которое содержит объявления, задающие элементы документа, атрибуты и другие компоненты. Подобно всем ключевым словам XML, DOCTYPE должно быть набрано прописными буквами.

DTD состоит из символа левой квадратной скобки ([), после которой следует ряд объявлений разметки, заканчивающихся правой квадратной скобкой (]). Объявления разметки описывают логическую структуру документа, т.е. задают элементы документа, атрибуты и другие компоненты. На следующем рисунке приведен законченный валидный XML-документ, содержащий DTD с единственным объявлением разметки, которое определяет один тип элемента в документе, SIMPLE.

 

 

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

DTD может содержать следующие типы объявлений разметки.

· Объявления типов элементов. Они определяют типы элементов, которые может содержать документ, а также содержимое и порядок следования элементов.

· Объявления списков атрибутов. Каждое объявление списков атрибутов задает имена атрибутов, которые могут быть использованы с определенным типом элемента, а также типы данных и устанавливаемые по умолчанию значения этих атрибутов.

· Объявления примитивов. Примитивы можно использовать для хранения часто используемых фрагментов текста или для встраивания не относящихся к XML данных в ваш документ.

· Объявления нотаций. Нотация описывает формат данных или идентифицирует программу, используемую для обработки определенного формата.

· Инструкции по обработке. Эта тема затрагивалась выше.

· Комментарии. Эта тема также затрагивалась выше.

· Ссылки на параметрические примитивы. Любой из приведенных выше компонентов может содержаться внутри параметрического примитива и добавляться путем ссылки на параметрический примитив.

Типы DTD, обсуждаемые в этом разделе (и используемые в примерах в последующих разделах), относятся к внутреннему подмножеству DTD, поскольку полностью включаются в объявление типа данного документа. Затем будет рассказано о том, как использовать DTD, размещенные в отдельном файле, и относящиеся к внешнему подмножеству DTD.

 


Эта страница нарушает авторские права

allrefrs.ru - 2019 год. Все права принадлежат их авторам!