Skip to main content

Преобразование XML-файла, который должен быть хорошо сформирован

Create and Execute MapReduce in Eclipse (Апрель 2025)

Create and Execute MapReduce in Eclipse (Апрель 2025)
Anonim

Иногда легче понять, как написать хорошо сформированный XML, увидев пример. Информационный бюллетень Web Writer написан с использованием формы XML - мы называем это AML или About Markup Language (go figure). Хотя это рабочий документ, он на самом деле не является хорошо сформированным или допустимым XML-документом.

Хорошо Сформированный

Для создания хорошо сформированного XML-документа существуют определенные правила:

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

Есть только две проблемы с документом, которые делают его неверным:

Первое, что требуется документу AML, - это заявление объявления XML.

Другая проблема заключается в том, что нет ни одного элемента, который полностью охватывает все остальные элементы. Чтобы исправить это, мы добавим внешний элемент контейнера:

Выполнение этих двух простых изменений (и обеспечение того, что все элементы содержат только CDATA) превратит не-правильно сформированный документ в хорошо сформированный документ.

Действительный документ XML проверяется на основе определения типа документа (DTD) или схемы XML. Это набор правил, созданных разработчиком или организацией стандартов, которые определяют семантику XML-документа. Они сообщают компьютеру, что делать с разметкой.

В случае с About Markup Language, поскольку это не стандартный XML-язык, такой как XHTML или SMIL, DTD будет создан разработчиком. Этот DTD, скорее всего, будет на том же сервере, что и XML-документ, и будет указан в верхней части документа.

Прежде чем приступить к разработке DTD или схемы для ваших документов, вы должны понимать, что просто, будучи хорошо сформированным, XML-документ самоописателен и, следовательно, не нуждается в DTD.

Например, с нашим хорошо сформированным документом AML существуют следующие теги:

Если вы знакомы с информационным бюллетенем Web Writer, вы можете узнать различные разделы бюллетеня. Это упрощает создание новых документов XML в том же стандартном формате. Мы всегда ставили бы полное название в теге и первый URL-адрес раздела в теге.

DTDs

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

Одна приятная вещь в объявлениях DTD заключается в том, что вы можете объявить, что DTD является локальным для системы, где документ XML находится в «SYSTEM». Вы также можете указать общедоступный DTD, например документ HTML 4.0:

Когда вы используете оба варианта, вы сообщаете документу использовать определенный DTD (публичный идентификатор) и где его найти (системный идентификатор).

Наконец, вы можете включить внутренний DTD непосредственно в документ в теге DOCTYPE. Например (это не полный DTD для документа AML):

>

XML-схема

Чтобы создать допустимый XML-документ, вы также можете использовать документ XML Schema для определения своего XML. XML Schema - это XML-документ, который описывает документы XML. Узнайте, как написать схему.

Заметка

Просто указывать на DTD или XML Schema недостаточно. XML, который находится в документе, должен следовать правилам DTD или Schema. Использование проверочного анализатора - простой способ проверить, соответствует ли ваш XML правилам DTD. Вы можете найти много таких парсеров в Интернете.