Языки программирования
<<  Java Advanced Java Advanced  >>
Java Advanced
Java Advanced
Содержание
Содержание
DTD
DTD
Document Type Definition
Document Type Definition
Ссылки на файлы
Ссылки на файлы
Указание DTD
Указание DTD
Описание элемента
Описание элемента
Описание структуры содержимого
Описание структуры содержимого
Описание детей
Описание детей
Примеры описания детей
Примеры описания детей
Описание смешанного содержимого
Описание смешанного содержимого
Описание атрибутов
Описание атрибутов
Типы атрибутов
Типы атрибутов
Значения по умолчанию
Значения по умолчанию
Пример описания атрибутов
Пример описания атрибутов
Сущности
Сущности
Применение общих сущностей
Применение общих сущностей
Применение сущностей-параметров
Применение сущностей-параметров
DTD и пространства имен
DTD и пространства имен
Пример: DTD и пространства имен
Пример: DTD и пространства имен
XML Schema
XML Schema
XML Schema
XML Schema
Типы
Типы
Простые типы
Простые типы
Стандартные типы (1)
Стандартные типы (1)
Стандартные типы (2)
Стандартные типы (2)
Объявление ограниченного типа
Объявление ограниченного типа
Пример: объявление типа
Пример: объявление типа
Объявление списочного типа
Объявление списочного типа
Объявление типа-объединения
Объявление типа-объединения
Объявление сложного типа
Объявление сложного типа
Описание атрибута
Описание атрибута
Описание содержимого
Описание содержимого
Описание элемента
Описание элемента
Описание групп
Описание групп
Пример: описание сложного типа
Пример: описание сложного типа
Описание структуры
Описание структуры
Пример: пространства имен
Пример: пространства имен
Пример: пространства имен
Пример: пространства имен
Разбиение на файлы
Разбиение на файлы
Аннотации
Аннотации
Связывание документа со схемой
Связывание документа со схемой
Проверка структуры XML
Проверка структуры XML
Проверка по DTD
Проверка по DTD
Проверка по XML Schema
Проверка по XML Schema
Создание Shema
Создание Shema
Пример: задание схемы
Пример: задание схемы
Заключение
Заключение
Ссылки (1)
Ссылки (1)
Вопросы
Вопросы

Презентация: «Java Advanced». Автор: Geo. Файл: «Java Advanced.ppt». Размер zip-архива: 100 КБ.

Java Advanced

содержание презентации «Java Advanced.ppt»
СлайдТекст
1 Java Advanced

Java Advanced

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

2 Содержание

Содержание

DTD XML Schema Проверка структуры XML Заключение

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

3 DTD

DTD

Часть 1

4 Document Type Definition

Document Type Definition

DTD – язык описания структуры XML-документов Описание не является XML-документом DTD не предназначен для описания документов с пространствами имен

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

5 Ссылки на файлы

Ссылки на файлы

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

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

6 Указание DTD

Указание DTD

Синтаксис <!DOCTYPE ИмяКорневогоЭлемента СсылкаНаФайл? ВнутреннееОписание?> ВнутреннееОписание ::= [ ТелоDTD ] Примеры <!DOCTYPE books SYSTEM "books.dtd"> <!DOCTYPE books PUBLIC "-//Examples/BookDTD" "books.dtd"> <!DOCTYPE books [ … ]> <!DOCTYPE books SYSTEM "books.dtd" [ … ]>

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

7 Описание элемента

Описание элемента

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

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

8 Описание структуры содержимого

Описание структуры содержимого

Синтаксис <!ELEMENT ИмяЭлемента Содержимое> Содержимое EMPTY - без содержимого ANY - любое содержимое Дети - только вложенные элементы Смешанное - вложенные элементы и текст Примеры <!ELEMENT author EMPTY> <!ELEMENT text ANY>

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

9 Описание детей

Описание детей

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

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

10 Примеры описания детей

Примеры описания детей

Только книги <! ELEMENT library (book)*> Книги и журналы вперемешку <! ELEMENT library (book | magazine)*> Сначала книги, потом журналы <! ELEMENT library (book*, magazine*)> Книги и журналы парами <! ELEMENT library (book, magazine)*> Блок кода <! ELEMENT body (begin?, (if | while | for)*, end?)>

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

11 Описание смешанного содержимого

Описание смешанного содержимого

