stimulsoft Скачать StimulsoftReportsNetTrial.zip Скачать StimulsoftReportsWebTrial.zip Stimulsoft Reports.Net Stimulsoft Reports.Web

Опрос

По Вашему какой язык программирования сейчас более популярен?:

Последние комментарии

ГЛАВА 2 Создание и отображение вашего первого XML-документа


В этой главе вы получите представление о процессе создания и отображения XML-документа в Web-браузере. Сначала вы создадите простой XML-документ, исследуете его структуру и познакомитесь с основными правилами создания корректно сформированного XML-документа. Затем вы узнаете, как отобразить этот документ в браузере Microsoft Internet Explorer 5 путем создания и присоединения простой стилевой таблицы, которая сообщает браузеру, как форматировать элементы в документе.

Данная глава содержит краткий обзор тем, которые будут обсуждены в книге.

 

  Создание XML-документа

Описание XML-документа представляет собой простой текст, который можно набрать в любом текстовом редакторе, например, редактор Notepad, входящем в состав Microsoft Windows. Еще лучше воспользоваться редактором, в котором предусмотрена возможность анализа исходных кодов, например, текстовым редактором Microsoft Visual Studio, рассчитанным на работу с Microsoft Visual C++, Microsoft Visual InterDev, Microsoft Visual J++ и другими приложениями Visual Studio.

 

Создайте XML-документ

  1. Откройте новый файл в вашем текстовом редакторе и введите текст XML-документа, листинг которого представлен далее. (Копию листинга 2-1 вы можете найти на CD-ROM в файле Inventory.xml).

    При желании можно опустить некоторые элементы типа BOOK. Вам не обязательно набиратьвсе восемь - достаточно будет трех или четырех. (Элемент BOOK включает в себя теги и и весь содержащийся между ними текст.)

  2. Воспользуйтесь командой Save (Сохранить) текстового редак- тора для сохранения документа на вашем жестком диске, при- своив ему имя Inventory.xml.

 

Анатомия XML-документа

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

 

Пролог

В данном примере документа пролог состоит из трех строк: 

<?xml version="1.0"?> 

<!-- Имя файла: Inventory.xml -->

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

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

Третья строка пролога представляет собой комментарий. Добавление комментариев в XML-документ не обязательно, но позволяет сделать его более понятным. Комментарий начинается с символов <!-- и заканчивается символами -->. Между этими двумя группами символов вы можете поместить любой текст (за исключением --); XML-процессор проигнорирует его.

Примечание. Все составляющие пролога, упомянутые в этом разделе, будут подробно описаны далее в последующих главах.

Пролог может также содержать следующие необязательные компоненты:

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

Примечание. XML-процессор — это программный модуль, считывающий XML-документ и обеспечивающий доступ к его содержимому. Он также предоставляет этот доступ другим программным модулям, или приложениям, которые манипулируют и отображают содержимое документа. Если вы отображаете XML-документ в Internet Explorer 5, браузер включает в себя как XML-процессор, так и приложение. (Если для отображения XML-документа вы используете HTML и сценарий (скрипт-код), то при этом самостоятельно создаете часть приложения.) Обратите внимание, что термин приложение в данном случае отличен от термина, применяемого для обозначения XML-приложения (или словаря) как целевого набора элементов и структуры документа, которые используются для описания документов определенного типа (см. главу 1).

  Элемент Документ

Второй основной частью XML-документа является единый элемент Документ, или корневой элемент, который в свою очередь содержит дополнительные элементы.

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

В рассматриваемом примере элемент Документ - INVENTORY. Его начальный тег - <INVENTORY>, конечный тег - </INVENTORY>, а содержимое - восемь вложенных элементов BOOK.

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

Примечание. Элемент Документ в XML-документе похож на элемент BODY на HTML-странице, за исключением того, что вы можете присвоить ему любое допустимое имя.

В свою очередь, каждый элемент BOOK содержит ряд вложенных элементов, как показано на следующем рисунке.

Примечание. Имя, которое содержится в начальном и конечном теге, есть тип элемента.

Каждый из элементов, вложенных в элемент BOOK, например, элемент TITLE, содержит только символьные данные, как показано на следующем рисунке.

Во второй части вы узнаете о дополнительных элементах XML-документа и о включении атрибутов в начальный тег элемента.

  Некоторые базовые правила XML

