ГОСТ Р ИСО/МЭК 26300—2010/Раздел 14

Материал из Викитеки — свободной библиотеки
ГОСТ Р ИСО/МЭК 26300—2010 «Информационная технология. Формат Open Document для офисных приложений (OpenDocument) v1.0» — Раздел 14


14 Стили[править]

Многие объекты в офисных документах имеют свойства форматирования. Свойство форматирования влияет на визуальное представление объекта, но оно не воздействует ни на содержимое, ни на структуру документа. Примерами свойств форматирования являются:

  • семейство шрифтов;
  • размер шрифта;
  • цвет шрифта;
  • поля страницы.

В формате OpenDocument свойства форматирования хранятся в стиле. Это влияет на пользовательский интерфейс в типичных офисных приложениях, где свойства форматирования могут быть присвоены объекту непосредственно или косвенно, применением стиля к объекту. Применение свойств форматирования непосредственно к объекту дает тот же результат, что и применение безымянного стиля с теми же свойствами к этому объекту. Следовательно, стили пользовательского интерфейса остаются принципиально неизменными в формате OpenDocument, в то время как свойства форматирования, применяемые непосредственно к объекту, принимаются как безымянные стили. В процессе использования безымянного стиля ему может быть присвоено имя, после чего он становится автоматическим стилем.

Использование стилей для хранения свойств форматирования обусловлено двумя основными причинами.

  • Формат и разметка документа отделяются от его содержимого.
  • Если два или более объектов имеют одинаковые свойства форматирования и стиля, то свойства форматирования, которые непосредственно присваиваются объекту, могут быть представлены одним автоматическим стилем для всех объектов. Это экономит пространство на диске и позволяет стилям интегрироваться в общий стиль документа.

Этот раздел посвящен описанию различных стилей.

14.1 Элемент стиля[править]

Некоторые семейства стилей очень похожи по структуре и могут быть представлены одним элементом. Например, элемент <style:style> может представлять стили абзаца, текста и графики.

Самостоятельные семейства стилей, которые используют эти элементы, описываются отдельно. В пределах данного раздела описываются общие атрибуты элемента стиля.

<define name="style-style">
    <element name="style:style">
        <ref name="style-style-attlist"/>
        <ref name="style-style-content"/>
        <zeroOrMore>
            <ref name="style-map"/>
        </zeroOrMore>
    </element>
</define>

С элементом <style:style> могут быть связаны следующие атрибуты:

  • имя стиля;
  • отображаемое имя;
  • семейство стилей;
  • родительский стиль;
  • следующий стиль;
  • стиль списка;
  • имя мастер-страницы;
  • автоматическое обновление;
  • имя стиля данных;
  • класс;
  • уровень нумерации структуры.

Имя стиля[править]

Атрибут style:name определяет имя стиля. Этот атрибут, объединенный с атрибутом style:family, уникально идентифицирует стиль. Каждый из элементов <office:styles>, <office:automatic-styles> и <office:master-styles> не должен содержать двух стилей из одного семейства с одинаковым именем.

Для автоматических стилей имя генерируется во время экспорта документа. Если документ экспортируется несколько раз, то каждый раз будут генерироваться новые имена.

В XML-документе имя каждого стиля уникально, независимо от того, какой язык пользовательского интерфейса был выбран для офисного приложения. Обычно это имена, используемые в англоязычной версии пользовательского интерфейса.

<define name="style-style-attlist" combine="interleave">
    <attribute name="style:name">
        <ref name="styleName"/>
    </attribute>
</define>

Отображаемое имя[править]

Атрибут style:display-name определяет имя стиля, каким оно должно быть отображено в пользовательском интерфейсе. В отличие от имени стиля, это имя может содержать некоторые произвольные символы. Если данный атрибут не представлен, отображаемое имя совпадает с именем стиля.

<define name="style-style-attlist" combine="interleave">
    <optional>
        <attribute name="style:display-name">
            <ref name="string"/>
        </attribute>
    </optional>
</define>

Семейство стилей[править]

Атрибут style:family определяет принадлежность к семейству стилей, например, абзац, текст или врезка. Он может принимать одно из следующих значений: paragraph, text, section, table, table-column, table-row, table-cell, table-page, chart, default, drawing-page, graphic, presentation, control, ruby.

Родительский стиль[править]

Атрибут style:parent-style-name определяет имя родительского стиля. Если родительский стиль не указан, то используется значение по умолчанию, определенное в приложении. Родительский стиль не может быть автоматическим и должен существовать.

<define name="style-style-attlist" combine="interleave">
    <optional>
        <attribute name="style:parent-style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>

Следующий стиль[править]

Атрибут style:next-style-name определяет стиль, используемый в следующем абзаце, при вставке конца абзаца в пользовательском интерфейсе. По умолчанию текущий стиль используется как следующий.

<define name="style-style-attlist" combine="interleave">
    <optional>
        <attribute name="style:next-style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>

Стиль списка[править]

Стиль абзаца и стили других семейств, содержащие свойства абзаца (например графические стили), могут иметь связанный стиль списка. Это относится к автоматическим и общим стилям.

Стиль списка, определяемый атрибутом style:list-style-name, применяется лишь к заголовкам и абзацам, которые содержатся в списке, не определяющем свой стиль самостоятельно, и не унаследовавшим его ни от одного из родителей.

Значение атрибута style:list-style-name может быть пустым. В этом случае связь со стилем списка, унаследованная от родителя, будет удалена.

<define name="style-style-attlist" combine="interleave">
    <optional>
        <attribute name="style:list-style-name">
            <choice>
                <ref name="styleName"/>
                <empty/>
            </choice>
        </attribute>
    </optional>
</define>

Имя мастер-страницы[править]

Стиль абзаца или таблицы может иметь связанный атрибут style:master-page-name. Это относится к автоматическим и общим стилям. Если этот атрибут связан со стилем, разрыв страницы вставляется, когда стиль применен и установленная мастер-страница применяется на предыдущей странице.

Этот атрибут игнорируется, если он связан со стилем абзаца, применяемым к абзацу внутри таблицы.

<define name="style-style-attlist" combine="interleave">
    <optional>
        <attribute name="style:master-page-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>

Автоматическое обновление[править]

Атрибут style:auto-update определяет, будет ли автоматически обновляться стиль при изменении свойств форматирования объекта, которому этот стиль присвоен. Например, существует стиль абзаца, который содержит свойства форматирования, определяющие, что текст абзаца выравнивается по центру и этот стиль применен к абзацу. Если пользователь вручную изменяет форматирование этого абзаца текста на выравнивание по правой стороне и значение атрибута style:auto-update установлено true, то стиль абзаца будет автоматически обновляться с учетом изменений форматирования в новом абзаце, и каждый абзац, использующий этот стиль абзаца, будет выравнен по правой стороне. Атрибут может иметь значение true или false.

<define name="style-style-attlist" combine="interleave">
    <optional>
        <attribute name="style:auto-update" a:defaultValue="false">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

Имя стиля данных[править]

Стиль ячейки таблицы может иметь связанный стиль данных. Это относится к автоматическим и общим стилям. Обращение к стилю данных происходит через атрибут style:data-style-name. Для получения дополнительной информации о стилях данных обратитесь к разделу 14.7.

<define name="style-style-attlist" combine="interleave">
    <optional>
        <attribute name="style:data-style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>

Класс[править]

Стиль может принадлежать некоторому классу стилей. Класс является некоторой строкой. Класс не несет смысловой нагрузки в пределах формата файла, но в пользовательском интерфейсе его вклад позволяет оценить пример вывода списка стилей, где стили сгруппированы по названию класса.

<define name="style-style-attlist" combine="interleave">
    <optional>
        <attribute name="style:class">
            <ref name="string"/>
        </attribute>
    </optional>
</define>

Уровень нумерации структуры[править]

Для стиля из семейства абзацев атрибут style:default-outline-level определяет значение уровня структуры по умолчанию. Он берет числовой атрибут text:outline-level из элемента заголовка <text:h>. Если этот атрибут существует для стиля абзаца, и этот стиль присвоен абзацу пользователем, то офисное приложение должно преобразовать абзац в заголовок заданного уровня. Однако атрибут не влияет на разграничение заголовков и абзацев в формате файла. Разграничение между заголовками и параметрами производится элементами <text:h> или <text:p>. Если элемент <text:p> ссылается на стиль абзаца с атрибутом style:default-outline-level, абзац останется абзацем и не станет заголовком.

<define name="style-style-attlist" combine="interleave">
    <optional>
        <attribute name="style:default-outline-level">
            <ref name="positiveInteger"/>
        </attribute>
    </optional>
</define>

Свойства форматирования[править]

Если стилю присвоены атрибуты форматирования, то элемент стиля содержит один или несколько элементов, содержащих свойства форматирования. Для получения более подробной информации об этих элементах обратитесь к разделу 15.

Образец стиля[править]

Пример —

Представление стиля абзаца «Text body» в формате OpenDocument.

<style:style style:name="Text body" style:family="paragraph"
             style:parent-style-name="Standard">
    <style:paragraph-properties fo:margin-top="0cm"
                                fo:margin-bottom=".21cm"/>
</style:style>

14.1.1 Соотнесение стилей[править]

Элемент <style:map> устанавливает соотнесение с другим стилем при выполнении определенных условий. Если стиль содержит такие соотнесения, то он называется условным. Для каждого условия существует один элемент, использующийся стилем.

Условные стили обычно поддерживаются стилями абзаца, содержащимися в текстовых документах, и стилями ячеек таблиц в электронных таблицах. Условные стили также поддерживаются стилями данных.

<define name="style-map">
    <element name="style:map">
        <ref name="style-map-attlist"/>
        <empty/>
    </element>
</define>

С элементом <style:map> могут быть связаны следующие атрибуты:

  • условие;
  • применяемый стиль;
  • адрес базовой ячейки.
Условие[править]

Атрибут style:condition определяет условие, при выполнения которого будет применяться соотнесение стилей.

Значением этого атрибута является логическое выражение. Синтаксис этого выражения сходен с синтаксисом Xpath. Если приложение обнаруживает не разделяющее однозначно условие, то игнорируется весь элемент <style:map>.

Для стилей абзацев применимы следующие условия:

  • list-level()=n, где n — число от 1 до 10;
  • outline-level()=n, где n — число от 1 до 10;
  • table() и table-header()
  • section()
  • header() и footer()
  • footnote() и endnote()

Для стилей ячеек применимы следующие условия:

  • is-true-formula(formula)
  • cell-content-is-between(value, value)
  • cell-content-is-not-between(value, value)
  • cell-content() operator value, где operator — один из: '<', '>', '<=', '>=', '=', '!=', и значение является numberValue, string или formula
  • numberValue — целое или десятичное число, число больше тысячи не может содержать десятичных знаков;
  • string — включает один или больше параметров, взятых в кавычки;
  • formula — это формула (см. раздел 8.1.3) без знака равенства (=) в начале.

Для стилей данных применимы следующие условия:

  • value() op n, где op — оператор отношения, n — число;
  • для логических стилей значениями условий могут быть true и false.

Условия, применяемые к различным типам стилей, могут различаться.

<define name="style-map-attlist" combine="interleave">
    <attribute name="style:condition">
        <ref name="string"/>
    </attribute>
</define>
Применяемый стиль[править]

Атрибут style:apply-style-name определяет, какой стиль будет применяться, если условие из атрибута style:condition имеет значение true. Если стиль, к которому происходит обращение, не определен или является автоматическим, то возникает ошибка.

<define name="style-map-attlist" combine="interleave">
    <attribute name="style:apply-style-name">
        <ref name="styleNameRef"/>
    </attribute>
</define>
Адрес базовой ячейки[править]

Для стилей ячеек таблиц атрибут style:base-cell-address определяет базовую ячейку для относительных адресов в формулах. Этот атрибут применяется только к тем стилям ячеек, где условие содержит формулу. Значение этого атрибута должно быть абсолютным адресом ячейки с именем таблицы.

<define name="style-map-attlist" combine="interleave">
  <optional>
    <attribute name="style:base-cell-address">
    <ref name="cellAddress"/>
    </attribute>
  </optional>
</define>

Пример — Соотнесение стилей:

<style:style style:name="Text body" style:family="paragraph"
             style:parent-style-name="Standard"
             style:next-style-name="Text body">
    <style:paragraph-properties fo:margin-top="0cm"
                                fo:margin-bottom=".21cm"/>
    <style:map style:condition="footnote"
               style:apply-style-name="footnote"/>
    <style:map style:condition="heading(1)"
               style:apply-style-name="Heading 1"/>
    <style:map style:condition="heading(2)"
               style:apply-style-name="Heading 2"/>
</style:style>

14.2 Стили по умолчанию[править]

Стиль по умолчанию устанавливает свойства форматирования по умолчанию для обязательного семейства стилей. Эти значения по умолчанию применяются, если свойство форматирования не определено ни автоматическим, ни общим стилем. Стили по умолчанию существуют для всех семейств стилей, представленных в элементе <style:style>, определенном в разделе 14.1.

Стили по умолчанию представляются элементом <style:default-style>. Единственный атрибут, поддерживаемый этим элементом — style:family. Его значение соответствует одноименному атрибуту элемента <style:style>, и те же свойства дочерних элементов поддерживаются им в зависимости от стиля семейства.

<define name="style-default-style">
    <element name="style:default-style">
        <ref name="style-style-content"/>
    </element>
</define>

14.3 Разметка страницы[править]

Элемент <style:page-layout> определяет физические свойства страницы. Этот элемент содержит элемент <style:page-layout-properties>, который определяет свойства форматирования страницы, и два дополнительных элемента, определяющих свойства нижних и верхних колонтитулов.

<define name="style-page-layout">
    <element name="style:page-layout">
        <ref name="style-page-layout-attlist"/>
        <optional>
            <ref name="style-page-layout-properties"/>
        </optional>
        <optional>
            <ref name="style-header-style"/>
        </optional>
        <optional>
            <ref name="style-footer-style"/>
        </optional>
    </element>
</define>

С элементом <style:page-layout> могут быть связаны следующие атрибуты:

  • имя;
  • использование страницы.

Имя[править]

Атрибут style:name определяет имя разметки страницы.

<define name="style-page-layout-attlist" combine="interleave">
    <attribute name="style:name">
        <ref name="styleName"/>
    </attribute>
</define>

Использование страницы[править]

Атрибут style:page-usage определяет тип страницы, которую должен создать мастер страницы.

<define name="style-page-layout-attlist" combine="interleave">
    <optional>
        <attribute name="style:page-usage" a:defaultValue="all">
            <choice>
                <value>all</value>
                <value>left</value>
                <value>right</value>
                <value>mirrored</value>
            </choice>
        </attribute>
    </optional>
</define>

14.3.1 Стили колонтитулов[править]

Элементы стиля верхнего и нижнего колонтитула <style:header-style> и <style:footer-style> определяют свойства форматирования колонтитулов на странице. Эти элементы должны содержаться внутри элемента разметки страницы. Содержимое элемента style:header-footer-properties> определяет свойства форматирования верхнего или нижнего колонтитула.

<define name="style-header-style">
    <element name="style:header-style">
        <optional>
            <ref name="style-header-footer-properties"/>
        </optional>
    </element>
</define>
<define name="style-footer-style">
    <element name="style:footer-style">
        <optional>
            <ref name="style-header-footer-properties"/>
        </optional>
    </element>
</define>

14.4 Мастер-страницы[править]

В текстовых документах и электронных таблицах элемент <style:master-page> включает содержимое верхних и нижних колонтитулов. В таких приложениях последовательность страниц генерируется путем использования отдельной мастер-страницы или набора мастер-страниц.

Для графических документов и презентаций элемент <style:master-page> используется для определения мастер-страниц как общего предка для графических страниц. Каждая графическая страница здесь непосредственно связана с одной мастер-страницей, указанной в атрибуте draw:master-page-name стиля графических страниц.

Мастер-страницы содержатся в элементе <office:master-styles> (см. также раздел 2.8).

Все документы должны содержать по крайней мере один элемент мастерстраницы.

<define name="style-master-page">
    <element name="style:master-page">
        <ref name="style-master-page-attlist"/>
        <optional>
            <ref name="style-header"/>
            <optional>
                <ref name="style-header-left"/>
            </optional>
        </optional>
        <optional>
            <ref name="style-footer"/>
            <optional>
                <ref name="style-footer-left"/>
            </optional>
        </optional>
        <optional>
            <ref name="office-forms"/>
        </optional>
        <zeroOrMore>
            <ref name="style-style"/>
        </zeroOrMore>
        <zeroOrMore>
            <ref name="shape"/>
        </zeroOrMore>
        <optional>
            <ref name="presentation-notes"/>
        </optional>
    </element>
</define>

