Similar presentations:
Технология XML
1. Технология XML
Обзорwww.epam.com
www.epam.com
EPAM
EPAM Systems
Systems
2. XML
• XML - EXtensible Markup Language• Базируется на языке Standard Generalized Markup
Language (SGML)
• Язык разметки похожий на HTML
• Служит для описания данных
• XML тэги не определены в XML, их надо
определять
• Для описания правил XML данных используются
DTD или XML Schema
www.epam.com
EPAM Systems
2
3. XML
• XML данные могут хранится в отдельном файле таки внутри HTML, который будет отвечать только за
формат отображения но не за данные
• XML можно использовать для обмена
информацией между двумя несовместимыми
системами
• XML используется для хранения данных в
файловой системе так же как и для сохранения и
выборки информации в базе данных
• Делает информацию доступной для пользователей
интернета (RSS, Web Services)
www.epam.com
EPAM Systems
3
4. Составные части XML документа
Пролог
Элементы
Инструкции по обработке
Комментарии
Атрибуты
Указатели
Текстовые блоки
Блоки CDATA
Пространства имен
www.epam.com
EPAM Systems
4
5. Пролог
• Пролог – это часть XML документа от начала дооткрывающего тега корневого элемента
• Пролог включает в себя информацию относящуюся ко
всему документу, например кодировку, структуру
документа
• Пролог может содержать комментарии
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl"
href="show_book.xsl"?>
<!DOCTYPE catalog SYSTEM "catalog.dtd">
<!--catalog last updated 2010-11-01-->
<person> … </person>
www.epam.com
Пролог
EPAM Systems
5
6. Объявление XML
• Объявление XML обычно является первой строкой в XMLдокументе
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
• Объявление XML может содержать следующую
информацию:
– Номер версии:
version="1.0"
– Указание на кодировку символов, в которой написан документ:
encoding="UTF-8"
– Параметр «standalone» которые указывает запрещены ли ссылки на
внешние документы:
standalone="yes"
www.epam.com
EPAM Systems
6
7. Инструкции по обработке
<?xml-stylesheet type="text/xsl"href="show_book.xsl"?>
<!-- legal but not effective-->
<?style – oh, try /style.css ?>
www.epam.com
EPAM Systems
7
8. Объявление DOCTYPE
<!DOCTYPE rootElement SYSTEM "URIreference"[declarations
]>
www.epam.com
EPAM Systems
8
9. Элементы
<book id="bk109"><author>Kress, Peter</author>
<title>Paradox Lost</title>
<genre>Science Fiction</genre>
<price>6.95</price>
</book>
www.epam.com
EPAM Systems
9
10. Теги
• Теги задают границы элемента• Открывающие теги обозначают начало элемента:
<elementName att1Name="att1Value"
att2Name="att2Value" ...>
• Закрывающие теги обозначают конец элемента. Они не
могут иметь атрибутов:
</elementName>
• Пустые теги используются для создания элементов не
имеющих тектового содержания. Могут включать атрибуты:
<elementName att1Name="att1Value"
att2Name="att2Value" ... />
• Считается что элемент включает в себя открывающий и
закрывающий теги а также все что находится между ними
www.epam.com
EPAM Systems
10
11. Комментарии
<!-Here some notes about document can beplaced
<!-- Invalid comment -->
-->
<person <!-- Invalid comment -->>
<!-Just another comment
-->
</person>
<!-Comment in the end of the document
-->
www.epam.com
EPAM Systems
11
12. Текстовые блоки
• Вместо символов <, >, & нужно использовать <> и &
<node_with_text>
This is text block
<nested_element/>
This is another text block. Symbols <, >
and & can’t be used directly.
</node_with_text>
www.epam.com
EPAM Systems
12
13. Указатели на символы и сущности
• Указатели используются когда невозможно илинежелательно включать символ или строку «напрямую»
• Указатель начинаются с символа амперсанд & и
заканчиваются точкой с запятой (;)
• Указатели на символы предоставляют возможность
включать в документ символы Unicode используя номер
• &#value;
– Синтаксис для десятеричных указателей
• &#xvalue;
– Синтаксис для шестнадцатеричных указателей.
www.epam.com
EPAM Systems
13
14. Указатели на символы
• Некоторые наиболее часто используемыеуказатели на символы.
Последовательность
<
>
&
'
"
www.epam.com
Символ
<
>
&
'
"
EPAM Systems
14
15. Блоки CDATA
• Блоки CDATA указывают парсеру что внутри них нетсимволов разметки.
<![CDATA[An in-depth look at creating
applications with XML, using <, >,]]>
• Блоки CDATA не могут содержаться внутри другого
CDATA
• Символы внутри CDATA должны быть из класса
разрешенных для XML документов
www.epam.com
EPAM Systems
15
16. Атрибуты
<color RGB="true">#ff08ff</color><color RGB="false">white</color>
<font color="white"
name="Arial">Black</font>
www.epam.com
EPAM Systems
16
17. Использование Namespaces (пространства имен)
• Пространство имен XML - это идентифицируемая спомощью ссылки URI [RFC2396] коллекция имен,
используемых в XML документах для обозначения типов
элементов и именования атрибутов.
• Пространство имен XML отличается от тех "пространств
имен", которые обычно используются в компьютерных
дисциплинах, тем, что в варианте для XML оно имеет
внутреннюю структуру, и, с математической точки зрения,
набором не является.
www.epam.com
EPAM Systems
17
18. Префиксы пространства имен
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log SYSTEM "log.dtd">
<log xmlns:xlg="www.host.com/xml/">
<xlg:event xlg:date="27/May/1999:02:32:46"
xlg:result="success">
<ip-from>195.151.62.18</ip-from>
<method>GET</method>
<url-to>/misc/</url-to>
<response>200</response>
</xlg:event>
<xlg:event xlg:date="27/May/1999:02:41:47"
xlg:result="success">
<ip-from>195.209.248.12</ip-from>
<method>GET</method>
<url-to>/soft.htm</url-to>
<response>200</response>
</xlg:event>
</log>
www.epam.com
EPAM Systems
18
19. Объявление пространства имен
<x xmlns:edi='http://ecommerce.org/schema'><!-- для элемента "x" и его содержимого
префикс "edi" связан
с http://ecommerce.org/schema
-->
</x>
www.epam.com
EPAM Systems
19
20. Область действия пространства имен
• Namespace относится к элементу где он был объявлен ивсем дочерним элементам
<?xml version="1.0"?>
<!-Все элементы здесь явно соотнесены с пространством имен HTML
-->
<html:html xmlns:html='http://www.w3.org/TR/REC-html40'>
<html:head>
<html:title>Frobnostication</html:title>
</html:head>
<html:body>
<html:p>
Moved to<html:a href='http://frob.com'>here.</html:a>
</html:p>
</html:body>
</html:html>
www.epam.com
EPAM Systems
20
21. Область действия пространства имен
• В одном элементе может быть декларировано сразунесколько префиксов пространства имен
<?xml version="1.0"?>
<!-Оба префикса пространства имен доступны отовсюду
-->
<bk:book xmlns:bk='urn:loc.gov:books'
xmlns:isbn='urn:ISBN:0-395-36341-6'>
<bk:title>Cheaper by the Dozen</bk:title>
<isbn:number>1568491379</isbn:number>
</bk:book>
www.epam.com
EPAM Systems
21
22. Well-formed XML
• XML документ может иметь только один корневой элемент<?xml version="1.0" encoding="UTF-8"?>
<person>
<givenName>Peter</givenName>
<familyName>Kress</familyName>
</person>
<!-- Below is invalid element -->
<person>
<givenName>John</givenName>
<familyName>Doe</familyName>
</person>
<person/>
www.epam.com
EPAM Systems
22
23. Well-formed XML
• Все элементы должны иметь закрывающиетеги
<?xml version="1.0" encoding="UTF-8"?>
<person>
<familyName>Kress</familyName>
<not_closed_element>
</person>
www.epam.com
EPAM Systems
23
24. Well-formed XML
• Названия элементов являются регистрозависимыми, поэтому и открывающий изакрывающий тег должны быть в одном
регистре.
<message>This is correct</message>
<Message>This is incorrect</message>
www.epam.com
EPAM Systems
24
25. Well-formed XML
• Элементы не могут пересекаться<!-- valid -->
<b>This is bold text.</b> <i><b>This is
bold italic text.</b> This is italic
text.</i>
<!-- invalid -->
<b>This is bold text. <i>This is bold
italic text.</b> This is italic
text.</i>
www.epam.com
EPAM Systems
25
26. Well-formed XML
• Все значения атрибутов должны быть заключены в кавычки<!-- valid -->
<person name="John" surname='Doe'/>
<!-- invalid -->
<person name=John/>
• <, >, & не могут использоваться в текстовых блоках
<!-- valid -->
<text>I & my dog</text>
<!-- invalid -->
<text>I & my dog</text>
www.epam.com
EPAM Systems
26
27. White Space
• В отличие от HTML, XML не отсекает пробелы ипустые строки
• Например в HTML:
<h4> Hello
my name is Tove</h4>
• Выведется:
Hello my name is Tove
www.epam.com
EPAM Systems
27
28. Преимущества XML формата
• Создание собственных именованных структур для храненияинформации
• Задача анализа (разбора)(parsing) XML хорошо формализована и
существует много реализаций
• XML использует Unicode, что упрощает интернационализацию
• Проверка структуры документа и типов данных – стандартная операция
• XML – это текстовый формат, удобно читать и отлаживать
• Инструменты для работы с XML доступны на всех платформах
• XML позволяет использовать инфраструктуру созданную для HTML,
включая HTTP и некоторые браузеры
www.epam.com
EPAM Systems
28
29. Недостатки XML формата
• XML документы обычно менее лаконичны чеманалогичные бинарные форматы
• Передача XML создает больший трафик либо
больше загружает процессор если используется
сжатие
• Разбор XML может быть медленнее и более
требовательным к памяти чем разбор
оптимизированных бинарных документов
www.epam.com
EPAM Systems
29
30.
Контактная информация:Денис Мурашев
Инструктор
EPAM Systems, Inc.
Адрес: Саратов, Рахова, 181
Email: [email protected]
http://www.epam.com
www.epam.com
EPAM Systems
30