XML.pptx
- Количество слайдов: 32
XML-документ представляет собой обычный текстовый файл, в котором при помощи специальных маркеров создаются элементы данных, последовательность и вложенность которых определяет структуру документа и его содержание
Основным достоинством XML документов является то, что при относительно простом способе создания и обработки (обычный текст может редактироваться любым тестовым процессором и обрабатываться стандартными XML анализаторами), они позволяют создавать структурированную информацию
Описание структуры XML документа Существует два способа описания структуры XML документа и данных входящих в него: при помощи DTD (Document Type Definition) и при помощи семантических схем. Первый способ является достаточно устаревшим, но тем не менее все еще активно используется.
Объявление XML- это объявление версии языка, на котором написан документ. Поскольку интерпретация содержимого документа, вообще говоря, зависит от версии языка, то Спецификация предписывает начинать документ с объявления XML. В первой (1. 0) версии языка использование объявления не было обязательным, в последующих версиях оно обязательно. Таким образом, версия языка определяется из объявления, и если объявление отсутствует, то принимается версия 1. 0. Кроме версии XML, объявление может также содержать информацию о кодировке документа.
Кодировка документов Спецификация требует, чтобы обрабатывающие программы поддерживали по крайней мере две кодировки Юникод: UTF-8 и UTF-16 Пример: <? xml version="1. 1" encoding='UTF-8' ? >
Как создать XML документ? Для создания XML документа в простейшем случае вам не понадобится ничего кроме обычного текстового редактора (по мнению многих Webдизайнеров, лучший инструмент для создания Webстраниц).
Пример Вот пример небольшого XML-документа, используемого вместо обычной записной книжки: <? xml version="1. 0" encoding="koi-8"? > <notepad> <note id="1" date= « 01/10/13" time="13: 40"> <subject>Важная деловая встреча</subject> <importance/> <text> Надо встретиться с <person id="1625">Иваном Ивановичем</person>, предварительно позвонив ему по телефону <tel>123 -12 -12</tel> </text> </notepad
Ряд причин, которые способствуют увеличению популярности XML Универсальная обработка XML-файл должен соблюдать DTD или схему, чтобы считаться валидным. Иначе, XML парсер не сможет прочитать данные. XML является независимым от производителя стандартом, так что пользователь может выбирать между несколькими XML парсерами для обработки XML-данных.
Иерархический подход Иерархические структура документа увеличивает скорость доступа к элементам. Их также легче перемещать внутри документа, потому что каждая часть отделена от другой. Это делает XML -файлы легко изменяемыми и поддерживаемыми
Возможность применения стилей С помощью различных расширений XML (например XSL) можно представлять XML документ в различных форматах, например: текстовый файл • файл XHTML • WML (Wireless Markup Language) • документ Adobe PDF для печати • VML (Voice Markup Language) • SVG (Scalable Vector Graphic)
Повторное использование XML-документы могут быть составлены из отдельных сущностей. XML сущности могут быть определены в самом XMLдокументе. Определения сущностей выглядят как нормальные секции документа
Идентификация данных Теги разметки XML в документе идентифицируют данные и разбивают их на логические на части, например. . программа поиска может искать сообщения, отправленные для конкретных людей. Различные части информации идентифицированы и в дальнейшем их можно использовать по-разному в различных приложениях
Повторное использование XML-документы могут быть составлены из отдельных сущностей. XML сущности могут быть определены в самом XML-документе. Определения сущностей выглядят как нормальные секции документа
XML-генераторы XML документы могут служить промежуточным форматом для передачи информации от одного приложения к другому (например, как результат запроса к базе данных), поэтому их содержимое иногда генерируется и обрабатывается программами автоматически. Далеко не всегда XML документ нужно создавать вручную.
Правила построения Правило № 1 — Все элементы должны корректно открываться, закрываться и быть вложенными. Например. Это корректно: <name> Jane <address> Main Street </address> </name> Это не корректно: <name>Jane<address>123 Main </name></addess> XML не позволяет иметь незакрытые элементы. Так, если элементу не нужен закрывающий тэг (как в случае при отсутствии содержимого), это следует отражать при определении открывающего тэга элемента. Это можно сделать, завершая тэг символом "/". <image url="my_face. jpg" />
Правило № 2 Все значения атрибутов должны заключаться в кавычки. (В конце концов, существует стандарт. ) Это верно: <product version="5"> Это неверно: <product version=5>
Правило № 3 XML чувствителен к регистру. Можно пользоваться любым регистром, но следует быть последовательным. <product> в нашем примере допустимо, в то время как <Product> или <PRODUCT> — нет
Правило № 4 Свободное место не игнорируется. Следующие два примера будут интерпретироваться по-разному. <title> <name>The mysterious mathematician</name> </title> <name> The mysterious mathematician </name> </title>
XML-процессор и приложение Спецификация XML определяет понятия XMLпроцессор и приложение. XML-процессор (парсер) — программа, анализирующая разметку и передающая информацию о структуре документа другой программе — приложению. Спецификация XML налагает определённые требования на процессор, не касаясь требований к приложению
Понятие DTD — это комбинация определений типа документа и элементов, составляющих этот документ.
DTD может определяться внутри документа, при этом оставаясь доступным (в том числе и для ссылок) извне
DTD позволяет указать, сколько элементов связано друг с другом. Например: <product> <id> <name> <version> </product> Один элемент обозначен как главный, а остальные — как подчиненные Документ, содержащий эти элементы, должен поддерживать эти отношения.
XPath (XML Path Language) — язык запросов к элементам XMLдокумента. Выражения XPath используются в языке XQuery. В XPath используется компактный синтаксис, отличный от принятого в XML. Выражения XPath, вообще говоря, могут использоваться в любом контексте, где уместно использовать формальные ссылки на элементы дерева, в частности, в качестве параметров для методов интерфейсов доступа к документу.
База языка XPath Оси — это база языка XPath. ancestor: : — Возвращает множество предков. ancestor-or-self: : — Возвращает множество предков и текущий элемент. attribute: : — Возвращает множество атрибутов текущего элемента. child: : — Возвращает множество потомков на один уровень ниже. descendant: : — Возвращает полное множество потомков. descendant-or-self: : — Возвращает полное множество потомков и текущий элемент.
База языка XPath following: : — Возвращает необработанное множество, ниже текущего элемента. following-sibling: : — Возвращает множество элементов на том же уровне, следующих за текущим. namespace: : — Возвращает множество, имеющее пространство имён (то есть присутствует атрибут xmlns). parent: : — Возвращает предка на один уровень назад. preceding: : — Возвращает множество обработанных элементов исключая множество предков. preceding-sibling: : — Возвращает множество элементов на том же уровне, предшествующих текущему. self: : — Возвращает текущий элемент.
Функции с множествами * — обозначает любое имя или набор символов, @* — любой атрибут $name — обращение к переменной, где name — имя переменной или параметра. [] — дополнительные условия выборки {} — если применяется внутри тега другого языка (например HTML), то XSLT процессор рассматривает содержимое фигурных скобок как XPath. / — определяет уровень дерева
Функции с множествами node-set node() Возвращает все узлы. Для этой функции часто используют заменитель '*', но в отличие от звездочки — node() возвращает итекстовые узлы. string text() Возвращает набор текстовых узлов; node-set current() Возвращает множество из одного элемента, который является текущим. Если мы делаем обработку множества с условиями, то единственным способом дотянуться из этого условия до текущего элемента будет данная функция.
Системные функции node-set document(object, node-set? ) Возвращает документ, указанный в параметре object. string generate-id(node-set? ) Возвращает строку, являющуюся уникальным идентификатором. string unparsed-entity-uri(string) Возвращает непроанализированный URI, если такового нет, возвращает пустую строку.
Системные функции boolean element-available(string) Проверяет, доступен ли элемент или множество, указанное в параметре. Параметр рассматривается как XPath. object system-property(string) Параметры, возвращающие системные переменные, могут быть: * xsl: version — возвращает версию XSLT процессора. * xsl: vendor — возвращает производителя XSLT процессора. * xsl: vendor-url — возвращает URL, идентифицирующий производителя. Если используется неизвестный параметр, функция возвращает пустую строку.
Строковые функции string(object? ) Возвращает текстовое содержимое элемента. По сути возвращает объединенное множество текстовых элементов наодин уровень ниже. string concat(string, string*) Объединяет две или более строк number string-length(string? ) Возвращает длину строки. boolean contains(string, string) Возвращает истину, если первая строка содержит вторую, иначе возвращает ложь.
Числовые функции + — сложение − — вычитание * — умножение div — обычное деление (не деление нацело!) mod — остаток от деления number(object? ) Переводит объект в число. number sum(node-set) Вернёт сумму множества, каждый тег множества будет преобразован в строку и из него получено число. number floor(number) Возвращает наибольшее целое число, не большее, чем аргумент.
XML.pptx