Java Advanced Описание и проверка структуры XML. 2 СПбГУ ИТМО Georgiy KorneevJava Advanced / Описание и проверка структуры XML Содержание 1.DTD 2.XML.

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



Advertisements
Похожие презентации
Урок повторения по теме: «Сила». Задание 1 Задание 2.
Advertisements

XSD XML Schema Definition среда, 27 ноября 2013 г.среда, 27 ноября 2013 г.среда, 27 ноября 2013 г.среда, 27 ноября 2013 г.среда, 27 ноября 2013 г.
DTD Document Type Definition среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013.
Java Advanced XML Transformations 1.0 (XSLT 1.0).
1. Определить последовательность проезда перекрестка
Школьная форма Презентация для родительского собрания.
Ребусы Свириденковой Лизы Ученицы 6 класса «А». 10.
Типовые расчёты Растворы
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
Разработал: Учитель химии, биологии высшей квалификационной категории Баженов Алексей Анатольевич.
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
Современные языки и технологии программирования Использование XML.
Michael Jackson
1 Знаток математики Тренажер Таблица умножения 2 класс Школа 21 века ®м®м.
Ф. Т. Алескеров, Л. Г. Егорова НИУ ВШЭ VI Московская международная конференция по исследованию операций (ORM2010) Москва, октября 2010 Так ли уж.
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от
XML eXtensible Markup Language 1.Определение типа документов (DTD) 2.Язык навигации внутри XML-документа (XPath)

Лекция 2 Раздел 2.1 Windows Phone Темы раздела 3.
дней и ночей 27 миллионов жизней советских людей 3.
Транксрипт:

Java Advanced Описание и проверка структуры XML

2 СПбГУ ИТМО Georgiy KorneevJava Advanced / Описание и проверка структуры XML Содержание 1.DTD 2.XML Schema 3.Проверка структуры XML 4.Заключение

DTD Часть 1

4Georgiy KorneevJava Advanced / Описание и проверка структуры XML Document Type Definition DTD – язык описания структуры XML- документов Описание не является XML-документом DTD не предназначен для описания документов с пространствами имен

5Georgiy KorneevJava Advanced / Описание и проверка структуры XML Ссылки на файлы Синтаксис СсылкаНаФайл СсылкаНаСистемныйФайл | СсылкаНаОбщедоступныйФайл СсылкаНаСистемныйФайл SYSTEM "ИмяФайла" СсылкаНаОбщеизвесныйФайл PUBLIC "Идентификатор" "ИмяФайла" Примеры SYSTEM "books.xml" PUBLIC "-//Examples/BookExample" "books.xml"

6Georgiy KorneevJava Advanced / Описание и проверка структуры XML Указание DTD Синтаксис ВнутреннееОписание ::= [ ТелоDTD ] Примеры

7Georgiy KorneevJava Advanced / Описание и проверка структуры XML Описание элемента Описание структуры содержимого Описываются возможные вложенные элементы и текст Описание атрибутов Описываются имена, типы и значения атрибутов по умолчанию

8Georgiy KorneevJava Advanced / Описание и проверка структуры XML Описание структуры содержимого Синтаксис Содержимое EMPTY- без содержимого ANY- любое содержимое Дети- только вложенные элементы Смешанное- вложенные элементы и текст Примеры

9Georgiy KorneevJava Advanced / Описание и проверка структуры XML Описание детей Синтаксис (Выбор | Последовательность) Количество Дети (Имя | Выбор | Последовательность) Количество Выбор ( Дети | Дети | …| Дети ) Количество Последовательность ( Дети, Дети, …, Дети ) Количество Количество - Один ?- Ноль или один +- Один и более *- Любое

10Georgiy KorneevJava Advanced / Описание и проверка структуры XML Примеры описания детей Только книги Книги и журналы вперемешку Сначала книги, потом журналы Книги и журналы парами Блок кода

