ГОСТ Р ИСО/МЭК 26300-2010 Информационная технология. Формат Open Document для офисных приложений (OpenDocument) v1.0 (Введение - Раздел 12)
ГОСТ Р ИСО/МЭК 26300-2010 Информационная технология. Формат Open Document для офисных приложений (OpenDocument) v1.0 (Разделы 13-17, Приложения)
ГОСТ Р ИСО/МЭК 26300-2010
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Информационная технология
ФОРМАТ OPEN DOCUMENT ДЛЯ ОФИСНЫХ ПРИЛОЖЕНИЙ (OpenDocument) v1.0
Information technology - Open Document Format for Office Applications (OpenDocument) v1.0
ОКС 35.240.30
Дата введения 2011-06-01
Предисловие
Цели и принципы стандартизации в Российской Федерации установлены Федеральным законом от 27 декабря 2002 г. N 184-ФЗ "О техническом регулировании", а правила применения национальных стандартов Российской Федерации - ГОСТ Р 1.0-2004 "Стандартизация в Российской Федерации. Основные положения".
Сведения о стандарте
1. ПОДГОТОВЛЕН Евро-Азиатской ассоциацией производителей товаров и услуг в области безопасности (Ассоциация ЕВРААС) на основе аутентичного перевода международного стандарта, указанного в пункте 4, который выполнен ООО "Инфра-Ресурс".
2. ВНЕСЕН Техническим комитетом по стандартизации ТК 22 "Информационные технологии".
3. УТВЕРЖДЕН и ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 21 декабря 2010 года N 800-ст.
4. Настоящий стандарт идентичен международному стандарту ИСО/МЭК 26300:2006* "Информационная технология. Формат Open Document для офисных приложений (OpenDocument) v1.0" (ISO/IEC 26300:2006 "Information technology - Open Document Format for Office Applications (OpenDocument) v1.0").
________________
* Доступ к международным и зарубежным документам можно получить, перейдя по ссылке. - .
5. ISO/IEC 26300 был подготовлен техническим комитетом OpenDocument организации OASIS как "OASIS Open Document for Office Applications (OpenDocument) v1.0 (second edition)" и выдвинут по процедуре ПДС - публично доступная спецификация (PAS - Publicly Available Specification) совместным техническим комитетом ИСО/МЭК СТК 1 "Информационные технологии" (ISO/IEC JTC 1, Information technology) параллельно с его одобрением органами стандартизации ИСО и МЭК. Содержания ISO/IEC 26300 и второй редакции OASIS OpenDocument v1.0 идентичны.
6. ВВЕДЕН ВПЕРВЫЕ.
Информация об изменениях к настоящему стандарту публикуется в ежегодно издаваемом информационном указателе "Национальные стандарты", а текст изменений и поправок - в ежемесячно издаваемых информационных указателях "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячно издаваемом информационном указателе "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет.
1 Введение
1 Введение
1.1 Структура и цель стандарта
В данном документе описана XML-схема для офисных приложений и ее семантика. Рассматриваемая схема охватывает офисные документы, включая текстовые документы, электронные таблицы, диаграммы и графические документы, такие как рисунки и презентации, но не ограничивается этими типами документов.
Рассматриваемая схема обеспечивает высокий уровень информативности, необходимый для редактирования документов. Она описывает структуры XML для офисных документов и достаточно просто изменяется с помощью XSLT или схожих инструментов, основанных на XML.
Раздел 1 содержит введение в формат OpenDocument. Структура документа, соответствующего спецификации OpenDocument, описана в разделе 2. Раздел 3 описывает метаинформацию, которая может содержаться в таких документах. Разделы 4 и 5 описывают текст документа в целом и его абзацы. Текстовые поля описываются в разделе 6, текстовые индексы - в разделе 7.
Раздел 8 описывает таблицы документа формата OpenDocument, раздел 9 - графические объекты, раздел 10 - диаграммы, раздел 11 - формы. Содержимое, общее для всех документов, описывается в разделе 12. Интеграция разметки SMIL-анимации в схему OpenDocument описана в разделе 13. В разделе 14 описаны стили, в разделе 15 определены свойства форматирования, которые могут быть использованы в стилях. Типы данных, используемые в схеме OpenDocument, описаны в разделе 16.
Формат OpenDocument поддерживает концепцию пакетов, представленную в разделе 17.
1.2 Нотация
В данной спецификации такие ключевые слова как "должен" ("shall"), "не должен" ("shall not"), "следует" ("should"), "не следует" ("should not") и "может" ("may") необходимо трактовать как в приложении H [ISO/IEC Directives], если они даны полужирным шрифтом.
1.3 Пространства имен
В таблице 1 представлены пространства имен, которые определены форматом OpenDocument, и их префиксы, используемые по умолчанию. Более подробную информацию о пространствах имен XML можно получить в спецификации Пространства имен в XML [xml-names].
Таблица 1 - Пространства имен XML, определенные схемой OpenDocument
Префикс | Описание | Пространство имен |
office | Для всех общих фрагментов информации, которые не используются в других, более специфичных пространствах имен | urn:oasis:names:tc:opendocument:xmlns: |
meta | Для элементов и атрибутов, описывающих метаинформацию | urn:oasis:names:tc:opendocument:xmlns: |
config | Для элементов и атрибутов, описывающих параметры, специфические для приложений | urn:oasis:names:tc:opendocument:xmlns: |
text | Для элементов и атрибутов, встречающихся в текстовых документах и текстовых частях документов других типов, таких как содержимое ячейки электронной таблицы | urn:oasis:names:tc:opendocument:xmlns: |
table | Для элементов и атрибутов, встречающихся в электронных таблицах или в определениях таблиц текстовых документов | urn:oasis:names:tc:opendocument:xmlns: |
drawing | Для элементов и атрибутов, описывающих графическое содержимое | urn:oasis:names:tc:opendocument:xmlns: |
presentation | Для элементов и атрибутов, описывающих презентации | urn:oasis:names:tc:opendocument:xmlns: |
dr3d | Для элементов и атрибутов, описывающих трехмерную графику | urn:oasis:names:tc:opendocument:xmlns: |
anim | Для элементов и атрибутов, описывающих анимацию | urn:oasis:names:tc:opendocument:xmlns: |
chart | Для элементов и атрибутов, описывающих диаграммы | urn:oasis:names:tc:opendocument:xmlns: |
form | Для элементов и атрибутов, описывающих формы и элементы управления | urn:oasis:names:tc:opendocument:xmlns: |
script | Для элементов и атрибутов, представляющих скрипты и события | urn:oasis:names:tc:opendocument:xmlns: |
style | Для элементов и атрибутов, описывающих стили и модель наследования, используемые в формате OpenDocument, так же как некоторые общие атрибуты форматирования | urn:oasis:names:tc:opendocument:xmlns: |
number | Для элементов и атрибутов, описывающих стиль данных | urn:oasis:names:tc:opendocument:xmlns: |
manifest | Для элементов и атрибутов, содержащихся в пакетных декларациях | urn:oasis:names:tc:opendocument:xmlns: |
В таблице 2 приведен список пространств имен, описанных в формате OpenDocument, которые содержат элементы и атрибуты, чья семантика совместима с элементами и атрибутами других спецификаций.
Таблица 2 - Пространства имен XML, определенные схемой OpenDocument, которые включают элементы и атрибуты, совместимые с другими стандартами
Префикс | Описание | Пространство имен |
fo | Для атрибутов, совместимых с описанными в [XSL] | urn:oasis:names:tc:opendocument:xmlns: |
svg | Для элементов и атрибутов, совместимых с описанными в [SVG] | urn:oasis:names:tc:opendocument:xmlns: |
smil | Для элементов и атрибутов, совместимых с описанными в [SMIL20] | urn:oasis:names:tc:opendocument:xmlns: |
Таблица 3 содержит список пространств имен, импортированных в формат OpenDocument, и их префиксы по умолчанию.
Таблица 3 - Пространства имен XML, используемые в схеме OpenDocument
Префикс | Описание | Пространство имен |
dc | Пространство имен Дублинского ядра (см. [DCMI]) | //purl.org/dc/elements/1.1/ |
xlink | Пространство имен XLink (см. [XLink]) | https://www.w3.org/1999/xlink |
math | Пространство имен MathML (см. [MathML]) | https://www.w3.org/1998/Math/MathML |
xforms | Пространство имен XForms (см. [XForms]) | https://www.w3.org/2002/xforms |
1.4 Схема Relax-NG
Нормативная XML-схема для формата OpenDocument содержится внутри данной спецификации. Она может быть получена из документа спецификации путем объединения всех фрагментов схемы, содержащихся в разделах 1-16. Все фрагменты схемы имеют серый фон, а строки пронумерованы.
Язык схемы, применяемый в спецификации, - Relax-NG (см. [RNG]). Значения по умолчанию атрибутов определены в спецификации [RNG-Compat], которая используется для обеспечения атрибутов значениями по умолчанию.
Схема, приведенная в этой спецификации, допускает произвольное наполнение в пределах элементов метаинформации, как описано в разделе 1.5. В Приложении A приведена схема, которая ограничивает содержимое в пределах этих элементов для атрибутов и элементов, определенных в данной спецификации.
Префикс для нормативной Relax-NG схемы:
1.5 Обработка документа и его соответствие спецификации
Документы, соответствующие спецификации OpenDocument, могут содержать элементы и атрибуты, не определенные данной схемой OpenDocument. Такие элементы и атрибуты не должны быть частью пространств имен, которые определены в данной спецификации, и называются внешними элементами и атрибутами.
Приложения, соответствующие спецификации, должны либо читать документы, соответствующие схеме, если все внешние элементы и атрибуты удалены до проверки соответствия, либо должны записывать документы, соответствующие схеме, если все внешние элементы и атрибуты удалены до проверки соответствия.
Приложения, соответствующие схеме, которые читают и записывают документы, могут сохранять внешние элементы и атрибуты.
Кроме того, приложения, соответствующие схеме, должны сохранять метаинформацию и содержание стилей. Это означает:
Внешние элементы могут иметь атрибут office:process-content с возможными значениями true или false. Если значение атрибута true, или если атрибут не существует, содержимое элемента следует обрабатывать приложениям, соответствующим данной спецификации. В противном случае, приложениям не следует обрабатывать содержимое элементов, а можно только сохранять их содержимое. Если содержимое элемента требуется обработать, сам документ должен соответствовать схеме OpenDocument при условии замены неизвестных элементов на их содержимое.
Приложения, соответствующие схеме, должны читать документы, содержащие инструкции обработки, и данным приложениям следует сохранять их.
Не существует правил относительно элементов и атрибутов, которые следует поддерживать приложениям, соответствующим схеме, за исключением того, что приложения не должны использовать внешние элементы и атрибуты для реализации функциональности схемы OpenDocument (см. также Приложение D).
1.6 Обработка пробельных символов и символов конца строки
В соответствии со спецификацией W3C XML [XML1.0] необязательные пробельные символы, которые содержатся в элементах, являющимися контейнерами других элементов (содержащими только другие элементы, исключая текст), игнорируются. Данное правило применимо к следующим пробельным символам и символам конца строки (EOL) [UNICODE]:
Для любых других элементов пробельные символы сохраняются по умолчанию. Если отдельно не оговорено, никакая другая специальная обработка пробельных символов не осуществляется. Для некоторых элементов возможна другая обработка пробельных символов, например для элемента абзаца.
Спецификация XML также требует, чтобы любой из четырех пробельных символов, которые содержатся в значении атрибута, преобразовывался в символ ПРОБЕЛА.
Один из следующих символов может быть использован для отображения конца строки:
В соответствии со спецификацией XML все возможные варианты конца строки преобразуются в один символ ПЕРЕВОД СТРОКИ.
В соответствии с правилами обработки пробельных символов и символов конца строки любой символ ВОЗВРАТА КАРЕТКИ, который находится либо в текстовом содержимом элемента, либо в значении атрибута, заменяется на символьную сущность 
. То же осуществляется с символами ГОРИЗОНТАЛЬНАЯ ТАБУЛЯЦИЯ и ПЕРЕВОД СТРОКИ, если они содержатся в значениях атрибута.
1.7 Типы MIME и расширения имен файлов
Приложение C содержит список типов MIME и расширений имен файлов, используемых для офисных документов, соответствующих данной спецификации, и которые содержатся в пакетах (см. раздел 2.1). Эти типы MIME и расширения файлов либо уже зарегистрированы в соответствии с процедурами, описанными в [RFC2048], либо находятся в процессе регистрации.
Для офисных документов, которые соответствуют данной спецификации, но не содержатся в пакетах, следует использовать тип MIME text/xml.
Для офисных документов, соответствующих данной спецификации, следует использовать только типы MIME и расширения имен файлов, зарегистрированные в соответствии с [RFC2048]. Типы MIME и расширения имен файлов, перечисленные в Приложении C, следует использовать по назначению.
2 Структура документа
В данном разделе описана структура формата OpenDocument. Раздел содержит следующие подразделы:
В формате OpenDocument каждый структурный компонент представлен элементом со связанными с ним атрибутами. Структура документа в формате OpenDocument применяется ко всем типам документов. Не существует разницы между текстовыми документами, электронными таблицами или графическими документами, различие лишь в их содержимом. Кроме того, все типы документов могут содержать различные стили. Содержимое документа, общее для всех типов документов, может быть использовано для обмена информацией между различными типами документов.
2.1 Корни документа
Корневой элемент документа - первичный элемент документа формата OpenDocument. Он содержит весь документ. Все типы документа, например текстовые документы, электронные таблицы и графические документы, используют одинаковые типы корневых элементов документа.
Формат OpenDocument поддерживает следующие два способа представления документа.
Существует четыре типа поддокументов, каждый из которых отличается корневым элементом. Кроме того, единый XML-документ имеет свой собственный корневой элемент, общий для всех пяти поддерживаемых корневых элементов. Корневые элементы приведены в следующей таблице:
Корневой элемент | Содержимое поддокумента | Название поддокумента в пакете |
<office:document> | Офисный документ целиком в едином XML-документе | н/д |
<office:document-content> | Содержимое документа и используемые в нем автоматические стили | content.xml |
<office:document-styles> | Стили, используемые в содержимом документа, и автоматические стили, используемые в самих стилях | styles.xml |
<office:document-meta> | Метаинформация документа, такая как автор или время последнего сохранения | meta.xml |
<office:document-settings> | Настройки, специфические для приложения, такие как размер окна или параметры печати | settings.xml |
Определения корневых элементов, описанных в таблице выше, аналогичны определению <office:document>, за исключением того, что спецификация дочернего элемента соответственно ограничена.
2.1.1 Модели содержимого корневых элементов документа
В следующей таблице приведены модели содержимого пяти корневых элементов. Заметим, что <office:document> может содержать все поддерживаемые элементы верхнего уровня. Ни один из четырех корневых элементов поддокументов по отдельности не содержит информацию в полном объеме, в то время как в совокупности - содержат.
Корневой элемент | Мета- | Наст- | Скрип- | Опреде- | Стили | Авто- | Стили соста- | Основная часть доку- |
<office:document> | ||||||||
<office:document-content> | ||||||||
<office:document-styles> | ||||||||
<office:document-meta> | ||||||||
<office:document-settings> |
Корень <office:document> содержит документ целиком.
Корень <office:document-content> включает только содержимое документа наряду с требуемыми для него автоматическими стилями.
Корень <office:document-styles> содержит все именованные стили документа наряду с необходимыми для них автоматическими стилями.
Корень <office:document-meta> содержит метаинформацию документа.
Корень <office:document-settings> содержит специфические настройки приложения, используемые для обработки документа.
2.1.2 Атрибуты корня документа
Версия
Все корневые элементы имеют атрибут office:version, который показывает, к какой версии спецификации он относится. Номер версии представлен в формате revision.version (ревизия.версия). Если файл имеет версию, известную XML-процессору, данный документ может быть проверен на соответствие. В противном случае проверка на соответствие документа необязательна, но при этом он должен быть правильно сформирован.
Тип MIME
Элемент <office:document> имеет атрибут office:mimetype, который показывает тип документа (текст, электронная таблица и т.д.). Данный атрибут особенно важен для простых XML-файлов, для которых существует только один способ, которым может быть определен тип документа (в пакете тип MIME также представлен в отдельном файле, см. раздел 17.4). Значениями данного атрибута являются типы MIME, которые используются для пакетного варианта офисных документов (см. раздел 1.7).
2.2 Метаданные документа
Метаданные - главная информация о документе. В формате OpenDocument все элементы метаданных содержатся в элементе <office:meta>, располагаемом обычно в начале документа. Элементы метаданных могут быть опущены или встречаться несколько раз. Обновление множественных вхождений одного типа элементов зависит от приложения.
2.2.1 Предопределенные и специфические метаданные
В схеме OpenDocument метаданные состоят из предопределенных элементов метаданных, определяемых пользователем, а также специфических метаданных. Предопределенные элементы метаданных имеют предопределенную семантику. Их следует обрабатывать и обновлять редактирующим приложением. На них можно ссылаться из документа, используя подходящие текстовые поля.
Определяемые пользователем метаданные - более общий механизм определения тройки: имя, тип, значение. Поддерживающие приложения могут предоставлять эти значения пользователю, используя предоставляемые типы данных. На метаданные, определяемые пользователем, можно ссылаться из документа, используя подходящие текстовые поля.
Специфические метаданные - любые элементы внутри <office:meta>. Так как их семантика не определена в этой спецификации, приложения, соответствующие схеме, не могут обработать или показать такие данные. Приложениям следует сохранять эти данные при редактировании документа.
2.2.2 Образец метаданных
Пример - Образец метаданных документа формата OpenDocument:
2.3 Элемент основной части документа и типы документов
Основная часть документа - это элемент, отображающий тип содержимого этого документа. В настоящее время поддерживаются следующие типы документов:
Все типы документов используют одинаковые элементы содержимого, но каждый тип документа накладывает свои ограничения на использование различных элементов и их комбинации. В содержимом документа обычно выделяются пролог и эпилог, которые содержат дополнительную информацию для специфических типов документов, такую как данные формы или объявление переменных.
2.3.1 Текстовые документы
Содержимое текстовых документов в основном состоит из последовательности, содержащей любое число абзацев, таблиц, индексов, текстовых фреймов, текстовых разделов и графических элементов. В дополнение к этому, текстовый документ может содержать формы, отслеживание изменений и объявления переменных. Каждый из них определяется в прологе, и на них можно ссылаться из содержимого документа.
Модель содержимого текстового документа
Пролог текстового документа содержит данные формы документа, отслеживание изменений и объявления переменных. Для того чтобы разрешить офисным приложениям использовать в текстовых документах функциональные возможности, присущие электронным таблицам, они также могут содержать элементы, реализующие расширенные табличные свойства (см. раздел 2.3.4).
Содержимое основного документа состоит из любой последовательности элементов текстового содержимого, которое включает абзацы (и заголовки), текстовые разделы (и индексы), таблицы, объекты векторной графики. В качестве альтернативы текстовый документ может содержать отдельную последовательность страниц.
Необязательно текстовый документ должен содержать абзац. Текстовый документ может состоять из единственной последовательности фреймов.
Для текстовых документов нет специфических элементов эпилога, но эпилог может содержать элементы, которые реализуют расширенные табличные свойства (см. раздел 2.3.4).
Составные текстовые документы
Существует общий вариант использования больших документов, редактируемых в разных сущностях, основанный на том, что составной документ содержит несколько связанных поддокументов. Это может быть реализовано при использовании связанных разделов текста (см. раздел 4.4). С целью облегчения редактирующему приложению адаптации пользовательского интерфейса для лучшей поддержки представления составного документа с составляющими частями (в отличие от документа с произвольно связанными частями) может быть использован флаг text:global. Если он установлен в значение true, то это сообщает приложению, что связанные разделы документа несут семантику "часть - целое". Фактическое XML-представление раздела при этом не изменяется.
2.3.2 Графические документы
Содержимое графических документов состоит из последовательности страниц изображений.
Модель содержимого графического элемента
Пролог графического документа может содержать только текстовые объявления. Для того чтобы разрешить офисным приложениям использовать в графических документах функциональные возможности, присущие электронным таблицам, они также могут содержать элементы, реализующие расширенные табличные свойства (см. раздел 2.3.4).
Содержимое главного документа состоит из последовательности страниц изображений.
Для графических документов нет специфических элементов эпилога, но эпилог может содержать элементы, которые реализуют расширенные табличные свойства (см. раздел 2.3.4).
2.3.3 Документы презентаций
Содержимое документов презентаций состоит из последовательности страниц изображений.
Модель содержимого документа презентации
Пролог документа презентации идентичен графическому документу, но может содержать некоторые дополнительные определения (см. раздел 2.3.2).
Содержимое главного документа состоит из последовательности страниц изображений.
Эпилог документов презентаций может содержать настройки презентации. Дополнительно он может включать элементы, которые реализуют расширенные табличные свойства (см. раздел 2.3.4).
2.3.4 Документы электронных таблиц
Содержимое документов электронных таблиц в основном состоит из последовательности таблиц. Дополнительно документы электронных таблиц могут содержать формы, информацию о произведенных изменениях и различные виды объявлений, которые упрощают использование электронных таблиц и их анализ. Каждый из них содержится либо в прологе документа, либо в эпилоге.
Модель содержимого документа электронных таблиц
Пролог документа электронных таблиц содержит данные формы документа, информацию о произведенных изменениях, настройки вычислений для формул, правила проверки содержимого ячеек и объявления меток диапазонов.
Главный документ - это список таблиц.
Эпилог документов электронных таблиц содержит объявления для именованных выражений, диапазонов баз данных, сводных таблиц, операций по консолидации и DDE-ссылок.
2.3.5 Документы диаграмм
Содержимое документов диаграмм в основном состоит из элементов диаграмм.
Модель содержимого документа диаграмм
Для того чтобы позволить офисным приложениям использовать для таблиц, которые могут содержаться в диаграммах, функциональные возможности, присущие электронным таблицам, пролог документа диаграмм может содержать элементы, реализующие расширенные табличные свойства (см. раздел 2.3.4).
Главный документ представляет собой единственный элемент диаграммы.
Для документов диаграмм не существует специальных элементов, описываемых в эпилоге. Однако эпилог может содержать элементы, которые реализуют расширенные табличные свойства (см. раздел 2.3.4).
2.3.6 Документы растровой графики
Содержимое документа растровой графики представляет собой только элемент фрейма. Элемент фрейма должен содержать единственный элемент изображения.
Модель содержимого документа растровой графики
Пролог документа растровой графики пуст.
Содержимое главного документа состоит только из одного фрейма.
Для документов растровой графики не существует специальных элементов, описываемых в эпилоге.
2.4 Параметры настройки приложений
Параметры настройки приложений содержатся в элементе <office:settings>.
Параметры настройки офисных приложений можно разделить на несколько категорий, каждая из которых представлена элементом <config:config-item set>. Например, могут существовать две категории:
2.4.1 Последовательность параметров настройки
Элемент <config:config-item-set> является контейнером для всех типов параметров настройки. Параметры настройки могут содержаться в элементе в любом порядке.
Имя параметров настройки
Атрибут config:name определяет имя контейнера параметров настройки. Для элементов верхнего уровня <config:config-item-set> существуют элементы, непосредственно дочерние элемента <office:settings>, имени которых должен предшествовать префикс пространства имен, определяющий приложение, к которому относятся параметры настройки.
Пример -
2.4.2 Основные параметры настройки
Элемент <config:config-item> содержит все основные параметры настройки. Значение параметра хранится в элементе.
Имя параметра настройки
Атрибут config:name устанавливает имя параметра настройки.
Тип параметра настройки
Атрибут config:type устанавливает тип данных параметра настройки.
2.4.3 Индексный доступ к последовательностям
Элемент <config:config-item-map-indexed> является контейнером для последовательностей. Порядок определяет индекс элементов.
Имя параметров настройки
Атрибут config:name устанавливает имя последовательности параметров настройки.
2.4.4 Запись в ассоциированный массив
Элемент <config:config-item-map-entry> представляет запись в проиндексированной или именованной последовательности параметров настройки. Он является контейнером для всех типов элементов параметров настройки.
Имя параметров настройки
Атрибут config:name устанавливает имя последовательности параметров настройки.
2.4.5 Именованный доступ к последовательностям
Элемент <config:config-item-map-named> является контейнером для последовательностей, где каждый параметр настройки в последовательности определяется по имени.
Имя параметров настройки
Атрибут config:name устанавливает имя последовательности параметров настройки.
2.4.6 Параметры настройки позиции курсора
Позиция текстового курсора во время сохранения документа является общим параметром настройки визуального отображения для приложений, осуществляющих редактирование. Для WYSIWYG-приложений это, как правило, только позиция в абзаце. Для приложений, которые обеспечивают просмотр документа на основе XML, позиция курсора также может быть между произвольными элементами, даже внутри тегов.
Для отображения позиции текстового курсора в документе следует использовать инструкцию обработки PITarget opendocument (см. § 2.6 в [XML1.0]). Имя инструкции обработки позиции курсора, cursor-position, должно следовать PITarget opendocument. Инструкция обработки может иметь произвольные атрибуты, специфические для приложения, например для связи позиции курсора с определенным визуальным отображением документа, где сами виды отображения определяются параметрами настройки, специфичными для приложения. Синтаксис для таких атрибутов должен быть идентичен синтаксису атрибутов в начальных XML-тегах.
Там, где позиция курсора не важна для восстановления визуального отображения документа, приложения могут использовать произвольные параметры настройки, специфические для документа, в дополнение к инструкции обработки позиции курсора. Также они могут использовать произвольные параметры настройки, специфические для документа, если позиция курсора не является позицией курсора ввода, а, например, выделение графических объектов.
Пример - Инструкция обработки позиции курсора:
2.5 Скрипты
Документ может содержать несколько скриптов на разных языках. Каждый скрипт представлен элементом <office:script>. Все такие элементы скриптов содержатся в единственном элементе <office:scripts>.
Понятие скрипт не накладывает ограничения на язык скрипта или объектную модель. Скрипт может работать с объектной моделью документа (Document Object Model (DOM)) в формате OpenDocument или со специфичными функциями API приложения.
Скрипты не могут изменять документ во время его загрузки. Однако некоторые события вызываются немедленно после загрузки документа.
В дополнение к элементам <office:script>, элемент <office:scripts> может также содержать элемент <office:event-listeners>, который содержит события, связанные с самим документом. Примером являются события, вызываемые во время открытия или закрытия документа. См. раздел 12.4 для получения более подробной информации об элементе <office:event-listeners>.
2.5.1 Скрипт
Элемент <office:script> содержит специфичное для языка скрипта содержимое. В большинстве случаев элемент содержит исходный код скрипта, но также он может содержать скомпилированную версию скрипта или ссылку на некоторый внешний код скрипта.
Язык скрипта
Атрибут script:language определяет язык скрипта по его названию. Так как названия языков скрипта специфичны для приложения, названию должен предшествовать префикс пространства имен.
2.6 Объявления начертания шрифта
Документ в формате OpenDocument может содержать объявления начертания шрифта. Объявление начертания шрифта предусматривает информацию о шрифтах, используемых автором документа, так что эти шрифты или шрифты, очень близкие к ним, могут быть использованы на других системах (см. раздел 14.6).
2.7 Стили
Формат OpenDocument поддерживает три типа стилей.
Большинство офисных приложений поддерживает стили в пределах своего пользовательского интерфейса. В рамках данной спецификации XML-представления таких стилей упоминаются как стили. Когда требуется дифференциация с другими стилями, они упоминаются как общие стили. Термин общий показывает, что этот тип стиля воспринимается пользователем офисного приложения как стиль.
Автоматические стили содержат свойства форматирования, которые в пользовательском интерфейсе визуального отображения документа связаны с объектом, таким как абзац. Термин автоматический показывает, что стиль формируется автоматически. Другими словами, свойства форматирования, которые непосредственно связаны со специфичным объектом, представлены автоматическим стилем. Таким образом достигается разделение содержимого и дизайна.
Мастер-стиль - это общий стиль, который содержит информацию о форматировании и дополнительное содержимое, отображаемое с содержимым документа при применении стиля. Примером мастер-стиля являются мастер-страницы. Мастер-страницы могут быть использованы в графических приложениях. В этом случае дополнительное содержимое - векторные фигуры, отображаются в качестве фона графической страницы. Мастер-страницы также могут быть использованы в текстовых документах. В этом случае дополнительное содержимое - это верхние и нижние колонтитулы. Отметьте, пожалуйста, что содержимое, содержащееся в мастер-стилях, - дополнительное содержимое, которое влияет на отображение документа, но не изменяет содержимого документа.
Все типы стилей являются частью документа, что соответствует заинтересованности пользователей офисных приложений. Они представляют выходной аппаратно-независимый макет страницы и информацию о форматировании, необходимые пользователю для создания или редактирования документа. Предполагается, что автор документа хочет сохранить информацию о форматировании и макете страницы во время загрузки или отображения документа на любом устройстве, так как это общепринятая практика для документов, созданных текстовыми процессорами.
Этот тип стиля отличается от таблиц стилей [CSS2] или [XSLT], которые используются для отображения документа. Дополнительная таблица стилей для CSS, XSLT и т.д. требуется для отображения документа в формате OpenDocument на определенном устройстве. Эта таблица стилей должна учитывать стили, уже существующие в документе, так же как и требования совместимости с устройствами вывода. В идеальном варианте таблица стилей зависит только от устройств вывода.
Более подробную информацию о стилях см. в разделе 14.
2.7.1 Расположение стилей
Общие и автоматические стили имеют одинаковое XML-представление, но они содержатся в двух разных элементах-контейнерах:
Мастер-стили содержатся в своих собственных элементах-контейнерах:
Следующие примеры иллюстрируют разные типы стилей OpenDocument.
Пример - Стили OpenDocument:
2.8 Стили и макеты страницы
Стили и макеты страниц в документе определяются:
Макет страницы описывает физические свойства или геометрию страницы, например размер страницы, поля, высоту верхних и нижних колонтитулов.
Мастер-страница - это шаблон для страниц в документе. Он содержит ссылку на макет страницы, который определяет физические параметры страницы, а также может содержать статическое содержимое, отображаемое на всех страницах документа, которые используют мастер-страницу. Примером статического содержимого являются колонтитулы или фоновое изображение.
Если текстовый документ или электронная таблица отображаются в режиме макета страницы, то создаются экземпляры мастер-страницы для создания последовательности страниц, содержащих содержимое документа. При создании экземпляра мастер-страницы создается пустая страница со свойствами мастер-страницы и статическим содержимом мастер-страницы. После этого основная часть документа заполняется содержимым. Если несколько страниц в документе используют одинаковую мастер-страницу, то экземпляр может быть создан несколько раз в документе.
В текстовом документе или электронной таблице мастер-страница может быть связана со стилями абзацев или таблиц через использование атрибута style:master-page-name. Каждый раз, когда стиль абзаца или таблицы будет использован для текста, перед абзацем или таблицей будет вставлен разрыв страницы. Страница, которая начинается с позиции разрыва страницы, использует указанную мастер-страницу.
В графических документах и презентациях мастер-страницы могут быть связаны с графической страницей через использование атрибута style:parent-style-name.
Примечание - Методология организации страниц в формате OpenDocument значительно отличается от методологии, принятой в [XSL]. В XSL колонтитулы содержатся внутри последовательности страниц, которые также содержат содержимое документа. В формате OpenDocument колонтитулы содержатся в стилях страницы. Таким образом, содержимое колонтитулов может быть изменено или пропущено без последствий для содержимого документа.
Макеты страниц описаны в разделе 14.3, мастер-страницы - в разделе 14.4.
3 Элементы метаданных
Элементы метаданных в большой степени заимствованы из стандарта на метаданные, разработанного проектом Dublin Core Metadata Initiative (//www.dublincore.org). Элементы метаданных взяты напрямую из Дублинского ядра с использованием их префикса пространства имен (см. раздел 1.3).
3.1 Предопределенные элементы метаданных
Существует набор предопределенных метаданных, которые приложениям следует обрабатывать и обновлять. Элементы метаданных могут быть пропущены или встречаться неоднократно. Как обновлять множественные вхождения одинаковых элементов определяется приложением.
3.1.1 Генератор
Элемент <meta:generator> содержит строку, которая идентифицирует приложение или средство, которое использовалось для создания или последней модификации XML-документа. Данную строку следует записывать в соответствии с определением user-agent в протоколе HTTP, описанным в разделе 14.43 [RFC2616]. Данной строкой следует давать представления о разных версиях использованной программы, указывая, в том числе, номер сборки или номер заплатки.
Приложение, соответствующее спецификации, может использовать строку генератора для обхода ошибок, которые существуют или существовали в обозначенном приложении, но оно не должно сознательно реализовывать различное поведение приложения в зависимости от содержания данной строки.
Если приложение, создавшее документ, не может предоставить идентификационную строку, то этот элемент не используется. Если приложение, в котором данный документ модифицируется, не может записать в строку свой уникальный идентификатор, оно не должно использовать идентификатор приложения, создавшего документа.
3.1.2 Заголовок
Элемент <dc:title> определяет заголовок документа.
3.1.3 Описание
Элемент <dc:description> содержит краткое описание документа.
3.1.4 Тема
Элемент <dc:subject> определяет тему документа.
3.1.5 Ключевые слова
Элемент <meta:keyword> содержит ключевые слова, свойственные документу. Метаданные могут содержать любое число элементов <meta:keyword>. Каждый элемент описывает одно ключевое слово.
3.1.6 Автор первоначального документа
Элемент <meta:initial-creator> определяет имя автора, изначально создавшего документ.
3.1.7 Автор
Элемент <dc:creator> определяет имя автора последней модификации документа. Данный элемент был выбран для совместимости с Дублинским ядром, но данное определение отличается от использованного в Дублинском ядре, которое определяет создателя (автора) как "Сущность, изначально ответственную за создание содержимого ресурса". В терминологии OpenDocument, последний редактировавший документ автор в первую очередь ответственен за его содержимое.
3.1.8 Кем распечатан документ
Элемент <meta:printed-by> определяет имя исполнителя, который последним распечатал документ.
3.1.9 Дата и время создания документа
Элемент <meta:creation-date> определяет дату и время изначального создания документа.
Для соответствия [xmlschema-2] используется следующий формат даты и времени: YYYY-MM-DDThh:mm:ss.
3.1.10 Дата и время последней модификации документа
Элемент <dc:date> определяет дату и время последнего изменения документа.
Для соответствия [xmlschema-2] используется следующий формат даты и времени: YYYY-MM-DDThh:mm:ss.
Имя данного элемента было выбрано для совместимости с Дублинским ядром.
3.1.11 Дата и время печати документа
Элемент <meta:print-date> определяет дату и время последней печати документа.
Для соответствия [xmlschema-2] используется следующий формат даты и времени: YYYY-MM-DDThh:mm:ss.
3.1.12 Шаблон документа
Элемент <meta:template> содержит URL на шаблон, который использовался при создании документа. URL оформляется как XLink.
Элемент подчиняется правилам, описанным в спецификации XLink (см. [XLink]).
С элементом <meta:template> могут быть связаны следующие атрибуты:
Местоположение шаблона
Атрибут xlink:href определяет местоположение шаблона документа.
Имя шаблона
Атрибут xlink:title определяет имя шаблона документа.
Дата и время модификации шаблона
Атрибут meta:date определяет дату и время последней модификации шаблона до момента его использования для создания данного документа.
Для соответствия [xmlschema-2] используется следующий формат даты и времени: YYYY-MM-DDThh:mm:ss.
3.1.13 Автоматическая перезагрузка
Элемент <meta:auto-reload> определяет, будет ли перезагружен или заменен документ по истечению установленного периода времени другим документом.
С элементом <meta:auto-reload> могут быть связаны следующие атрибуты:
URL перезагрузки
Если загруженный документ подлежит замене на другой по истечении указанного периода времени, элемент <meta:auto-reload> представляет собой XLink. Атрибут xlink:href определяет URL заменяющего документа.
Задержка перед перезагрузкой
Атрибут meta:delay определяет задержку перед перезагрузкой.
Для соответствия типу данных длительности в [xmlschema-2], используется следующий формат значений данного атрибута PnYnMnDTnHnMnS. См. § 3.2.6 [xmlschema-2] для получения более детальной информации о данном формате.
3.1.14 Поведение гиперссылок
Элемент <meta:hyperlink-behaviour> определяет поведение по умолчанию для гиперссылок в документе.
С элементом <meta:hyperlink-behaviour> может быть связан только один атрибут:
Целевой фрейм
Атрибут meta:target-frame-name определяет имя целевого фрейма, в котором по умолчанию будет отображаться документ, на который указывает гиперссылка.
Данный атрибут может принимать одно из следующих значений:
Для соответствия спецификации XLink добавлен дополнительный атрибут xlink:show для элемента <meta:hyperlink-behaviour>. Если значением атрибута meta:target-frame-name является _blank, то значение атрибута xlink:show будет new. Если значением атрибута meta:target-frame-name является одно из других возможных, то значение атрибута xlink:show будет replace.
3.1.15 Язык
Элемент <dc:language> определяет язык по умолчанию для документа.
Метод определения данного элемента такой же, как и при определении языкового тега, описанного в [RFC3066]. Возможное значение состоит из двух или трех букв языкового кода, взятого из стандарта ISO 639, затем может следовать дефис (-) и два символа кода страны, взятых из стандарта ISO 3166.
3.1.16 Циклы редактирования
Элемент <meta:editing-cycles> определяет число циклов редактирования, которого достиг документ.
Значение данного элемента увеличивается каждый раз, когда документ сохраняется. Элемент содержит число циклов редактирования в виде текста.
3.1.17 Время редактирования
Элемент <meta:editing-duration> определяет общее время, затраченное на редактирование документа.
Оно представляется в типе данных длительности [xmlschema-2], который выглядит следующим образом: PnYnMnDTnHnMnS. См. § 3.2.6 в [xmlschema-2] для получения более детальной информации по формату записи длительности.
3.1.18 Статистика документа
Элемент <meta:document-statistic> определяет статистику документа, например число страниц, число слов и др. Статистика записывается в виде атрибутов элемента <meta:document-statistic>, статистика, экспортированная в документ, зависит от типа документа и от приложения, в котором он создавался:
Тип документа | Статистические атрибуты документа |
Текстовый | meta:page-count |
meta:table-count | |
meta:draw-count | |
meta:image-count | |
meta:ole-object-count | |
meta:paragraph-count | |
meta:word-count | |
meta:character-count | |
meta:row-count | |
meta:frame-count | |
meta:sentence-count | |
meta:syllable-count | |
meta:non-whitespace-character-count | |
Электронная таблица | meta:page-count |
meta:table-count | |
meta:image-count | |
meta:cell-count | |
meta:object-count | |
Графический | meta:page-count |
meta:image-count | |
meta:object-count |
3.2 Метаданные, определяемые пользователем
Элемент <meta:user-defined> определяет дополнительные метаданные документа, определяемые пользователем. Каждый из таких элементов может содержать одну часть метаданных, определяемых пользователем. Элемент состоит из:
Типом по умолчанию элементов метаданных является строка (string).
3.3 Специфические метаданные
Помимо определяемых пользователем элементов метаданных приложениям следует также сохранять любое дополнительное содержимое, найденное внутри элемента <office:meta>. Так как не существует специфической семантики для подобного внешнего содержимого, приложению не обязательно обрабатывать данную информацию, ее лишь следует сохранять при редактировании документа.
4 Текстовое содержимое
4.1 Заголовки, абзацы и основная текстовая структура
В этом разделе описаны элементы XML и атрибуты, которые используются для представления заголовков и абзацев в текстовом документе.
Элементы <text:h> и <text:p> представляют заголовки и абзацы, соответственно, вместе упоминаются как элементы абзаца. Все текстовое содержимое в файле OpenDocument должно содержаться в любом из этих элементов.
4.1.1 Заголовки
Заголовки определяют структуру разделов в документе. Раздел или подраздел начинается с заголовка и продолжается до следующего заголовка такого же или более высокого уровня.
Уровень заголовка
Атрибут text:outline-level связан с элементом заголовка и определяет уровень заголовка, начиная с 1. Уровень заголовка без данного атрибута принимается равным 1.
Нумерация заголовков
Нумерация заголовка может быть изменена за счет использования дополнительных атрибутов, подобных пунктам списка (см. раздел 4.3.2). Нумерация заголовков может быть запущена сначала установкой значения true для атрибута text:restart-numbering.
Стартовое значение
Атрибут text:start-value может быть использован для возобновления нумерации заголовков на текущем уровне при помощи установки нового значения нумерации.
Подавление нумерации заголовка
Иногда необходим специальный заголовок, который не должен быть пронумерован. Это соответствует ненумерованным заголовкам в списках (см. раздел 4.3). Чтобы достичь этого, можно использовать дополнительный атрибут text:is-list-header. Если его значение true, то данный заголовок не будет пронумерован, даже если будет явно указан list-style.
Форматированная нумерация заголовков
Если заголовок пронумерован, текст форматированного номера может быть добавлен в элемент <text:number>. Этот текст может использовать приложение, не поддерживающее нумерацию заголовков, но он будет проигнорирован, если такая поддержка присутствует.
4.1.2 Абзацы
Абзацы - основные единицы текста.
4.1.3 Общие атрибуты элементов абзаца
Элементы абзаца имеют следующие атрибуты: text:style-name, text:class-names и text:cond-style-name. Эти атрибуты должны ссылаться на стиль абзаца.
Атрибут text:style-name указывает на стиль абзаца, в то время как атрибут text:cond-style-name ссылается на условный стиль, то есть, стиль, который содержит указатели на другие стили (см. раздел 14.1.1). Если к абзацу применен условный стиль, то атрибут text:style-name содержит имя стиля, который стал результатом условной оценки, в то время как само имя условного стиля является значением атрибута text:cond-style-name. Такая структура XML упрощает преобразование [XSLT], поскольку XSLT должен воспользоваться только условным стилем, если атрибуты форматирования корректны. Указанный стиль может быть общим или автоматическим.
Атрибут text:class-names содержит список имен стилей в абзаце, разделенных пробелами. Указанные стили применяются в порядке, в котором они содержатся в списке. Если указаны атрибуты text:style-name и text:class-names, то стиль, на который ссылается атрибут text:style-name, будет в text:class-names как первый стиль в списке. Если условный стиль определен совместно с атрибутом style:class-names, но без атрибута text:style-name, тогда первый стиль в списке стилей используется как значение пропущенного атрибута text:style-name.
Соответствующие спецификации приложения должны поддерживать атрибут text:class-names, а также сохранять их в процессе редактирования.
Пример - Стили и условные стили:
Абзац может иметь идентификатор, который может быть использован для ссылки на абзац из других элементов.
4.2 Последовательности страниц
Элемент последовательности страниц <text:page-sequence> определяет последовательность мастер-страниц, которые представлены в том же порядке, в каком на них имеются ссылки в последовательности страниц. Если текстовый документ содержит последовательность страниц, то он будет состоять из точно такого количества страниц, какое определено. Документ с последовательностью страниц не имеет основного потока текста, состоящего из заголовков и абзацев, как в случае, если документ не содержит последовательности страниц. Для документов с последовательностью страниц текстовое наполнение заключается внутри текстовых блоков. Единственно допустимым содержимым другого характера являются графические объекты.
Пример - Последовательность страниц:
4.2.1 Страница
Элемент <text:page> описывает отдельную страницу из последовательности страниц.
Имя мастер-страницы
Атрибут text:master-page-name определяет имя мастер-страницы, которой он присваивается.
4.3 Списки
Формат OpenDocument поддерживает структуру списков, подобную описанной в [HTML4]. Список является элементом уровня абзаца, который содержит необязательный заголовок списка, следующего за последовательностью пунктов списка. Заголовок списка, а также каждый пункт списка содержат последовательность абзацев или элементов списка. Списки могут быть вложенными.
Списки могут быть нумерованными. Нумерация возможна с произвольного номера, который может быть присвоен в каждом пункте списка. Нумерация списка может также продолжать нумерацию другого списка, что позволяет пользователю объединять несколько списков в один прерывающийся список. Отметим, что отображение нумерации зависит от использованного стиля списка.
В дополнении к этой структурной информации, списки могут иметь стили, связанные с ними, которые содержат информацию о разметке, такую как:
4.3.1 Блок списка
Списки описываются элементом <text:list>. Он содержит необязательный заголовок списка со следующим за ним произвольным числом пунктов списка.
Каждый список имеет свой уровень (list level), который определяется вложенностью элементов <text:list>. Если список не находится внутри другого списка, то его уровень равен 1. Если список находится внутри другого списка, его уровень равен уровню списка, в котором он содержится, увеличенному на единицу. Если список содержится внутри ячейки таблицы или текстового блока, его уровень равен единице даже в том случае, когда таблица или текстовый блок сами являются вложенными в другой список.
С элементом списка могут быть связаны следующие атрибуты:
Имя стиля
Необязательный атрибут text:style-name определяет имя стиля списка, который применяется для списка.
Если данный атрибут пропущен, следовательно стиль списка не определен, применяется одно из следующих действий.
Для определения свойств форматирования списка принимается во внимание уровень списка и имя стиля списка (см. раздел 14.10 для получения дополнительной информации о свойствах форматирования списка).
Продолжение нумерации
По умолчанию первый пункт списка начинается с номера, определенного в стиле списка. Атрибут продолжения нумерации может использоваться для продолжения нумерации от предшествующего списка.
Атрибут может использоваться с элементом <text:list> и может принимать значения true и false.
Если значение атрибута равно true и стиль нумерации предшествующего списка такой же, как в текущем списке, то номер первого пункта списка в текущем списке равен номеру последнего пункта предыдущего списка, увеличенному на единицу.
4.3.2 Пункт списка
Пункты списка содержат текстовое содержимое списка. Элемент <text:list-item> может содержать абзацы или списки. Пункт списка не может содержать заголовки или таблицы.
Первой строке в пункте списка предшествует маркер или номер, в зависимости от стиля списка, связанного с данным списком. Если пункт списка непосредственно начинает другой список и не содержит никакого текста, маркер или номер не отображается.
С элементом <text:list-item> может быть связан только следующий атрибут:
Начальное значение
Нумерация текущего списка может быть начата заново с указанного номера. Атрибут text:start-value используется для определения начального номера списка.
Этот атрибут может быть применен только к пунктам с нумерованным типом списка. Он начинает нумерацию списка заново в текущем пункте.
Форматированный номер
Если к пункту списка применяется нумерация, то текст форматированного номера может быть включен в элемент <text:number>. Этот текст может быть использован приложениями, которые не поддерживают нумерацию, но он не будет рассматриваться приложением, которое нумерацию поддерживает (см. также раздел 4.1.1).
Пример - Списки и вложенные списки: