- •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. Правила обхода между ресурсами.
1 Способ
1 |
<xs:element name="название элемента" type="название типа" /> |
2 |
<xs:complexType name="название типа"> |
3 |
Описание типа |
4 |
</xs:complexType> |
2 Способ
1 |
<xs:element name="root"> |
2 |
Описание типа элемента |
3 |
</xs:element> |
Вы можете использовать как первый способ, так и второй. Все они работают одинаково. Вопрос лишь в удобстве в данном конкретном случае.
Далее после объявления элемента мы указываем, что он комплексного типа (<xs:complexType>) и перечисляем (<xs:sequance>) вложенные элементы. В данном случае это элементы name и age с типами «xs:string» и «xs:integer». Префикс xs означает, что это базовый тип, который уже описан в стандарте XML Schema.
Запись атрибутов:
<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>
Атрибут sequence определяет фиксированный порядок вхождений дочерних элементов. Если порядок не важен, необходимо использовать choice. В этом случае допускается и по несколько вхождений, число которых можно управлять:
minOccurs="2" - минимальной количество 2
maxOccurs="10" - максимальное количество 10
maxOccurs="unbounded" - неограниченное число.
Пример:
<xs:element name="zooAnimals">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="elephant"/>
<xs:element name="bear"/>
<xs:element name="giraffe"/>
</xs:sequence>
</xs:complexType>
</xs:element>.
18. Простые и комплексные типы в xml Schema. Типы атрибутов.
Элементы бывают простыми и сложными (комплексными).
Простые элементы не могут иметь атрибуты и содержимое смешанного типа, а сложные – могут. Содержимое смешанного типа – это возможность использовать внутри элемента дочерние элементы и текст (смешанное содержимое) .
Простые определяются с помощью вложенного элемента <xs:simpleType>.
Сложные определяются с помощью <xs:complexType> (спецификация по адресу: http://msdn.microsoft.com/ru-ru/library/vstudio/ms256067(v=vs.90).aspx).
В отличие от простых элементов сложные элементы могут иметь атрибуты и содержимое смешанного типа. Последовательность появления дочерних элементов определяется с помощью конструкции <xs:sequence>
Например, сложный элемент Computer с установленной последовательностью появления элементов (сначала HDD, потом Motherboard) можно определить так:
<xs:complexType name=”Computer”>
<xs:sequence>
<xs:element name=”HDD” type=”xs:string”/>
<xs:element name=”Motherboard” type=”xs:string”/>
</xs:sequence>
<xs:attribute name=”model” type=”xs:string” fixed=”NewModel”/>
<xsd:complexType>
Объявление атрибута:
<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>
default
Атрибут со значением по умолчанию. Если атрибут не указан в экземпляре внутри XML-документа, атрибуту присваивается заданное значение. Если атрибут не присутствует в экземпляре документа, то он должен отобразиться в модуле проверки после обработки схемы. Обработчики схемы должны действовать таким образом, будто атрибуту задано значение по умолчанию и он фактически не находится в документе экземпляра. Атрибуты Default и fixed не могут присутствовать одновременно.
Необязательный.
fixed
Атрибут с фиксированным значением. Если атрибут присутствует в экземпляре документа, его значение должно быть равным заданному фиксированному значению. Если атрибут не присутствует, то атрибут получает указанное значение. Атрибуты Default и fixed не могут присутствовать одновременно.
Необязательный.
type
Имя встроенного типа данных или простого типа данных, определенного в этой схеме (или другой схеме, указанной конкретным пространством имен). Тип должен быть именем QName. Этот тип может включать префикс пространства имен. Атрибут type может присутствовать, только если в содержимом не содержится элемент simpleType.
Необязательный.
Типы атрибутов по способу использования:
Выражается через значение параметра use (Необязательный).
Если этот атрибут указан, то он должен принять одно из следующих значений.
optional - атрибут является необязательным и может принимать любое значение. Это значение по умолчанию. Следующие примеры эквивалентны.
<xs:attribute name="myattr" type="xs:string"/>
<xs:attribute name="myattr" type="xs:string" use="optional"/>
prohibited - атрибут нельзя использовать. Этот атрибут используется в ограничении другого сложного типа, чтобы запретить использование существующих атрибутов.
<xs:complexType name="A">
<xs:attribute name="x" type="xs:NCName"/>
<xs:attribute name="y" type="xs:QName"/>
</xs:complexType>
<xs:complexType name="B">
<xs:complexContent>
<xs:restriction base="xs:A">
<xs:attribute name="x" use="required" />
<xs:attribute name="y" use="prohibited"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
required - атрибут должен отобразиться один раз (обязательно).
Атрибут необходим и может принимать любое значение, допускаемое определением типа этого атрибута.
<xs:attribute name="myattr" type="xs:string" use="required"/>
Атрибут используется в ограничении или расширении другого сложного типа, он требует существования конкретного атрибута или атрибутов.
<xs:complexType name="A">
<xs:attribute name="x" type="xs:NCName"/>
<xs:attribute name="y" type="xs:QName"/>
</xs:complexType>
<xs:complexType name="B">
<xs:complexContent>
<xs:restriction base="xs:A">
<xs:attribute name="x" use="required" />
<xs:attribute name="y" use="prohibited"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
Если атрибут объявлен как глобальный (его родителем является элемент schema), то он необходим во всех элементах схемы.
