Основы XML Презентация 6 – XML Schemas T-Systems CIS, 2011.

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



Advertisements
Похожие презентации
XSD XML Schema Definition среда, 27 ноября 2013 г.среда, 27 ноября 2013 г.среда, 27 ноября 2013 г.среда, 27 ноября 2013 г.среда, 27 ноября 2013 г.
Advertisements

XML и XSLT (4) Матросов Александр Васильевич Санкт-Петербургский государственный университет.
Java Advanced Описание и проверка структуры XML. 2 СПбГУ ИТМО Georgiy KorneevJava Advanced / Описание и проверка структуры XML Содержание 1.DTD 2.XML.
Тип, имя и значение переменной. В объектно-ориентированных языках программирования переменные играют такую же важную роль, как и в процедурных языках.
Схема XML-Data Reduced (XDR). Рассматриваются следующие темы для изучения: 1. Что такое схемы XDR. Различие между схемами DTD и другими схемами, такими.
Языки описания информации Лекция 3. Кафедра «ОСУ» Весенний семестр 2010/2011 уч. года XML Schema и XLink.
XML и XSLT (2) Матросов Александр Васильевич Санкт-Петербургский государственный университет.
Тип, имя и значение переменной.. Переменные. В объектно-ориентированных языках программирования, и в частности в языке Visual Basic, переменные играют.
Описание переменных в языке Visual Basic Презентацию подготовила учитель информатики МБОУ СОШ 3 г. Светлого Нетесова Н. А.
«Типы данных». Целочисленные типы данных Тип ДиапазонТребуемая память (байт) byte shortint integer word longint
Данные в Visual Basic. Типы данных ДАННЫЕ переменные величины постоянные величины.
Переменные, величины Переменные, величины Типы, имена переменных Типы, имена переменных Хранение величин Хранение величин Переменные, величины Переменные,
Алфавит и синтаксис языка программирования Visual Basic.
Лекция 2 С => C++ => C# Большие и маленькие буквы различаются (main, Main, MAIN, mAin – разные имена) После каждого оператора ставится точка с запятой.
Функции Функция – именованная последовательность описаний и операторов, выполняющая некоторое действие. Может иметь параметры и возвращать значение. Функция.
Типы данных Инна Исаева. Переменные Переменная - это как ящик, в котором можно хранить данные. Каждая переменная имеет своё имя, она служит для хранения.
То, что вы так хотели узнать, но боялись спросить... Ссылки XML Презентацию подготовил Чудновский Андрей, гр.950б.
Pascal 1 Основы языка Паскаль Информатика и ИКТ Смирнов М.В. МКО ООШ п. Климковка Белохолуницкого района Кировской области.
Переменные : имя, значение, тип. Разработал учитель информатики МБОУ СОШ 50 г. Краснодара Ракута Елизавета Григорьевна « Сперва аз да буки, а потом науки.
Оператор ввода с клавиатуры Переменные величины. В большинстве случаев при решении задач в ходе работы программы, оператору описания необходимо менять.
Транксрипт:

Основы XML Презентация 6 – XML Schemas T-Systems CIS, 2011

XML Schemas - XML Schemas создаются на основе XML, в то время как DTD используют другой синтаксис -XML Schemas полностью поддерживают рекомендацию по пространствам имён -XML Schemas позволяют проверять содержимое текстовых элементов на основе встроенных и определяемых пользователем типов данных -XML Schemas позволяют создавать сложные и повторно используемые модели содержимого -XML Schemas обеспечивают моделирование программных концепций, таких как наследование и подстановка типов Преимущества XML Schemas

Объявления schema (1) … Объявления schema

Объявления schema (2) Основное назначение XML Schemas – объявление словарей. Эти словари могут идентифицироваться пространством имён, указанном в атрибуте targetNamespace: … Целевые пространства имён

Объявления schema (3) Элемент или атрибут называется квалифицированным, если имеется связанное с ним пространство имён. Квалификация элементов и атрибутов

Объявления schema (4) … Квалификация элементов и атрибутов (продолжение)

Объявления element (1) Объявления элементов

Объявления element (2) Глобальное объявление является непосредственным потомком элемента и может использоваться в XML-схеме повторно Глобальные и локальные объявления

Объявления element (3) Локальное объявление не является непосредственным потомком элемента и может использоваться только в своём конкретном контексте Глобальные и локальные объявления

Объявления element (4) Для создания локального типа объявление типа включается в объявление элемента как дочерний элемент: Создание локального типа complexType

Объявления element (5) Для создания локального типа объявление типа включается в объявление элемента как дочерний элемент: Объявление типа может содержать определение complexType или simpleType, но не оба одновременно. Создание локального типа simpleType

Объявления element (6) Многие элементы имеют одно и то же содержимое. Вместо объявления в схеме локальных типов, копирующих друг друга, можно создать глобальный тип, на который будут ссылаться объявления элементов: Несмотря на то, что тип глобальный, он остаётся частью целевого пространства имён, поэтому при ссылке на него указывается префикс целевого пространства имён. Использование глобального типа

Объявления element (7) Для повторного использования уже определенной модели содержимого можно использовать ссылки на глобальные элементы: В этом случае ссылка на глобальный элемент также включает префикс целевого пространства имён. Использование ссылки на глобальный элемент

Объявления element (8) Если элемент квалифицирован, при использовании в XML документе он должен иметь связанное с ним пространство имён. Если атрибут form в объявление элемента не включен, используется значение атрибута elementFormDafault элемента schema. Глобальные элементы всегда должны быть квалифицированы, независимо от значений этих атрибутов. Квалифицированная форма элемента

Объявления element (9) Атрибуты minOccurs и maxOccurs не допускаются при объявлении глобальных элементов и могут использоваться в ссылках на глобальные элементы или при объявлении локальных типов. Число элементов

Объявления element (10) Число элементов - пример

Объявления element (11) Чтобы указать значение по умолчанию, включите в объявление элемента атрибут default с требуемым значением. Если значение элемента не может изменяться, включите в объявление элемента атрибут fixed с нужным значением. Значения по умолчанию и фиксированные значения

Объявления element (11) Иногда в схему требуется включить элементы без явного их объявления. Для этих целей используется объявление следующего вида: Объявление any не может быть глобальным, должно находиться в модели содержимого. Шаблоны элементов (element wildcards)

Объявления element (12) -skip: программа пропускает любые шаблонные элементы в экземпляре документа. -lax: программа пытается проверять шаблонные элементы, если имеет доступ к глобальным определениям XML-схем для этих элементов -strict: программа пытается проверить шаблонные элементы и генерирует сообщение об ошибке, если не находит глобальных определений XML-схем для этих элементов Шаблоны элементов - processContents

Объявления element (13) Шаблоны элементов - пример

Объявления complexType (1) … Атрибут mixed определяет модель содержимого. Смешанная модель содержимого допускает содержимое элемента, состоящее как из дочерних элементов, так и из текста: Ivan Petrovich Sidorov complexType – атрибут mixed

Объявления complexType (2) Атрибут name включается в определение типа только в том случае, если тип определен как глобальный. Локальные типы не имеют атрибута name, то есть являются анонимными. complexType – атрибут name

Объявления complexType (3) Элемент определенный с пустой моделью содержимого: Такое определение не разрешает элементу содержать ни текст, ни дочерние элементы. complexType – пустая модель

Объявления group (1) Группа определяется следующим образом: … Все глобальные определения групп должны быть именованы. Объявление глобальной группы

Объявления group (2) Пример использования группы