С элементом <style:master-page> могут быть связаны следующие атрибуты:

  • имя страницы;
  • отображаемое имя;
  • разметка страницы;
  • стиль страницы;
  • имя следующего стиля.

В элемент <style:master-page> могут быть включены следующие элементы:

  • нижние и верхние колонтитулы;
  • формы;
  • стили;
  • фигуры;
  • заметки к презентации.

Имя страницы[править]

Атрибут style:name определяет имя мастер-страницы. Ссылаться на мастер-страницу можно через имя страницы. Требуется присутствие данного атрибута и уникальность имени.

<define name="style-master-page-attlist" combine="interleave">
    <attribute name="style:name">
        <ref name="styleName"/>
    </attribute>
</define>

Отображаемое имя[править]

Атрибут style:display-name определяет имя мастер-страницы, которое должно появиться в пользовательском интерфейсе. В отличие от имени стиля как такового, это имя может содержать произвольные символы. Если этот атрибут не указан, отображаемое имя совпадает с именем стиля.

<define name="style-master-page-attlist" combine="interleave">
    <optional>
        <attribute name="style:display-name">
            <ref name="string"/>
        </attribute>
    </optional>
</define>

14.3 Разметка страницы[править]

Атрибут style:page-layout-name определяет разметку страницы, которая включает размеры, обрамление и ориентацию мастер-страницы (см. раздел 14.3 для получения дополнительной информации о разметке страницы).

<define name="style-master-page-attlist" combine="interleave">
    <attribute name="style:page-layout-name">
        <ref name="styleNameRef"/>
    </attribute>
</define>

Стиль страницы[править]

В графических приложениях дополнительные атрибуты графических страниц могут быть присвоены графической странице с помощью атрибута draw:style-name. Данный атрибут является необязательным. Фиксированным семейством стилей страниц является drawing-page. Это используется для определения дополнительного исходного наполнения.

<define name="style-master-page-attlist" combine="interleave">
    <optional>
        <attribute name="draw:style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>

Имя следующего стиля[править]

Для текстовых документов и электронных таблиц атрибут style:next-style-name устанавливает мастер-страницу, использующуюся для следующей страницы, если текущая страница полностью заполнена. Данный атрибут является необязательным. Если имя следующего стиля не указано, текущая мастерстраница используется для следующей страницы. Значением этого атрибута должно быть имя другого элемента style:master-page.

<define name="style-master-page-attlist" combine="interleave">
    <optional>
        <attribute name="style:next-style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>

14.4.1 Колонтитулы[править]

Элементы верхнего и нижнего колонтитула определяют содержимое колонтитулов. Они содержатся внутри элемента мастер-страницы. Элементы <style:header> и <style:footer> включают содержимое верхнего и нижнего колонтитула. Два дополнительных элемента <style:header-left> и <style:footer-left> могут быть использованы для указания различий в оформлении левых страниц, если необходимо. Если последние два элемента отсутствуют, содержимое колонтитулов на левой и правой странице будет одинаковым.

Если атрибут style:page-usage, связанный с разметкой страницы, имеет значение all или mirrored и отсутствуют элементы <style:header-left> и <style:footer-left>, то содержимое колонтитулов одинаково на левой и правой странице.

Если атрибут style:page-usage имеет значение left или right, то элементы <style:header-left> и <style:footer-left> игнорируются.

Содержимое колонтитулов может быть трех видов:

  • Стандартное текстовое содержимое, например абзацы, таблицы или списки. Такие колонтитулы обычно поддерживаются текстовыми документами.
  • Последовательность любых элементов из перечисленных: <style:region-left>, <style:region-center>, <style:region-right>. Такие колонтитулы обычно поддерживаются в электронных таблицах.
  • Пустым, что отключает отображение всех колонтитулов. Невозможно отключить отображение колонтитулов только на левых страницах.
<define name="style-header">
    <element name="style:header">
        <ref name="common-style-header-footer-attlist"/>
        <ref name="header-footer-content"/>
    </element>
</define>
<define name="style-footer">
  <element name="style:footer">
    <ref name="common-style-header-footer-attlist"/>
    <ref name="header-footer-content"/>
  </element>
</define>
<define name="style-header-left">
    <element name="style:header-left">
        <ref name="common-style-header-footer-attlist"/>
        <ref name="header-footer-content"/>
    </element>
</define>
<define name="style-footer-left">
    <element name="style:footer-left">
        <ref name="common-style-header-footer-attlist"/>
        <ref name="header-footer-content"/>
    </element>
</define>
<define name="header-footer-content">
    <choice>
        <group>
            <ref name="text-decls"/>
            <zeroOrMore>
                <choice>
                    <ref name="text-h"/>
                    <ref name="text-p"/>
                    <ref name="text-list"/>
                    <ref name="table-table"/>
                    <ref name="text-section"/>
                    <ref name="text-table-of-content"/>
                    <ref name="text-illustration-index"/>
                    <ref name="text-table-index"/>
                    <ref name="text-object-index"/>
                    <ref name="text-user-index"/>
                    <ref name="text-alphabetical-index"/>
                    <ref name="text-bibliography"/>
                    <ref name="text-index-title"/>
                    <ref name="change-marks"/>
                </choice>
            </zeroOrMore>
        </group>
        <group>
            <optional>
                <ref name="style-region-left"/>
            </optional>
            <optional>
                <ref name="style-region-center"/>
            </optional>
            <optional>
                <ref name="style-region-right"/>
            </optional>
        </group>
    </choice>
</define>
Отображение[править]

Атрибут style:display определяет, отображаются ли колонтитулы.

<define name="common-style-header-footer-attlist" combine="interleave">
    <optional>
        <attribute name="style:display" a:defaultValue="true">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>
Области[править]

Элементы областей <style:region-left>, <style:region-center> и <style:region-right> определяют три области колонтитула, которые выравниваются по левому краю, по центру или по правому краю. Каждый из этих участков может содержать последовательность абзацев.

<define name="style-region-left">
    <element name="style:region-left">
        <ref name="region-content"/>
    </element>
</define>
<define name="style-region-center">
    <element name="style:region-center">
        <ref name="region-content"/>
    </element>
</define>
<define name="style-region-right">
    <element name="style:region-right">
        <ref name="region-content"/>
    </element>
</define>

<define name="region-content">
    <zeroOrMore>
        <ref name="text-p"/>
    </zeroOrMore>
</define>

14.4.2 Заметки к презентации[править]

Элемент <presentation:notes> обычно поддерживается только приложениями презентаций, в которых каждая мастер-страница и графическая страница могут иметь дополнительную страницу заметок.

Страница заметок к презентации содержит следующее.

  • Уменьшенное изображение графической страницы.
  • Дополнительные графические формы из содержащихся в элементе <presentation:notes>. Несмотря на то, что элемент <presentation:notes> может содержать любой тип формы, приложения презентаций поддерживают только текстовые блоки (т. е. <draw:text-box>, содержащийся в <draw:frame>).
<define name="presentation-notes">
    <element name="presentation:notes">
        <ref name="common-presentation-header-footer-attlist"/>
        <ref name="presentation-notes-attlist"/>
        <zeroOrMore>
            <ref name="shape"/>
        </zeroOrMore>
    </element>
</define>
Разметка страницы[править]

Атрибут style:page-layout-name определяет разметку страницы, которая включает размеры, границы и расположение страниц заметок (см. раздел 14.3 для получения дополнительной информации о разметке страниц).

<define name="presentation-notes-attlist" combine="interleave">
    <optional>
        <attribute name="style:page-layout-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>
Стиль страницы[править]

Атрибут draw:style-name присваивает странице с заметками дополнительные форматирующие атрибуты путем назначения стиля графической страницы. Этот атрибут не является обязательным. Фиксированное семейство для стиля страниц — drawing-page.

<define name="presentation-notes-attlist" combine="interleave">
    <optional>
        <attribute name="draw:style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>
Объявление верхнего колонтитула[править]

Атрибут presentation:use-header-name определяет имя объявления поля верхнего колонтитула (см. раздел 9.11.2), который используется для всех полей верхнего колонтитула (см. раздел 9.10.1), представленных на странице с заметками (см. также раздел 9.1.4).

Объявление нижнего колонтитула[править]

Атрибут presentation:use-footer-name определяет имя объявления поля нижнего колонтитула (см. раздел 9.11.2), который используется для всех полей нижнего колонтитула (см. раздел 9.10.1), представленных на странице примечаний (см. также раздел 9.1.4).

Объявление даты и времени[править]

Атрибут presentation:use-date-time-name определяет имя объявления поля дата-время (см. раздел 9.11.4), которое используется во всех полях дата-время (см. раздел 9.10.3), представленных на странице заметок (см. также раздел 9.1.4).

Пример — Мастер-страница, содержащая заметки к презентации:

<office:master-styles>
    ...
    <style:master-page style:name="home" style:page-layout="default">
    <style:style style:name="title" style:family="presentation">
        <style:text-properties fo:font-style="italic"/>
    </style:style>
    <style:style style:name="subtitle" style:family="presentation"
                 style:parent-style-name="title">
        <style:text-properties style:text-outline="true"/>
    </style:style>
    <draw:rectangle .../>
        <presentation:notes>
            <draw:text ...>this is a note</draw:text>
        </presentation:notes>
    </style:master-page>
    ...
</office:master-styles>

14.5 Шаблоны таблиц[править]

Шаблон таблицы — это набор форматирующих свойств, таких как обрамление, цвет фона и свойств текста, которые могут применяться во время создания таблицы. В отличие от других стилей, не таблица ссылается на стиль, а при создании таблицы набор стилей ее ячеек берется из шаблона таблицы. Чтобы изменить форматирующие свойства таблицы, нужно изменить непосредственно стили ячеек и другие стили. Шаблоны таблиц содержатся в элементе <style:master-styles>.

<define name="table-table-template">
    <element name="table:table-template">
        <ref name="table-table-template-attlist"/>
        <optional>
            <ref name="table-first-row"/>
        </optional>
        <optional>
            <ref name="table-last-row"/>
        </optional>
        <optional>
            <ref name="table-first-column"/>
        </optional>
        <optional>
            <ref name="table-last-column"/>
        </optional>
        <choice>
            <ref name="table-body"/>
            <group>
                <ref name="table-even-rows"/>
                <ref name="table-odd-rows"/>
            </group>
            <group>
                <ref name="table-even-columns"/>
                <ref name="table-odd-columns"/>
            </group>
        </choice>
    </element>
</define>

Имя стиля[править]

Атрибут table:name определяет имя шаблона таблицы.

<define name="table-table-template-attlist" combine="interleave">
    <attribute name="text:name">
        <ref name="string"/>
    </attribute>
</define>

Стили углов[править]

Атрибуты table:first-row-start-column, table:first-row-end-column, table:last-row-start-column и table:last-row-end-column определяют, какой стиль должны получить ячейки в четырех углах таблицы — от столбца или от строки, в которых они находятся. Возможными значениями этих атрибутов являются row и column.

<define name="table-table-template-attlist" combine="interleave">
    <attribute name="text:first-row-start-column">
    <ref name="rowOrCol"/>
    </attribute>
</define>

<define name="table-table-template-attlist" combine="interleave">
    <attribute name="text:first-row-end-column">
        <ref name="rowOrCol"/>
    </attribute>
</define>

<define name="table-table-template-attlist" combine="interleave">
    <attribute name="text:last-row-start-column">
        <ref name="rowOrCol"/>
    </attribute>
</define>

<define name="table-table-template-attlist" combine="interleave">
    <attribute name="text:last-row-end-column">
        <ref name="rowOrCol"/>
    </attribute>
</define>

<define name="rowOrCol">
    <choice>
        <value>row</value>
        <value>column</value>
    </choice>
</define>

14.5.1 Стили строк и столбцов[править]

Элементы <table:first-row> и <table:last-row> определяют стили ячеек, которые должны применяться к первой и последней строкам таблицы. Они содержат атрибут table:style-name, который ссылается на эти стили. Элементы <table:first-col> и <table:last-col> делают то же самое для первого и последнего столбцов. Стили остальных ячеек могут определяться элементом <table:body> или одной из пар элементов — <table:even-rows>/<table:odd-rows> или <table:even-columns>/<table:odd-columns>, если различные стили должны применяться к четным и нечетным строкам или столбцам.

<define name="table-first-row">
    <element name="table:first-row">
        <ref name="common-table-template-attlist"/>
        <empty/>
    </element>
</define>

<define name="table-last-row">
    <element name="table:last-row">
        <ref name="common-table-template-attlist"/>
        <empty/>
    </element>
</define>

<define name="table-first-column">
    <element name="table:first-column">
        <ref name="common-table-template-attlist"/>
        <empty/>
    </element>
</define>

<define name="table-last-column">
    <element name="table:last-column">
        <ref name="common-table-template-attlist"/>
        <empty/>
    </element>
</define>

<define name="table-body">
    <element name="table:body">
        <ref name="common-table-template-attlist"/>
        <empty/>
    </element>
</define>

<define name="table-even-rows">
    <element name="table:even-rows">
        <ref name="common-table-template-attlist"/>
        <empty/>
    </element>
</define>

<define name="table-odd-rows">
    <element name="table:odd-rows">
        <ref name="common-table-template-attlist"/>
        <empty/>
    </element>
</define>

<define name="table-even-columns">
    <element name="table:even-columns">
        <ref name="common-table-template-attlist"/>
        <empty/>
    </element>
</define>

<define name="table-odd-columns">
    <element name="table:odd-columns">
        <ref name="common-table-template-attlist"/>
        <empty/>
    </element>
</define>

<define name="common-table-template-attlist" combine="interleave">
    <attribute name="text:style-name">
        <ref name="styleNameRef"/>
    </attribute>
</define>

14.6 Объявление начертания шрифта[править]

Объявление начертания шрифта в OpenDocument в точности соответствует @font-face описанию шрифта в [CSS2] (см. § 15.3.1) и <font-face> элементу в [SVG] (см. § 20.8.3), но имеет два следующих расширения.

  • Объявления начертания шрифта в OpenDocument необязательно может иметь уникальное название. Это название может быть использовано в стилях (т. е. как атрибут элемента <style:text-properties>) как значение атрибута style:font-name для непосредственного выбора объявления начертания шрифта. Если на объявление начертания шрифта ссылаются таким образом, то шаги описанного в § 15.5 [CSS2] алгоритма поиска совпадения для выбора объявления шрифта, основанного на дескрипторах font-family, font-style, font-variant, font-weight и font-size, не будут выполнены, а будет использоваться объявление начертания шрифта, заданное непосредственно.
  • Существует несколько дополнительных атрибутов дескриптора шрифта.

Их назначение раскрыто ниже.

С исключениями, приведенными ранее, соответствующие приложения должны реализовывать алгоритм CSS2 поиска совпадения шрифта, как описано в § 15.5 [CSS2], но они могут также реализовывать его варианты. Главным образом дана возможность реализовывать алгоритм поиска совпадения шрифта, основанного только на объявлении начертания шрифта, то есть поиск совпадения шрифта не применяется к каждому символу независимо, а только однажды для каждого объявления вида шрифта. Это полезно для приложений, связанных с редактированием, где поиск совпадения, основанный на символах, может быть слишком ресурсоемким.

<define name="style-font-face">
    <element name="style:font-face">
        <ref name="style-font-face-attlist"/>
        <optional>
            <ref name="svg-font-face-src"/>
        </optional>
        <optional>
            <ref name="svg-definition-src"/>
        </optional>
    </element>
</define>

14.6.1 Дескрипторы шрифта CSS2/SVG[править]

Объявления начертания шрифта поддерживают атрибуты и элементы дескриптора шрифта, описанные в § 20.8.3 [SVG].

<define name="style-font-face-attlist" combine="interleave">
    <optional>
        <attribute name="svg:font-family">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:font-style">
            <ref name="fontStyle"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:font-variant">
            <ref name="fontVariant"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:font-weight">
            <ref name="fontWeight"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:font-stretch">
            <choice>
                <value>normal</value>
                <value>ultra-condensed</value>
                <value>extra-condensed</value>
                <value>condensed</value>
                <value>semi-condensed</value>
                <value>semi-expanded</value>
                <value>expanded</value>
                <value>extra-expanded</value>
                <value>ultra-expanded</value>
            </choice>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:font-size">
            <ref name="positiveLength"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:unicode-range"/>
    </optional>
    <optional>
        <attribute name="svg:units-per-em">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:panose-1"/>
    </optional>
    <optional>
        <attribute name="svg:stemv">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:stemh">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:slope">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:cap-height">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:x-height">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:accent-height">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:ascent">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:descent">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:widths"/>
    </optional>
    <optional>
        <attribute name="svg:bbox"/>
    </optional>
    <optional>
        <attribute name="svg:ideographic">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:alphabetic">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:mathematical">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:hanging">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:v-ideographic">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:v-alphabetic">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:v-mathematical">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:v-hanging">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:underline-position">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:underline-thickness">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:strikethrough-position">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:strikethrough-thickness">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:overline-position">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:overline-thickness">
            <ref name="integer"/>
        </attribute>
    </optional>
