Java Advanced Введение в XML. 2 СПбГУ ИТМО Georgiy KorneevJava Advanced / Введение в XML Содержание 1.XML 2.Пространства имен 3.SAX 4.DOM 5.Заключение.

Презентация:



Advertisements
Похожие презентации
Java Advanced Введение в XML. 2 СПбГУ ИТМО Georgiy KorneevJava Advanced / Введение в XML Содержание 1.XML 2.Пространства имен 3.SAX 4.DOM 5.Заключение.
Advertisements

Java Advanced Описание и проверка структуры XML. 2 СПбГУ ИТМО Georgiy KorneevJava Advanced / Описание и проверка структуры XML Содержание 1.DTD 2.XML.
Java Advanced XML Transformations 1.0 (XSLT 1.0).
Урок повторения по теме: «Сила». Задание 1 Задание 2.
Современные языки и технологии программирования Введение в XML.
Michael Jackson
SAX Simple API for XML Презентацию подготовила Иванова Анна, гр. 950б.
Школьная форма Презентация для родительского собрания.
XML и XSLT (2) Матросов Александр Васильевич Санкт-Петербургский государственный университет.
Ребусы Свириденковой Лизы Ученицы 6 класса «А». 10.
1. Определить последовательность проезда перекрестка
XML Extensible Markup Language вторник, 26 ноября 2013 г.вторник, 26 ноября 2013 г.вторник, 26 ноября 2013 г.вторник, 26 ноября 2013 г.вторник, 26 ноября.
Лекция 11 Листы стилей XML Язык XSL позволяет преобразовывать XML- документы в документы других типов, а также задает порядок их форматирования. Принципы.
Разработал: Учитель химии, биологии высшей квалификационной категории Баженов Алексей Анатольевич.
COLLADA COLLAborative Design Activity Клишин Алексей, 8409.
Типовые расчёты Растворы
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
Java Advanced XML Path Language 1.0 (XPath 1.0). 2 СПбГУ ИТМО Georgiy KorneevJava Advanced / XPath 1.0 Содержание 1.Введение 2.Пути 3.Выражения 4.Функции.
Программный доступ к XML DOM, SAX,.NET среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря.
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
Транксрипт:

Java Advanced Введение в XML

2 СПбГУ ИТМО Georgiy KorneevJava Advanced / Введение в XML Содержание 1.XML 2.Пространства имен 3.SAX 4.DOM 5.Заключение

XML Часть 1

4Georgiy KorneevJava Advanced / Введение в XML eXtensible Markup Language XML – текстовый язык хранения структурированных данных Предшественники XML Standard Generalized Markup Language (SGML) Hyper Text Markup Language (HTML)

5Georgiy KorneevJava Advanced / Введение в XML Составляющие XML-документа Элементы (element) – задают структуру элемента Атрибуты (attribute) – дополняют информацию об элементе Символьные данные (character data) – текст внутри элемента Указания по обработке (processing instruction) – применяются разборщиками и другими программами Комментарии (comment) – игнорируются

6Georgiy KorneevJava Advanced / Введение в XML Элемент Структура Имя Дети Атрибуты Синтаксис Дети Сокращенный

7Georgiy KorneevJava Advanced / Введение в XML Атрибут Структура Имя Значение Синтаксис имя = "значение" или имя = 'значение'

8Georgiy KorneevJava Advanced / Введение в XML Пример: элементы и атрибуты Описание книги

9Georgiy KorneevJava Advanced / Введение в XML XML-идентификаторы Первый символ Буква, _ или : Последующие символы Первый символ, цифра, - или. Примеры hello HelloWorld HelloWorld156Times hello-world hello.world

10Georgiy KorneevJava Advanced / Введение в XML Символьные данные Простые символы Пример: Привет! Именованные ссылки &название; Пример: Пусть a < b и b < c, тогда a < c Указание кода символа &#НомерСимвола; &#xШестнадцатеричныйНомерСимвола; Пример: A A

11Georgiy KorneevJava Advanced / Введение в XML Именованные ссылки Значения по умолчанию &&ampersand <greater than &qout;"quotes ''apostrophe