Объявления sequence Последовательность определяется следующим образом: … Атрибуты minOccurs и maxOccurs применяются ко всей последовательности. Объявление может содержать объявления элементов, шаблоны элементов, внутренние элементы, ссылки на группы и элементы. Это позволяет создавать последовательности внутри последовательностей внутри последовательностей или варианты выбора в последовательностях, которые, в свою очередь, находятся в группах – то есть, практически любые комбинации. Объявление последовательности

Объявления choice Выбор определяется следующим образом: … Атрибуты minOccurs и maxOccurs применяются ко всему выбору. Внутри объявления может находиться неограниченное число дочерних объявлений, однако в экземпляре XML документа может использоваться только одно из этих объявлений. Объявление выбора

Объявления all Конструкция all позволяет объявить, что все элементы в содержимом могут располагаться в произвольном порядке: … Объявление all должно быть объявлением модели содержимого, являясь при этом дочерним по отношению к определению complexType. Объявление all может включать в качестве дочерних только объявления элементов. Объявления sequence, choice или group не допускаются. Дочерние по отношению к объявлению all элементы могут встречаться в экземпляре документа только один раз. Это значит, что в объявлении all значения атрибутов minOccurs и maxOccurs ограничены значениями 0 и 1. Объявление all

Объявления атрибутов (1) Объявление атрибутов

Объявления атрибутов (2) Объявление локального типа

Объявления атрибутов (3) Использование глобального типа

Объявления атрибутов (4) Ссылка на существующий глобальный атрибут

Объявления атрибутов (5) Если атрибут квалифицирован, он должен иметь связанное с ним пространство имён. Если атрибут form не включен в объявление атрибута, используется значение атрибута attributeFormDefault элемента schema. Любой глобальный атрибут должен быть квалифицирован. В отличие от элементов, квалифицированные атрибуты в экземпляре XML документа используются редко. Квалифицированная форма атрибута

Объявления атрибутов (6) Способ использования атрибута задается атрибутом use: optional – атрибут необязательный prohibited – атрибут запрещён к использованию required – атрибут обязателен для использования Использование атрибута

Объявления атрибутов (7) Примеры: Значение по умолчанию и фиксированные значения

Объявления атрибутов (8) Объявление anyAttribute может находиться только в объявлениях complexType или AttributeGroup. Пример: Шаблоны атрибутов (attribute wildcards)

Объявления группы атрибутов Объявление attributeGroup содержит объявления attribute, позволяет использовать шаблоны атрибутов и ссылки на глобальные атрибуты и группы атрибутов (при этом группа атрибутов не может рекурсивно ссылаться сама на себя). Объявление attributeGroup

Создание элементов с простым содержимым и атрибутами Элемент simpleContent указывает, что complexType не может содержать дочерние элементы. simpleContent

Типы данных (1) string - любые символьные данные normalizedString -нормализованная строка, в которой все пробелы, символы табуляции, возврата каретки и новой строки преобразованы в одинарные пробелы token - строка, в которой нет последовательностей из двух или более пробелов, символов табуляции, возврата каретки и новой строки byte - числовое значение от -128 до 127 unsignedByte - числовое значение от 0 до 255 base64Binary - бинарная информация, закодированная с использованием base64 Типы данных

Типы данных (2) hexBinary - бинарная информация, закодированная с помощью шестнадцатиричного представления integer - числовое значение, представляющее целое число positiveInteger - целочисленное значение, большее 0 negativeInteger - целочисленное значение, меньшее 0 nonNegativeInteger - целочисленное значение, не меньшее 0 nonPositiveInteger - целочисленное значение, не большее 0 int - числовое значение от до Типы данных

Типы данных (3) unsignedInt - числовое значение от 0 до long - числовое значение от до unsignedLong - числовое значение от 0 до short - числовое значение от до unsignedShort - числовое значение от 0 до decimal - числовое значение, у которого может быть (а может и не быть) дробная часть Типы данных

