Опубликован: 24.01.2007 | Уровень: для всех | Доступ: свободно
Лекция 3:

Создание корректно сформированных XML-документов

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >
Аннотация: В этой лекции вы познакомитесь с основными приемами создания корректно сформированных (well-formed) XML-документов. Корректно сформированным называется документ, отвечающий минимальному набору критериев соответствия для XML-документа. Когда вы создаете корректно сформированный XML-документ, вы можете добавлять элементы и вводить данные непосредственно в ваш документ, как вы это делаете при создании HTML-документов.

Составные части корректно сформированного XML-документа

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

В листинге 3.1 представлена полная версия документа для данного примера.

<?xml version='1.0' standalone='yes' ?>
<!-- File Name: Parts.xml -->
<?xml-stylesheet type="text/css" href="Inventory01.css"?>
<INVENTORY>
	<BOOK>
		<TITLE>The Adventures of Huckleberry Finn</TITLE>
		<AUTHOR>Mark Twain</AUTHOR>
		<BINDING>mass market paperback</BINDING>
		<PAGES>298</PAGES>
		<PRICE>$5.49</PRICE>
   	</BOOK>
  	<BOOK>
      		<TITLE>Leaves of Grass</TITLE>
      		<AUTHOR>Walt Whitman</AUTHOR>
      		<BINDING>hardcover</BINDING>
      		<PAGES>462</PAGES>
      		<PRICE>$7.75</PRICE>
   	</BOOK>
   	<BOOK>
      		<TITLE>The Legend of Sleepy Hollow</TITLE>
      		<AUTHOR>Washington Irving</AUTHOR>
      		<BINDING>mass market paperback</BINDING>
      		<PAGES>98</PAGES>
      		<PRICE>$2.95</PRICE>
   	</BOOK>
   	<BOOK>
      		<TITLE>The Marble Faun</TITLE>
      		<AUTHOR>Nathaniel Hawthorne</AUTHOR>
      		<BINDING>trade paperback</BINDING>
      		<PAGES>473</PAGES>
      		<PRICE>$10.95</PRICE>
   	</BOOK>
   	<BOOK>
      		<TITLE>Moby-Dick</TITLE>
      		<AUTHOR>Herman Melville</AUTHOR>
      		<BINDING>hardcover</BINDING>
      		<PAGES>724</PAGES>
      		<PRICE>$9.95</PRICE>
   	</BOOK>
   	<BOOK>
      		<TITLE>The Portrait of a Lady</TITLE>
      		<AUTHOR>Henry James</AUTHOR>
      		<BINDING>mass market paperback</BINDING>
      		<PAGES>256</PAGES>
      		<PRICE>$4.95</PRICE>
   	</BOOK>
   	<BOOK>
      		<TITLE>The Scarlet Letter</TITLE>
      		<AUTHOR>Nathaniel Hawthorne</AUTHOR>
      		<BINDING>trade paperback</BINDING>
      		<PAGES>253</PAGES>
      		<PRICE>$4.25</PRICE>
   	</BOOK>
   	<BOOK>
      		<TITLE>The Turn of the Screw</TITLE>
      		<AUTHOR>Henry James</AUTHOR>
      		<BINDING>trade paperback</BINDING>
      		<PAGES>384</PAGES>
      		<PRICE>$3.35</PRICE>
   	</BOOK>
</INVENTORY>
<!--  	Comments, processing instructions, and white space
		can also appear after the document element. -->
<?MyApp Parm1="value 1" Parm2="value 2" ?>
Листинг 3.1. Parts.xml

Номер версии в XML-объявлении в начале пролога документа может быть заключен как в одинарные, так и в двойные кавычки. Строки в кавычках в XML-разметке – носят название литерал. Таким образом, обе приведенные ниже записи являются допустимыми:

<?xml version='1.0'?>

<?xml version="1.0"?>

XML-объявление в примере (см. Листинг 3.1) также включает в себя объявление документа автономным ( standalone=’yes’ ). Это объявление может использоваться в некоторых XML-документах с целью упростить обработку документа. (Об объявлении документа автономным будет рассказано в "Определение и использование примитивов" .)

В рассматриваемом примере имеется комментарий в прологе, а также другой комментарий, следующий за элементом Документ. (Подробнее о комментариях вы узнаете в "Добавление комментариев, инструкций по обработке и разделов CDATA" .)

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

В нашем примере имеется одна инструкция по обработке в прологе, а также другая инструкция по обработке в разделе, следующем после элемента Документ. (Об инструкциях по обработке речь пойдет в "Добавление комментариев, инструкций по обработке и разделов CDATA" .)

Наконец, документ включает в себя sine qua non (обязательную часть) XML-документа: элемент Документ. Создание элемента Документ и вложенных в него элементов является основным предметом рассмотрения в этой лекции.

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

Наименьший XML-документ

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

<minimal>A minimalist document.</minimal>

B Internet Explorer 5 этот документ будет отображен, как показано на рисунке 3.2.


Рис. 3.2.
< Лекция 2 || Лекция 3: 12345 || Лекция 4 >
Максим Попов
Максим Попов

Почему при использовании скриптов, приведенных в курсе Основы XML

лекция Лекция 8: 

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

не происходит связывания XLM документа с HTML?

Отображаются пустые поля. Браузер IE11

Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!