12Georgiy KorneevJava Advanced / Введение в XML Пробелы и переводы строк Пробельные символы #x20 Пробел #x9Табуляция #xAПеревод строки Переводы строки #xDвозврат каретки #x85перевод строки (IBM) #x2028перевод строки (Unicode) #xD #xAперевод строки (DOS) #xD #x85

13Georgiy KorneevJava Advanced / Введение в XML Блоки символьных данных Синтаксис Примеры ' "]]> ]]>

14Georgiy KorneevJava Advanced / Введение в XML Указания по обработке Структура Имя Значение Синтаксис

15Georgiy KorneevJava Advanced / Введение в XML Заголовок XML-файла Синтаксис Примеры Версия 1.1, кодировка 1251 (Windows Russian) Версия 1.0, кодировка 866 (DOS Russian) Версия 1.0, кодировка – автоопределение (UTF-8, UTF-16)

16Georgiy KorneevJava Advanced / Введение в XML Комментарии Синтаксис Примеры

17Georgiy KorneevJava Advanced / Введение в XML XML-документ Пролог Заголовок Тип документа Комментарии и указания Элемент Эпилог Комментарии и указания

Пространства имен Часть 2

19Georgiy KorneevJava Advanced / Введение в XML Пространства имен Позволяют одновременно использовать одинаковые имена, придуманные разными людьми Пространство имен идентифицируется URI

20Georgiy KorneevJava Advanced / Введение в XML Указание пространства имен Структура Полное имя (qualified name) Пространство имен (namespace) Локальное имя (local name) Префикс (prefix) Имя имеет вид префикс:локальноеИмя Пространства имен связываются с префиксами с помощью атрибутов вида xmlns:префикс = "пространство имен"

21Georgiy KorneevJava Advanced / Введение в XML Пример: пространства имен Описание книги …

22Georgiy KorneevJava Advanced / Введение в XML Область действия префикса От элемента для которого определено отображение префикса в низ по дереву, до элементов для которых указано новое отображение этих префиксов Действие префикса можно отменить, указав отображение на пустую строку

23Georgiy KorneevJava Advanced / Введение в XML Пространство имен по умолчанию Применяется для элементов для которых не указано пространство имен Объявление xmlns="пространство имен"

24Georgiy KorneevJava Advanced / Введение в XML Пример: пространства имен по умолчанию Описание книги

SAX Часть 3

26Georgiy KorneevJava Advanced / Введение в XML Simple API for XML Представляет XML-документ в виде последовательности событий Пакеты org.xml.sax – модель SAX java.xml.parsers – разборщики

27Georgiy KorneevJava Advanced / Введение в XML Разбор XML Интерфейс XMLReader Методы parse(InputSource) – разобрать XML-документ setContentHandler(ContentHandler) – устанавливает приемник событий setErrorHandler(ErrorHandler) – установить обработчик ошибок setFeature(name, value) – установить настройку setProperty(name, value) – установить свойство

28Georgiy KorneevJava Advanced / Введение в XML Источники данных Класс InputSource Конструкторы InputSource(InputStream) – из байтового потока InputSource(Reader) – из символьного потока InputSource(systemId) – по URL

29Georgiy KorneevJava Advanced / Введение в XML Обработчик событий (1) Интерфейс ContentHandler Класс DefaultHandler Методы setDocumentLocator(Locator locator) – установить источник местоположения startDocument() – начало документа endDocument() – конец документа startElement(ns, localName, qName, Attributes) – открывающий тег элемента endElement(ns, localName, qName) – закрывающий тег элемента

30Georgiy KorneevJava Advanced / Введение в XML Обработчик событий (2) Методы characters(char[] ch, offset, len) – последовательность символов ignorableWhitespace(char[] ch, offset, len) – последовательность пробельных символов processingInstruction(prefix, data) – рекомендация по обработке startPrefixMapping(prefix, uri) – начало области использование префикса endPrefixMapping(prefix, uri) – окончание области использование префикса

31Georgiy KorneevJava Advanced / Введение в XML Атрибуты Интерфейс Attributes Методы getLength() – количество атрибутов getLocalName(index) – локальное имя getQName(index) – полное имя getURI(index) – пространство имен getValue(index) – получить значение по индексу getValue(qName) – получить значение по полному имени getValue(ns, localName) – получить значение по пространству имен и локальному имени

