- •1. Классификация форматов электронных изданий. Форматы текстовые и бинарные. Представление сред мультимедиа в электронных изданиях. Требования к форматам.
- •2. Подготовка электронных изданий в формате pdf. Структура документа в формате pdf — трейлер, таблица перекрестных ссылок.
- •3. Иерархическая структура объектов в формате pdf. Виды объектов. Объекты, определяющие вывод и форматирование текста.
- •4. Изменение структуры документа pdf при его последовательном редактировании.
- •5. Подготовка электронных изданий в формате DejaVu. Разделение изображения на слои: передний план, задний план и однобитовую маску. Использование текстового слоя. Создание гиперссылок.
- •6. Подготовка электронных изданий в формате rtf. Структура документа в формате rtf. Группировка символов.
- •7. Представление символов, входящих и не входящих в ascii в формате rtf.
- •8. Управляющие слова и управляющие символы в формате rtf. Задание параметров шрифта и типа выключки.
- •10. Создание корректно сформированных xml-документов. Структура xml-документа. Пролог, корневой элемент.
- •Xml документ состоит из пролога и коревого элемента.
- •11. Объявления xml-документов, инструкции по обработке, комментарии, разделы cdata. Требования к иерархии элементов. Атрибуты. Символьные данные.
- •1. Элементы
- •2. Комментарии
- •3. Инструкции обработки
- •4. Секция cdata
- •5 Требования к xml документу и его компонентам
- •12. Использование примитивов в xml-документах.
- •13. Определение типа документа dtd. Валидные xml-документы. Синтаксис dtd, объявления элементов и списков атрибутов.
- •14. Описание содержимого элементов в xml. Вложенные элементы и символьные данные. Типы атрибутов, значения по умолчанию.
- •Объявления атрибутов. Типы атрибутов, значения по умолчанию.
- •15. Пространства имен xml. Использование пространств имен, префиксы. Уникальные идентификаторы в форме url и urn.
- •16.Стандартные пространства имен. Использование элементов xhtml в xml-документах как пространство имен.
- •17. Описание структуры xml-документа при помощи xml Schema. Описание элементов, атрибутов, вложенных элементов и символьных данных. Число вхождений элементов.
- •1 Способ
- •2 Способ
- •18. Простые и комплексные типы в xml Schema. Типы атрибутов.
- •19. Сравнение dtd и xml Schema.
- •20. Визуальное представление xml-документов и таблицы стилей xsl. Структура xsl-документа, элементы пространств имен xsl и xhtml.
- •21. Шаблоны, образец в xsl. Документы с одним и с несколькими шаблонами.
- •22. Фильтрация и сортировка данных при помощи xsl.
- •23. Описание связей в xml при помощи технологии xLink. Простые связи. Связи поведения.
- •24. Расширенные связи в технологии xLink. Правила обхода между ресурсами.
19. Сравнение dtd и xml Schema.
Недостатки XML DTD перед XML Schema
Отличный от XML синтаксис языка. То есть, DTD не является XML. В связи с этим могут возникать разнообразные проблемы с кодировкой и верификацией XML-документов.
Нет проверки типов данных. В XML DTD существует лишь один тип данных – строка. В связи с этим, например, если в числовом поле будет текст, документ все равно пройдет верификацию, так как XML DTD не может проверить тип данных.
Нельзя поставить в соответствие одному XML-документу больше одного DTD описания. То есть, верифицировать документ можно лишь одним DTD описанием. Если их несколько, то придется переделывать описания и совмещать все в одном файле, что очень неудобно.
Объявление элемента:
DTD: Набор компьютеров:
<!ELEMENT productList (computer)+ >
<!ELEMENT computer (hdd?, processor*, morherboard) >
<!ELEMENT hdd (#PCDATA) >
<!ELEMENT processor (#PCDATA) >
<!ELEMENT motherboard (#PCDATA) >
"+" - используется для определения одного или большего количества дочерних элементов, "*" - используется для определения нуля и большего количества дочерних элементов, "?" - используется для определения нуля или одного дочернего элемента (элемент обязателен или нет). В XSD это определяется числом вхождений дочерних элементов: minOccurs = «минимальное число», maxOccurs= «максимальное число».
XSD: Набор компьютеров:
<xsd:complexType name=”Computer”>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xsd:element name=”HDD” type=”xs:string”/>
<xsd:element name=” Processor ” type=”xs:string”/>
<xsd:element name=”Motherboard” type=”xs:string”/>
</xsd:sequence>
<xsd:complexType>
XML Schema выразительнее DTD. При использовании XML Schema парсер с проверкой допустимости может удостовериться, что элемент InvoiceNo является положительным целым, а элемент ProductID состоит из одной буквы от A до Z, сопровождаемой шестью цифрами. В отличие от этого, прасер (программа, выполняющая синтаксический анализ) с проверкой допустимости документа, использующий DTD, может лишь проверить, что эти элементы представлены как строки.
Листинг 1: Фрагмент XML-документа
<InvoiceNo>123456789</InvoiceNo>
<ProductID>J123456</ProductID>
Листинг 2: Фрагмент DTD, описывающий элементы из Листинга 1
<!ELEMENT InvoiceNo (#PCDATA)>
<!ELEMENT ProductID (#PCDATA)>
Листинг 3: Фрагмент XML Schema, описывающий элементы из Листинга
<element name='InvoiceNo' type='positive-integer'/>
<element name='ProductID' type='ProductCode'/>
<simpleType name='ProductCode' base='string'>
<pattern value='[A-Z]{1}d{6}'/></simpleType>
Описание атрибутов
XSD:
<attribute
default = string
fixed = string
form = (qualified | unqualified)
id = ID
name = NCName
ref = QName
type = QName
use = (optional | prohibited | required): optional
{any attributes with non-schema Namespace...}>
Content: (annotation?, (simpleType?))
</attribute>
DTD:
<!ATTLIST имя_элемента имя_атрибута тип_атрибута значение_по_умолчанию >
В DTD все типы атрибутов основаны на строковом типе данных.
Наиболее распространенные типы атрибута:
CDATA – символьные данные;
ID - уникальный идентификатор;
(value1|value2|value3) – перечисление возможных значений атрибутов, т.е. возможным значением атрибута будет одно из перечисляемых.
Например, можно определить атрибут "model" элемента "computer" так:
<!ATTLIST computer model CDATA>
(в XSD: <xs:attribute name=”model” type=”xs:string”/>)
Сравнение сложных типов данных в DTD и XML Schema.
XML-документ
<Book>
<Title>Cool XML<Title>
<Author>Cool Guy</Author>
</Book>
DTD
<!ELEMENT Book (Title, Author)>
<!ELEMENT Title (#PCDATA)>
<!ELEMENT Author (#PCDATA)>
XML Schema
<element name='Book' type='BookType'/>
<complexType name='BookType'>
<element name='Title' type='string'/>
<element name='Author' type='string'/>
</complexType>
Хотя код XML соответствует фрагментам и DTD и XML Schema, между ними есть большое различие. В DTD все элементы глобальные, тогда как XML Schema в этой таблице позволяет локальные элементы Title и Author в контексте элемента Book.
*Еще можно почитать тут: http://www.intuit.ru/department/internet/xml/5/