Синтаксис ( #PCDATA | Имя | Имя | … Имя ) * Примеры (#PCDATA | br | emboss | img)* (#PCDATA)* (#PCDATA)

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

12 Описание атрибутов

Описание атрибутов

Синтаксис <!ATTLIST Имя ОписаниеАтрибута*> Описание атрибута Имя ТипАтрибута ЗначениеПоУмолчанию

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

13 Типы атрибутов

Типы атрибутов

Строковые CDATA Проверяемые ID - Идентификатор IDREF - Ссылка на идентификатор IDREFS - Ссылки на идентификатор NMTOKEN - Имя NMTOKENS - Имена Перечислимые ( Имя | Имя | … | Имя )

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

14 Значения по умолчанию

Значения по умолчанию

Значение по умолчанию "значение" Значение по умолчанию #FIXED "значение" Без значения по умолчанию #IMPLIED Обязательно указывать #REQUIRED

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

15 Пример описания атрибутов

Пример описания атрибутов

Рамка <!ATTLIST border ID ID #REQUIRED type (single|double) "single" color CDATA #REQUIRED width CDATA #IMPLIED direction (ltor) #FIXED "ltor" >

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

16 Сущности

Сущности

Общие сущности <!ENTITY Имя "значение"> <!ENTITY Имя СсылкаНаФайл> Сущности-параметры <!ENTITY % Имя "значение"> <!ENTITY % Имя СсылкаНаФайл> Примеры <!ENTITY file SYSTEM "books.xml"> <!ENTITY % statements "(if|while|for)">

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

17 Применение общих сущностей

Применение общих сущностей

Сокращения <!ENTITY copyright “© Georgiy Korneev 2005"> <p>Copyright: &copyright;</p> Разбиение XML на файлы <!ENTITY books SYSTEM "books.xml"> <!ENTITY magazines SYSTEM "magazines.xml"> <library> &books; &magazines; </library>

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

18 Применение сущностей-параметров

Применение сущностей-параметров

Структура программы <!ENTITY % statements "if | while | for"> <!ELEMENT while (%statements;)*> <!ELEMENT for (%statements;)*> <!ELEMENT if (then, else?)*> <!ELEMENT then (%statements;)*> <!ELEMENT else (%statements;)*> Разбиение DTD на файлы <!ENTITY % books SYSTEM "books.dtd"> %books;

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

19 DTD и пространства имен

DTD и пространства имен

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

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

20 Пример: DTD и пространства имен

Пример: DTD и пространства имен

Библиотека <!ELEMENT lib:book (lib:author)*> <!ATTLIST lib:book xmlns:lib CDATA #FIXED "http://www.example.com/library“ caption CDATA #REQUIRED isbn CDATA #IMPLIED >

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

21 XML Schema

XML Schema

Часть 2

22 XML Schema

XML Schema

XML Schema – язык описания структуры XML-документов Описание является XML-документом XML Schema предназначена для описания документов с пространствами имен XML Schema позволяет выразить все то же, что и DTD Пространство имен http://www.w3.org/2001/XMLSchema

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

23 Типы

Типы

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

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

24 Простые типы

Простые типы

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

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

25 Стандартные типы (1)

Стандартные типы (1)

Строковые string, normalizedString, token Неограниченные целые integer, positiveInteger, nonPositiveInteger, negativeInteger, nonNegativeInteger Ограниченные целые (unsigned)Byte, (unsigned)Short, (usigned)Int, (unsigned)Long Дробные decimal, float, double

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

26 Стандартные типы (2)

Стандартные типы (2)

Дата и время dateTime, date, time, duration Имена name, QName, NCName Из DTD ID, IDREF, NMTOKEN Специальные boolean, anyURI, language

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

27 Объявление ограниченного типа

Объявление ограниченного типа

Синтаксис <xsd:simpleType name="Имя"> <xsd:restriction base="БазовыйТип"> Ограничения </xsd:restriction> </xsd:simpleType>

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

28 Пример: объявление типа

Пример: объявление типа

Серийный номер <xsd:simpleType name="serial"> <xsd:restriction base="xsd:integer"> <xsd:minInclusive value="10000"/> <xsd:maxInclusive value="99999"/> </xsd:restriction> </xsd:simpleType> Телефон <xsd:simpleType name="phone"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{3}-\d{2}-\d{2}"/> </xsd:restriction> </xsd:simpleType>

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

29 Объявление списочного типа

Объявление списочного типа

Синтаксис <xsd:simpleType name="Имя"> <xsd:list itemType="БазовыйТип"> </xsd:simpleType> Примеры <xsd:simpleType name="serialList"> <xsd:list itemType="serial"/> </xsd:simpleType> <xsd:simpleType name="phoneList"> <xsd:list itemType="phone"/> </xsd:simpleType>

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

30 Объявление типа-объединения

Объявление типа-объединения

Синтаксис <xsd:simpleType name="ИмяТипа"> <xsd:union memberTypes="список типов"/> </xsd:simpleType> Пример <xsd:simpleType name="phoneSerial"> <xsd:union memberTypes="serial phone"/> </xsd:simpleType>

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

31 Объявление сложного типа

Объявление сложного типа

Синтаксис <xsd:complexType name = "ИмяТипа " mixed = "boolean" > ОписаниеСодержимого ОписаниеАтрибута* </xsd:complexType>

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

32 Описание атрибута

Описание атрибута

Синтаксис <xsd:attribute default = "ЗначениеПоУмолчанию" fixed = "ЗначениеПоУмолчанию" name = "Имя" ref = "ИмяАтрибута" type = "ИмяТипа" use = "optional | prohibited | required" >ОбявлениеПростогоТипа</xsd:attribute> Пример <xsd:attribute name="serial" type="serial" use="required"/>

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

33 Описание содержимого

Описание содержимого

Синтаксис Описание содержимого <xsd:choice>Содержимое</xsd:choice> <xsd:sequence>Содержимое</xsd:sequence> <xsd:any/> Содержимое ОписаниеЭлемента ОписаниеГруппы

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

34 Описание элемента

Описание элемента

Синтаксис <element name = "Имя" ref = "ИмяЭлемента" type = "ИмяТипа" minOccurs = "число" maxOccurs = "число | unbounded" />ОбявлениеТипа</element> Пример <xsd:element name="address" type="address" maxOccurs="unbounded"/>

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

35 Описание групп

Описание групп

Синтаксис <group name = "Имя" ref = "ИмяГруппы" maxOccurs = "число | unbounded" minOccurs = "число" >ОписаниеСодержимого</group> Пример <xsd:group name="contact"><xsd:choice> <xsd:element name="phone" type="phone"/> <xsd:element name="address" type="address"/> </xsd:choice></xsd:group>

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

36 Пример: описание сложного типа

Пример: описание сложного типа

Адрес <xsd:complexType name="address"> <xsd:sequence> <xsd:element name="city" type="xsd:string"/> <xsd:element name="street" type="xsd:string"/> <xsd:element name="building" type="xsd:string"/> <xsd:element name="office" type="xsd:integer"/> </xsd:sequence> </xsd:complexType>

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

37 Описание структуры

Описание структуры

Синтаксис <xsd:schema targetNamespace = "NS" elementFormDefault = "(un)qualified" attributeFormDefault = "(un)qualified" > Описание Типов, Атрибутов, Элементов </ xsd: sсhema>

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

38 Пример: пространства имен

Пример: пространства имен

<xsd:schema targetNamespace="ns" elementFormDefault="unqualified" attributeFormDefault="unqualified“ > <xsd:element name="contact" type="ns:contact"/> <xsd:complexType name="contact"><xsd:choice> <xsd:element name="address" type="ns:address"/> <xsd:element name="phone" type="ns:phone"/> </xsd:choice></xsd:complexType> <xsd:simpleType name="phone"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{3}-\d{2}-\d{2}"/> </xsd:restriction> </xsd:simpleType> … </xsd:schema>

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

39 Пример: пространства имен

Пример: пространства имен

elementFormDefault="unqualified" <contact> <address>St. Petersburg, ...</address> </contact> elementFormDefault="qualified" <ns:contact xmlns:ns="ns" > <ns:phone>123-45-67</ns:phone> </ns:contact>

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

40 Разбиение на файлы

Разбиение на файлы

Возможно включения одних схем в другие Синтаксис <xsd:include namespace = "URI" schemaLocation = "URL" /> Пример <xsd:shema targetNamespace="namespace"> <xsd:include namespace ="contact" chemaLocation ="file:/contact.xsd" /> </xsd:shema>

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

41 Аннотации

Аннотации

Определение типов, элементов, атрибутов могут содержать аннотации Синтаксис <annotation>Описания</annotation> Описания <document>текст</document> <appinfo>текст</appinfo>

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

42 Связывание документа со схемой

Связывание документа со схемой

Пример <contact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="contact.xsd" > ... </contact>

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

43 Проверка структуры XML

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

Часть 3

44 Проверка по DTD

Проверка по DTD

Свойство DocumentBuilderFactory validating – производить ли проверку Метод DocumentBuilder isValidating() – производиться ли проверка Свойство SAXParserFactory validating – производить ли проверку Свойство SAXParser isValidating() – производиться ли проверка

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

45 Проверка по XML Schema

Проверка по XML Schema

Пакет javax.xml.validation Класс Shema Установка схемы Свойство DocumentBuilderFactory.schema Свойство SAXParserFactory.schema

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

46 Создание Shema

Создание Shema

Класс SchemaFactory Методы static newInstance(type) – создание фабрики newSchema(…) – создание экземпляра схемы setFeature(uri, value) – установить настройку Типы схем Класс XMLConstants W3C_XML_SCHEMA_NS_URI http://www.w3.org/2001/XMLSchema

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

47 Пример: задание схемы

Пример: задание схемы

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();

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

48 Заключение

Заключение

Часть 6

49 Ссылки (1)

Ссылки (1)

Extensible Markup Language 1.1 // http://www.w3.org/TR/2004/REC-xml11-20040204/ XML Schema Part 0: Primer // http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/ XML Schema Part 1: Structures // http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/ XML Schema Part 2: Datatypes // http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/

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

50 Вопросы

Вопросы

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

«Java Advanced»
http://900igr.net/prezentacija/informatika/java-advanced-98361.html
cсылка на страницу
Урок

Информатика

130 тем
Слайды