32Georgiy KorneevJava Advanced / Введение в XML Информация о местоположении Интерфейс Locator Методы getLineNumber() – номер строки getColumnNumber() – номер столбца getSystemId() – URL разбираемого файла

33Georgiy KorneevJava Advanced / Введение в XML Обработка ошибок Интерфейс ErrorHandler Методы error(SAXParseException) – сообщение об исправимой ошибке fatalError(SAXParseException) – сообщение о неисправимой ошибке warning(SAXParseException) – сообщение о предупреждении

34Georgiy KorneevJava Advanced / Введение в XML Исключения Класс SAXException Методы getLineNumber() – номер строки getColumnNumber() – номер столбца getSystemId() – URL разбираемого файла

35Georgiy KorneevJava Advanced / Введение в XML Создание SAXParser Класс SAXParserFactory Методы static newInstance() – создать фабрику newSAXParser() – создать разборщик setFeature(uri, value) – установить настройку setNamespaceAware(value) – установить поддержку пространств имен Класс SAXParser implements XMLReader

DOM Часть 4

37Georgiy KorneevJava Advanced / Введение в XML Document Object Model Представляет XML-документ в виде дерева узлов Пакеты org.w3c.dom – модель DOM java.xml.parsers – разборщики

38Georgiy KorneevJava Advanced / Введение в XML Узел (1) Интерфейс Node Структура узла getLocalName() – локальное имя getNamespaceURI() – пространство имен getPrefix() – префикс getNodeName() – имя узла getNodeValue() – значение узла getNodeType() – тип узла

39Georgiy KorneevJava Advanced / Введение в XML Типы узлов ИнтерфейсОписаниеИмяЗначение AttrАтрибутИмяЗначение CDATASectionБлок символов#cdata-sectionСодержание CommentКомментарий#commentСодержание DocumentДокумент#document ElementЭлементИмя ProcessingInst ruction Рекомендация по обработке ИмяЗначение TextТекст#textСодержание

40Georgiy KorneevJava Advanced / Введение в XML Навигация по узлам Интерфейс Node Структура узла getNextSibling() – предыдущий брат getPreviousSibling() – следующий брат getFirstChild() – первый ребенок getLastChild() – последний ребенок getParentNode() – родитель

41Georgiy KorneevJava Advanced / Введение в XML Атрибуты Интерфейс NamedNodeMap Методы getLength() – количество элементов item(index) – элемент по индексу getNamedItem(name) – элемент по имени getNamesItemNS(namespace, localName) – элемент по имени и пространству имен Методы интерфейса Node getAttributes() – получить атрибуты hasAttributes() – проверить наличие атрибутов

42Georgiy KorneevJava Advanced / Введение в XML Вложенные узлы Интерфейс NodeList Методы getLength() – количество элементов item(index) – элемент по индексу Методы интерфейса Node getChildNodes() – получить детей hasChildNodes() – проверить наличие детей

43Georgiy KorneevJava Advanced / Введение в XML Элементы Интерфейс Element Методы Работа с атрибутами Работа с вложенными элементами

44Georgiy KorneevJava Advanced / Введение в XML Разбор XML в DOM Класс DocumentBuilder Методы parse(File | InputStream | InputSource | URI) – построить документ isNamespaceAware() – поддерживает ли пространства имен

45Georgiy KorneevJava Advanced / Введение в XML Создание DocumentBuilder Класс DocumentBuilderFactory Методы static newInstance() – создать фабрику newDocumentBuilder() – создать DocumentBuilder setFeature(uri, value) – установить настройку setNamespaceAware(value) – установить поддержку пространств имен setIgnoringComments(value) – установить игнорирование комментариев setIgnoringElementContentWhitespace(value) – пропуск текстовых узлов из одних пробелов

Заключение Часть 6

47Georgiy KorneevJava Advanced / Введение в XML Ссылки (1) Extensible Markup Language 1.1 // / / XML Information Set // / / Namespaces in XML 1.1 // names / names /

48Georgiy KorneevJava Advanced / Введение в XML Ссылки (2) Document Object Model Level 3 Core Specificaction // 3-Core Core SAX Project // Java API for XML Processing //

49 СПбГУ ИТМО Georgiy KorneevJava Advanced / Введение в XML Вопросы