Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 234

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 228 229 230 231 232 233 < 234 > 235 236 237 238 239 240 .. 404 >> Следующая


<?xml version="l,0"?>

<books>

<book>Triatram Shandy</book>

<book>Moby Dick</book>

<book>Ulysses</book>

</books>

В отличие от следующего документа:

<?хл1 version="l.О"?>

<book>Tristram Shandy</book>

<book>Moby Dick</book>

<booJc>UlyBses</book>

Внутри этого корневого элемента существуют очень широкие возможности для определения структуры данных. В отличие от реляционных данных, у которых в каждой строке имеется одно и то же количество столбцов, в XML не существует никаких ограничений на количество субэлементов, которыми может обладать отдельный элемент, И хотя зачастую XML-документы обладают структурой, очень напоминающей структуру реляционных данных, в которой каждой записи соответствует отдельный элемент, XML-документы не должны обладать никакой заранее определенной структурой. Вследствие этого XML оказывается намного более приспособленным для хранения данных переменной структуры. Напрнмер, XML может быть использован для разметки текстовых документов. Язык web-разметки — HTML — хотя и не является, строго говоря, XML-приложением, но очень тесно связан с XML, как мы узнаем из главы 23.
504 Глава 18

Пространства имен XML

Любой программист может описывать собственные классы в С#; аналогично, каждый из нас может описывать собственные XML-элементы; это приводит к возникновению тон же самой проблемы — как определить, какие элементы принадлежат каким словарям, Подобно тому, как в C# пространства имен используются для организации типов, пространства имен XML используются для описания XML-словарей. Такой подход позволяет включать в одни XML-документ элементы сразу из нескольких различных словарей, не рискуя при этом перепутать элементы, напрнмер, если в двух различных словарях определяется элемент <customer>.

Пространства имен XML могут быть весьма сложными, поэтому в настоящий момент мы не будем обсуждать их очень подробно, а ограничимся основным синтаксисом, который весьма прост. Мы привязываем конкретные элементы нлн атрибуты к тем или иным пространствам имен с помощью префикса, за которым следует двоеточие. Например, элемент <wrox:book> представляет элемент <book> из пространства имен wrox, Но как узнать, что именно представляет собой пространство имен wrox? Для того чтобы такой подход оказался работоспособным, мы должны обладать возможностью гарантировать, что каждое пространство имен является уникальным. Наиболее простой способ добиться этого — привязать префиксы к чему-либо такому, что заведомо является уникальным. Именно такой подход и реализован: необходимо в каком-либо месте XML-документа привязать каждый используемый префикс пространства имен к Uniform Resource Identifier (URI — единый идентификатор ресурса), Существует несколько разновидностей единых идентификаторов ресурса, но в качестве наиболее распространенного используется просто web-адрес, вроде 'http://www,wrox.com'.

Для того чтобы некоторому префиксу поставить в соответствие конкретное пространство имен, следует поместить внутрь элемента атрибут хп11пз:<префикс>, присвоив ему в качестве значения уникальный URI, определяющий данное пространство имен. После этого данный префикс может быть использован в любом месте элемента, включая все вложенные в него элементы. Например:

<?хт1 vcrsion=,l.0-?>

<Ьоокз>

ebook xmlns:wrox="http;//www.wrox.com'>

<wrox:title>Beginning CI</wrox:title>

<wrox:author>Kar1i Watsonc/wrox:author>

</book>

</books>

В данном случае использование префикса wrox: в элементах <titie> и <author> является допустимым, поскольку они расположены внутри элемента <Ьоок>, в котором описывается данный префикс. Однако если бы мы попытались включить этот префикс в элемент <boofcs>, то это привело бы созданию незаконного XML-документа, поскольку для данного элемента этот префикс не описан.

Есть также возможность описывать пространство имен, используемое по умолчанию, С ПОМОЩЬЮ атрибута xmlna:

<?xml version="l.0"?>

<ЬОО)СБ >

<book xmlns="http://www.wrox.сош’>

<title>Beginning C#</title>

<author>Karli Watson</author>

<html:img sre-'begaharp,gif"

xmlns:html-"http://www.w3.org/1999/xhtml¦/>

</book>

</books>
Доступ к данным пользователя________________________________________________________505

В этом примере пространство имен, используемое по умолчанию в элементе <Ьоок>, определено как 'http://www.Hrox.com", Все, что входит в состав данного элемента, будет принадлежать объявленному пространству имен за исключением тех случаев, когда будет явно указано на необходимость использовать другое пространство имен, как это сделано для элемента <img> (мы относим его к пространству имен, которое используется для XML-совместимых HTML-документов).

Правильно оформленный и допустимый XML

До сих пор мы использовали понятие “законного” XML. На самом деле в XML проводится различие между двумя формами “законности". Документы, которые подчиняются всем требованиям, предъявляемым стандартом XML, называются правильно оформленными. Еслн какой-либо XML-документ не является правильно оформленным, то анализаторы будут лишены возможности проинтерпретировать его корректно и отвергнут такой документ. Для того чтобы документ мог считаться правильно оформленным, он должен:
Предыдущая << 1 .. 228 229 230 231 232 233 < 234 > 235 236 237 238 239 240 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.