11Georgiy KorneevJava Advanced / Описание и проверка структуры XML Описание смешанного содержимого Синтаксис ( #PCDATA | Имя | Имя | … Имя ) * Примеры (#PCDATA | br | emboss | img)* (#PCDATA)* (#PCDATA)

12Georgiy KorneevJava Advanced / Описание и проверка структуры XML Описание атрибутов Синтаксис Описание атрибута Имя ТипАтрибута ЗначениеПоУмолчанию

13Georgiy KorneevJava Advanced / Описание и проверка структуры XML Типы атрибутов Строковые CDATA Проверяемые ID- Идентификатор IDREF- Ссылка на идентификатор IDREFS- Ссылки на идентификатор NMTOKEN- Имя NMTOKENS- Имена Перечислимые ( Имя | Имя | … | Имя )

14Georgiy KorneevJava Advanced / Описание и проверка структуры XML Значения по умолчанию Значение по умолчанию "значение" Значение по умолчанию #FIXED "значение" Без значения по умолчанию #IMPLIED Обязательно указывать #REQUIRED

15Georgiy KorneevJava Advanced / Описание и проверка структуры XML Пример описания атрибутов Рамка

16Georgiy KorneevJava Advanced / Описание и проверка структуры XML Сущности Общие сущности Сущности-параметры Примеры

17Georgiy KorneevJava Advanced / Описание и проверка структуры XML Применение общих сущностей Сокращения Copyright: &copyright; Разбиение XML на файлы &books; &magazines;

18Georgiy KorneevJava Advanced / Описание и проверка структуры XML Применение сущностей-параметров Структура программы Разбиение DTD на файлы %books;

19Georgiy KorneevJava Advanced / Описание и проверка структуры XML DTD и пространства имен В DTD можно указывать название элементов и атрибутов с двоеточиями Пространства имен задаются с помощью fixed-атрибутов

20Georgiy KorneevJava Advanced / Описание и проверка структуры XML Пример: DTD и пространства имен Библиотека

XML Schema Часть 2

22Georgiy KorneevJava Advanced / Описание и проверка структуры XML XML Schema XML Schema – язык описания структуры XML-документов Описание является XML-документом XML Schema предназначена для описания документов с пространствами имен XML Schema позволяет выразить все то же, что и DTD Пространство имен

23Georgiy KorneevJava Advanced / Описание и проверка структуры XML Типы Описывают множество значений Простые типы (simpleType) Строка символов Атрибуты, Элементы Сложные типы (complexType) Элементы и текст Элементы

24Georgiy KorneevJava Advanced / Описание и проверка структуры XML Простые типы Стандартные Ограниченные (restricted) Ограничение другого типа Списочные (list) Список элементов другого типа Объединение (union) Объединение простых типов

25Georgiy KorneevJava Advanced / Описание и проверка структуры XML Стандартные типы (1) Строковые string, normalizedString, token Неограниченные целые integer, positiveInteger, nonPositiveInteger, negativeInteger, nonNegativeInteger Ограниченные целые (unsigned)Byte, (unsigned)Short, (usigned)Int, (unsigned)Long Дробные decimal, float, double

26Georgiy KorneevJava Advanced / Описание и проверка структуры XML Стандартные типы (2) Дата и время dateTime, date, time, duration Имена name, QName, NCName Из DTD ID, IDREF, NMTOKEN Специальные boolean, anyURI, language

27Georgiy KorneevJava Advanced / Описание и проверка структуры XML Объявление ограниченного типа Синтаксис Ограничения

28Georgiy KorneevJava Advanced / Описание и проверка структуры XML Пример: объявление типа Серийный номер Телефон

29Georgiy KorneevJava Advanced / Описание и проверка структуры XML Объявление списочного типа Синтаксис Примеры

30Georgiy KorneevJava Advanced / Описание и проверка структуры XML Объявление типа-объединения Синтаксис Пример

31Georgiy KorneevJava Advanced / Описание и проверка структуры XML Объявление сложного типа Синтаксис ОписаниеСодержимого ОписаниеАтрибута*

32Georgiy KorneevJava Advanced / Описание и проверка структуры XML Описание атрибута Синтаксис ОбявлениеПростогоТипа Пример

33Georgiy KorneevJava Advanced / Описание и проверка структуры XML Описание содержимого Синтаксис Описание содержимого Содержимое Содержимое ОписаниеЭлемента ОписаниеГруппы

34Georgiy KorneevJava Advanced / Описание и проверка структуры XML Описание элемента Синтаксис ОбявлениеТипа Пример

35Georgiy KorneevJava Advanced / Описание и проверка структуры XML Описание групп Синтаксис ОписаниеСодержимого Пример

36Georgiy KorneevJava Advanced / Описание и проверка структуры XML Пример: описание сложного типа Адрес

37Georgiy KorneevJava Advanced / Описание и проверка структуры XML Описание структуры Синтаксис Описание Типов, Атрибутов, Элементов

38Georgiy KorneevJava Advanced / Описание и проверка структуры XML Пример: пространства имен

39Georgiy KorneevJava Advanced / Описание и проверка структуры XML Пример: пространства имен elementFormDefault="unqualified" St. Petersburg,... elementFormDefault="qualified"

40Georgiy KorneevJava Advanced / Описание и проверка структуры XML Разбиение на файлы Возможно включения одних схем в другие Синтаксис Пример

41Georgiy KorneevJava Advanced / Описание и проверка структуры XML Аннотации Определение типов, элементов, атрибутов могут содержать аннотации Синтаксис Описания текст

42Georgiy KorneevJava Advanced / Описание и проверка структуры XML Связывание документа со схемой Пример ...

Проверка структуры XML Часть 3

44Georgiy KorneevJava Advanced / Описание и проверка структуры XML Проверка по DTD Свойство DocumentBuilderFactory validating – производить ли проверку Метод DocumentBuilder isValidating() – производиться ли проверка Свойство SAXParserFactory validating – производить ли проверку Свойство SAXParser isValidating() – производиться ли проверка

45Georgiy KorneevJava Advanced / Описание и проверка структуры XML Проверка по XML Schema Пакет javax.xml.validation Класс Shema Установка схемы Свойство DocumentBuilderFactory.schema Свойство SAXParserFactory.schema

46Georgiy KorneevJava Advanced / Описание и проверка структуры XML Создание Shema Класс SchemaFactory Методы static newInstance(type) – создание фабрики newSchema(…) – создание экземпляра схемы setFeature(uri, value) – установить настройку Типы схем Класс XMLConstants W3C_XML_SCHEMA_NS_URI

47Georgiy KorneevJava Advanced / Описание и проверка структуры XML Пример: задание схемы SchemaFactory sfactory = SchemaFactory.newInstance( XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = sfactory.newSchema( new File("books.xsd")); SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setSchema(schema); factory.setNamespaceAware(true); factory.setValidating(true); SAXParser parser = factory.newSAXParser();

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

49Georgiy KorneevJava Advanced / Описание и проверка структуры XML Ссылки (1) Extensible Markup Language 1.1 // XML Schema Part 0: Primer // / / XML Schema Part 1: Structures // / / XML Schema Part 2: Datatypes // / /

50 СПбГУ ИТМО Georgiy KorneevJava Advanced / Описание и проверка структуры XML Вопросы