</define>

<define name="svg-font-face-src">
    <element name="svg:font-face-src">
        <oneOrMore>
            <choice>
                <ref name="svg-font-face-uri"/>
                <ref name="svg-font-face-name"/>
            </choice>
        </oneOrMore>
    </element>
</define>

<define name="svg-font-face-uri">
    <element name="svg:font-face-uri">
        <ref name="common-svg-font-face-xlink-attlist"/>
        <zeroOrMore>
            <ref name="svg-font-face-format"/>
        </zeroOrMore>
    </element>
</define>

<define name="svg-font-face-format">
    <element name="svg:font-face-format">
        <optional>
            <attribute name="svg:string"/>
        </optional>
        <empty/>
    </element>
</define>
<define name="svg-font-face-name">
    <element name="svg:font-face-name">
        <optional>
            <attribute name="name"/>
        </optional>
        <empty/>
    </element>
</define>

<define name="svg-definition-src">
    <element name="svg:definition-src">
        <ref name="common-svg-font-face-xlink-attlist"/>
        <empty/>
    </element>
</define>

<define name="common-svg-font-face-xlink-attlist" combine="interleave">
    <attribute name="xlink:href">
        <ref name="anyURI"/>
    </attribute>
    <optional>
        <attribute name="xlink:type" a:defaultValue="simple">
            <value>simple</value>
        </attribute>
    </optional>
    <optional>
        <attribute name="xlink:actuate" a:defaultValue="onRequest">
            <value>onRequest</value>
        </attribute>
    </optional>
</define>

14.6.2 Имя[править]

Атрибут style:name определяет уникальное имя объявления шрифта. Это имя может быть использовано в стилях (т. е. как атрибут элемента <style:text-properties>) как значение атрибута style:font-name для непосредственного выбора объявления начертания шрифта

<define name="style-font-face-attlist" combine="interleave">
    <attribute name="style:name">
        <ref name="string"/>
    </attribute>
</define>

14.6.3 Начертание[править]

Атрибуты style:font-adornments определяют начертание, такое как полужирный или курсив, которое может использоваться для классификации шрифта в дополнение к названию семейства.

<define name="style-font-face-attlist" combine="interleave">
    <optional>
        <attribute name="style:font-adornments">
            <ref name="string"/>
        </attribute>
    </optional>
</define>

14.6.4 Общее семейство шрифта[править]

Атрибут style:font-family-generic определяет имя общего семейства шрифта (см. раздел 15.4.15 для получения подробной информации).

<define name="style-font-face-attlist" combine="interleave">
    <optional>
        <attribute name="style:font-family-generic">
            <ref name="fontFamilyGeneric"/>
        </attribute>
    </optional>
</define>

14.6.5 Шаг шрифта[править]

Атрибут style:font-pitch определяет какой будет ширина шрифта: фиксированной или варьируемой (см. раздел 15.4.17 для получения подробной информации).

<define name="style-font-face-attlist" combine="interleave">
    <optional>
        <attribute name="style:font-pitch">
            <ref name="fontPitch"/>
        </attribute>
    </optional>
</define>
 

14.6.6 Набор символов шрифта[править]

Атрибут style:font-charset определяет набор символов шрифта (см. раздел 15.4.18 для получения подробной информации).

<define name="style-font-face-attlist" combine="interleave">
    <optional>
        <attribute name="style:font-charset">
            <ref name="textEncoding"/>
        </attribute>
    </optional>
</define>

14.7 Стили данных[править]

Стили данных описывают, как отображать различные типы данных, например числа или даты. Элементы и атрибуты, которые используются для представления стилей данных, содержатся в пространстве имен urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0. Префикс number обозначает пространство имен стилей данных.

Эти секции описывают представление в OpenDocument следующих стилей данных:

  • числовой стиль;
  • валютный стиль;
  • процентный стиль;
  • стиль даты;
  • логический стиль;
  • текстовый стиль.

14.7.1 Числовой стиль[править]

Элемент <number:number-style> описывает стиль десятичных чисел.

Этот элемент может содержать один из следующих элементов:

  • <number:number>
  • <number:scientific-number>
  • <number:fraction>

Эти элементы описывают формат отображения числа. Элементы могут стоять до или после элементов <number:text>, содержащих любой дополнительный текст, который должен быть отображен до или после числа.

Помимо этого, данный элемент может содержать элемент <style:text-properties> и элемент <style:map>.

<define name="number-number-style">
    <element name="number:number-style">
        <ref name="common-data-style-attlist"/>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
        <optional>
            <ref name="number-text"/>
        </optional>
        <optional>
            <ref name="any-number"/>
            <optional>
                <ref name="number-text"/>
            </optional>
        </optional>
        <zeroOrMore>
            <ref name="style-map"/>
        </zeroOrMore>
    </element>
</define>

<define name="any-number">
    <choice>
        <ref name="number-number"/>
        <ref name="number-scientific-number"/>
        <ref name="number-fraction"/>
    </choice>
</define>

Для получения информации об атрибутах, которые могут быть связаны с элементами числового стиля, см. раздел 14.7.9.

В элементе <number:number-style> могут содержаться следующие элементы:

  • число;
  • число в научном формате;
  • дробь.
Число[править]

Элемент <number:number> определяет свойства отображения для десятичных чисел.

Этот элемент содержится в элементе <number:number-style>. Элемент <number:number> может содержать множество повторяющихся элементов <number:embedded-text>.

Атрибуты number:decimal-replacement и number:display-factor могут быть использованы с этим элементом. Для получения подробной информации о дополнительных атрибутах, которые могут быть связаны с элементом <number:number>, см. раздел 14.7.11.

<define name="number-number">
    <element name="number:number">
        <ref name="number-number-attlist"/>
        <ref name="common-decimal-places-attlist"/>
        <ref name="common-number-attlist"/>
        <zeroOrMore>
            <ref name="number-embedded-text"/>
        </zeroOrMore>
    </element>
</define>
Замещение в десятичных дробях[править]

Если числовой стиль определяет, что десятичная точка используется, но отображаемое число является целым, тогда замещающий текст может быть отображен вместо десятичной точки. Атрибут number:decimal-replacement определяет замещающий текст.

Некоторые приложения могут поддерживать только такой замещающий текст, который состоит из того же числа символов «-», как и число разрядов.

<define name="number-number-attlist" combine="interleave">
    <optional>
        <attribute name="number:decimal-replacement"/>
    </optional>
</define>
Множитель отображения[править]

Атрибут number:display-factor определяет множитель, показывающий, во сколько раз будет увеличиваться (уменьшаться) каждое число перед отображением. Например, с помощью множителя 1000 числа будут отображаться в тысячах.

Некоторые приложения могут поддерживать множители отображения только равные 1000 и ее целочисленным степеням: 1, 1000, 1000000, 1000000000 и т. д.

<define name="number-number-attlist" combine="interleave">
    <optional>
        <attribute name="number:display-factor" a:defaultValue="1">
            <ref name="double"/>
        </attribute>
    </optional>
</define>
Внедренный текст[править]

Элемент <number:embedded-text> определяет текст, который отображается на одной определенной позиции внутри числа. Этот элемент отличается от группирующего разделителя, который появляется несколько раз внутри числа.

Этот элемент содержится в элементе <number:number>. Элемент <number:number> может содержать множество повторяющихся элементов <number:embedded-text> для изображения текста в различных позициях числа.

<define name="number-embedded-text">
    <element name="number:embedded-text">
        <ref name="number-embedded-text-attlist"/>
        <text/>
    </element>
</define>

Атрибут number:position устанавливает позицию, в которой будет показан текст.

Атрибут позиции[править]

Позиция отсчитывается справа налево, от предшествующих десятичной точке, если она есть, или в противном случае от конца числа. Например, позиция 1 в числе показывает, что текст будет вставлен до последней цифры, позиция 2 показывает, что текст будет вставлен до предпоследней цифры, и т. д.

<define name="number-embedded-text-attlist" combine="interleave">
    <attribute name="number:position">
        <ref name="integer"/>
    </attribute>
</define>
Число в научном формате[править]

Элемент <number:scientific-number> определяет свойства отображения для числа, которое в соответствии со стилем должно отображаться в научном формате.

Этот элемент содержится в элементе <number:number-style>.

Атрибут number:min-exponent-digits может быть использован с этим элементом. Для получения информации о дополнительных атрибутах, которые могут быть связаны с элементом <number:scientific-number>, см. раздел 14.7.11.

<define name="number-scientific-number">
    <element name="number:scientific-number">
        <ref name="number-scientific-number-attlist"/>
        <ref name="common-decimal-places-attlist"/>
        <ref name="common-number-attlist"/>
        <empty/>
    </element>
</define>
Минимальное число цифр в экспоненте[править]

Атрибут number:min-exponent-digits определяет минимальное число цифр, используемых для отображения экспоненты. Этот атрибут поддерживается для элемента <number:scientific-number>.

<define name="number-scientific-number-attlist" combine="interleave">
    <optional>
        <attribute name="number:min-exponent-digits">
            <ref name="integer"/>
        </attribute>
    </optional>
</define>
Дробь[править]

Элемент <number:fraction> определяет свойства отображения для числового стиля, который должен отображаться как дробь.

Этот элемент содержится в элементе <number:number-style>.

Атрибуты number:min-numerator-digits и number:min-denominator-digits могут быть использованы с этим элементом. Для получения информации о атрибутах, которые могут быть связаны с элементами <number:fraction>, см. раздел 14.7.11.

<define name="number-fraction">
    <element name="number:fraction">
        <ref name="number-fraction-attlist"/>
        <ref name="common-number-attlist"/>
        <empty/>
    </element>
</define>
Минимальное количество цифр в числителе[править]

Атрибут number:min-numerator-digits определяет минимальное число цифр, которые используются для отображения числителя дроби.

<define name="number-fraction-attlist" combine="interleave">
    <optional>
        <attribute name="number:min-numerator-digits">
            <ref name="integer"/>
        </attribute>
    </optional>
</define>
Минимальное количество цифр в знаменателе[править]

Атрибут number:min-denominator-digits определяет минимальное число цифр, которые используются для отображения знаменателя дроби.

<define name="number-fraction-attlist" combine="interleave">
    <optional>
        <attribute name="number:min-denominator-digits">
            <ref name="integer"/>
        </attribute>
    </optional>
</define>
Значение знаменателя[править]

Атрибут number:denominator-value определяет целое число, которое используется как знаменатель дроби. Если этот атрибут не установлен, то приложение может выбрать некоторое случайное значение знаменателя.

<define name="number-fraction-attlist" combine="interleave">
    <optional>
        <attribute name="number:denominator-value">
            <ref name="integer"/>
        </attribute>
    </optional>
</define>

14.7.2 Валютный стиль[править]

Элемент <number:currency-style> описывает стиль для валютных значений.

Этот элемент может содержать один элемент <number:number> и один элемент <number:currency-symbol>. Он также может содержать элемент <number:text>, который выводит дополнительный текст, но он не может содержать два этих элемента подряд.

Кроме того, этот элемент может содержать элемент <style:text-properties> и элемент <style:map>.

<define name="number-currency-style">
    <element name="number:currency-style">
        <ref name="common-data-style-attlist"/>
        <ref name="common-auto-reorder-attlist"/>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
        <optional>
            <ref name="number-text"/>
        </optional>
        <optional>
            <choice>
                <group>
                    <ref name="number-and-text"/>
                    <optional>
                        <ref name="currency-symbol-and-text"/>
                    </optional>
                </group>
                <group>
                    <ref name="currency-symbol-and-text"/>
                    <optional>
                        <ref name="number-and-text"/>
                    </optional>
                </group>
            </choice>
        </optional>
        <zeroOrMore>
            <ref name="style-map"/>
        </zeroOrMore>
    </element>
</define>

<define name="currency-symbol-and-text">
    <ref name="number-currency-symbol"/>
    <optional>
        <ref name="number-text"/>
    </optional>
</define>
<define name="number-and-text">
    <ref name="number-number"/>
    <optional>
        <ref name="number-text"/>
    </optional>
</define>

Для получения информации об атрибутах, которые могут быть связаны с элементами числовых стилей, см. раздел 14.7.9.

Следующие элементы могут содержаться в элементе <number:currency-style>:

Символ валюты[править]

Элемент <number:currency-symbol> определяет, отображен ли символ валюты для отображения в валютном стиле.

Содержимое этого элемента — это текст, который отображается как символ валюты. Если элемент пуст или содержит только пробельные символы, тогда будет отображен символ валюты по умолчанию для валютного стиля или языка и страны.

Этот элемент содержится в элементе <number:currency-style>.

<define name="number-currency-symbol">
    <element name="number:currency-symbol">
        <ref name="number-currency-symbol-attlist"/>
        <text/>
    </element>
</define>

Атрибуты number:language и number:country могут быть использованы для установки языка и страны символа валюты. Для получения информации об остальных атрибутах, которые могут быть связаны с элементами валютного стиля, см. раздел 14.7.11.

Атрибуты валюты языка и страны[править]

Если символ валюты, содержащийся в валютном стиле, принадлежит отличающимся от самого валютного стиля языку или стране, то атрибуты number:language и number:country могут быть использованы, чтобы установить язык и страну символа валюты.

<define name="number-currency-symbol-attlist" combine="interleave">
    <optional>
        <attribute name="number:language">
            <ref name="languageCode"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="number:country">
            <ref name="countryCode"/>
        </attribute>
    </optional>
</define>

14.7.3 Процентный стиль[править]

Элемент <number:percentage-style> определяет стиль процентных значений.

Этот элемент может содержать один элемент <number:number>, который описывает формат отображения для процентов. До или поле элемента могут находиться элементы <number:text>, которые содержат любой дополнительный текст, отображаемый до или после процентов. Некоторые приложения требуют, чтобы как минимум один элемент <number:text> существовал, и его текст должен содержать символ «%».

Помимо этого, элемент <number:percentage-style> может содержать элемент <style:text-properties> и элемент <style:map>.

<define name="number-percentage-style">
    <element name="number:percentage-style">
        <ref name="common-data-style-attlist"/>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
        <optional>
            <ref name="number-text"/>
        </optional>
        <optional>
            <ref name="number-and-text"/>
        </optional>
        <zeroOrMore>
            <ref name="style-map"/>
        </zeroOrMore>
    </element>
</define>

Для получения информации об атрибутах, которые могут быть связаны с элементом процентного стиля, см. раздел 14.7.9.

14.7.4 Стиль даты[править]

Элемент <number:date-style> определяет стиль для значений типа дата.

Этот элемент может содержать один экземпляр каждого из следующих элементов: <number:day>, <number:month>, <number:year>, <number:era>, <number:day-of-week>, <number:week-of-year>, <number:quarter>, <number:hours>, <number:minutes>, <number:seconds> и <number:am-pm>.

Элемент <number:date-style> может также содержать элементы <number:text>, которые отображают дополнительный текст, но он не может содержать два этих элемента подряд. Кроме того, он может содержать элементы <style:text-properties> и <style:map>.

<define name="number-date-style">
    <element name="number:date-style">
        <ref name="common-data-style-attlist"/>
        <ref name="common-auto-reorder-attlist"/>
        <ref name="common-format-source-attlist"/>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
        <!-- This DTD does not reflect the fact that some elements must not -->
        <!-- occur more than once. -->
        <optional>
            <ref name="number-text"/>
        </optional>
        <oneOrMore>
            <ref name="any-date"/>
            <optional>
                <ref name="number-text"/>
            </optional>
        </oneOrMore>
        <zeroOrMore>
            <ref name="style-map"/>
        </zeroOrMore>
    </element>
</define>

<define name="any-date">
    <choice>
        <ref name="number-day"/>
        <ref name="number-month"/>
        <ref name="number-year"/>
        <ref name="number-era"/>
        <ref name="number-day-of-week"/>
        <ref name="number-week-of-year"/>
        <ref name="number-quarter"/>
        <ref name="number-hours"/>
        <ref name="number-am-pm"/>
        <ref name="number-minutes"/>
        <ref name="number-seconds"/>
    </choice>
</define>

Для получения информации об атрибутах, которые могут быть связаны с элементами стиля даты, см. раздел 14.7.9.

Элемент <number:date-style> может содержать следующие элементы:

  • <number:day> — день месяца;
  • <number:month> — месяц;
  • <number:year> — год;
  • <number:era> — эра;
  • <number:day-of-week> — день недели;
  • <number:week-of-year> — неделя года;
  • <number:quarter> — квартал.
День месяца[править]

Элемент <number:day> определят день месяца в дате.

Если этот элемент используется, он должен быть включен в элемент <number:date-style>.