Типы данных (4) float - числовое значение, соответствующее 32-битовому числу одинарной точности в представлении IEEE, определенное стандартом IEEE double - числовое значение, соответствующее 64-битовому числу двойной точности в представлении IEEE, определенное стандартом IEEE boolean - логическое значение, включая true, false, 0 и 1 time - время суток в формате, определенном разделом 5.4 стандарта ISO 8601 (например, 15:45:00.000) dateTime - дата и время суток в формате, определенном разделом 5.4 стандарта ISO 8601 (например, Т15:45:00.000) Типы данных

Типы данных (5) duration - промежуток времени в формате, определенном в разделе стандарта ISO 8601 (например, P30D - промежуток в 30 дней) date - дата по григорианскому календарю в формате, определенном в разделе стандарта ISO 8601 (например, ) gMonth - месяц по григорианскому календарю в формате, определенном в разделе 3 стандарта ISO 8601 (например, 07) gYear - год по григорианскому календарю в формате, определенном в разделе стандарта ISO 8601 (например, 2011) gYearMonth - месяц и год по григорианскому календарю в формате, определенном в разделе стандарта ISO 8601 (например, ) Типы данных

Типы данных (6) gDay - день по григорианскому календарю в формате, определенном в разделе 3 стандарта ISO 8601 (например, 19) gMonthDay - день некоторого месяца по григорианскому календарю в формате, определенном в разделе 3 стандарта ISO 8601 (например, 11-19) name - XML-имя, отвечающее рекомендации по пространствам имён QName - квалифицированное имя, отвечающее рекомендации по пространствам имён NCName - XML-имя без двоеточия, не включающее префикс пространства имён Типы данных

Типы данных (7) anyURI - корректный URI language - языковая константа, определенная в RFC 1766, например en-US Типы данных

Пользовательские типы данных Пользовательские типы данных создаются при помощи объявления simpleType: При объявлении simpleType его необходимо основывать на уже существующих типах данных (поэтому объявления simpleType называют «порождёнными» (derived types)). Имеется три основных derived types: - типы-ограничения (restriction) - типы-перечисления (list ) - типы-объединения (union ) Пользовательские типы данных

Типы-ограничения создаются при помощи объявления restriction: Дальнейшее ограничение возможных значений типа данных достигается за счёт использования т.н. аспектов (facet). Объявление restriction

Пользовательские типы данных minExclusive - позволяет указать минимальное значение типа, исключая указанное значение minInclusive - позволяет указать минимальное значение типа, включая указанное значение maxExclusive позволяет указать максимальное значение типа, исключая указанное значение maxInclusive - позволяет указать максимальное значение типа, включая указанное значение totalDigits - позволяет указать общее количество цифр в числовом типе Facets

Пользовательские типы данных fractionDigits - позволяет указать количество цифр дробной части числового типа (справа от десятичной точки) length - позволяет указать количество символов в строковом типе данных minLength - позволяет указать минимальное количество символов в строковом типе данных maxLength - позволяет указать максимальное количество символов в строковом типе данных Facets

Пользовательские типы данных enumeration - позволяет указать допустимое значение в перечислении whiteSpace - позволяет указать как должны трактоваться пробельные символы pattern - позволяет ограничить строковый тип с помощью реглярных выражений Facets

Пользовательские типы данных Типы-перечисления создаются при помощи объявления list: Объявление list

Пользовательские типы данных Типы-объединения создаются при помощи объявления union: Объявление union

Создание схемы из нескольких документов Объявление import используется в тех случаях, когда в схему требуется включить объявления из другой схемы, имеющей другое значение targetNamespace. Объявление import должно быть глобальным. Объявление import

Создание схемы из нескольких документов Объявление include используется в тех случаях, когда в схему требуется включить объявления из другой схемы, имеющей то же значение targetNamespace. Объявление include должно быть глобальным. Объявление include

Документирование схемы Документирование схемы возможно с помощью комментариев, имеющих обычный для XML вид: Другим вариантом является использование аннотаций: This element contains ID of the customer, which refers to DBID in appropriate database table Документирование