Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Правильно построенный документ XML: общие правила синтаксиса XML.Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте XML (Extensible Markup Language – расширяемый язык разметки) – рекомендован W3C как язык разметки, представляющий свод общих синтаксических правил. XML предназначен для обмена структурированной информацией с внешними системами. Формат для хранения должен быть эффективным, оптимальным с точки зрения потребляемых ресурсов (памяти, и др.). Такой формат должен позволять быстро извлекать полностью или частично хранимые в этом формате данные и быстро производить базовые операции над этими данными. Каждый документ начинается декларацией – строкой, указывающей как минимум версию стандарта XML. В качестве других атрибутов могут быть указаны кодировка символов и внешние связи. <?xml version="1.0" encoding="UTF-8"?> Важнейшее обязательное синтаксическое требование заключается в том, что документ имеет только один корневой элемент Это означает, что текст или другие данные всего документа должны быть расположены между единственным начальным корневым тегом и соответствующим ему конечным тегом. После декларации в XML-документе могут располагаться ссылки на документы, определяющие структуру текущего документа и собственно XML элементы (теги), которые могут иметь атрибуты и содержимое. Открывающий тег состоит из имени элемента, например <city>. Закрывающий тег, состоит из того же имени, но перед именем добавляется символ ‘/’, например </city>. Содержимым элемента (content) называется всё, что расположено между открывающим и закрывающим тегами, включая текст и другие (вложенные) элементы. В любом месте дерева может быть размещен элемент-комментарий. XML-комментарии размещаются внутри специального тега, начинающегося с символов <!-- и заканчивающегося символами -->. Два знака дефис (--) внутри комментария присутствовать не могут. <!-- Это комментарий. --> Остальная часть этого XML-документа состоит из вложенных элементов, некоторые из которых имеют атрибуты и содержимое. Элемент обычно состоит из открывающего и закрывающего тегов, обрамляющих текст и другие элементы. Текстовые блоки XML-документа не могут содержать символов, которые служат в написании самого XML: <, >, &. <description>в текстовых блоках нельзя использовать символы <,>,& </description> В таких случаях используются ссылки (указатели) на символы, которые должны быть заключены между символами & и;. Особо распространенными указателями являются: < – символ <; > – символ >; & – символ &; ' – символ апострофа ‘; " – символ двойной кавычки “. Таким образом, пример правильно будет выглядеть так: <description>в текстовых блоках нельзя использовать символы <, >, & </description> Если необходимо включить в XML-документ данные (в качестве содержимого элемента), которые содержат символы '<', '>', '&', '‘' и '“', чтобы не заменять их на соответствующие определения, можно все эти данные включить в раздел CDATA. Раздел CDATA начинается со строки "<[CDATA[", а заканчивается "]]>", при этом между ними эти строки не должны употребляться. Объявить раздел CDATA можно, например, так: <data><[CDATA[ 5 < 7 ]]></data> Корректность XML-документа определяют следующие два компонента: синтаксическая корректность (well-formed): то есть соблюдение всех синтаксических правил XML; действительность (valid): то есть данные соответствуют некоторому набору правил, определённых пользователем; правила определяют структуру и формат данных в XML. Валидность XML документа определяется наличием DTD или XML-схемы XSD и соблюдением правил, которые там приведены. Пример: <?xml version="1.0" encoding="UTF-8"?> <menu:nodes xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:menu="http://bvf.by/main-menu" xsi:schemaLocation="http://bvf.by/main-menu xsd/main-menu.xsd"> <node> <title>menu_main</title> <url>/BVFApp/</url> </node> <node> <title>menu_federation</title> <nodes> <node> <title>menu_federation_direction</title> <!-- <url>/BVFApp/faces</url> --> </node> </nodes> </node> </menu:nodes>
18. Интерфейсы анализаторов XML: доступ и манипулирование содержанием и структурой XML. XML как набор байт в памяти, запись в базе или текстовый файл представляет собой данные, которые еще предстоит обработать. То есть из набора строк необходимо получить данные, пригодные для использования в программе. Поскольку ХML представляет собой универсальный формат для передачи данных, существуют универсальные средства его обработки – XML-анализаторы (парсеры). Парсер – это библиотека, которая читает XML-документ, а затем предоставляет набор методов для обработки информации этого документа. Существует три подхода (API) к обработке XML-документов: DOM (Document Object Model – объектная модель документов) – платформенно-независимый программный интерфейс, позволяющий программам и скриптам управлять содержимым документов HTML и XML, а также изменять их структуру и оформление. Модель DOM не накладывает ограничений на структуру документа. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого содержит элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями родитель-потомок. SAX (Simple API for XML) базируется на модели последовательной одноразовой обработки и не создает внутренних деревьев. При прохождении по XML вызывает соответствующие методы у классов, реализующих интерфейсы, предоставляемые SAX-парсером. StAX (Streaming API for XML) не создает дерево объектов в памяти, но, в отличие от SAX-парсера, за переход от одной вершины XML к другой отвечает приложение, которое запускает разбор документа. Анализаторы, которые строят древовидную модель, – это DOM-анализаторы. Анализаторы, которые генерируют события, – это SAX-анализаторы. Анализаторы, которые ждут команды от приложения для перехода к следую- щему элементу XML – StAX-анализаторы. В первом случае анализатор строит в памяти дерево объектов, соответствующее XML-документу. Далее вся работа ведется именно с этим деревом. Во втором случае анализатор работает следующим образом: когда происходит анализ документа, анализатор вызывает методы, связанные с различными участками XML-файла, а программа, использующая анализатор, решает, как реагировать на тот или иной элемент XML-документа. Так, аннализатор будет генерировать событие о том, что он встретил начало документа либо его конец, начало элемента либо его конец, символьную информацию внутри элемента и т.д. StAX работает как Iterator, который указывает на наличие элемента с помощью метода hasNext() и для перехода к следующей вершине использует метод next(). Когда следует использовать DOM-, а когда – SAX, StAX -анализаторы? DOM-анализаторы следует использовать тогда, когда нужно знать структуру документа и может понадобиться изменять эту структуру либо использовать информацию из XML-файла несколько раз. SAX/StAX-анализаторы используются тогда, когда нужно извлечь информацию о нескольких элементах из XML-файла либо когда информация из документа нужна только один раз. DOM – это специальная, языково-независимая интерфейсная модель разбора XML и HTML документов. Существует три уровня моделей DOM: DOM Level 1 – описывает основные интерфейсы, DOM Level 2 – вводит дополнение XML Namespaces, DOM Level 3 – определяет методы Load и Save. Модель DOM Level 1 – описанна выше. Модель DOM Level 2 вводит использование стилевых таблиц, определяет модель сообщений и XML Namespaces. В сущности namespaces (пространства имен) используются для того чтобы разрешить многократный доступ к словарям XML при этом используясь в одном XML документе. Для того чтобы присвоить какому либо элементу универсальный идентификатор нужно к тегу стоящему выше его по иерархии DOM добавить параметр вида "xmlns:indentefier="URI", где indentefier это имя индентификатора, а URI – сам индентификатор. Для его использования надо к используемуму элементу добавить спереди имя идентификатора indentefier и двоеточие. <?xml version="1.0"?> <html xmlns:xhtml="www.w3c.org/tr/xhtml" xmlns:books="www.piter-press.ru"> <xhtml:title>Это заголовок документа XHTML</xhtml:title> <book> <books:title>А здесь должен быть заголовок книжки</books:title> </book> </html> В даном случае в корневом теге <html> описано два пространства имен – xhtml и books. Теперь в этом документе можно использовать одни и те же элементы, но с разным значением, ставя перед ними имя пространства имен и двоеточие. DOM Level 3... На данный момент это последняя версия DOM. Спецификация этой модели состоит из трех частей: DOM3-ASLS, DOM3-Core, DOM3-Events, DOM3-XPath. DOM ASLS (Abstract Schemas and Load and Save specification) – эта спецификация определяет схемы DTD и XML Schemas, а также методы Load and Save. Методы Load and Save, как можно догадаться из названия должны загружать и сохранять содержимое DOM-модели. Спецификация DOM3 Events – описывает модель сообщений и в основном базируется на DOM2 Events. Особенного внимания заслуживает спецификация DOM3-XPath. Эта спецификация определяет простой набор интерфейсов для доступа к дереву DOM через XPath 1.0.
|
||
|
Последнее изменение этой страницы: 2016-08-06; просмотров: 619; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.01 с.) |