<define name="number-day">
    <element name="number:day">
        <ref name="number-day-attlist"/>
        <ref name="common-calendar-attlist"/>
        <empty/>
    </element>
</define>

Атрибут number:style может быть использован с этим элементом. Для получения информации об атрибутах, которые могут быть связаны с этим элементом, см. раздел 14.7.11.

Атрибут формата[править]

Атрибут number:style устанавливает, в каком из двух форматов, кратком или полном, отображается элемент дня месяца. Значение этого атрибута может быть short или long. Смысл этих значений зависит от значения атрибута number:format-source, который присоединен к стилю даты.

Если значения атрибута number:format-source для дней равно fixed, то:

  • short означает, что день месяца отображается с использованием одной или двух цифр;
  • long означает, что день месяца отображается с использованием двух цифр.
<define name="number-day-attlist" combine="interleave">
    <optional>
        <attribute name="number:style" a:defaultValue="short">
            <choice>
                <value>short</value>
                <value>long</value>
            </choice>
        </attribute>
    </optional>
</define>
Месяц[править]

Элемент <number:month> определяет месяц в дате.

Если этот элемент используется, то он должен быть включен в элемент <number:date-style>.

<define name="number-month">
    <element name="number:month">
        <ref name="number-month-attlist"/>
        <ref name="common-calendar-attlist"/>
        <empty/>
    </element>
</define>

Атрибуты number:textual и number:style могут быть использованы с этим элементом. Для получения информации об атрибутах, которые могут быть связаны с этим элементом, см. раздел 14.7.11.

Атрибут текстового представления[править]

Атрибут number:textual определяет, как отображается элемент месяц даты: либо как название, либо как номер. Если значение этого атрибута true, то название месяца будет отображено. Если значение атрибута false, то будет отображен номер месяца.

<define name="number-month-attlist" combine="interleave">
    <optional>
        <attribute name="number:textual" a:defaultValue="false">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>
Атрибут притяжательной формы[править]

Атрибут number:possessive-form определяет, как месяц будет отображен: либо как есть (например «17 January 2004»), либо в притяжательной форме (например «17th day of January»). Если значение этого атрибута true, то название месяца будет отображено в притяжательной форме. Если значение атрибута false, то месяц будет отображен как есть.

<define name="number-month-attlist" combine="interleave">
    <optional>
        <attribute name="number:possessive-form" a:defaultValue="false">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>
Атрибут формата[править]

Атрибут number:style определяет, в каком из двух форматов, кратком или полном, будет отображен элемент месяца. Значение этого атрибута может быть short или long. Смысл этих значений зависит от атрибута number:format-source, который присоединен к стилю даты.

Если значение атрибута number:format-source для месяцев равно fixed, то:

  • short означает, что сокращенное название месяца будет отображено или месяц будет отображен с использованием одной или двух цифр;
  • long означает, что полное название месяца будет отображено или месяц будет отображен с использованием двух цифр.
<define name="number-month-attlist" combine="interleave">
    <optional>
        <attribute name="number:style" a:defaultValue="short">
            <choice>
                <value>short</value>
                <value>long</value>
            </choice>
        </attribute>
    </optional>
</define>
Год[править]

Элемент <number:year> определяет год в дате.

Если этот элемент используется, то он должен быть включен в элемент <number:date-style>.

<define name="number-year">
    <element name="number:year">
        <ref name="number-year-attlist"/>
        <ref name="common-calendar-attlist"/>
        <empty/>
    </element>
</define>

Атрибут number:style может быть использован с этим элементом. Для получения информации об атрибутах, которые могут быть связаны с этим элементом, см. раздел 14.7.11.

Атрибут формата[править]

Атрибут number:style определяет, в каком из двух форматов, кратком или полном, будет отображен элемент года. Значение этого атрибута может быть short или long. Смысл этих значений зависит от атрибута number:format-source, который присоединен к стилю даты.

Если значение атрибута number:format-source для лет равно fixed, то:

  • short означает, что год будет отображен с использованием двух цифр;
  • long означает, что год будет отображен с использованием четырех цифр.
<define name="number-year-attlist" combine="interleave">
    <optional>
        <attribute name="number:style" a:defaultValue="short">
            <choice>
                <value>short</value>
                <value>long</value>
            </choice>
        </attribute>
    </optional>
</define>
Эра[править]

Элемент <number:era> определяет эру, в которой считаются годы.

Если этот элемент используется, то он должен быть включен в элемент <number:date-style>.

<define name="number-era">
    <element name="number:era">
        <ref name="number-era-attlist"/>
        <ref name="common-calendar-attlist"/>
        <empty/>
    </element>
</define>

Атрибут number:style может использоваться с этим элементом. Для получения информации об атрибутах, которые могут быть связаны с этим элементом, см. раздел 14.7.11.

Атрибут формата[править]

Атрибут number:style определяет, в каком из двух форматов, кратком или полном, будет отображен элемент эры. Значение этого атрибута может быть short или long. Смысл этих значений зависит от значения атрибута number:format-source, который присоединен к стилю даты.

Если значение атрибута number:format-source для эры равно fixed, то:

  • short означает, что используется сокращенное название эры;
  • long означает, что используется полное название эры.
<define name="number-era-attlist" combine="interleave">
    <optional>
        <attribute name="number:style" a:defaultValue="short">
            <choice>
                <value>short</value>
                <value>long</value>
            </choice>
        </attribute>
    </optional>
</define>
День недели[править]

Элемент <number:day-of-week> определяет день недели в дате.

Если этот элемент используется, он должен быть включен в элемент <number:date-style>.

<define name="number-day-of-week">
    <element name="number:day-of-week">
        <ref name="number-day-of-week-attlist"/>
        <ref name="common-calendar-attlist"/>
        <empty/>
    </element>
</define>

Атрибут number:style может использоваться с этим элементом. Для получения информации об атрибутах, которые могут быть связаны с этим элементом, см. раздел 14.7.11.

Атрибут формата[править]

Атрибут number:style определяет в каком из двух форматов, коротком или полном, будет отображен элемент дня недели.

Значение атрибута может быть short или long. Смысл этих значений зависит от значения атрибута number:format-source, который присоединен к стилю даты.

Если значение атрибута number:format-source для дня недели равно fixed, то:

  • short означает, что будет отображено сокращенное название дня;
  • long означает, что будет отображено полное название дня.
<define name="number-day-of-week-attlist" combine="interleave">
    <optional>
        <attribute name="number:style" a:defaultValue="short">
            <choice>
                <value>short</value>
                <value>long</value>
            </choice>
        </attribute>
    </optional>
</define>
Неделя года[править]

Элемент <number:week-of-year> определяет неделю года в дате.

Если этот элемент используется, он должен быть включен в элемент <number:date-style>.

<define name="number-week-of-year">
    <element name="number:week-of-year">
        <ref name="common-calendar-attlist"/>
        <empty/>
    </element>
</define>

Для получения информации об атрибутах, которые могут быть связаны с этим элементом, см. раздел 14.7.11.

Квартал[править]

Элемент <number:quarter> определяет квартал года в дате.

Если этот элемент используется, он должен быть включен в элемент <number:date-style>.

<define name="number-quarter">
    <element name="number:quarter">
        <ref name="number-quarter-attlist"/>
        <ref name="common-calendar-attlist"/>
        <empty/>
    </element>
</define>

Атрибут number:style может использоваться с этим элементом. Для получения информации об атрибутах, которые могут быть связаны с этим элементом,см. раздел 14.7.11.

Атрибут формата[править]

Атрибут number:style определяет, в каком из двух форматов, кратком или полном, будет отображен элемент квартала.

Значение атрибута может быть short или long. Смысл этих значений зависит от значения атрибута number:format-source который присоединен к стилю даты.

Если значение атрибута number:format-source для квартала равно fixed, то:

  • short означает, что будет отображено сокращенное название квартала, например Q1;
  • long означает, что будет отображено полное название квартала, например Quarter 1;
<define name="number-quarter-attlist" combine="interleave">
    <optional>
        <attribute name="number:style" a:defaultValue="short">
            <choice>
                <value>short</value>
                <value>long</value>
            </choice>
        </attribute>
    </optional>
</define>

14.7.5 Стиль времени[править]

Элемент <number:time-style> определяет стиль для значений времени.

Этот элемент может содержать один экземпляр каждого из следующих элементов: <number:hours>, <number:minutes>, <number:seconds> и <number:am-pm>.

Элемент <number:time-style> может также содержать элементы <number:text>, которые отображают дополнительный текст, но не может содержать два этих элемента подряд. Кроме того, он может содержать элемент <style:text-properties> и элемент <style:map>.

<define name="number-time-style">
    <element name="number:time-style">
        <ref name="number-time-style-attlist"/>
        <ref name="common-data-style-attlist"/>
        <ref name="common-format-source-attlist"/>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
        <!-- This DTD does not reflect the fact that some elements must not -->
        <!-- occur more than once. -->
        <optional>
            <ref name="number-text"/>
        </optional>
        <oneOrMore>
            <ref name="any-time"/>
            <optional>
                <ref name="number-text"/>
            </optional>
        </oneOrMore>
        <zeroOrMore>
            <ref name="style-map"/>
        </zeroOrMore>
    </element>
</define>

<define name="any-time">
    <choice>
        <ref name="number-hours"/>
        <ref name="number-am-pm"/>
        <ref name="number-minutes"/>
        <ref name="number-seconds"/>
    </choice>
</define>

Для получения информации об атрибутах, которые могут быть связаны с элементами стиля времени, см. раздел 14.7.9.

Следующие элементы могут содержаться в элементе <number:time-style>:

  • <number:hours> — часы;
  • <number:minutes> — минуты;
  • <number:seconds> — секунды;
  • <number:am-pm> — am/pm (до полудня/после полудня).
Усечение значения времени[править]

Если время или промежуток времени слишком большие, чтобы быть отображенными с использование диапазона по умолчанию для временных компонент (от 0 до 23 для <number:hours>), тогда атрибут number:truncate-on-overflow может быть использован для определения того, должны ли быть усечены значения времени или диапазона, или они должны быть расширены.

<define name="number-time-style-attlist" combine="interleave">
    <optional>
        <attribute name="number:truncate-on-overflow" a:defaultValue="true">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>
Часы[править]

Элемент <number:hours> используется, если часы должны быть отображены как часть даты или времени.

<define name="number-hours">
    <element name="number:hours">
        <ref name="number-hours-attlist"/>
        <empty/>
    </element>
</define>
Атрибут формата[править]

Атрибут number:style определяет, в каком из двух форматов, кратком или полном, будет отображен элемент часов.

Значение атрибута может быть short или long. Смысл этих значений зависит от значения атрибута number:format-source, который присоединен к стилю времени.

Если значение атрибута number:format-source для часов равно fixed, то:

  • short означает, что в часах будет отображена как минимум одна цифра;
  • long означает, что в часах будут отображены как минимум две цифры.
<define name="number-hours-attlist" combine="interleave">
    <optional>
        <attribute name="number:style" a:defaultValue="short">
            <choice>
                <value>short</value>
                <value>long</value>
            </choice>
        </attribute>
    </optional>
</define>
Минуты[править]

Элемент <number:minutes> используется, если минуты должны быть отображены как часть даты или времени.

<define name="number-minutes">
    <element name="number:minutes">
        <ref name="number-minutes-attlist"/>
        <empty/>
    </element>
</define>
Атрибут формата[править]

Атрибут number:style определяет, в каком из двух форматов, коротком или полном, будет отображен элемент минут.

Значение атрибута может быть short или long. Смысл этих значений зависит от значения атрибута number:format-source который присоединен к стилю времени.

Если значение атрибута number:format-source для минут равно fixed, то:

  • short означает, что в минутах будет отображена как минимум одна цифра;
  • long означает, что в минутах будут отображены как минимум две цифры.
<define name="number-minutes-attlist" combine="interleave">
    <optional>
        <attribute name="number:style" a:defaultValue="short">
            <choice>
                <value>short</value>
                <value>long</value>
            </choice>
        </attribute>
    </optional>
</define>
Секунды[править]

Элемент <number:seconds> используется, если секунды должны быть отображены как часть даты или времени.

<define name="number-seconds">
    <element name="number:seconds">
        <ref name="number-seconds-attlist"/>
        <empty/>
    </element>
</define>
Атрибут формата[править]

Атрибут number:style определяет, в каком из двух форматов, коротком или полном, будет отображен элемент секунд.

Значение атрибута может быть short или long. Смысл этих значений зависит от значения атрибута number:format-source который присоединен к стилю времени.

Если значение атрибута number:format-source для секунд равно fixed, то:

  • short означает, что в секундах будет отображена как минимум одна цифра;
  • long означает, что в секундах будут отображены как минимум две цифры.
<define name="number-seconds-attlist" combine="interleave">
    <optional>
        <attribute name="number:style" a:defaultValue="short">
            <choice>
                <value>short</value>
                <value>long</value>
            </choice>
        </attribute>
    </optional>
</define>
Атрибут десятичных знаков[править]

Атрибут number:decimal-places определяет число десятичных знаков, которые используются при отображении дробной части.

Если этот атрибут не представлен или значение этого атрибута равно 0, дробная часть не отображается.

<define name="number-seconds-attlist" combine="interleave">
    <optional>
        <attribute name="number:decimal-places" a:defaultValue="0">
            <ref name="integer"/>
        </attribute>
    </optional>
</define>
AM/PM[править]

Элемент <number:am-pm> определяет, включено ли AM/PM как часть даты или времени.

Если элемент <number:am-pm> содержится в стиле даты или времени, то часы будут отображаться значениями от 1 до 12.

<define name="number-am-pm">
    <element name="number:am-pm">
        <empty/>
    </element>
</define>

14.7.6 Логический стиль[править]

Элемент <number:boolean-style> определяет стиль для логических значений.

Этот элемент может содержать один элемент <number:boolean>, до или после которого могут стоять элементы <number:text>. Кроме того, он может содержать элемент <style:text-properties> и элемент <style:map>.

<define name="number-boolean-style">
    <element name="number:boolean-style">
        <ref name="common-data-style-attlist"/>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
        <optional>
            <ref name="number-text"/>
        </optional>
        <optional>
            <ref name="number-boolean"/>
            <optional>
                <ref name="number-text"/>
            </optional>
        </optional>
        <zeroOrMore>
            <ref name="style-map"/>
        </zeroOrMore>
    </element>
</define>
Логическое выражение[править]

Элемент <number:boolean> содержит логическое выражение в логическом стиле.

<define name="number-boolean">
    <element name="number:boolean">
        <empty/>
    </element>
</define>

14.7.7 Текстовый стиль[править]

Элемент <number:text-style> описывает стиль для отображения текста.

Этот элемент может содержать несколько элементов <number:text-content>. Он также содержит элементы <number:text>, которые отображают дополнительный текст, но он не может содержать два таких элемента подряд. Он может содержать также элемент <style:text-properties> и элемент <style:map>. Элементы <number:text-content> отражают переменное текстовое содержимое, которое будет отображено, тогда как элементы <number:text> содержат любой дополнительный фиксированный текст, который будет отображен.

<define name="number-text-style">
    <element name="number:text-style">
        <ref name="common-data-style-attlist"/>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
        <optional>
            <ref name="number-text"/>
        </optional>
        <zeroOrMore>
            <ref name="number-text-content"/>
            <optional>
                <ref name="number-text"/>
            </optional>
        </zeroOrMore>
        <zeroOrMore>
            <ref name="style-map"/>
        </zeroOrMore>
    </element>
</define>

Для получения информации об атрибутах, которые могут быть связаны с элементами текстового стиля, см. раздел 14.7.9.

Фиксированный текст[править]

Элемент <number:text> содержит несколько фиксированных текстов для стиля данных.

Этот элемент содержится во всех элементах стиля данных.

<define name="number-text">
    <element name="number:text">
        <text/>
    </element>
</define>
Текстовое содержимое[править]

Элемент <number:text-content> содержит изменяемое текстовое содержимое текстового стиля.

<define name="number-text-content">
    <element name="number:text-content">
        <empty/>
    </element>
</define>

14.7.8 Общие элементы стиля данных[править]

Следующие общие элементы могут быть включены в элементы стиля данных:

  • свойства форматирования текста;
  • соотнесение стилей.
Свойства форматирования[править]

Элемент <style:text-properties> определяет параметры форматирования, которые применяются к любому тексту отображенному с использованием стиля данных. Для получения информации о параметрах форматирования элементов, см. раздел 15.4.

Назначением установки текстовых параметров форматирования внутри стиля данных в основном является выделение определенных значений (например, отрицательных) с использованием соотнесения стилей. Для этой цели стили данных обычно поддерживают только немногие текстовые параметры форматирования, например цвет текста. Также могут существовать ограничения для значений текстовых параметров форматирования. Например, только значение, разрешенное для цвета текста, может быть прочитано.

