Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

рабочая тетрадь(3)

.pdf
Скачиваний:
42
Добавлен:
10.02.2016
Размер:
5 Мб
Скачать
☆

Корректные XML-документы (well-formed)

Документы, полностью соответствующие правилам оформления XML.

Корректность проверяется XML-парсер.

Валидные XML-документы (valid)

Корректные XML-документы, которые соответствуют заранее определенному набору правил.

Валидность проверяется валидатором.

Описание структуры документа

DTD – Document Type Definition (определение типа документа)

XML Схемы

<!ELEMENT catalog (book+)>

<!ELEMENT book (author+, title, price, exists?)>

<!ELEMENT author (#PCDATA)> <!ELEMENT title (#PCDATA)> <!ELEMENT price (#PCDATA)> <!ELEMENT exists (#PCDATA)>

<!ATTLIST price currency CDATA #IMPLIED>

<?xml version="1.0"?>

<!DOCTYPE catalog SYSTEM "catalog.dtd">

<xs:schema xmlns:xs= "http://www.w3.org/2001/XMLSchema">

<xs:element name="страна" type="Страна"/> <xs:complexType name="Страна">

<xs:sequence>

<xs:element name="название" type="xs:string"/> <xs:element name="население" type="xs:decimal"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

<страна xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="country.xsd"> <название>Франция</название> <население>59.7</население>

</страна>

SAX (Simple API for XML)

получение информации из XML-документа

DOM (Document Object Model)

чтение, модификация и создание новых XMLдокументов

SimpleXML

чтение и модификация XML-документов

XMLReader и XMLWriter

чтение и модификация XML-документов

XSL/T (Extensible Stylesheet Language Transformations)

преобразование XML-документов в другие форматы

Официальный сайт: http://www.saxproject.org/

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

Создавать и изменять XML-документы с помощью SAX невозможно

Основан на событиях

XML-парсеру предоставляется набор собственных функций для обработки различных типов XML-данных

Парсер автоматически вызывает эти функции в процессе последовательной обработки XML-документа

Начало XML-элемента

<catalog>

Начало XML-элемента

 

<book>

Начало XML-элемента

<author>L.Argerich</author>

</book>

</catalog>

Конец XML-элемента

Текстовый узел Конец XML-элемента

Конец XML-элемента

Создание парсера

$sax = xml_parser_create("utf-8");

Декларация функций обработки

function onStart ($parser, $tag, $attrs) {}

function onEnd ($parser, $tag) {}

function onText ($parser, $text) {}

Регистрация функций

xml_set_element_handler($sax, "onStart", "onEnd");

xml_set_character_data_handler($sax, "onText");

Запуск парсера

xml_parse($sax, "XML СТРОКА!");

Обработка ошибок

xml_error_string(xml_get_error_code($sax));

DOM

Document Object Model

Интерфейс, позволяющий программам управлять содержимым документов XML, а также изменять их структуру

Представляет XML-документ в виде дерева узлов

Существует спецификация DOM (W3C)

$dom = new DOMDocument();

$dom = new DOMDocument('1.0', 'utf-8');

<catalog>

<book> <author>Хьюз</author> <title>PHP</title>

</book>

<book> <author>Григин</author> <title>Справочник</title>

</book>

</catalog>

Catalog

Book Book

Author Title Author Title

Text Text Text Text

 

 

 

 

 

 

 

 

 

 

 

 

 

Код

Тип узла

Описание

Пример

 

 

типа

 

 

 

 

 

 

 

 

 

 

 

1

ELEMENT

Элемент

<book>…</book>

 

 

 

 

 

 

 

 

2

ATTRIBUTE

Атрибут элемента

lang="ru"

 

 

 

 

 

 

 

 

3

TEXT

Текстовый узел

Это текст

 

 

 

 

 

 

 

 

8

COMMENT

Комментарий

<!–

 

 

 

 

 

Комментарий

 

 

 

 

 

-->

 

 

 

 

 

 

 

10

DocumentType Декларация типа

 

документа

<!DOCTYPE html PUBLIC “- //W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loos e.dtd”>