Ниже приведено несколько основных правил создания форматированного XML-документа. Форматированный документ соответствует минимальному набору правил, обеспечивающих возможность обработки документа браузером или другой программой. Документ, составленный вами ранее в этой главе (Листинг 2-1), является примером форматированного XML-документа, удовлетворяющего этим правилам.

  • Документ должен иметь только один элемент верхнего уровня (элемент Документ, или корневой элемент). Все другие элементы должны быть вложены в элемент верхнего уровня.
  • Элементы должны быть вложены упорядоченным образом. Если элемент начинается внутри другого элемента, он должен и заканчиваться внутри этого документа.
  • Каждый элемент должен иметь начальный и конечный тег. В отличие от HTML, в XML не разрешается опускать конечный тег - даже в том случае, когда браузер в состоянии определить, где заканчивается элемент. (В главе 3 вы познакомитесь с усеченной нотацией, которую можно применять для пустых элементов - т.е. элементов, не имеющих содержимого.)
  • Имя типа элемента в начальном теге должно в точности соответствовать имени в соответствующем конечном теге.
  • Имена типов элементов чувствительны к регистру, в котором они набраны. В действительности весь текст внутри XML-разметки является чувствительным к регистру. Например, следующее описание элемента является неправильным, поскольку имя типа элемента в начальном теге не соответствует имени типа в конечном теге:

<TITLE>Leaves of grass<7Title> <!-- некорректный элемент -->

Ссылка. Во второй части вы найдете подробные инструкции по написанию не только корректно сформированных (well-formed), но и валидных (valid) XML-документов, для которых предусмотрен более строгий набор требований.

  Отображение ХМL-документа

Вы можете открыть XML-документ непосредственно через Internet Explorer 5, точно так же, как вы бы открыли HTML Web-страницу.

Если XML-документ не содержит связи с таблицей стилей, Internet Explorer 5 помечает различные составные части документа различным цветом, чтобы облегчить их распознавание, а также представляет элемент Документ в виде иерархического дерева с возможностью свертывания и развертывания структуры и просмотра с меньшей или большей степенью детализации.

Если же XML-документ имеет связь с таблицей стиля, Internet Explorer 5 отобразит только символьные данные из элементов документа, отформатировав их в соответствии с правилами, установленными в таблице стиля. Вы можете использовать либо таблицу каскадных стилей (CSS-таб-лицу, аналогичную той, которая используется для HTML-страниц), либо XSL-таблицу стилей (Extensible Stylesheet Language), которая является более мощным инструментом и строится в соответствии с синтаксисом, принятым для XML. Такие таблицы могут использоваться исключительно для XML-документов.

  Отобразите XML-документ без таблицы стиля

1. В Windows Explorer (Проводник) или в окне папки дважды щелкните на имени файла Inventory.xml, который вы сохранили в предыдущем упражнении. Internet Explorer 5 отобразит документ, как показано на верхнем рисунке на следующей странице.

2. Попробуйте изменить степень детализации представления элементов документа. Щелкните на символе знака минус (-) слева от начального тега, чтобы свернуть элемент, либо на знаке плюс (+) рядом со свернутым элементом, чтобы развернуть его. Например, щелкнув на знаке минус (-) рядом с элементом INVENTORY, вы получите то же, что представлено на нижнем рисунке на следующей странице.



 

  Обнаружение ошибок XML в Internet Explorer 5

Прежде чем Internet Explorer 5 отобразит ваш XML-документ, его встроенный синтаксический XML-анализатор (parser) просмотрит содержимое документа. Если он обнаружит ошибку, Internet Explorer 5 отобразит страницу с сообщением об ошибке, не предпринимая попытки отобразить документ. Internet Explorer 5 отобразит страницу с сообщением об ошибке независимо от того, связан ли XML-документ с таблицей стиля.

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

В следующем упражнении вы исследуете возможности Internet Explorer 5 по обнаружению ошибок, искусственно введя ошибку в документ Inventory.xmi.

  1. В вашем текстовом редакторе откройте документ Inventory.xml, созданный вами в предыдущем упражнении. Измените первый элемент TITLE с

    <TITLE>The Adventures of Huckleberry Finn<TITLE> 

    на

    <TITLE>The Adventures of Huckleberry Finn</Title>

  2. Сохраните внесенные изменения.
  3. В Windows Explorer (Проводник), или в окне папки, дважды щелкните на имени файла документа Inventory.xml. Вместо того, чтобы отобразить XML-документ, Internet Explorer 5 теперь отобразит следующую страницу с сообщением об ошибке, как показано на рисунке на следующей странице.
  4. Поскольку вы еще будете работать с Inventory.xml в этой главе, вам теперь нужно восстановить конечный тег для первого элемента TITLE, вернув ему первоначальный вид (/TITLE), а затем повторно сохранить документ.