Соотнесение стилей[править]

Элемент <style:map> устанавливает альтернативный стиль данных для соотнесения, если существует точное условие. Для получения информации об элементе <style:map> см. раздел 14.1.1.

Существуют следующие правила для использования элемента соотнесения стилей с элементами стиля данных.

  • Стиль, на который ссылается атрибут style:apply-style, должен быть того же типа, как и стиль, содержащий соотнесение.
  • Условие должно быть в формате value() op n, где op — это оператор отношения и n — это число. Для логического стиля значение условия должно быть «истина» или «ложь».

14.7.9 Общие атрибуты стиля данных[править]

Многие из атрибутов стиля данных применимы к более чем одному элементу стиля данных. Следующие атрибуты стиля данных являются общими для многих элементов стиля данных:

  • имя;
  • язык;
  • страна;
  • заголовок;
  • изменчивость;
  • автоматический порядок;
  • источник форматирования;
  • транслитерация.
Имя[править]

Атрибут style:name определяет имя стиля данных. Он может быть использован со всеми элементами стиля данных.

<define name="common-data-style-attlist" combine="interleave">
    <attribute name="style:name">
        <ref name="styleName"/>
    </attribute>
</define>
Отображаемое имя[править]

Атрибут style:display-name определяет имя стиля в том виде, в котором оно должно появляться в пользовательском интерфейсе. В отличие от самого имени стиля, это имя может содержать произвольные символы. Если этот атрибут не используется, отображаемым именем становится имя стиля.

Атрибут style:display-name может быть использован со всеми элементами стиля данных.

<define name="style-data-style-attlist" combine="interleave">
    <optional>
        <attribute name="style:display-name">
            <ref name="string"/>
        </attribute>
    </optional>
</define>
Язык[править]

Атрибут number:language определяет язык стиля. Значение атрибута — это код языка в соответствии с [RFC3066]. Код языка используется для получения информации о некоторых свойствах отображения, которые зависят от языка. Атрибут языка может быть использован со всеми элементами стиля данных.

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

<define name="common-data-style-attlist" combine="interleave">
    <optional>
        <attribute name="number:language">
            <ref name="languageCode"/>
        </attribute>
    </optional>
</define>
Страна[править]

Атрибут number:country определяет страну для стиля. Значение атрибута — это код страны в соответствии с [RFC3066]. Код страны используется для получения информации о некоторых свойствах отображения, которые зависят от страны. Атрибут страны может быть использован со всеми элементами стиля данных.

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

<define name="common-data-style-attlist" combine="interleave">
    <optional>
        <attribute name="number:country">
            <ref name="countryCode"/>
        </attribute>
    </optional>
</define>
Заголовок[править]

Атрибут number:title определяет заголовок стиля данных. Он может использоваться со всеми элементами стиля данных.

<define name="common-data-style-attlist" combine="interleave">
    <optional>
        <attribute name="number:title"/>
    </optional>
</define>
Изменчивость[править]

Иногда, когда документ открыт, ссылки имеются не на все стили, содержащиеся в документе. Приложение может сохранить или отбросить эти неиспользуемые стили. Это можно контролировать с помощью атрибута style:volatile, который поддерживается всеми элементами стиля данных.

Если значение атрибута равно true, приложение сохранит стиль по возможности. Если значение равно false, приложение отбросит неиспользуемые стили.

<define name="common-data-style-attlist" combine="interleave">
    <optional>
        <attribute name="style:volatile">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>
Автоматический порядок[править]

Атрибут number:automatic-order может быть использован для автоматического упорядочивания данных в соответствии с заданным по умолчанию порядком для языка и страны стиля данных. Этот атрибут используется со следующими элементами:

  • <number:currency-style>, где число и символ валюты переупорядочиваются;
  • <number:date-style>, где дочерние элементы <number:date-style> не являющиеся <number:text> или <style:text-properties> переупорядочиваются.

Значение атрибута может быть true или false.

<define name="common-auto-reorder-attlist" combine="interleave">
    <optional>
        <attribute name="number:automatic-order" a:defaultValue="false">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>
Источник форматирования[править]

Атрибут number:format-source определяет источник short и long форматов отображения. Он используется со следующими элементами:

  • <number:date-style>
  • <number:time-style>

Значение этого атрибута может быть fixed или language.

Если значение равно fixed, то смысл значений short и long атрибута number:style соответствует описанному в этой спецификации.

Если значение атрибута number:format-source равно language, то смысл краткой и полной формы зависит от языка и страны стиля даты, или, если ни один из них не установлен, то приложения должны использовать параметры системы для краткого и полного форматов даты и времени.

<define name="common-format-source-attlist">
    <optional>
        <attribute name="number:format-source" a:defaultValue="fixed">
            <choice>
                <value>fixed</value>
                <value>language</value>
            </choice>
        </attribute>
    </optional>
</define>

14.7.10 Транслитерация[править]

Некоторое количество атрибутов number:transliteration-* определяют собственную систему счисления стиля для отображения числа, используя, например, числовые символы CJK (China, Japan, Korea — Китай, Япония, Корея). Нотация заимствована из черновика W3C XSLT 2.0, см. § 12.3 в [XSLT2]. Однако для однозначного разграничения всех возможных собственных систем счисления, необходима совокупность дополнительных атрибутов. Например, в Корее используется 11 различных систем, где числа не всегда отличаются, но существуют короткие и длинные, формальные и неформальные формы.

Атрибуты транслитерации могут использоваться со всеми элементами стиля данных.

Формат транслитерации[править]

Атрибут number:transliteration-format определяет, какое количество символов следует использовать. Значение этого атрибута равно «1», выраженное в собственной системе счисления.

Если формат не установлен, тогда по умолчанию используется ASCII представление арабских цифр, атрибуты других транслитераций в этом случае игнорируются.

<define name="common-data-style-attlist" combine="interleave">
    <optional>
        <attribute name="number:transliteration-format" a:defaultValue="1">
            <ref name="string"/>
        </attribute>
    </optional>
</define>
Язык транслитерации[править]

Атрибут number:transliteration-language определяет язык, которому принадлежит собственная система счисления. Значения этого атрибута — код языка в соответствии с [RFC3066].

Если не установлена комбинация язык/страна (параметры локализации), то используются параметры локализации стиля данных.

<define name="common-data-style-attlist" combine="interleave">
    <optional>
        <attribute name="number:transliteration-language">
            <ref name="countryCode"/>
        </attribute>
    </optional>
</define>
Страна транслитерации[править]

Атрибут number:transliteration-country определяет страну, которой принадлежит собственная система счисления. Значение этого атрибута — код страны в соответствии с [RFC3066].

Если не установлена комбинация язык/страна (параметры локализации), то используются параметры локализации стиля данных.

<define name="common-data-style-attlist" combine="interleave">
    <optional>
        <attribute name="number:transliteration-country">
            <ref name="countryCode"/>
        </attribute>
    </optional>
</define>
Стиль транслитерации[править]

Атрибут number:transliteration-style определяет, какому стилю принадлежит собственная система счисления. Если более чем одна собственная система счисления совпадает с форматом транслитерации, тогда значением данного атрибута выбирается одна из них. Краткий стиль должен иметь однозначное отображение арабских цифр в собственную систему счисления, если это возможно.

<define name="common-data-style-attlist" combine="interleave">
    <optional>
        <attribute name="number:transliteration-style" a:defaultValue="short">
            <choice>
                <value>short</value>
                <value>medium</value>
                <value>long</value>
            </choice>
        </attribute>
    </optional>
</define>

14.7.11 Атрибуты общих элементов стиля данных[править]

Большое число атрибутов стиля применимо к более чем одному элементу стиля. Следующие атрибуты являются общими для большого числа элементов стиля:

  • десятичные знаки;
  • минимальное количество цифр в целом числе;
  • группирующий разделитель;
  • замещение в десятичных дробях;
  • минимальное количество цифр в экспоненте;
  • минимальное количество цифр в числителе;
  • минимальное количество цифр в знаменателе;
  • календарная система.
Десятичные знаки[править]

Атрибут number:decimal-places определяет число десятичных знаков, которые будут отображаться. Этот атрибут поддерживается для следующих элементов:

  • <number:number>
  • <number:scientific-number>

Если этот атрибут не определен, то будет использоваться количество десятичных знаков по умолчанию.

<define name="common-decimal-places-attlist">
    <optional>
        <attribute name="number:decimal-places">
            <ref name="integer"/>
        </attribute>
    </optional>
</define>
Минимальное количество цифр в целом числе[править]

Атрибут number:min-integer-digits определяет минимальное количество цифр в целом числе, которые будут отображаться в числе, числе в научном формате или в дроби. Этот атрибут поддерживается для следующих элементов:

  • <number:number>
  • <number:scientific-number>
  • <number:fraction>

Если этот атрибут не определен, то будет использоваться количество цифр в представлении целого числа по умолчанию.

<define name="common-number-attlist" combine="interleave">
    <optional>
        <attribute name="number:min-integer-digits">
            <ref name="integer"/>
        </attribute>
    </optional>
</define>
Группирующий разделитель[править]

Атрибут number:grouping определяет, должны ли быть сгруппированы цифры числа с использованием символа-разделителя. Атрибут поддерживает для следующих элементов:

  • <number:number>
  • <number:scientific-number>
  • <number:fraction>

Группирующий символ, который используется, и число цифр, которые сгруппированы, зависят от языка и страны стиля.

<define name="common-number-attlist" combine="interleave">
    <optional>
        <attribute name="number:grouping" a:defaultValue="false">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>
Календарная система[править]

Атрибут number:calendar определяет календарную систему, использующую части даты. Этот атрибут поддерживается для следующих элементов:

  • <number:day>
  • <number:month>
  • <number:year>
  • <number:era>
  • <number:day-of-week>
  • <number:week-of-year>
  • <number:quarter>

Атрибут может принимать значения gregorian, gengou, ROC, hanja_yoil, hanja, hijri, jewish, buddhist или произвольное строковое значение. Если этот атрибут не определен, то используется календарная система по умолчанию.

<define name="common-calendar-attlist" combine="interleave">
    <optional>
        <attribute name="number:calendar">
            <choice>
                <value>gregorian</value>
                <value>gengou</value>
                <value>ROC</value>
                <value>hanja_yoil</value>
                <value>hanja</value>
                <value>hijri</value>
                <value>jewish</value>
                <value>buddhist</value>
                <ref name="string"/>
            </choice>
        </attribute>
    </optional>
</define>

14.8 Стили текста[править]

14.8.1 Стили текста[править]

Стили текста — это элементы <style:style> из семейства text. Они могут использоваться во всех типах приложений для присвоения свойств форматирования фрагментам текста. Они поддерживают свойства текста, как описано в разделе 15.4.

<define name="style-style-content" combine="choice">
    <group>
        <attribute name="style:family">
            <value>text</value>
        </attribute>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
    </group>
</define>

14.8.2 Стили абзацев[править]

Стили абзацев — это элементы <style:style> из семейства paragraph. Они могут использоваться во всех типах приложений для присвоения свойств форматирования абзацам и заголовкам. Они поддерживают как свойства абзацев, описанные в разделе 15.5, так и свойства текста, описанные в разделе 15.4.

<define name="style-style-content" combine="choice">
    <group>
        <attribute name="style:family">
            <value>paragraph</value>
        </attribute>
        <optional>
            <ref name="style-paragraph-properties"/>
        </optional>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
    </group>
</define>

14.8.3 Стили разделов[править]

Стили разделов — это элементы <style:style> из семейства section. Они могут использоваться в текстовых приложениях для присвоения свойств форматирования разделу текста. Они поддерживают свойства разделов, как описано в разделе 15.7.

<define name="style-style-content" combine="choice">
    <group>
        <attribute name="style:family">
            <value>section</value>
        </attribute>
        <optional>
            <ref name="style-section-properties"/>
        </optional>
    </group>
</define>

14.8.4 Стиль транскрипции[править]

Стиль транскрипции определяет, как отображается текст транскрипции относительно основного текста. Он представлен элементом <style:style> из семейства ruby. Стиль транскрипции присваивается элементу транскрипции посредством атрибута text:style-name. Стили транскрипции поддерживают свойства форматирования, описанные в разделе 15.6.

<define name="style-style-content" combine="choice">
    <group>
        <attribute name="style:family">
            <value>ruby</value>
        </attribute>
        <optional>
            <ref name="style-ruby-properties"/>
        </optional>
    </group>
</define>

14.9 Расширенные стили текста[править]

14.9.1 Конфигурация нумерации строк[править]

Документ может не содержать ни одного или содержать один элемент конфигурации нумерации строк <text:linenumbering-configuration> внутри элемента <office:styles>. Если элемент не присутствует, используется конфигурация нумерации строк по умолчанию. Нумерация строк по умолчанию может меняться в зависимости от офисного приложения, но каждый документ, сохраняемый приложением, поддерживающим нумерацию строк, должен содержать элемент конфигурации нумерации строк.

<define name="text-linenumbering-configuration">
    <element name="text:linenumbering-configuration">
        <ref name="text-linenumbering-configuration-attlist"/>
        <optional>
            <ref name="text-linenumbering-separator"/>
        </optional>
    </element>
</define>

С элементом <text:linenumbering-configuration> могут быть связаны следующие атрибуты:

  • включение нумерации строк;
  • числовой формат;
  • стиль текста;
  • приращение;
  • позиция;
  • смещение;
  • счетчик пустых строк;
  • счетчик строк в текстовых блоках;
  • перезапуск нумерации на каждой странице.

Следующий элемент может быть включен в элемент <text:linenumbering-separator>:

  • разделитель.
Включение нумерации строк[править]

Атрибут text:number-lines определяет, должны ли нумероваться строки.

<define name="text-linenumbering-configuration-attlist" combine="interleave">
    <optional>
        <attribute name="text:number-lines" a:defaultValue="true">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>
Числовой формат[править]

В разделе 12.2 дана более подробная информация об атрибутах числового формата. Атрибуты, описанные в разделе 12.2, могут также быть связаны с элементом <text:linenumbering-configuration>.

<define name="text-linenumbering-configuration-attlist" combine="interleave">
    <optional>
        <ref name="common-num-format-attlist"/>
    </optional>
</define>
Стиль текста[править]

Атрибут text:style-name определяет стиль текста для всех номеров строк. Значение этого атрибута — имя стиля текста, применяемого ко всем номерам строк.

<define name="text-linenumbering-configuration-attlist" combine="interleave">
    <optional>
        <attribute name="text:style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>
Приращение[править]

Атрибут text:increment определяет, что номера строк, кратные данному приращению, подлежат нумерации. Например, если приращение равно 5, то нумероваться будут только пятая, десятая, пятнадцатая и так далее строки.

<define name="text-linenumbering-configuration-attlist" combine="interleave">
    <optional>
        <attribute name="text:increment">
            <ref name="nonNegativeInteger"/>
        </attribute>
    </optional>
</define>
Позиция[править]

Атрибут text:position определяет, на каких полях печатаются номера строк: левых, правых, внутренних или внешних.

<define name="text-linenumbering-configuration-attlist" combine="interleave">
    <optional>
        <attribute name="text:number-position" a:defaultValue="left">
            <choice>
                <value>left</value>
                <value>rigth</value>
                <value>inner</value>
                <value>outer</value>
            </choice>
        </attribute>
    </optional>
</define>
Смещение[править]

Атрибут text:offset определяет расстояние между номером строки и полем.

<define name="text-linenumbering-configuration-attlist" combine="interleave">
    <optional>
        <attribute name="text:offset">
            <ref name="nonNegativeLength"/>
        </attribute>
    </optional>
</define>
Счетчик пустых строк[править]

Атрибут text:count-empty-lines определяет, учитываются ли пустые строки при подсчете строк. Если значение этого атрибута true, то пустые строки учитываются.

<define name="text-linenumbering-configuration-attlist" combine="interleave">
    <optional>
        <attribute name="text:count-empty-lines" a:defaultValue="true">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>
Счетчик строк в текстовых блоках[править]

Атрибут text:count-in-text-boxes определяет, учитывается ли текст в текстовых окнах при подсчете числа строк. Если значение этого атрибута true, то текст в текстовых окнах учитывается.

<define name="text-linenumbering-configuration-attlist" combine="interleave">
    <optional>
        <attribute name="text:count-in-text-boxes" a:defaultValue="false">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>
Перезапуск нумерации на каждой странице[править]

Атрибут text:restart-on-page определяет, должен ли счетчик строк устанавливаться в 1 в начале каждой страницы.

Если значение этого атрибута равно true, то счетчик строк устанавливается в 1 в начале каждой страницы, то есть нумерация строк независима на каждой странице. По умолчанию значение этого атрибута ложь (false), то есть нумерация строк едина в пределах всего документа.

