Содержание
- 2. Введение XML: W3C-стандарт Две грани XML: ориентация на документ и ориентация на данные Причины появления HTML
- 3. Структурированность данных в реляционной модели Name: Id : Address(Number): Address (Street): John Doe s11111 123 Main
- 4. Полуструктурированные данные в HTML HTML описывает представление. Пример HTML-документа «список студентов» для вывода на экран в
- 5. Модель полуструктурированных данных Множество пар. {name: "Alan", tel: 2157786, email: “a@abc.com” } Значения сами могут быть
- 6. Модель полуструктурированных данных Дубликаты допускаются {name: "Alan", tel: 2157786, tel: 2498762"} Синтаксис просто генерирует описания множества
- 7. Модель полуструктурированных данных Простое представление реляционных данных {r1: {row: {a: a1, b: b1, c: c1}, {row:
- 8. XML – Стандарт для полуструктурированных данных XML: eXtensible Markup Language Удобен для полуструктурированных данных Используется для
- 9. Синтаксис XML. XML Элемент Элемент – часть текста, ограниченная согласованными тегами, определенными пользователем: Alan 42 agb@abc.com
- 10. Синтаксис XML Коллекции определяются через повторяющиеся структуры. Например, коллекция всех личностей, работающих на четвертом этаже: People
- 11. Синтаксис XML. XML Атрибуты Атрибут определяет некоторые свойства элемента Представляется как пара “название-значение” trompette six trous
- 12. Синтаксис XML. Атрибуты или Элементы ? Атрибут внутри тега может появляться только один раз, его значение
- 13. Синтаксис XML. XML Ссылки Использование id атрибута для определения ссылки Использование idref атрибута (в пустом элементе)
- 14. Синтаксис XML. Другие XML конструкции Комментарий: Процессные инструкции (Processing Instruction - PI): Такие инструкции могут обрабатываться
- 15. Правильно созданный (Well-Formed) XML-документ XML-документwell-formed если Теги синтаксически корректны Каждый тег имеет закрывающий тег Теги правильно
- 16. … … … … … … Элементы могут быть вложенными Корневой элемент включает все остальные теги
- 17. Терминология John is a nice fellow 21 Main St. … … … Открывающий тег Закрывающий тег:
- 18. XML модель данных Bart Simpson 02–4447777 051–011022 bart@tau.ac.il Document Object Model (DOM) – DOM Дерево Листья
- 19. Пример реляционной базы данных сотрудников
- 20. Пример XML базы данных сотрудников. Фрагмент
- 21. Document Type Definitions (DTD) – определение типа документа DTD: Document Type Definition – один из способов
- 22. Пример: Адресная книга Homer Simpson Dr. H. Simpson 1234 Springwater Road Springfield USA, 98765 (321) 786
- 23. Спецификация структуры name имя элемента greet? опционально (0 или 1) приветственных элементов name, greet? имя перед
- 24. Определение типа элемента Для каждого элемента типа E, описание формы: где content-model выражение: Content-model ::= EMPTY
- 25. XML-документ адресной книги с описанием DTD внутри самого файла (fax | tel)*, email*)> ]>
- 26. Спецификация атрибута DTD dimension CDATA #REQUIRED accuracy CDATA #IMPLIED > Атрибут dimension обязан присутстовать Атрибут accuracy
- 27. Формат определения атрибутов определение_атрибута> Значение представляется внутри кавычек Типы атрибутов: CDATA ID, IDREF, IDREFS ID, IDREF,
- 28. Включение DTD в документ A DTD может быть внутренним DTD – часть файла с документом внешним
- 29. Связь документа с DTD Внутренний DTD … ]> ... DTD из локальной файловой системы: DTD из
- 30. Правильный (Valid) XML-документ well-formed XML-документ является правильным (valid ) если он удовлетворяет своему DTD, т.е, Документ
- 31. XML Схема
- 32. XML Схема XML схема определяет: элементы из документа Атрибуты, появляющиеся в элементах Какие элементы являются вложенными
- 33. XML Схема – лучше DTD XML Схема Проще для изучения, чем DTD Расширяемая для будущих расширений
- 34. Пример: Заказ товаров Svendson Oslo St 400 Main Norway Wheel 1 10.90 Cam 1 9.90
- 35. XML Схема для заказа товаров
- 36. XML Схема – Заказ товаров (продолжение) maxOccurs="unbounded" type="cdItem"/> type="xsd:positiveInteger"/>
- 37. Новые простые типы данных Доступно множество встроенных типов xsd:string, xsd:integer, xsd:positiveInteger, xsd:decimal, xsd:boolean, xsd:date, xsd:NMTOKENS, etc.
- 38. Новые простые типы данных Перечислимый тип:
- 39. Новые простые типы данных XML Схема имеет 3 встроенных списочных типа: NMTOKENS, IDREFS, ENTITIES Создание нового
- 40. Новые простые типы данных Использование функций: length,minLength, maxLength, enumeration Например, для определения ровно 6-ти штатов (SixUSStates)
- 41. Лексические анализаторы – Parsers
- 42. Parsers (анализаторы) Что такое parser? Программа, которая анализирует грамматические структуры в соответствии с заданной формальной грамматикой
- 43. XML-стандарты анализаторов В основном рассматриваются два метода, реализованный организацией W3C для доступа к XML SAX (Simple
- 44. SAX-анализатор SAX = Simple API for XML XML читается последовательно Когда поисходит событие анализа, анализатор вызывает
- 45. Простой пример данных 1020 1000 1111 10-DEC 94 10506 1 10507 1 10508 2 10509 3
- 46. Простой пример данных 1020 1000 1111 10-DEC 94 10506 1 10507 1 10508 2 10509 3
- 47. Простой пример данных 1020 1000 1111 10-DEC-94 10506 1 10507 1 10508 2 10509 3 ...
- 48. Простой пример данных 1020 1000 1111 10-DEC-94 10506 1 10507 1 10508 2 10509 3 ...
- 49. SAX-анализатор SAX анализатор Когда вижу начало документа выполняю... Когда вижу начало элемента выполняю... Когда вижу конец
- 50. Используется для создания SAX-анализатора Элементы управления событиями документа: открывающий/закрывающий тег ... Элементы управления ошибок анализа Элементы
- 51. SAX API Два важных класса в SAX API: SAXParser и HandlerBase. Создание нового SAXParser-объекта: public SAXParser()
- 52. SAX API Класс HandlerBase определяет базовый класс для всех элементов управления. Он определяет поведение по-умолчанию для
- 53. Создание SAX-анализатора import org.xml.sax.*; import oracle.xml.parser.v2.SAXParser; public class SampleApp extends HandlerBase { // Global variables declared
- 54. SAX API – простой пример программного кода Создать SAX-анализатор, который читает файл orders.xml и извлекает различные
- 55. SAX API – простой пример программного кода public void startElement(String name, AttributeList atts) throws SAXException {
- 56. SAX API – простой пример программного кода public void endElement(String name) throws SAXException{ if (name.equalsIgnoreCase("item")) {
- 57. SAX API – простой пример программного кода public void endDocument(){ System.out.println("End of SQL insert statements."); }//end
- 58. DOM-анализатор DOM = Document Object Model ( Объектная Модель Документа) Анализатор создает дерево объектов документа Пользователь
- 59. Israel 6,199,008 Jerusalem Ashdod France 60,424,213
- 60. DOM-дерево
- 61. Использование DOM-дерева
- 62. Интерфейс доступа к узлам Узлы DOM-дерева включают Специальный корневой узел (root) Узлы элементы (element) Текстовые узлы
- 63. Навигация по узлам Каждый узел имеет специальное расположение (location) в узле Узловой (Node) интерфейс определяет методы
- 64. Навигация по узлам getFirstChild() getPreviousSibling() getChildNodes() getNextSibling() getLastChild() getParentNode()
- 65. GA Georgia Peach State 6478216 ... ATL Atlanta ... Пример DOM-анализатора Рассмотрим XML-данные описания географической информации
- 66. citiesin*, nickname, population)> DTD для географических XML-данных
- 67. create type city_type as object ( ccode varchar2(15), cname varchar2(50) ); create type cities_in_table as table
- 68. import org.w3c.dom.*; import org.w3c.dom.Node; import oracle.xml.parser.v2.*; public class CreateGeoData { static public void main(String[] argv) throws
- 69. NodeList sl = doc.getElementsByTagName("state"); NodeList cl = doc.getElementsByTagName("city"); XMLNode e = (XMLNode) sl.item(j); scode = e.valueOf("scode");
- 70. Манипулирование узлами Наследник узла в DOM-дереве может быть добавлен, изменен, удален, перемещен, скопирован и ... Для
- 71. Сравнение SAX и DOM анализаторов: Эффективность DOM-объект, создаваемые DOM-анализатором являются сложными и требуют больше памяти для
- 72. Трудности программирования в SAX-анализаторе Программирование в SAX-анализаторе сложно, например: Как найти элемент e1, у которого предком
- 73. Навигация по дереву SAX-анализаторы предоставялют доступ к элементам только через последовательное посещение узлов SAX-анализатор не читает
- 75. Скачать презентацию