Многие объекты в офисных документах имеют свойства форматирования. Свойство форматирования влияет на визуальное представление объекта, но оно не воздействует ни на содержимое, ни на структуру документа. Примерами свойств форматирования являются:
- семейство шрифтов;
- размер шрифта;
- цвет шрифта;
- поля страницы.
В формате OpenDocument свойства форматирования хранятся в стиле. Это влияет на пользовательский интерфейс в типичных офисных приложениях, где свойства форматирования могут быть присвоены объекту непосредственно или косвенно, применением стиля к объекту. Применение свойств форматирования непосредственно к объекту дает тот же результат, что и применение безымянного стиля с теми же свойствами к этому объекту. Следовательно, стили пользовательского интерфейса остаются принципиально неизменными в формате OpenDocument, в то время как свойства форматирования, применяемые непосредственно к объекту, принимаются как безымянные стили. В процессе использования безымянного стиля ему может быть присвоено имя, после чего он становится автоматическим стилем.
Использование стилей для хранения свойств форматирования обусловлено двумя основными причинами.
- Формат и разметка документа отделяются от его содержимого.
- Если два или более объектов имеют одинаковые свойства форматирования и стиля, то свойства форматирования, которые непосредственно присваиваются объекту, могут быть представлены одним автоматическим стилем для всех объектов. Это экономит пространство на диске и позволяет стилям интегрироваться в общий стиль документа.
Этот раздел посвящен описанию различных стилей.
Некоторые семейства стилей очень похожи по структуре и могут быть представлены одним элементом. Например, элемент <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>
Элемент <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>
Стиль по умолчанию устанавливает свойства форматирования по умолчанию для обязательного семейства стилей. Эти значения по умолчанию применяются, если свойство форматирования не определено ни автоматическим, ни общим стилем. Стили по умолчанию существуют для всех семейств стилей, представленных в элементе <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>
Элемент <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>
Элементы стиля верхнего и нижнего колонтитула <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>
В текстовых документах и электронных таблицах элемент <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>
Атрибут 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>
Элементы верхнего и нижнего колонтитула определяют содержимое колонтитулов. Они содержатся внутри элемента мастер-страницы. Элементы <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>
Шаблон таблицы — это набор форматирующих свойств, таких как обрамление, цвет фона и свойств текста, которые могут применяться во время создания таблицы. В отличие от других стилей, не таблица ссылается на стиль, а при создании таблицы набор стилей ее ячеек берется из шаблона таблицы. Чтобы изменить форматирующие свойства таблицы, нужно изменить непосредственно стили ячеек и другие стили. Шаблоны таблиц содержатся в элементе <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>
Атрибут 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>
Атрибуты 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>
Атрибут 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>
Стили данных описывают, как отображать различные типы данных, например числа или даты. Элементы и атрибуты, которые используются для представления стилей данных, содержатся в пространстве имен urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0. Префикс number
обозначает пространство имен стилей данных.
Эти секции описывают представление в OpenDocument следующих стилей данных:
- числовой стиль;
- валютный стиль;
- процентный стиль;
- стиль даты;
- логический стиль;
- текстовый стиль.
Элемент <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>
Элемент <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>
Элемент <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.
Элемент <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>
Элемент <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>
Элемент <number:am-pm>
определяет, включено ли AM/PM как часть даты или времени.
Если элемент <number:am-pm>
содержится в стиле даты или времени, то часы будут отображаться значениями от 1
до 12
.
<define name="number-am-pm">
<element name="number:am-pm">
<empty/>
</element>
</define>
Элемент <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>
Элемент <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>
Некоторое количество атрибутов 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>
Стили текста — это элементы <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>
Стили абзацев — это элементы <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>
Стили разделов — это элементы <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>
Стиль транскрипции определяет, как отображается текст транскрипции относительно основного текста. Он представлен элементом <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>
Стили списков определяют свойства форматирования для списков. Элемент <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. Это третий пункт списка.
Стиль структуры — это стиль списка, применяемый ко всем заголовкам в текстовом документе, где стиль абзаца заголовка сам не определяет, какой стиль списка необходимо применить.
Способ представления стилей нумерации структуры в формате 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>
Стили таблиц — это элементы <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.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-градиент;
- штриховка;
- заполнение изображением;
- непрозрачность градиента;
- маркер;
- штрих контурной линии;
- разметка страницы презентации.
Элемент <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.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>
Элемент <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>
Элемент <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>
Элементы стиля диаграммы <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 Гражданского кодекса Российской Федерации не являются объектами авторских прав официальные документы государственных органов и органов местного самоуправления муниципальных образований, в том числе законы, другие нормативные акты, судебные решения, иные материалы законодательного, административного и судебного характера, официальные документы международных организаций, а также их официальные переводы; государственные символы и знаки (флаги, гербы, ордена, денежные знаки и тому подобное), а также символы и знаки муниципальных образований; произведения народного творчества (фольклор), не имеющие конкретных авторов; сообщения о событиях и фактах, имеющие исключительно информационный характер (сообщения о новостях дня, программы телепередач, расписания движения транспортных средств и тому подобное).
|
|
|