<define name="text-linenumbering-configuration-attlist" combine="interleave">
    <optional>
        <attribute name="text:restart-on-page" a:defaultValue="false">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>
Разделитель[править]

Элемент <text:linenumbering-separator> содержит текст, который отображается в качестве разделителя. Разделитель — это текст, отображаемый вместо номера строки в строках, где не отображается номер.

Этот элемент содержится в элементе конфигурации нумерации строк. Если элемент отсутствует, разделитель не отображается.

Атрибут text:increment элемента вызывает отображение разделителя на строках, кратных заданному приращению. Например, если приращение равно 2, то разделитель получат только вторая, четвертая, шестая и так далее строки, если только на них уже не отображается номер.

<define name="text-linenumbering-separator">
    <element name="text:linenumbering-separator">
        <optional>
            <attribute name="text:increment">
                <ref name="nonNegativeInteger"/>
            </attribute>
        </optional>
        <text/>
    </element>
</define>

14.9.2 Элемент конфигурации заметок[править]

Документ в формате OpenDocument содержит не более одного элемента конфигурации заметок для каждого класса заметок, используемого в документе. Если элемент конфигурации заметок отсутствует, используется конфигурация заметок по умолчанию.

<define name="text-notes-configuration">
    <element name="text:notes-configuration">
        <ref name="text-notes-configuration-content"/>
    </element>
</define>

С элементом <text:notes-configuration> могут быть связаны следующие атрибуты:

  • класс заметок;
  • стиль цитаты в сноске;
  • стиль цитаты в тексте;
  • стиль абзаца в сноске по умолчанию;
  • мастер-страница;
  • начальное значение;
  • числовой формат;
  • схема нумерации;
  • расположение сноски.

Следующий элемент может быть включен в элемент <text:footnotes-configuration>:

  • извещение о продолжении сноски (вперед и назад).
Класс заметок[править]

Атрибут класс заметок определяет, к каким элементам заметок применяется эта конфигурация заметок.

<define name="text-notes-configuration-content" combine="interleave">
    <ref name="text-note-class"/>
</define>
Стиль цитаты в сноске[править]

Атрибут text:citation-style определяет стиль текста, который должен использоваться для цитаты в сноске.

<define name="text-notes-configuration-content" combine="interleave">
    <optional>
        <attribute name="text:citation-style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>
Стиль цитаты в тексте[править]

Атрибут text:citation-body-style-name определяет стиль текста, который должен использоваться для цитат по ходу текста.

<define name="text-notes-configuration-content" combine="interleave">
    <optional>
        <attribute name="text:citation-body-style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>
Стиль абзаца в сноске по умолчанию[править]

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

<define name="text-notes-configuration-content" combine="interleave">
    <optional>
        <attribute name="text:default-style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>
Мастер-страница[править]

Для отображения сносок в конце документа страницы, содержащие сноски, должны быть экземплярами мастер-страницы, определенными атрибутом text:master-page-name.

<define name="text-notes-configuration-content" combine="interleave">
    <optional>
        <attribute name="text:master-page-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>
Начальное значение[править]

Атрибут start:value определяет значение, с которого будет начинаться нумерация сносок.

<define name="text-notes-configuration-content" combine="interleave">
    <optional>
        <attribute name="text:start-value">
            <ref name="nonNegativeInteger"/>
        </attribute>
    </optional>
</define>
Числовой формат[править]

В разделе 12.2 дана информация о числовом формате для сносок.

<define name="text-notes-configuration-content" combine="interleave">
    <ref name="common-num-format-prefix-suffix-attlist"/>
    <optional>
        <ref name="common-num-format-attlist"/>
    </optional>
</define>
Схема нумерации[править]

Атрибут text:start-numbering-at определяет, начинается ли заново нумерация сносок в начале документа, главы или страницы.

Примечание — [XSLT] не обладает возможностью начинать заново нумерацию сносок на каждой странице.

<define name="text-notes-configuration-content" combine="interleave">
    <optional>
        <attribute name="text:start-numbering-at">
            <choice>
                <value>document</value>
                <value>chapter</value>
                <value>page</value>
            </choice>
        </attribute>
    </optional>
</define>
Расположение сносок[править]

Атрибут text:footnotes-position определяет одну из следующих позиций для сносок:

  • text — на странице, где расположена ссылка на сноску, прямо под текстом на странице;
  • page — внизу страницы, где расположена ссылка на сноску;
  • section — в конце раздела;
  • document — в конце документа.

Примечание — [XSL] не обладает возможностью отображения сносок в конце документа. Однако таблица стилей [XSLT] может генерировать некоторые другие объекты для отображения подобных сносок.

<define name="text-notes-configuration-content" combine="interleave">
    <optional>
        <attribute name="text:footnotes-position">
            <choice>
                <value>text</value>
                <value>page</value>
                <value>section</value>
                <value>document</value>
            </choice>
        </attribute>
    </optional>
</define>
Продолжение сноски[править]

Элементы продолжения сносок определяют:

  • текст, отображаемый в конце сноски, которая продолжается на следующей странице;
  • текст, отображаемый перед продолжением сноски.
<define name="text-notes-configuration-content" combine="interleave">
    <optional>
        <element name="text:note-continuation-notice-forward">
            <text/>
        </element>
    </optional>
</define>
<define name="text-notes-configuration-content" combine="interleave">
    <optional>
        <element name="text:note-continuation-notice-backward">
            <text/>
        </element>
    </optional>
</define>

Пример — Конфигурация сносок:

<text:notes-configuration text:notes-type="footnote"
    text:citation-style="Footnote symbol"
    text:default-style="Footnote">
    <text:note-continuation-notice-forward>" .."
    </text:note-continuation-notice-forward>
    <text:note-continuation-notice-forward>".. "
    </text:note-continuation-notice-forward>
</text:notes-configuration>

14.9.3 Конфигурация библиографии[править]

Элемент конфигурации библиографии <text:bibliography-configuration> содержится в разделе стиля документа. Он содержит информацию о том, каким образом компоненты библиографии отображаются подряд и в библиографических индексах.

<define name="text-bibliography-configuration">
    <element name="text:bibliography-configuration">
        <ref name="text-bibliography-configuration-attlist"/>
        <zeroOrMore>
            <ref name="text-sort-key"/>
        </zeroOrMore>
    </element>
</define>
Префикс и суффикс[править]

Атрибуты text:prefix и text:suffix содержат строку, отображаемую до и после сокращенного названия или номера компонента библиографии, если он появляется в теле документа.

<define name="text-bibliography-configuration-attlist" combine="interleave">
    <optional>
        <attribute name="text:prefix">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="text:suffix">
            <ref name="string"/>
        </attribute>
    </optional>
</define>
Пронумерованные компоненты[править]

Атрибут text:numbered-entry определяет, отображаются ли номера компонентов библиографии вместо их сокращенных названий.

Пример —

С префиксом и суффиксом «[» и «]» компонент библиографии с сокращенным названием "Abc123" будет отображаться как «[Abc123]» в теле документа, если text:numbered-entry имеет значение false, и, например, как «[5]», если он имеет значение true.

<define name="text-bibliography-configuration-attlist" combine="interleave">
    <optional>
        <attribute name="text:numbered-entries" a:defaultValue="false">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>
Сортировка[править]

Атрибут text:sort-by-position определяет, отображаются ли компоненты библиографии в порядке их расположения в документе или по некоторым полям компонентов, например имя автора или год издания. В последнем случае порядок сортировки компонентов определяется тройкой язык/страна/алгоритм сортировки, как указано в атрибутах fo:language, fo:country и text:sort-algorithm (см. также раздел 7.8).

<define name="text-bibliography-configuration-attlist" combine="interleave">
    <optional>
        <attribute name="text:sort-by-position" a:defaultValue="true">
            <ref name="boolean"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:language">
            <ref name="languageCode"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="fo:country">
            <ref name="countryCode"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="text:sort-algorithm">
            <ref name="string"/>
        </attribute>
    </optional>
</define>
Ключи сортировки[править]

Элемент <text:sort-key> определяет единый ключ сортировки, если компоненты библиографии отображаются не в порядке их следования в документе. У него есть атрибут text:key, содержащий тип данных индекса компонента, который должен использоваться для сортировки (см. раздел 7.1.4 ), и атрибут text:sort-ascending , указывающий, идет ли сортировка в порядке возрастания или убывания.

<define name="text-sort-key">
    <element name="text:sort-key">
        <ref name="text-sort-key-attlist"/>
        <empty/>
    </element>
</define>

<define name="text-sort-key-attlist" combine="interleave">
    <attribute name="text:key">
        <choice>
            <value>address</value>
            <value>annote</value>
            <value>author</value>
            <value>bibliography-type</value>
            <value>booktitle</value>
            <value>chapter</value>
            <value>custom1</value>
            <value>custom2</value>
            <value>custom3</value>
            <value>custom4</value>
            <value>custom5</value>
            <value>edition</value>
            <value>editor</value>
            <value>howpublished</value>
            <value>identifier</value>
            <value>institution</value>
            <value>isbn</value>
            <value>issn</value>
            <value>journal</value>
            <value>month</value>
            <value>note</value>
            <value>number</value>
            <value>organizations</value>
            <value>pages</value>
            <value>publisher</value>
            <value>report-type</value>
            <value>school</value>
            <value>series</value>
            <value>title</value>
            <value>url</value>
            <value>volume</value>
            <value>year</value>
        </choice>
    </attribute>
    <optional>
        <attribute name="text:sort-ascending" a:defaultValue="true">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

14.10 Стили списков[править]

Стили списков определяют свойства форматирования для списков. Элемент <text:list-style> содержит набор элементов стиля для каждого уровня списка, которые называются стили уровня списка. Есть три различных стиля уровней списка в зависимости от того, должна ли быть метка этого уровня числом, маркером или изображением.

Если стиль списка применяется к списку, но не содержит требований к оформлению какого-либо уровня списка, используется стиль следующего, ниже по иерархии, уровня списка. Если такого уровня списка не существует, используется стиль по умолчанию.

<define name="text-list-style">
    <element name="text:list-style">
        <ref name="text-list-style-attr"/>
        <zeroOrMore>
            <ref name="text-list-style-content"/>
        </zeroOrMore>
    </element>
</define>

Примечание — Стили списка содержат свойства, отличающиеся от стилей текста или абзаца. Поэтому они представляются другим элементом.

С элементом <text:list-style> могут быть связаны следующие атрибуты:

  • имя;
  • отображаемое имя;
  • последовательная нумерация.

Имя[править]

Атрибут style:name определяет имя стиля списка.

<define name="text-list-style-attr" combine="interleave">
    <attribute name="style:name">
    <ref name="styleName"/>
    </attribute>
</define>

Отображаемое имя[править]

Атрибут style:display-name определяет имя стиля списка, каким оно отображается в пользовательском интерфейсе. В отличие от имени стиля как такового, это имя может содержать произвольные символы. Если этот атрибут не указан, то имя отображения совпадает с именем стиля.

<define name="text-list-style-attr" combine="interleave">
    <optional>
        <attribute name="style:display-name">
            <ref name="string"/>
        </attribute>
    </optional>
</define>

Последовательная нумерация[править]

Атрибут text:consecutive-numbering определяет, используется ли последовательная нумерация для всех уровней стиля, или нумерация начинается заново на каждом уровне.

<define name="text-list-style-attr" combine="interleave">
    <optional>
        <attribute name="text:consecutive-numbering" a:defaultValue="false">
            <ref name="boolean"/>
        </attribute>
    </optional>
</define>

14.10.1 Общий атрибут стилей уровня списка[править]

Следующий атрибут может быть в стилях всех уровней списка:

Уровень[править]

Атрибут text:level определяет стиль уровня списка.

<define name="text-list-level-style-attr">
    <attribute name="text:level">
        <ref name="positiveInteger"/>
    </attribute>
</define>

14.10.2 Стиль нумерованного списка[править]

Стиль нумерованного списка определяет стиль списка, где абзацы списка начинаются с чисел.

<define name="text-list-style-content" combine="choice">
    <element name="text:list-level-style-number">
        <ref name="text-list-level-style-attr"/>
        <ref name="text-list-level-style-number-attr"/>
        <optional>
            <ref name="style-list-level-properties"/>
        </optional>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
    </element>
</define>

С элементом <text:list-level-style-number> могут быть связаны следующие атрибуты:

  • уровень (см. раздел 14.10.1);
  • стиль текста;
  • числовой формат;
  • отображаемые уровни;
  • начальное значение.

Дополнительные свойства форматирования могут содержаться в элементах <style:list-level-properties> и <style:text-properties>. Для получения дополнительной информации см. разделы 15.12 и 15.4).

Стиль текста[править]

Атрибут text:style-name определяет тип шрифта, используемый для нумерации в списке.

<define name="text-list-level-style-number-attr" combine="interleave">
    <optional>
        <attribute name="text:style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>
Числовой формат[править]

Подробная информация об атрибутах числового формата дана в разделе 12.2. Атрибуты, описанные в разделе 12.2, могут также быть связаны с элементом <text:list-level-style-number>. Атрибут style:num-format может быть пустым. В этом случае номер не отображается.

<define name="text-list-level-style-number-attr" combine="interleave">
    <ref name="common-num-format-attlist"/>
    <ref name="common-num-format-prefix-suffix-attlist"/>
</define>
Отображаемые уровни[править]

Атрибут text:display-levels определяет число уровней, номера которых отображаются на текущем уровне.

<define name="text-list-level-style-number-attr" combine="interleave">
    <optional>
        <attribute name="text:display-levels" a:defaultValue="1">
            <ref name="positiveInteger"/>
        </attribute>
    </optional>
</define>

Пример —

Задан номер главы третьего уровня 1.2.3. Использование значений атрибута text:display-levels от 1 до 3 приведет к следующим результатам:

text:display-number display
1 1
2 1.2
3 1.2.3
Начальное значение[править]

Атрибут text:start-value определяет первый номер пункта списка на текущем уровне.

<define name="text-list-level-style-number-attr" combine="interleave">
    <optional>
        <attribute name="text:start-value" a:defaultValue="1">
            <ref name="positiveInteger"/>
        </attribute>
    </optional>
</define>

14.10.3 Стиль маркированного списка[править]

Элемент стиль маркированного списка определяет стиль списка, где в начале каждого абзаца списка ставится маркер.

<define name="text-list-style-content" combine="choice">
    <element name="text:list-level-style-bullet">
        <ref name="text-list-level-style-attr"/>
        <ref name="text-list-level-style-bullet-attr"/>
        <optional>
            <ref name="style-list-level-properties"/>
        </optional>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
    </element>
</define>

С элементом <text:list-level-style-bullet> могут быть связаны следующие атрибуты:

  • уровень (см. раздел 14.10.1);
  • стиль текста;
  • символ маркера;
  • префикс и суффикс;
  • относительный размер маркера.

Дополнительные свойства форматирования могут содержаться в элементах <style:list-level-properties> и <style:text-properties>. Для получения подробной информацией см. разделы 15.12 и 15.4.

Стиль текста[править]

Атрибут text:style-name содержит имя стиля символа, используемого для форматирования маркера списка.

<define name="text-list-level-style-bullet-attr" combine="interleave">
    <optional>
        <attribute name="text:style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>
Символ маркера[править]

Атрибут символ маркера определяет символ [UNICODE], используемый в качестве маркера в стиле маркированного списка.

Типичными символами маркера являются:

• U+2022

● U+25CF

➔ U+2794

➢ U+27A2

✗ U+2717

✔ U+2714

Эти символы могут быть недоступны в некоторых типах шрифта.

<define name="text-list-level-style-bullet-attr" combine="interleave">
    <attribute name="text:bullet-char">
        <ref name="character"/>
    </attribute>
</define>
Префикс и суффикс[править]

Атрибуты style:num-format-prefix и style:num-format-suffix, упомянутые в разделе 12.2, могут быть использованы для добавления символов до или после символа маркера.

<define name="text-list-level-style-bullet-attr" combine="interleave">
    <ref name="common-num-format-prefix-suffix-attlist"/>
</define>
Относительный размер маркера[править]

Атрибут text:bullet-relative-size определяет процентное соотношение размера маркера к размеру шрифта, используемого в отмечаемом маркером абзаце. Например, если значение атрибута text:bullet-relative-size равно 75, то размер маркера, используемого в списке, составляет 75 % от размера шрифта в абзаце.

<define name="text-list-level-style-bullet-attr" combine="interleave">
    <optional>
        <attribute name="text:bullet-relative-size">
            <ref name="percent"/>
        </attribute>
    </optional>
</define>

14.10.4 Стиль списка, отмечаемого изображениями[править]

Элемент стиля списка, отмечаемого изображениями, определяет стиль списка, где пунктам списка предшествуют изображения. Элемент может быть [XLink] и содержится только в элементах стиля.

