Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемВиктория Недотыкина
1 Java Advanced Введение в XML
2 2 СПбГУ ИТМО Georgiy KorneevJava Advanced / Введение в XML Содержание 1.XML 2.Пространства имен 3.SAX 4.DOM 5.Заключение
3 XML Часть 1
4 4Georgiy KorneevJava Advanced / Введение в XML eXtensible Markup Language XML – текстовый язык хранения структурированных данных Предшественники XML Standard Generalized Markup Language (SGML) Hyper Text Markup Language (HTML)
5 5Georgiy KorneevJava Advanced / Введение в XML Составляющие XML-документа Элементы (element) – задают структуру элемента Атрибуты (attribute) – дополняют информацию об элементе Символьные данные (character data) – текст внутри элемента Указания по обработке (processing instruction) – применяются разборщиками и другими программами Комментарии (comment) – игнорируются
6 6Georgiy KorneevJava Advanced / Введение в XML Элемент Структура Имя Дети Атрибуты Синтаксис Дети Сокращенный
7 7Georgiy KorneevJava Advanced / Введение в XML Атрибут Структура Имя Значение Синтаксис имя = "значение" или имя = 'значение'
8 8Georgiy KorneevJava Advanced / Введение в XML Пример: элементы и атрибуты Описание книги
9 9Georgiy KorneevJava Advanced / Введение в XML XML-идентификаторы Первый символ Буква, _ или : Последующие символы Первый символ, цифра, - или. Примеры hello HelloWorld HelloWorld156Times hello-world hello.world
10 10Georgiy KorneevJava Advanced / Введение в XML Символьные данные Простые символы Пример: Привет! Именованные ссылки &название; Пример: Пусть a < b и b < c, тогда a < c Указание кода символа НомерСимвола; ШестнадцатеричныйНомерСимвола; Пример: A A
11 11Georgiy KorneevJava Advanced / Введение в XML Именованные ссылки Значения по умолчанию &&ersand <greater than &qout;"quotes ''apostrophe
12 12Georgiy KorneevJava Advanced / Введение в XML Пробелы и переводы строк Пробельные символы #x20 Пробел #x9Табуляция #xAПеревод строки Переводы строки #xDвозврат каретки #x85перевод строки (IBM) #x2028перевод строки (Unicode) #xD #xAперевод строки (DOS) #xD #x85
13 13Georgiy KorneevJava Advanced / Введение в XML Блоки символьных данных Синтаксис Примеры ' "]]> ]]> ]]>">
14 14Georgiy KorneevJava Advanced / Введение в XML Указания по обработке Структура Имя Значение Синтаксис
15 15Georgiy KorneevJava Advanced / Введение в XML Заголовок XML-файла Синтаксис Примеры Версия 1.1, кодировка 1251 (Windows Russian) Версия 1.0, кодировка 866 (DOS Russian) Версия 1.0, кодировка – автоопределение (UTF-8, UTF-16)
16 16Georgiy KorneevJava Advanced / Введение в XML Комментарии Синтаксис Примеры
17 17Georgiy KorneevJava Advanced / Введение в XML XML-документ Пролог Заголовок Тип документа Комментарии и указания Элемент Эпилог Комментарии и указания
18 Пространства имен Часть 2
19 19Georgiy KorneevJava Advanced / Введение в XML Пространства имен Позволяют одновременно использовать одинаковые имена, придуманные разными людьми Пространство имен идентифицируется URI
20 20Georgiy KorneevJava Advanced / Введение в XML Указание пространства имен Структура Полное имя (qualified name) Пространство имен (namespace) Локальное имя (local name) Префикс (prefix) Имя имеет вид префикс:локальноеИмя Пространства имен связываются с префиксами с помощью атрибутов вида xmlns:префикс = "пространство имен"
21 21Georgiy KorneevJava Advanced / Введение в XML Пример: пространства имен Описание книги …
22 22Georgiy KorneevJava Advanced / Введение в XML Область действия префикса От элемента для которого определено отображение префикса в низ по дереву, до элементов для которых указано новое отображение этих префиксов Действие префикса можно отменить, указав отображение на пустую строку
23 23Georgiy KorneevJava Advanced / Введение в XML Пространство имен по умолчанию Применяется для элементов для которых не указано пространство имен Объявление xmlns="пространство имен"
24 24Georgiy KorneevJava Advanced / Введение в XML Пример: пространства имен по умолчанию Описание книги
25 SAX Часть 3
26 26Georgiy KorneevJava Advanced / Введение в XML Simple API for XML Представляет XML-документ в виде последовательности событий Пакеты org.xml.sax – модель SAX java.xml.parsers – разборщики
27 27Georgiy KorneevJava Advanced / Введение в XML Разбор XML Интерфейс XMLReader Методы parse(InputSource) – разобрать XML-документ setContentHandler(ContentHandler) – устанавливает приемник событий setErrorHandler(ErrorHandler) – установить обработчик ошибок setFeature(name, value) – установить настройку setProperty(name, value) – установить свойство
28 28Georgiy KorneevJava Advanced / Введение в XML Источники данных Класс InputSource Конструкторы InputSource(InputStream) – из байтового потока InputSource(Reader) – из символьного потока InputSource(systemId) – по URL
29 29Georgiy KorneevJava Advanced / Введение в XML Обработчик событий (1) Интерфейс ContentHandler Класс DefaultHandler Методы setDocumentLocator(Locator locator) – установить источник местоположения startDocument() – начало документа endDocument() – конец документа startElement(ns, localName, qName, Attributes) – открывающий тег элемента endElement(ns, localName, qName) – закрывающий тег элемента
30 30Georgiy KorneevJava Advanced / Введение в XML Обработчик событий (2) Методы characters(char[] ch, offset, len) – последовательность символов ignorableWhitespace(char[] ch, offset, len) – последовательность пробельных символов processingInstruction(prefix, data) – рекомендация по обработке startPrefixMapping(prefix, uri) – начало области использование префикса endPrefixMapping(prefix, uri) – окончание области использование префикса
31 31Georgiy KorneevJava Advanced / Введение в XML Атрибуты Интерфейс Attributes Методы getLength() – количество атрибутов getLocalName(index) – локальное имя getQName(index) – полное имя getURI(index) – пространство имен getValue(index) – получить значение по индексу getValue(qName) – получить значение по полному имени getValue(ns, localName) – получить значение по пространству имен и локальному имени
32 32Georgiy KorneevJava Advanced / Введение в XML Информация о местоположении Интерфейс Locator Методы getLineNumber() – номер строки getColumnNumber() – номер столбца getSystemId() – URL разбираемого файла
33 33Georgiy KorneevJava Advanced / Введение в XML Обработка ошибок Интерфейс ErrorHandler Методы error(SAXParseException) – сообщение об исправимой ошибке fatalError(SAXParseException) – сообщение о неисправимой ошибке warning(SAXParseException) – сообщение о предупреждении
34 34Georgiy KorneevJava Advanced / Введение в XML Исключения Класс SAXException Методы getLineNumber() – номер строки getColumnNumber() – номер столбца getSystemId() – URL разбираемого файла
35 35Georgiy KorneevJava Advanced / Введение в XML Создание SAXParser Класс SAXParserFactory Методы static newInstance() – создать фабрику newSAXParser() – создать разборщик setFeature(uri, value) – установить настройку setNamespaceAware(value) – установить поддержку пространств имен Класс SAXParser implements XMLReader
36 DOM Часть 4
37 37Georgiy KorneevJava Advanced / Введение в XML Document Object Model Представляет XML-документ в виде дерева узлов Пакеты org.w3c.dom – модель DOM java.xml.parsers – разборщики
38 38Georgiy KorneevJava Advanced / Введение в XML Узел (1) Интерфейс Node Структура узла getLocalName() – локальное имя getNamespaceURI() – пространство имен getPrefix() – префикс getNodeName() – имя узла getNodeValue() – значение узла getNodeType() – тип узла
39 39Georgiy KorneevJava Advanced / Введение в XML Типы узлов ИнтерфейсОписаниеИмяЗначение AttrАтрибутИмяЗначение CDATASectionБлок символов#cdata-sectionСодержание CommentКомментарий#commentСодержание DocumentДокумент#document ElementЭлементИмя ProcessingInst ruction Рекомендация по обработке ИмяЗначение TextТекст#textСодержание
40 40Georgiy KorneevJava Advanced / Введение в XML Навигация по узлам Интерфейс Node Структура узла getNextSibling() – предыдущий брат getPreviousSibling() – следующий брат getFirstChild() – первый ребенок getLastChild() – последний ребенок getParentNode() – родитель
41 41Georgiy KorneevJava Advanced / Введение в XML Атрибуты Интерфейс NamedNodeMap Методы getLength() – количество элементов item(index) – элемент по индексу getNamedItem(name) – элемент по имени getNamesItemNS(namespace, localName) – элемент по имени и пространству имен Методы интерфейса Node getAttributes() – получить атрибуты hasAttributes() – проверить наличие атрибутов
42 42Georgiy KorneevJava Advanced / Введение в XML Вложенные узлы Интерфейс NodeList Методы getLength() – количество элементов item(index) – элемент по индексу Методы интерфейса Node getChildNodes() – получить детей hasChildNodes() – проверить наличие детей
43 43Georgiy KorneevJava Advanced / Введение в XML Элементы Интерфейс Element Методы Работа с атрибутами Работа с вложенными элементами
44 44Georgiy KorneevJava Advanced / Введение в XML Разбор XML в DOM Класс DocumentBuilder Методы parse(File | InputStream | InputSource | URI) – построить документ isNamespaceAware() – поддерживает ли пространства имен
45 45Georgiy KorneevJava Advanced / Введение в XML Создание DocumentBuilder Класс DocumentBuilderFactory Методы static newInstance() – создать фабрику newDocumentBuilder() – создать DocumentBuilder setFeature(uri, value) – установить настройку setNamespaceAware(value) – установить поддержку пространств имен setIgnoringComments(value) – установить игнорирование комментариев setIgnoringElementContentWhitespace(value) – пропуск текстовых узлов из одних пробелов
46 Заключение Часть 6
47 47Georgiy KorneevJava Advanced / Введение в XML Ссылки (1) Extensible Markup Language 1.1 // / / XML Information Set // / / Namespaces in XML 1.1 // names / names /
48 48Georgiy KorneevJava Advanced / Введение в XML Ссылки (2) Document Object Model Level 3 Core Specificaction // 3-Core Core SAX Project // Java API for XML Processing //
49 49 СПбГУ ИТМО Georgiy KorneevJava Advanced / Введение в XML Вопросы
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.