Примечание. Когда вы открываете XML-документ непосредственно в Internet Explorer 5, транслятор проверяет лишь соответствие документа формальным правилам построения (корректность формы) и в случае обнаружения несоответствия выдает сообщение об ошибке. Полное соответствие правилам для документа (валидность) не проверяется.

Даже в случае, если вы не связываете таблицу стилей с XML-докумен-том, Internet Explorer 5 использует для отображения документа имеющуюся по умолчанию таблицу стилей; именно поэтому в описании ошибки упоминается использование XSL-таблицы стилей («using XSL style sheet»). О XSL-таблицах стиля вы узнаете в главе 10.

Совет. Если вы последовательно выполняете упражнения из данной книги, имейте в виду, что вы можете быстро проверить, является ли документ корректно сформированным, открыв его непосредственно в Internet Explorer 5. (Если вы отображаете XML-документ через HTML-страницу, как описывается в третьей части, XML-документ с ошибкой не будет отображен, но и сообщение об ошибке не появится, если вы не написали для этого соответствующий сценарий (скрипт-код).

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

  1. Откройте новый, пустой текстовый файл в вашем текстовом редакторе и заполните CSS-таблицу, как показано в Листинге 2-2. (Смотри файл InventoryOI .ess на CD-ROM.)
  2. С помощью команды Save (Сохранить) вашего текстового редактора сохраните таблицу стиля на жестком диске, задав имя файла InventoryOI .CSS. Созданная вами CSS-таблица сообщает Internet Explorer 5, каким образом форматировать символьные данные элементов.
  • Отображать каждый элемент BOOK с отступом сверху в 12 пт (margin-top: 12pt) с переводом строки сверху и снизу (display:block), используя размер шрифта 10 пт (font-size: lOpt).
  • Отображать каждый элемент TITLE курсивом (font-style:italic).
  • Отображать каждый элемент AUTHOR полужирным (fdnt-weight:bold).

Листинг 2-2

Inventory01 .css

/* Имя файла: InventoryOI .ess */

BOOK

{display:block; margin-top: 12pt; font-size:! Opt}

TITLE {font-style:italic}

AUTHOR {font-weight:bold}

  1. В вашем текстовом редакторе откройте документ Inventory.xml, созданный вами в предыдущем упражнении. Добавьте в конце пролога документа (непосредственно над элементом INVENTORY) следующую инструкцию по обработке:

<?xml - stylesheet type="text/css" href="lnventory01 .css"?>

Эта инструкция по обработке устанавливает связь созданной вами CSS-таблицы и XML-документа. В результате при открытии документа в Internet Explorer 5 браузер отобразит содержимое документа в соответствии с инструкциями, записанными в таблице стилей.

  1. Чтобы отразить новое имя файла, которое вы собираетесь присвоить, измените комментарий в начале документа с

<!-- Имя файла: Inventory.xml -->

на

<!-- Имя файла: Inventory01 .xml -->

В Листинге 2-3 представлен весь XML-документ. (Копия этого листинга содержится на CD-ROM в файле Inventory01.xml.)

  1. Воспользуйтесь командой Save As (Сохранить как) вашего текстового редактора, чтобы сохранить копию измененного документа как Inventory01.xml. Проверьте, чтобы этот файл был сохранен в той же папке, что и файл Inventory01.CSS.

 Листинг 2-3

Inventory01.xml

<?xml version="1.0"?>

<!-- Имя файла: Inventory01.xm -->

<?xml-stylesheet type="text/css" href="lnventory01.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 Wtiitman</AUTHOR>

<BINDING>hardcover</BINDING>

<PAGES>462</PAGES>

<PRICE>$7.75</PRICE> 

</BOOK> 

<BOOK>

<TITLE>The Legend of Sleepy Hollow<TITLE>

<AUTHOR>Washington lrving</AUTHOR>

<BINDlNG>mass market paperback</BINDING>

<PAGES>98</PAGES>

<PRICE>$2.95</PRICE>

</BOOK> 

<BOOK>

<TITLE>The Marble Pinn<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>

<BIND!NG>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>

  1. В Windows Explorer (Проводник) или в окне папки дважды щелкните на файле InventoryOI .xml, чтобы открыть документ. Internet Explorer 5 откроет документ InventoryOI .xml и отобразит его в соответствии с правилами из связанной таблицы стилей, как показано на следующем рисунке.

  1. Чтобы почувствовать, как можно изменять представление XML-документа путем модификации связанной таблицы стилей, откройте новый, пустой текстовый файл в вашем текстовом редакторе и введите измененную CSS-таблицу, как показано в Листинге 2-4. (Копия этого листинга содержится на CD-ROM в файле lnvertor$2.css.)
  2. Воспользуйтесь командой Save (Сохранить) вашего текстового редактора, чтобы сохранить новую таблицу стилей на жестком диске, присвоив ей: имя файла Inventory02.css.

Созданная вами модифицированная таблица стилей сообщает Internet Explorer 5, каким образом форматировать символьные данные элементов.

  • Отображать каждый элемент BOOK с отступом сверху в 12 пт (margin-top: 12pt) и с переводэм строки сверху и снизу (display:block), используя размер шрифта 10 пт (fout - size :10 pt).
  • Отображать каждый из элементов TITLE, AUTHOR, BINDING и PRICE в отдельной строке (d-<sphy:block).
  • Отображать элемент TITLE шрифтом с размером 12 пт (font:size: 12pt), полужирным (font-weight:bo\d), курсивом (font-style:italic). (Обратите внимание, что установка для элемента TITLE размера шрифта 12 пт превалирует над установкой размера 10 пт для родительского элемента BOOK.)
  • Отступ слева для каждого из элементов AUTHOR, BINDING и PRICE на 15 пт (margin-left: 15pt).
  • Отображать элемент AUTHOR полужирным (font-weight:bold).
  • Не отображать элемент PAGES (display:none).

Листинг 2-4

Inventory02.css

/* Имя файла: Inventory02.css */

BOOK

{display: block; 

margin-top: 12pt; 

font-size: 10pt}

TITLE

{display: block; 

font-size: 12pt; 

font-weight:bold; 

font-style:italic}

AUTHOR 

{display:block; 

margin-left: 15pt;

font-weight:bold}

BINDING 

{display: block; 

margin-left: 15pt}

PAGES 

{display: none}

PRICE

{display: block; 

margin-left: 15pt}

  1. В текстовом редакторе откройте документ Inventory.xml. Добавьте в конце пролога документа (над элементом INVENTORY) следующую инструкцию по обработке:

<?xml-stylesheet type="text/css" href="lnventory02.css"?>

Эта инструкция по обработке устанавливает связь между новой CSS-таблицей, созданной вами, и XML-документом.

  1. Чтобы отразить новое присвоенное вами имя файла, измените комментарий в начале документа с

<!-- Имя файла: Inventory.xml -->

на

<!-- Имя файла: Inventory02.xml -->

В Листинге 2-5 предсгавлен полный XML-документ. (Копия этого листинга содержится на CD-ROM в файле Inventory02.xml.)

  1. Воспользуйтесь командой Save As (Сохранить как), чтобы сохранить копию измененного документа как Inventory02.xml. Проверьте, чтобы этот файл был сохранен в той же папке, что и файл hventory02.css.

Листинг 2-5

Inventory02.xml

<?xml version="1.0"?>

<!-- Имя файла: Inventory02.xml -->

<?xml-stylesheet type="text/css" href="lnventory02.css"?>

<iNVENTORY> 

<BOOK>

<TITLE>The Adventures cf Huckleberry Finn</TITLE> 

<AUTHOR>Mark Twain<|AUTHOR> 

<BINDING>massmarketpaperback</BINDING> 

<PAGES>298</PAGES> 

<PRICE>$5.49</PRICE> 

</BOOK>

<BOOK>

<TITLE>Leaves of Grass<AITLE>

<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 lrving</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>

  1. В Windows Explorer (Проводник) или в окне папки дважды щелкните на имени файла Inventory02.xml, чтобы открыть его.

Internet Explorer 5 откроет документ Inventory02.xml и отобразит его в соответствии с правилами, установленными в связанной таблице стилей Inventory02.css, как показано на следующем рисунке (здесь представлено лишь четыре книги; осуществив прокрутку вниз, вы увидите остальные книги).

Ссылка. В третьей части вы найдете подробные и исчерпывающие инструкции для отображения XML-документов в Web. Вы познакомитесь с каскадными таблицами стилей, в главе 7.0 XSL-таблицах рассказывается в главе 10. В главах 8 и 9 вы узнаете об альтернативных методах отображения XML-документов в Web.

Опубликовал admin
14 Авг, Суббота 2004г.