<define name="text-list-style-content" combine="choice">
    <element name="text:list-level-style-image">
        <ref name="text-list-level-style-attr"/>
        <ref name="text-list-level-style-image-attr"/>
        <optional>
            <ref name="style-list-level-properties"/>
        </optional>
    </element>
</define>

С элементом <text:list-level-style-image> могут быть связаны следующие атрибуты:

Дополнительные свойства форматирования могут содержаться в элементе <style:list-level-properties>. Для получения подробной информацией см. раздел 15.12.

Расположение изображения[править]

Данные об изображении могут храниться одним из следующих способов (см. раздел 9.3.2).

  • Данные об изображении располагаются во внешнем файле. Используйте описанный ниже атрибут xlink:href для указания адреса файла.
  • Данные об изображении содержатся в элементе <text:list-level-style-image>. Элемент <text:list-level-style-image> должен включать элемент <office:binary-data>, содержащий данные об изображении в кодировке BASE64. В этом случае атрибут xlink:href не требуется.
<define name="text-list-level-style-image-attr" combine="interleave">
    <choice>
        <ref name="common-draw-data-attlist"/>
        <ref name="office-binary-data"/>
    </choice>
</define>

14.10.5 Пример стиля уровня списка[править]

Пример — Стиль уровня списка:

<text:list-style style:name="List 1">
    <text:list-level-style-number text:level="1"
        fo:num-format="1"/>
    <text:list-level-style-bullet text:level="2"
        text:bullet-char="-"
        text:style-name="Bullet Char"/>
    <text:list-level-style-image text:level="3" xlink:href="bullet.gif">
        <style:list-level-properties fo:width=".27cm" fo:height=".27cm"
            style:vertical-pos="middle" style:vertical-rel="line"/>
    </text:list-level-style-image>
</text:list-style>

Следующее будет результатом реализации указанного примера:

1. Это первый пункт списка.

Это продолжение первого пункта списка.

2. Это второй пункт списка. Он содержит неупорядоченный подсписок.

-  Это пункт подсписка.

-  Это пункт подсписка.

-  Это пункт подсписка.

Это пункт подподсписка.

Это пункт подподсписка.

3. Это третий пункт списка.

14.11 Стили структур[править]

Стиль структуры — это стиль списка, применяемый ко всем заголовкам в текстовом документе, где стиль абзаца заголовка сам не определяет, какой стиль списка необходимо применить.

Способ представления стилей нумерации структуры в формате OpenDocument имеет много общего со способом представления стилей списка. Элемент <text:outline-style> содержит элементы, определяющие стиль каждого уровня структуры. Он может содержаться только внутри элемента <office:styles>.

<define name="text-outline-style">
    <element name="text:outline-style">
        <oneOrMore>
            <ref name="text-outline-level-style"/>
        </oneOrMore>
    </element>
</define>

14.11.1 Стиль уровня структуры[править]

Элемент <text:outline-level-style> определяет стиль каждого уровня структуры. Этот элемент содержится только в элементах <text:outline-style>.

<define name="text-outline-level-style">
    <element name="text:outline-level-style">
        <ref name="text-outline-level-style-attlist"/>
        <optional>
            <ref name="style-list-level-properties"/>
        </optional>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
    </element>
</define>

С элементом <text:outline-level-style> могут быть связаны следующие атрибуты:

  • уровень;
  • стиль текста;
  • числовой формат;
  • отображаемые уровни;
  • начальное значение.

Дополнительные свойства форматирования могут содержаться в элементах <style:list-level-properties> и <style:text-properties>. Для получения дополнительной информации см. разделы 15.12 и 15.4.

Уровень[править]

Атрибут text:level определяет уровень стиля структуры.

<define name="text-outline-level-style-attlist" combine="interleave">
    <attribute name="text:level">
        <ref name="positiveInteger"/>
    </attribute>
</define>
Стиль текста[править]

Атрибут text:style-name определяет имя некоторого стиля, используемого для форматирования номера заголовка.

<define name="text-outline-level-style-attlist" combine="interleave">
    <optional>
        <attribute name="text:style-name">
            <ref name="styleNameRef"/>
        </attribute>
    </optional>
</define>
Числовой формат[править]

Информация об атрибутах числового формата дана в разделе 14.10.2.

<define name="text-outline-level-style-attlist" combine="interleave">
    <ref name="common-num-format-attlist"/>
    <ref name="common-num-format-prefix-suffix-attlist"/>
</define>
Отображаемые уровни[править]

Атрибут text:display-levels определяет число уровней, номера которых отображаются на текущем уровне (см. раздел 14.10.2).

<define name="text-outline-level-style-attlist" combine="interleave">
    <optional>
        <attribute name="text:display-levels" a:defaultValue="1">
            <ref name="positiveInteger"/>
        </attribute>
    </optional>
</define>
Начальное значение[править]

Атрибут text:start-value определяет первый номер абзаца списка на текущем уровне.

<define name="text-outline-level-style-attlist" combine="interleave">
    <optional>
        <attribute name="text:start-value" a:defaultValue="1">
            <ref name="positiveInteger"/>
        </attribute>
    </optional>
</define>

14.12 Стили таблиц[править]

14.12.1 Стили таблиц[править]

Стили таблиц — это элементы <style:style> семейства table. Они могут быть использованы во всех типах приложений для определения свойств форматирования таблиц. Они поддерживают свойства таблиц, как описано в разделе 15.8.

<define name="style-style-content" combine="choice">
    <group>
        <attribute name="style:family">
            <value>table</value>
        </attribute>
        <optional>
            <ref name="style-table-properties"/>
        </optional>
    </group>
</define>

14.12.2 Стили столбцов таблицы[править]

Стили столбцов таблицы — это элементы <style:style> семейства table-column. Они могут быть использованы во всех типах приложений для определения свойств форматирования столбцов таблиц. Они поддерживают свойства столбцов таблиц, как описано в разделе 15.9.

<define name="style-style-content" combine="choice">
    <group>
        <attribute name="style:family">
            <value>table-column</value>
        </attribute>
        <optional>
            <ref name="style-table-column-properties"/>
        </optional>
    </group>
</define>

14.12.3 Стили строк таблицы[править]

Стили строк таблицы — это элементы <style:style> семейства table-row. Они могут быть использованы во всех типах приложений для определения свойств форматирования строк таблиц. Они поддерживают свойства строк таблиц, как описано в разделе 15.10.

<define name="style-style-content" combine="choice">
    <group>
        <attribute name="style:family">
            <value>table-row</value>
        </attribute>
        <optional>
            <ref name="style-table-row-properties"/>
        </optional>
    </group>
</define>

14.12.4 Стили ячеек таблицы[править]

Стили ячеек таблицы — это элементы <style:style> семейства table-cell. Они могут быть использованы во всех типах приложений для определения свойств форматирования ячеек таблиц. Они поддерживают как свойства таблиц, описанные в разделе 15.11, так и свойства текста, описанные в разделах 15.5 и 15.4.

<define name="style-style-content" combine="choice">
    <group>
        <attribute name="style:family">
            <value>table-cell</value>
        </attribute>
        <optional>
            <ref name="style-table-cell-properties"/>
        </optional>
        <optional>
            <ref name="style-paragraph-properties"/>
        </optional>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
    </group>
</define>

14.13 Графические стили[править]

14.13.1 Графические стили и стили презентации[править]

Графические стили и стили презентации являются элементами <style:style>, принадлежащими семействам graphic или presentation. Графические стили семейства graphic могут встречаться во всех типах приложений, графические стили семейства presentation могут встречаться только в документах презентаций. Оба вида стилей поддерживают графические свойства, описанные в разделе 15.17. Они могут также содержать свойства абзацев и текста, описанные в разделах 15.5 и 15.4.

<define name="style-style-content" combine="choice">
    <group>
        <attribute name="style:family">
            <choice>
                <value>graphic</value>
                <value>presentation</value>
            </choice>
        </attribute>
        <optional>
            <ref name="style-graphic-properties"/>
        </optional>
        <optional>
            <ref name="style-paragraph-properties"/>
        </optional>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
    </group>
</define>

<define name="style-graphic-properties">
    <element name="style:graphic-properties">
        <ref name="style-graphic-properties-content"/>
    </element>
</define>

<define name="style-graphic-properties-content">
    <ref name="style-properties-content"/>
</define>

<define name="style-graphic-properties-content-strict">
    <ref name="style-graphic-properties-attlist"/>
    <ref name="style-graphic-fill-properties-attlist"/>
    <ref name="style-graphic-properties-elements"/>
</define>

<define name="style-graphic-properties-elements">
    <empty/>
</define>

14.13.2 Стили графических страниц[править]

Стиль графической страницы — это элемент <style:style> из семейства drawing-page. В графических приложениях стили графических страниц могут использоваться для изменения фона графических страниц. Если фон задан с помощью стиля графической страницы, он перекроет фон мастер-страницы, связанной со страницей рисования, но не фигуры, находящиеся на мастер-странице. В приложениях-презентациях стиль графической страницы может содержать дополнительные свойства презентации, например продолжительность демонстрации страницы или эффекты затухания.

Свойства, которые могут использоваться в стиле графической страницы для изменения фона, описаны в разделе 15.14.

Свойства презентации, которые могут использоваться в стиле графической страницы, описаны в разделе 15.36.

<define name="style-style-content" combine="choice">
    <group>
        <attribute name="style:family">
            <value>drawing-page</value>
        </attribute>
        <optional>
            <ref name="style-drawing-page-properties"/>
        </optional>
    </group>
</define>

<define name="style-drawing-page-properties">
  <element name="style:drawing-page-properties">
      <ref name="style-drawing-page-properties-content"/>
  </element>
</define>

<define name="style-drawing-page-properties-content">
    <ref name="style-properties-content"/>
</define>

<define name="style-drawing-page-properties-content-strict">
    <ref name="style-graphic-fill-properties-attlist"/>
    <ref name="style-drawing-page-properties-attlist"/>
    <ref name="style-drawing-page-properties-elements"/>
</define>

14.14 Элементы расширенных графических стилей[править]

Элементы, описанные в данном разделе, относятся к расширенному графическому стилю. Они не могут быть использованы в качестве автоматических стилей, для этого они должны быть расположены в разделе <office:styles> документа. Как и все остальные элементы стиля, они доступны по уникальному имени. Для заполняемых графических объектов доступны следующие стили:

  • градиент;
  • SVG-градиент;
  • штриховка;
  • заполнение изображением;
  • непрозрачность градиента;
  • маркер;
  • штрих контурной линии;
  • разметка страницы презентации.

14.14.1 Градиент[править]

Элемент <draw:gradient> определяет градиент для заполнения графического объекта. Градиенты не доступны в качестве автоматических стилей.

<define name="draw-gradient">
    <element name="draw:gradient">
        <ref name="common-draw-gradient-attlist"/>
        <ref name="draw-gradient-attlist"/>
        <empty/>
    </element>
</define>

С элементом градиента могут быть связаны следующие атрибуты:

  • имя;
  • отображаемое имя;
  • стиль градиента;
  • центр градиента;
  • цвета;
  • яркость;
  • угол;
  • обрамление.
Имя[править]

Атрибут draw:name однозначно идентифицирует градиент внутри элемента <office:styles>.

<define name="common-draw-gradient-attlist" combine="interleave">
    <optional>
        <attribute name="draw:name">
            <ref name="styleName"/>
        </attribute>
    </optional>
</define>
Отображаемое имя[править]

Атрибут draw:display-name определяет имя градиента, каким оно будет отображено пользователю. В отличие от имени стиля, такое имя может содержать произвольные символы. Если этот атрибут не определен, то отображаемое имя градиента будет таким же, как и имя стиля.

<define name="common-draw-gradient-attlist" combine="interleave">
    <optional>
        <attribute name="draw:display-name">
            <ref name="string"/>
        </attribute>
    </optional>
</define>
Стиль градиента[править]

Атрибут draw:style определяет стиль градиента. Офисное приложение должно поддерживать такие стили градиента, как linear, axial, radial, ellipsoid, square и rectangular.

<define name="common-draw-gradient-attlist" combine="interleave">
    <attribute name="draw:style">
        <ref name="gradient-style"/>
    </attribute>
</define>
<define name="gradient-style">
    <choice>
        <value>linear</value>
        <value>axial</value>
        <value>radial</value>
        <value>ellipsoid</value>
        <value>square</value>
        <value>rectangular</value>
    </choice>
</define>
Центр градиента[править]

Если стиль градиента radial, ellipsoid, square или rectangular, то атрибуты центра градиента draw:cx и draw:cy задают центр геометрического построения, применяемого к градиенту. Значения этих атрибутов всегда задаются в процентах.

<define name="common-draw-gradient-attlist" combine="interleave">
    <optional>
        <attribute name="draw:cx">
            <ref name="percent"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="draw:cy">
            <ref name="percent"/>
        </attribute>
    </optional>
</define>
Цвета[править]

Градиент представляет собой плавный переход между начальным и конечным значениями цветов, которые можно задать с помощью атрибутов draw:start-color и draw:end-color.

<define name="draw-gradient-attlist" combine="interleave">
    <optional>
        <attribute name="draw:start-color">
            <ref name="color"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="draw:end-color">
            <ref name="color"/>
        </attribute>
    </optional>
</define>
Яркость[править]

Атрибуты draw:start-intensity и draw:end-intensity определяют яркость начального и конечного цвета градиента в процентах. Эти атрибуты являются необязательными. Если атрибуты не указаны, цвета будут использоваться так, как есть, что соответствует 100 % яркости.

<define name="draw-gradient-attlist" combine="interleave">
    <optional>
        <attribute name="draw:start-intensity">
            <ref name="percent"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="draw:end-intensity">
            <ref name="percent"/>
        </attribute>
    </optional>
</define>
Угол[править]

Атрибут draw:angle определяет угол поворота оси, на которой будет создаваться плавный переход цвета градиента. Этот атрибут игнорируется для градиентов радиального стиля.

<define name="common-draw-gradient-attlist" combine="interleave">
    <optional>
        <attribute name="draw:angle">
            <ref name="integer"/>
        </attribute>
    </optional>
</define>
Обрамление[править]

В зависимости от стиля градиента, атрибут draw:border задает значение в процентах, которое используется для масштабирования границы, заполненной только начальным цветом либо только конечным цветом градиента.

Например, данный атрибут, равный 10 %, означает, что первые 10 % градиента полностью окрашены в начальный цвет, а оставшиеся 90 % будут плавно распределены между начальным и конечным значениями цвета.

<define name="common-draw-gradient-attlist" combine="interleave">
    <optional>
        <attribute name="draw:border">
            <ref name="percent"/>
        </attribute>
    </optional>
</define>

14.14.2 SVG-градиенты[править]

В дополнение к градиентам, описанным в разделе 14.14.1, градиент может быть определен в элементах градиентов SVG <linearGradient> и <radialGradient> как указано в § 13.2 [SVG].

Следующие правила применяются к SVG градиентам, если они используются в документах формата OpenDocument:

  • градиенты должны иметь название, что определяется атрибутом draw:name;
  • для <linearGradient> будут вычисляться только атрибуты gradientTransform, x1, y1, x2, y2 и spreadMethod;
  • для <radialGradient> будут вычисляться только атрибуты gradientTransform, cx, cy, r, fx, fy и spreadMethod;
  • градиент будет рассчитываться как обладающий свойством gradientUnits из objectBoundingBox, вне зависимости от фактического значения атрибута;
  • единственный дочерний элемент, который вычисляется, — это элемент <stop>;
  • для <stop> будут вычисляться только атрибуты offset, stop-color и stop-opacity.
<define name="svg-linearGradient">
    <element name="svg:linearGradient">
        <ref name="common-svg-gradient-attlist"/>
        <optional>
            <attribute name="svg:x1" a:defaultValue="0%">
                <choice>
                    <ref name="coordinate"/>
                    <ref name="percent"/>
                </choice>
            </attribute>
        </optional>
        <optional>
            <attribute name="svg:y1" a:defaultValue="0%">
                <choice>
                    <ref name="coordinate"/>
                    <ref name="percent"/>
                </choice>
            </attribute>
        </optional>
        <optional>
            <attribute name="svg:x2" a:defaultValue="100%">
                <choice>
                    <ref name="coordinate"/>
                    <ref name="percent"/>
                </choice>
            </attribute>
        </optional>
        <optional>
            <attribute name="svg:y2" a:defaultValue="100%">
                <choice>
                    <ref name="coordinate"/>
                    <ref name="percent"/>
                </choice>
            </attribute>
        </optional>
        <zeroOrMore>
            <ref name="svg-stop"/>
        </zeroOrMore>
    </element>
</define>

<define name="svg-radialGradient">
    <element name="svg:radialGradient">
        <ref name="common-svg-gradient-attlist"/>
        <optional>
            <attribute name="svg:cx" a:defaultValue="50%">
            <choice>
                <ref name="coordinate"/>
                <ref name="percent"/>
            </choice>
        </attribute>
        </optional>
        <optional>
            <attribute name="svg:cy" a:defaultValue="50%">
                <choice>
                    <ref name="coordinate"/>
                    <ref name="percent"/>
                </choice>
            </attribute>
        </optional>
        <optional>
            <attribute name="svg:r" a:defaultValue="50%">
                <choice>
                    <ref name="coordinate"/>
                    <ref name="percent"/>
                </choice>
            </attribute>
        </optional>
        <optional>
            <attribute name="svg:fx">
                <choice>
                    <ref name="coordinate"/>
                    <ref name="percent"/>
                </choice>
            </attribute>
        </optional>
        <optional>
            <attribute name="svg:fy">
                <choice>
                    <ref name="coordinate"/>
                    <ref name="percent"/>
                </choice>
            </attribute>
        </optional>
        <zeroOrMore>
            <ref name="svg-stop"/>
        </zeroOrMore>
    </element>
</define>

<define name="svg-stop">
    <element name="svg:stop">
        <attribute name="svg:offset">
            <choice>
                <ref name="double"/>
                <ref name="percent"/>
            </choice>
        </attribute>
        <optional>
            <attribute name="svg:stop-color">
                <ref name="color"/>
            </attribute>
        </optional>
        <optional>
            <attribute name="svg:stop-opacity">
                <ref name="double"/>
            </attribute>
        </optional>
    </element>
</define>

<define name="common-svg-gradient-attlist" combine="interleave">
    <optional>
        <attribute name="svg:gradientUnits" a:defaultValue="objectBoundingBox">
            <value>objectBoundingBox</value>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:gradientTransform">
            <ref name="string"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:spreadMethod" a:defaultValue="pad">
            <choice>
                <value>pad</value>
                <value>reflect</value>
                <value>repeat</value>
            </choice>
        </attribute>
    </optional>
</define>
Имя[править]

Атрибут draw:name однозначно идентифицирует градиент внутри элемента <office:styles>. Как и элементы <draw:gradient>, SVG-градиенты доступны по этому имени с использованием атрибута draw:fill-gradient-name в графическом стиле. SVG-градиенты не могут быть доступны по атрибуту draw:opacity-name. Результат обращения к SVG-градиенту с атрибутом draw:fill-gradient-name и непрозрачному градиенту с атрибутом draw:opacity-name одновременно, не определен.

<define name="common-svg-gradient-attlist" combine="interleave">
    <attribute name="draw:name">
        <ref name="styleName"/>
    </attribute>
</define>
Отображаемое имя[править]

Атрибут draw:display-name определяет имя градиента, каким оно будет показано пользователю. В отличие от имени стиля, такое имя может содержать произвольные символы. Если этот атрибут не определен, то отображаемое имя градиента будет таким же, как и имя стиля.

<define name="common-svg-gradient-attlist" combine="interleave">
    <optional>
        <attribute name="draw:display-name">
            <ref name="string"/>
        </attribute>
    </optional>
</define>

14.14.3 Штриховка[править]

Элемент <draw:hatch> определяет штриховку для заполняемых графических объектов. Штриховка является простым шаблоном, заполняющим выделенную область повторяющимися прямыми линиями. Штриховка недоступна в качестве автоматических стилей.

<define name="draw-hatch">
    <element name="draw:hatch">
        <ref name="draw-hatch-attlist"/>
        <empty/>
    </element>
</define>

С элементом штриховки могут быть связаны следующие атрибуты:

  • имя;
  • отображаемое имя;
  • стиль;
  • цвет;
  • расстояние;
  • угол;
  • фон.
Имя[править]

Атрибут draw:name однозначно идентифицирует элемент штриха внутри элемента <office:styles>.

<define name="draw-hatch-attlist" combine="interleave">
    <attribute name="draw:name">
        <ref name="styleName"/>
    </attribute>
</define>
Отображаемое имя[править]

Атрибут draw:display-name определяет имя градиента, каким оно будет показано пользователю. В отличие от имени стиля, такое имя может содержать произвольные символы. Если этот атрибут не определен, то отображаемое имя градиента будет таким же, как и имя стиля.

<define name="draw-hatch-attlist" combine="interleave">
    <optional>
        <attribute name="draw:display-name">
            <ref name="string"/>
        </attribute>
    </optional>
</define>
Стиль[править]

Атрибут draw:style определяет стиль штриха.

Стиль штриха может быть одним из трех: одинарный, двойной, тройной.

<define name="draw-hatch-attlist" combine="interleave">
    <attribute name="draw:style">
        <choice>
            <value>single</value>
            <value>double</value>
            <value>triple</value>
        </choice>
    </attribute>
</define>
Цвет[править]

Атрибут draw:color определяет цвет линий штриха.

<define name="draw-hatch-attlist" combine="interleave">
    <optional>
        <attribute name="draw:color">
            <ref name="color"/>
        </attribute>
    </optional>
</define>
Расстояние[править]

Атрибут draw:distance определяет расстояние между двумя линиями штриха.

<define name="draw-hatch-attlist" combine="interleave">
    <optional>
        <attribute name="draw:distance">
            <ref name="length"/>
        </attribute>
    </optional>
</define>
Угол[править]

Атрибут draw:rotation определяет угол поворота линий штриха.

<define name="draw-hatch-attlist" combine="interleave">
    <optional>
        <attribute name="draw:rotation">
            <ref name="integer"/>
        </attribute>
    </optional>
</define>

14.14.4 Заполнение изображением[править]

Элемент <draw:fill-image> определяет путь к растровому ресурсу, например файлу PNG. Этот элемент подчиняется спецификации XLink. Заполнение изображением недоступно в качестве автоматических стилей.

<define name="draw-fill-image">
    <element name="draw:fill-image">
        <ref name="draw-fill-image-attlist"/>
        <attribute name="xlink:href">
            <ref name="anyURI"/>
        </attribute>
        <optional>
            <attribute name="xlink:type" a:defaultValue="simple">
                <choice>
                    <value>simple</value>
                </choice>
            </attribute>
        </optional>
        <optional>
            <attribute name="xlink:show" a:defaultValue="embed">
                <choice>
                    <value>embed</value>
                </choice>
            </attribute>
        </optional>
        <optional>
            <attribute name="xlink:actuate" a:defaultValue="onLoad">
                <choice>
                    <value>onLoad</value>
                </choice>
            </attribute>
        </optional>
        <empty/>
    </element>
</define>

С элементом заполнения изображением могут быть связаны следующие атрибуты:

  • имя;
  • отображаемое имя;
  • размер.
Имя[править]

Атрибут draw:name однозначно идентифицирует заполнение изображения внутри <office:styles> элемента.

<define name="draw-fill-image-attlist" combine="interleave">
    <attribute name="draw:name">
        <ref name="styleName"/>
    </attribute>
</define>
Отображаемое имя[править]

Атрибут draw:display-name определяет имя заполняющегося изображения, каким оно отобразится в пользовательском интерфейсе. В отличие от самого имени стиля, такое имя может содержать произвольные символы. Если этот атрибут не определен, то отображаемое имя соответствует имени стиля.

<define name="draw-fill-image-attlist" combine="interleave">
    <optional>
        <attribute name="draw:display-name">
            <ref name="string"/>
        </attribute>
    </optional>
</define>
Размер[править]

Дополнительные атрибуты svg:width и svg:height определяют размер указанного изображения. Эти значения необязательны и перекрываются физическим размером указанного ресурса изображения. Они могут быть использованы для получения физического размера изображения до того, как будут загружены.

<define name="draw-fill-image-attlist" combine="interleave">
    <optional>
        <attribute name="svg:width">
            <ref name="length"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="svg:height">
            <ref name="length"/>
        </attribute>
    </optional>
</define>

14.14.5 Непрозрачность градиента[править]

Элемент <draw:opacity> определяет уровень непрозрачности градиента для графического объекта. Уровень непрозрачности градиента работает подобно градиенту, за исключением того, что уровень непрозрачности интерполирован вместо цвета. Уровень непрозрачности градиентов недоступен в качестве автоматических стилей.

<define name="draw-opacity">
    <element name="draw:opacity">
        <ref name="common-draw-gradient-attlist"/>
        <ref name="draw-opacity-attlist"/>
        <empty/>
    </element>
</define>

С элементом <draw:opacity> могут быть связаны следующие атрибуты:

  • имя, отображаемое имя, стиль, центр непрозрачности, угол, обрамление (см. раздел 14.14.1);
  • уровень непрозрачности.
Уровень непрозрачности[править]

Непрозрачность значений интерполируется между началом и концом.

Значения атрибутов draw:start и draw:end задаются в процентах, при этом 0 % — полная прозрачность, 100 % — полная непрозрачность.

<define name="draw-opacity-attlist" combine="interleave">
    <optional>
        <attribute name="draw:start">
            <ref name="percent"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="draw:end">
            <ref name="percent"/>
        </attribute>
    </optional>
</define>

14.14.6 Маркер[править]

Элемент <draw:marker> определяет маркер, который используется для прорисовки начальных и конечных точек штрихов. Маркер недоступен в качестве автоматических стилей.

<define name="draw-marker">
  <element name="draw:marker">
    <ref name="draw-marker-attlist"/>
    <ref name="common-draw-viewbox-attlist"/>
    <ref name="common-draw-path-data-attlist"/>
<empty/>
  </element>
</define>

Для получения информации относительно атрибутов данных траектории и области отображения, которые могут быть связаны с элементом <draw:marker>, см. разделы 9.2.4 и 9.2.15.

Имя[править]

Атрибут draw:name однозначно идентифицирует заполнение изображения внутри <office:styles> элемента.

<define name="draw-marker-attlist" combine="interleave">
    <attribute name="draw:name">
        <ref name="styleName"/>
    </attribute>
</define>
Отображаемое имя[править]

Атрибут draw:display-name определяет имя маркера, каким оно отобразится в пользовательском интерфейсе. В отличие от самого имени стиля, такое имя может содержать произвольные символы. Если этот атрибут не определен, то отображаемое имя соответствует имени стиля.

<define name="draw-marker-attlist" combine="interleave">
    <optional>
        <attribute name="draw:display-name">
            <ref name="string"/>
        </attribute>
    </optional>
</define>

14.14.7 Штрих контурной линии[править]

Элемент контурной линии <draw:stroke-dash> определяет стиль контурной линии, которая используется для задания штрихов формы. Штрихи контурной линии недоступны в качестве автоматических стилей.

<define name="draw-stroke-dash">
    <element name="draw:stroke-dash">
        <ref name="draw-stroke-dash-attlist"/>
        <empty/>
    </element>
</define>

С элементом <draw:stroke-dash> могут быть связаны следующие атрибуты:

  • имя;
  • отображаемое имя;
  • стиль;
  • точки;
  • интервал.
Имя[править]

Атрибут draw:name однозначно идентифицирует контурную линию внутри <office:styles> элемента.

<define name="draw-stroke-dash-attlist" combine="interleave">
    <attribute name="draw:name">
        <ref name="styleName"/>
    </attribute>
</define>
Отображаемое имя[править]

Атрибут draw:display-name задает имя контурной линии, каким оно отобразится в пользовательском интерфейсе. В отличии от самого имени стиля, такое имя может содержать произвольные символы. Если этот атрибут не определен, то отображаемое имя соответствует имени стиля.

<define name="draw-stroke-dash-attlist" combine="interleave">
    <optional>
        <attribute name="draw:display-name">
            <ref name="string"/>
        </attribute>
    </optional>
</define>
Стиль[править]

Атрибут draw:style определяет, являются ли точки контурной линии круглыми или прямоугольными.

<define name="draw-stroke-dash-attlist" combine="interleave">
    <optional>
        <attribute name="draw:style">
            <choice>
                <value>rect</value>
                <value>round</value>
            </choice>
        </attribute>
    </optional>
</define>
Точки[править]

Каждая из пар атрибутов draw:dots1, draw:dots1-length и draw:dots2, draw:dots2-length определяет повторяющуюся последовательность точек, которая используется для отделения контурной линии. Обе последовательности используются чередуясь. Атрибуты draw:dots1 и draw:dots2 задают число точек для прорисовки обеих последовательностей, атрибуты draw:dots1-length и draw:dots2-length задают длину для каждой точки.

<define name="draw-stroke-dash-attlist" combine="interleave">
    <optional>
        <attribute name="draw:dots1">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="draw:dots1-length">
            <ref name="length"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="draw:dots2">
            <ref name="integer"/>
        </attribute>
    </optional>
    <optional>
        <attribute name="draw:dots2-length">
            <ref name="length"/>
        </attribute>
    </optional>
</define>
Интервал[править]

Атрибут draw:distance определяет интервал между точками контурной линии.

<define name="draw-stroke-dash-attlist" combine="interleave">
    <optional>
        <attribute name="draw:distance">
            <ref name="length"/>
        </attribute>
    </optional>
</define>

14.15 Разметка страницы презентации[править]

Элемент <style:presentation-page-layout> является контейнером для полей для заполнения, который определяет набор пустых объектов презентации, например название контура. Эти поля для заполнения используются как шаблоны для создания новых объектов презентации и для фиксации размера и позиции объекта, если разметка страницы презентации для графической страницы изменена.

Элемент <style:presentation-page-layout> имеет атрибут style:name. Он определяет имя макета страницы. Если графическая страница была создана с использованием макета страницы презентации, то имя макета будет содержаться в атрибутах графической страницы presentation:presentation-page-layout-name. Необязательный атрибут style:display-name задает имя макета страницы презентации, каким оно отобразится в пользовательском интерфейсе.

<define name="style-presentation-page-layout">
    <element name="style:presentation-page-layout">
        <attribute name="style:name">
            <ref name="styleName"/>
        </attribute>
        <optional>
            <attribute name="style:display-name">
                <ref name="string"/>
            </attribute>
        </optional>
        <zeroOrMore>
            <ref name="presentation-placeholder"/>
        </zeroOrMore>
    </element>
</define>

14.15.1 Поле для заполнения в презентации[править]

Элемент <presentation:placeholder> определяет поле для заполнения для объектов презентации, например заголовка или структуры.

Элемент имеет следующие атрибуты:

  • object — задает вид объекта для элемента поле для заполнения, значение идентично одному из значений атрибутов presentation:class фигур презентации (см. раздел 9.6);
  • svg:x, svg:y, svg:width, svg:height — положение и размер атрибутов указаны в разделе 9.2.15, за исключением значений в процентах, допустимых для полей для заполнения.
<define name="presentation-placeholder">
    <element name="presentation:placeholder">
        <attribute name="presentation:object">
            <ref name="presentation-classes"/>
        </attribute>
        <attribute name="svg:x">
            <choice>
                <ref name="coordinate"/>
                <ref name="percent"/>
            </choice>
        </attribute>
        <attribute name="svg:y">
            <choice>
                <ref name="coordinate"/>
                <ref name="percent"/>
            </choice>
        </attribute>
        <attribute name="svg:width">
            <choice>
                <ref name="length"/>
                <ref name="percent"/>
            </choice>
        </attribute>
        <attribute name="svg:height">
            <choice>
                <ref name="length"/>
                <ref name="percent"/>
            </choice>
        </attribute>
        <empty/>
    </element>
</define>

14.16 Стили диаграмм[править]

Элементы стиля диаграммы <style:style> принадлежат семейству chart. Они могут использоваться в пределах документов диаграммы, для определения свойств форматирования диаграммы, а также для некоторых объектов в пределах диаграммы. Они поддерживают свойства диаграммы, которые описаны в разделе 15.29, также графические свойства, свойства абзаца, текстовые свойства, описанные в разделах 15.17, 15.5 и 15.4.

<define name="style-style-content" combine="choice">
    <group>
        <attribute name="style:family">
            <value>chart</value>
        </attribute>
        <optional>
            <ref name="style-chart-properties"/>
        </optional>
        <optional>
            <ref name="style-graphic-properties"/>
        </optional>
        <optional>
            <ref name="style-paragraph-properties"/>
        </optional>
        <optional>
            <ref name="style-text-properties"/>
        </optional>
    </group>
</define>


Это произведение не охраняется авторским правом.
В соответствии со статьёй 1259 Гражданского кодекса Российской Федерации не являются объектами авторских прав официальные документы государственных органов и органов местного самоуправления муниципальных образований, в том числе законы, другие нормативные акты, судебные решения, иные материалы законодательного, административного и судебного характера, официальные документы международных организаций, а также их официальные переводы; государственные символы и знаки (флаги, гербы, ордена, денежные знаки и тому подобное), а также символы и знаки муниципальных образований; произведения народного творчества (фольклор), не имеющие конкретных авторов; сообщения о событиях и фактах, имеющие исключительно информационный характер (сообщения о новостях дня, программы телепередач, расписания движения транспортных средств и тому подобное).
Россия