В этом разделе предоставлена спецификация для базовых элементов графических приложений, таких как приложения для рисования и подготовки презентаций, и для графических объектов, содержащихся в неграфических приложениях, таких как текстовые процессоры и электронные таблицы.
9.1 Расширенные свойства страниц для графических приложений
править
9.1.1 Мастер-страница тезисов
править
Для приложений, которые поддерживают печать тезисов, этот элемент является шаблоном для автоматической генерации страниц тезисов. Элемент <style:handout-master>
может содержать любые типы векторных фигур. Наиболее полезная векторная фигура — это <draw:page-thumbnail>
, которая заменяется текущими страницами из документа. Элемент <style:handout-master>
содержится в элементе <office:master-styles>
. Элемент <office:master-styles>
не должен содержать более одного элемента <style:handout-master>
.
<define name="style-handout-master">
<element name="style:handout-master">
<ref name="common-presentation-header-footer-attlist"/>
<ref name="style-handout-master-attlist"/>
<zeroOrMore>
<ref name="shape"/>
</zeroOrMore>
</element>
</define>
С элементом <style:handout-master>
могут быть связаны следующие атрибуты:
- разметка страницы презентации (объекты заполнения);
- разметка страницы (размер страницы, поля и т. д.);
- стиль страницы;
- объявление верхнего колонтитула;
- объявление нижнего колонтитула;
- объявление даты и времени.
Разметка страницы презентации
править
Атрибут presentation:presentation-page-layout-name
ссылается на элемент <style:presentation-page-layout>
(см. раздел 14.15 для получения информации об элементе разметки страницы презентации). Это необязательный атрибут.
<define name="style-handout-master-attlist" combine="interleave">
<optional>
<attribute name="presentation:presentation-page-layout-name">
<ref name="styleNameRef"/>
</attribute>
</optional>
</define>
Атрибут style:page-layout-name
определяет разметку страницы, которая состоит из размеров, обрамления и ориентации страницы мастер-страницы тезисов (см. раздел 14.3 для подробностей о разметке страницы).
<define name="style-handout-master-attlist" combine="interleave">
<attribute name="style:page-layout-name">
<ref name="styleNameRef"/>
</attribute>
</define>
Атрибут draw:style-name
назначает дополнительные атрибуты форматирования для мастер-страницы тезисов путем присваивания стиля графической страницы. Это необязательный атрибут. Фиксированным семейством для стилей страницы является drawing-page
.
<define name="style-handout-master-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.3), которое используется для всех полей нижнего колонтитула (см. раздел 9.10.2), отображаемых на мастер-странице тезисов (см. также раздел 9.1.4).
Атрибут presentation:use-date-time-name
определяет имя объявления поля даты и времени (см. раздел 9.11.4), которое используется для всех полей даты и времени (см. раздел 9.10.3), отображаемых на мастер-странице тезисов (см. также раздел 9.1.4).
Элемент <draw:layer-set>
может содержаться в мастер-стилях графического приложения. Он определяет множество слоев. Слои группируют графические объекты. Графические объекты могут быть отнесены к этим слоям с помощью атрибута draw:layer-name
.
<define name="draw-layer-set">
<element name="draw:layer-set">
<zeroOrMore>
<ref name="draw-layer"/>
</zeroOrMore>
</element>
</define>
Элемент <draw:layer>
определяет одиночный слой.
<define name="draw-layer">
<element name="draw:layer">
<ref name="draw-layer-attlist"/>
<empty/>
</element>
</define>
Каждый элемент <draw:layer>
определен и на него можно сослаться по его имени, которое содержится в атрибуте draw:name
. Каждый графический объект внутри графического документа или документа презентации может быть отнесен к слою. Слои виртуально группируют объекты. Каждый объект, отнесенный к слою, наследует настройки слоя.
<define name="draw-layer-attlist" combine="interleave">
<attribute name="draw:name">
<ref name="string"/>
</attribute>
</define>
Атрибут draw:protected
определяет, защищен ли от модификации графический объект, содержащийся в слое.
<define name="draw-layer-attlist" combine="interleave">
<optional>
<attribute name="draw:protected" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут draw:display
определяет, будет ли графический объект, содержащийся в слое, видимым на экране и/или при печати.
<define name="draw-layer-attlist" combine="interleave">
<optional>
<attribute name="draw:display" a:defaultValue="always">
<choice>
<value>always</value>
<value>screen</value>
<value>printer</value>
<value>none</value>
</choice>
</attribute>
</optional>
</define>
Элемент <draw:page>
является контейнером для содержимого в графическом документе или документе презентации. Графические страницы используются для следующего:
Мастер-страница должна быть назначена для каждой графической страницы.
<define name="draw-page">
<element name="draw:page">
<ref name="common-presentation-header-footer-attlist"/>
<ref name="draw-page-attlist"/>
<optional>
<ref name="office-forms"/>
</optional>
<zeroOrMore>
<ref name="shape"/>
</zeroOrMore>
<optional>
<choice>
<ref name="presentation-animations"/>
<ref name="animation-element"/>
</choice>
</optional>
<optional>
<ref name="presentation-notes"/>
</optional>
</element>
</define>
С элементом <draw:page>
могут быть связаны следующие атрибуты:
- имя страницы;
- стиль страницы;
- мастер-страница;
- разметка страницы презентации;
- объявление верхнего колонтитула;
- объявление нижнего колонтитула;
- объявление даты и времени;
- идентификатор.
Элементы, которые могут быть включены в элемент <draw:page>
:
- формы;
- векторные фигуры;
- анимация;
- заметки презентации.
Атрибут draw:name
определяет имя графической страницы. Это необязательный атрибут; если он используется, имя должно быть уникальным. Если он не используется, приложение может генерировать уникальное имя.
<define name="draw-page-attlist" combine="interleave">
<optional>
<attribute name="draw:name">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут draw:style-name
назначает графической странице дополнительные атрибуты форматирования путем указания стиля графической страницы. Это необязательный атрибут. Заданное семейство стилей для станицы — drawing-page
.
Для страниц внутри документа презентации также могут быть использованы атрибуты страницы презентации (см. раздел 15.36).
<define name="draw-page-attlist" combine="interleave">
<optional>
<attribute name="draw:style-name">
<ref name="styleNameRef"/>
</attribute>
</optional>
</define>
Каждая графическая страница должна иметь одну мастер-страницу, связанную с ней. Мастер-страница:
- определяет свойства, такие как размеры и обрамление графической страницы;
- служит контейнером для векторных фигур, которые используются как общий фон.
Атрибут draw:master-page-name
определяет имя мастер-страницы, связанной с графической страницей. Это обязательный атрибут.
<define name="draw-page-attlist" combine="interleave">
<attribute name="draw:master-page-name">
<ref name="styleNameRef"/>
</attribute>
</define>
Разметка страницы презентации
править
Если графическая страница была создана с использованием разметки страницы презентации, атрибут presentation:presentation-page-layout-name
ссылается на соответствующий элемент <style:presentation-page-layout>
(см. раздел 14.15 для получения информации об элементе разметки страницы презентации). Это необязательный атрибут.
<define name="draw-page-attlist" combine="interleave">
<optional>
<attribute name="presentation:presentation-page-layout-name">
<ref name="styleNameRef"/>
</attribute>
</optional>
</define>
Объявление верхнего колонтитула
править
Атрибут presentation:use-header-name
определяет имя объявления поля верхнего колонтитула (см. раздел 9.11.2), которое используется для всех полей верхнего колонтитула (см. раздел 9.10.1), отображаемых на странице.
<define name="common-presentation-header-footer-attlist" combine="interleave">
<optional>
<attribute name="presentation:use-header-name">
<ref name="string"/>
</attribute>
</optional>
</define>
Объявление нижнего колонтитула
править
Атрибут presentation:use-footer-name
определяет имя объявления поля нижнего колонтитула (см. раздел 9.11.3), которое используется для всех полей нижнего колонтитула (см. раздел 9.10.2), отображаемых на странице.
<define name="common-presentation-header-footer-attlist" combine="interleave">
<optional>
<attribute name="presentation:use-footer-name">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут presentation:use-date-time-name
определяет имя объявления поля даты и времени (см. раздел 9.11.4), которое используется для всех полей даты и времени (см. раздел 9.10.3), отображаемых на странице.
<define name="common-presentation-header-footer-attlist" combine="interleave">
<optional>
<attribute name="presentation:use-date-time-name">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут draw:id
присваивает уникальный идентификатор графической странице.
<define name="draw-page-attlist">
<optional>
<attribute name="draw:id">
<ref name="ID"/>
</attribute>
</optional>
</define>
Каждый элемент графической страницы в презентации может иметь дополнительные заметки презентации, которые содержат краткое описание соответствующей графической страницы и дополнительных графических фигур. Страница заметок описывается элементом <presentation:notes>
, который может содержаться в элементе <draw:page>
(см. раздел 14.4.2 для получения дополнительной информации об этом элементе).
Пример — Графическая страница:
<office:automatic-styles>
<style:style style:name="gg3434" style:family="drawing-page">
<style:drawing-page-properties presentation:page-duration="5s">
</style:style>
<style:style style:name="titledia"
style:family="presentation-page-layout">
<presentation:placeholder presentation:object="title"
svg:x="20%" svg:y="10%"
svg:width="80%" svg:height="10%"/>
<presentation:placeholder presentation:object="subtitle"
svg:x="20%" svg:y="30%"
svg:width="80%" svg:height="60%" />
</style:style>
</office:automatic-styles>
...
<office:body>
<draw:page office:name="Page 1" draw:style-name="gg3434"
draw:master-page-name="home"
presentation:page-layout-name="titledia">
<draw:rect .../>
<presentation:notes>
<draw:text ...>this is a note</draw:text>
</presentation:notes>
</draw:page>
</office:body>
Этот раздел описывает векторные фигуры, которые могут встретиться внутри любых приложений.
<define name="shape">
<choice>
<ref name="draw-rect"/>
<ref name="draw-line"/>
<ref name="draw-polyline"/>
<ref name="draw-polygon"/>
<ref name="draw-regular-polygon"/>
<ref name="draw-path"/>
<ref name="draw-circle"/>
<ref name="draw-ellipse"/>
<ref name="draw-g"/>
<ref name="draw-page-thumbnail"/>
<ref name="draw-frame"/>
<ref name="draw-measure"/>
<ref name="draw-caption"/>
<ref name="draw-connector"/>
<ref name="draw-control"/>
<ref name="dr3d-scene"/>
<ref name="draw-custom-shape"/>
</choice>
</define>
Элемент <draw:rect>
представляет прямоугольную векторную фигуру.
<define name="draw-rect">
<element name="draw:rect">
<ref name="draw-rect-attlist"/>
<ref name="common-draw-position-attlist"/>
<ref name="common-draw-size-attlist"/>
<ref name="common-draw-shape-with-text-and-styles-attlist"/>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
<ref name="draw-text"/>
</element>
</define>
С элементом <draw:rect>
могут быть связаны следующие атрибуты:
- положение, размер, стиль, слой, Z-индекс, идентификатор, преобразование (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- скругленные вершины.
Атрибут draw:corner-radius
определяет радиус окружности, используемой для скругления вершин прямоугольника.
<define name="draw-rect-attlist" combine="interleave">
<optional>
<attribute name="draw:corner-radius">
<ref name="nonNegativeLength"/>
</attribute>
</optional>
</define>
Пример — Прямоугольная векторная фигура:
<draw:rect svg:x="2cm" svg:y="3cm" svg:width="10cm" svg:height="20cm"
svg:transform="rotate(45)" draw:style-name="object-with-shadow">
Элемент <draw:line>
представляет линию.
<define name="draw-line">
<element name="draw:line">
<ref name="draw-line-attlist"/>
<ref name="common-draw-shape-with-text-and-styles-attlist"/>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
<ref name="draw-text"/>
</element>
</define>
С элементом <draw:line>
могут быть связаны следующие атрибуты:
- стиль, слой, Z-индекс, идентификатор, преобразование (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- начальная точка;
- конечная точка.
Атрибуты начальной точки svg:x1
и svg:y1
определяют начальные координаты линии.
<define name="draw-line-attlist" combine="interleave">
<attribute name="svg:x1">
<ref name="coordinate"/>
</attribute>
<attribute name="svg:y1">
<ref name="coordinate"/>
</attribute>
</define>
Атрибуты конечной точки svg:x2
и svg:y2
определяют конечные координаты линии.
<define name="draw-line-attlist" combine="interleave">
<attribute name="svg:x2">
<ref name="coordinate"/>
</attribute>
<attribute name="svg:y2">
<ref name="coordinate"/>
</attribute>
</define>
Элемент <draw:polyline>
представляет векторную фигуру ломаную.
Некоторые реализации могут игнорировать атрибут размера, а вместо него определять размер векторной фигуры исключительно из данных векторной фигуры (т. е. вершин многоугольника).
<define name="draw-polyline">
<element name="draw:polyline">
<ref name="common-draw-points-attlist"/>
<ref name="common-draw-position-attlist"/>
<ref name="common-draw-size-attlist"/>
<ref name="common-draw-viewbox-attlist"/>
<ref name="common-draw-shape-with-text-and-styles-attlist"/>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
<ref name="draw-text"/>
</element>
</define>
С элементом <draw:polyline>
могут быть связаны следующие атрибуты:
- положение, размер, область отображения, стиль, слой, Z-индекс, идентификатор, преобразование (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- точки.
Атрибут svg:points
хранит последовательность точек, которые соединены прямыми линиями. Каждая точка имеет две координаты. Координаты разделяются запятыми, а точки разделяются пробельными символами.
<define name="common-draw-points-attlist">
<attribute name="draw:points">
<ref name="points"/>
</attribute>
</define>
Элемент <draw:polygon>
представляет многоугольник (полигон). Многоугольник — это замкнутое множество соединенных прямых линий.
Некоторые реализации могут игнорировать атрибут размера, а вместо него определять размер векторной фигуры исключительно из данных векторной фигуры (т. е. вершин многоугольника).
<define name="draw-polygon">
<element name="draw:polygon">
<ref name="common-draw-points-attlist"/>
<ref name="common-draw-position-attlist"/>
<ref name="common-draw-size-attlist"/>
<ref name="common-draw-viewbox-attlist"/>
<ref name="common-draw-shape-with-text-and-styles-attlist"/>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
<ref name="draw-text"/>
</element>
</define>
С элементом <draw:polygon>
могут быть связаны следующие атрибуты:
- положение, размер, область отображения, стиль, слой, Z-индекс, идентификатор, преобразование (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- точки (см. раздел 9.2.3).
9.2.5 Правильный многоугольник
править
Элемент <draw:regular-polygon>
представляет правильный многоугольник. Правильный многоугольник — это многоугольник, который определяется числом его граней (которое равно числу его вершин) вместо отдельных точек.
<define name="draw-regular-polygon">
<element name="draw:regular-polygon">
<ref name="draw-regular-polygon-attlist"/>
<ref name="common-draw-position-attlist"/>
<ref name="common-draw-size-attlist"/>
<ref name="common-draw-shape-with-text-and-styles-attlist"/>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
<ref name="draw-text"/>
</element>
</define>
С элементом <draw:polygon>
могут быть связаны следующие атрибуты:
- положение, размер, стиль, слой, Z-индекс, идентификатор, преобразование (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- выпуклость;
- вершины;
- заостренность.
Атрибут draw:concave
определяет, является ли многоугольник выпуклым или невыпуклым. В выпуклом многоугольнике вершины расположены на единственном эллипсе, центр которого совпадает с центром многоугольника. В невыпуклом многоугольнике требуются два таких эллипса, и последовательные вершины расположены на разных эллипсах. Примером выпуклого многоугольника является шестиугольник. Примером невыпуклого многоугольника является звезда. Для невыпуклых многоугольников дополнительный атрибут draw:sharpness
является обязательным.
<define name="draw-regular-polygon-attlist" combine="interleave">
<choice>
<attribute name="draw:concave">
<value>false</value>
</attribute>
<group>
<attribute name="draw:concave">
<value>true</value>
</attribute>
<ref name="draw-regular-polygon-sharpness-attlist"/>
</group>
</choice>
</define>
Атрибут draw:corners
определяет число вершин многоугольника.
<define name="draw-regular-polygon-attlist" combine="interleave">
<attribute name="draw:corners">
<ref name="positiveInteger"/>
</attribute>
</define>
Для атрибутов невыпуклых многоугольников атрибут draw:sharpness
определяет радиус эллипса, на котором расположены внутренние вершины многоугольника. Значение атрибута задается в процентах: 0 % означает, что все вершины расположены на одном эллипсе, а 100 % означает, что внутренние вершины расположены в центральной точке многоугольника. В общем, если r — радиус многоугольника и s — заостренность, внутренние вершины расположены на эллипсе, радиус которого составляет r(100-s)/100.
<define name="draw-regular-polygon-sharpness-attlist">
<attribute name="draw:sharpness">
<ref name="percent"/>
</attribute>
</define>
Элемент <draw:path>
представляет траекторию. Траектория — это векторная фигура с определенным пользователем контуром. Векторная фигура строится путем использования множества действий, таких как:
- moveto — установить новую текущую точку;
- lineto — нарисовать соединительную линию;
- curveto — нарисовать кубическую кривую Безье;
- arc — нарисовать эллиптическую или круговую дугу;
- closepath — замкнуть текущую векторную фигуру, нарисовав линию к последнему moveto.
Составные траектории — это траектории с вложенными траекториями, каждая вложенная траектория состоит из одного moveto с последующей одной или несколькими операциями рисования линии или кривой. Составные траектории могут быть использованы для таких эффектов как отверстия внутри объектов.
Некоторые реализации могут игнорировать атрибут размера, а вместо него определять размер векторной фигуры исключительно из данных векторной фигуры (т. е. вершин многоугольника).
<define name="draw-path">
<element name="draw:path">
<ref name="common-draw-path-data-attlist"/>
<ref name="common-draw-position-attlist"/>
<ref name="common-draw-size-attlist"/>
<ref name="common-draw-viewbox-attlist"/>
<ref name="common-draw-shape-with-text-and-styles-attlist"/>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
<ref name="draw-text"/>
</element>
</define>
С элементом <draw:path>
могут быть связаны следующие атрибуты:
- положение, размер, область отображения, стиль, слой, Z-индекс, идентификатор, преобразование (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- данные траектории.
Синтаксис атрибута svg:d
описан в § 8 Scalable Vector Graphics (SVG) 1.1 Specification [SVG].
Некоторые реализации могут поддерживать только подмножество спецификаций траекторий SVG, например не поддерживать сочетание открытых и закрытых кривых для одной векторной фигуры или не поддерживать команду эллиптической дуги.
<define name="common-draw-path-data-attlist">
<attribute name="svg:d">
<ref name="pathData"/>
</attribute>
</define>
Элемент <draw:circle>
представляет круглую векторную фигуру.
<define name="draw-circle">
<element name="draw:circle">
<ref name="draw-circle-attlist"/>
<ref name="common-draw-circle-ellipse-attlist"/>
<ref name="common-draw-position-attlist"/>
<ref name="common-draw-size-attlist"/>
<ref name="common-draw-shape-with-text-and-styles-attlist"/>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
<ref name="draw-text"/>
</element>
</define>
С элементом <draw:circle>
могут быть связаны следующие атрибуты:
- положение, размер, стиль, слой, Z-индекс, идентификатор, преобразование (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- центр;
- радиус;
- тип;
- начальный угол;
- конечный угол.
Атрибуты центра svg:cx
и svg:cy
определяют координаты центра окружности. Если эти необязательные атрибуты не установлены, для создания окружности используются атрибуты положения и размера.
<define name="common-draw-circle-ellipse-attlist" combine="interleave">
<optional>
<attribute name="svg:cx">
<ref name="coordinate"/>
</attribute>
<attribute name="svg:cy">
<ref name="coordinate"/>
</attribute>
</optional>
</define>
Атрибут svg:r
определяет радиус окружности. Если этот необязательный атрибут не используется, для создания окружности используются атрибуты положения и размера.
<define name="draw-circle-attlist" combine="interleave">
<optional>
<attribute name="svg:r">
<ref name="length"/>
</attribute>
</optional>
</define>
Атрибут draw:kind
определяет внешний вид окружности.
full
— определяет полную окружность или эллипс, например ;
section
— определяет сектор круга или эллипса, например ;
cut
— определяет окружность или эллипс с обрезкой, например ;
arc
— определяет дугу окружности или эллипса, например .
<define name="common-draw-circle-ellipse-attlist" combine="interleave">
<optional>
<attribute name="draw:kind" a:defaultValue="full">
<choice>
<value>full</value>
<value>section</value>
<value>cut</value>
<value>arc</value>
</choice>
</attribute>
</optional>
</define>
Для окружностей, у которых атрибут draw:kind
установлен как section
, cut
или arc
, атрибут svg:start-angle
определяет начальный угол сегмента круга, обрезанного круга или дуги окружности.
<define name="common-draw-circle-ellipse-attlist" combine="interleave">
<optional>
<attribute name="draw:start-angle">
<ref name="double"/>
</attribute>
</optional>
</define>
Для окружностей, у которых атрибут draw:kind
установлен как section
, cut
или arc
, атрибут svg:end-angle
определяет конечный угол сегмента круга, обрезанного круга или дуги окружности.
<define name="common-draw-circle-ellipse-attlist" combine="interleave">
<optional>
<attribute name="draw:end-angle">
<ref name="double"/>
</attribute>
</optional>
</define>
Элемент <draw:ellipse>
представляет эллипс.
<define name="draw-ellipse">
<element name="draw:ellipse">
<ref name="common-draw-circle-ellipse-attlist"/>
<ref name="draw-ellipse-attlist"/>
<ref name="common-draw-position-attlist"/>
<ref name="common-draw-size-attlist"/>
<ref name="common-draw-shape-with-text-and-styles-attlist"/>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
<ref name="draw-text"/>
</element>
</define>
С элементом <draw:ellipse>
могут быть связаны следующие атрибуты:
- положение, размер, стиль, слой, Z-индекс, идентификатор, преобразование (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- центр, тип, начальный угол, конечный угол (см. раздел 9.2.7);
- радиус.
Атрибуты svg:rx
и svg:rx
определяют горизонтальный и вертикальный радиус эллипса. Если эти необязательные атрибуты не установлены, для создания эллипса используются атрибуты положения и размера.
<define name="draw-ellipse-attlist" combine="interleave">
<optional>
<attribute name="svg:rx">
<ref name="length"/>
</attribute>
<attribute name="svg:ry">
<ref name="length"/>
</attribute>
</optional>
</define>
9.2.9 Соединительный элемент
править
Элемент <draw:connector>
представляет множество линий, которые соединены с точками привязки двух других векторных фигур.
<define name="draw-connector">
<element name="draw:connector">
<ref name="draw-connector-attlist"/>
<ref name="common-draw-shape-with-text-and-styles-attlist"/>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
<ref name="draw-text"/>
</element>
</define>
С элементом <draw:connector>
могут быть связаны следующие атрибуты:
- стиль, слой, Z-индекс, идентификатор (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- тип;
- начальное положение;
- начальная векторная фигура;
- начальная точка привязки;
- конечное положение;
- конечная векторная фигура;
- конечная точка привязки;
- наклон линии.
Атрибут draw:type
определяет, каким образом формируется изображение соединения между двумя точками. Значениями данного атрибута могут быть standard
, lines
, line
, или curve
:
standard
— стандартный соединительный элемент, выходящий из двух соединенных объектов с прямыми линиями и соединяющий их прямой перпендикулярной линией;
lines
— многолинейный соединительный элемент, выходящий из двух соединенных объектов с прямыми линиями и соединяющей их прямой линией (не обязательно перпендикулярной);
line
— линейный соединительный элемент, нарисованный одной прямой линией между двумя точками перехода соединенных объектов;
curve
— дуговой соединительный элемент, нарисованный одиночной дугой между двумя точками перехода соединенных объектов.
<define name="draw-connector-attlist" combine="interleave">
<optional>
<attribute name="draw:type" a:defaultValue="standard">
<choice>
<value>standard</value>
<value>lines</value>
<value>line</value>
<value>curve</value>
</choice>
</attribute>
</optional>
</define>
Атрибуты начального положения svg:x1
и svg:y1
определяют начальное положение соединительного элемента.
Если начальная позиция соединена с векторной фигурой, эти атрибуты необязательны, поскольку начальная позиция по умолчанию относится к соответствующей точке привязки на целевой векторной фигуре.
<define name="draw-connector-attlist" combine="interleave">
<optional>
<attribute name="svg:x1">
<ref name="coordinate"/>
</attribute>
<attribute name="svg:y1">
<ref name="coordinate"/>
</attribute>
</optional>
</define>
Атрибут draw:start-shape
определяет векторную фигуру, на которую по имени ссылается начало соединительного элемента.
Если векторная фигура соединена с началом соединительного элемента, начальная позиция определяется по умолчанию как точка привязки на выбранной векторной фигуре.
<define name="draw-connector-attlist" combine="interleave">
<optional>
<attribute name="draw:start-shape">
<ref name="IDREF"/>
</attribute>
</optional>
</define>
Атрибут draw:start-glue-point
идентифицирует точку привязки в начальной векторной фигуре соединительного элемента по ее номеру (см. раздел 9.2.19 для получения дополнительной информации о точках привязки).
Если этот атрибут не установлен и начало соединительного элемента связано с векторной фигурой, приложение само может выбрать точку привязки. Если начало соединительного элемента не связано с векторной фигурой, то этот атрибут игнорируется.
<define name="draw-connector-attlist" combine="interleave">
<optional>
<attribute name="draw:start-glue-point">
<ref name="nonNegativeInteger"/>
</attribute>
</optional>
</define>
Атрибуты конечного положения svg:x2
и svg:y2
определяют конечное положение соединительного элемента.
Если конечное положение связано с векторной фигурой, эти атрибуты необязательны, поскольку конечное положение по умолчанию устанавливается как соответствующая точка привязки выбранной векторной фигуры.
<define name="draw-connector-attlist" combine="interleave">
<optional>
<attribute name="svg:x2">
<ref name="coordinate"/>
</attribute>
<attribute name="svg:y2">
<ref name="coordinate"/>
</attribute>
</optional>
</define>
Атрибут draw:end-shape
идентифицирует по имени векторную фигуру, с которой связан конец соединительного элемента.
Если векторная фигура связана с концом соединительного элемента, конечное положение устанавливается по умолчанию как соответствующая точка привязки на выбранной векторной фигуре.
<define name="draw-connector-attlist" combine="interleave">
<optional>
<attribute name="draw:end-shape">
<ref name="IDREF"/>
</attribute>
</optional>
</define>
Атрибут draw:end-glue-point
идентифицирует точку привязки в конечной векторной фигуре соединительного элемента по ее номеру (см. раздел 9.2.19 для получения дополнительной информации о точках привязки).
Если этот атрибут не установлен и конец соединительного элемента связан с векторной фигурой, приложение может само выбрать точку привязки. Если конец соединительного элемента не привязан к векторной фигуре, этот атрибут игнорируется.
<define name="draw-connector-attlist" combine="interleave">
<optional>
<attribute name="draw:end-glue-point">
<ref name="nonNegativeInteger"/>
</attribute>
</optional>
</define>
Атрибут draw:line-skew
контролирует формирование линий, которые соединяют начало и конец соединительного элемента. В зависимости от типа соединительного элемента, он может изменяться от одного до трех дистанций, сдвигая соединительный элемент относительно его нормального положения.
<define name="draw-connector-attlist" combine="interleave">
<optional>
<attribute name="draw:line-skew">
<list>
<ref name="length"/>
<optional>
<ref name="length"/>
<optional>
<ref name="length"/>
</optional>
</optional>
</list>
</attribute>
</optional>
</define>
Элемент <draw:caption>
представляет прямоугольную векторную фигуру с дополнительным набором линий. Он может быть использован как описание для точки внутри рисунка.
<define name="draw-caption">
<element name="draw:caption">
<ref name="draw-caption-attlist"/>
<ref name="common-draw-position-attlist"/>
<ref name="common-draw-size-attlist"/>
<ref name="common-draw-shape-with-text-and-styles-attlist"/>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
<ref name="draw-text"/>
</element>
</define>
С элементом <draw:caption>
могут быть связаны следующие атрибуты:
- положение, размер, стиль, слой, Z-индекс, идентификатор, преобразование (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- точка подписи;
- скругленные вершины.
Атрибуты точки подписи draw:caption-point-x
и draw:caption-point-y
определяют положение названной точки. Множество линий отображаются из области заголовка.
<define name="draw-caption-attlist" combine="interleave">
<optional>
<attribute name="draw:caption-point-x">
<ref name="coordinate"/>
</attribute>
<attribute name="draw:caption-point-y">
<ref name="coordinate"/>
</attribute>
</optional>
</define>
Атрибут draw:corner-radius
определяет радиус окружности, которая используется для скругления вершин подписи.
<define name="draw-caption-attlist" combine="interleave">
<optional>
<attribute name="draw:corner-radius">
<ref name="nonNegativeLength"/>
</attribute>
</optional>
</define>
Элемент <draw:measure>
представляет векторную фигуру, которая используется для измерения расстояний на изображениях.
<define name="draw-measure">
<element name="draw:measure">
<ref name="draw-measure-attlist"/>
<ref name="common-draw-shape-with-text-and-styles-attlist"/>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
<ref name="draw-text"/>
</element>
</define>
С элементом <draw:measure>
могут быть связаны следующие атрибуты:
- стиль, слой, Z-индекс, идентификатор, преобразование (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- начальное положение;
- конечное положение.
Атрибуты svg:x1
и svg:y1
определяют начальную точку измеряемой дистанции.
<define name="draw-measure-attlist" combine="interleave">
<attribute name="svg:x1">
<ref name="coordinate"/>
</attribute>
<attribute name="svg:y1">
<ref name="coordinate"/>
</attribute>
</define>
Атрибуты svg:x2
и svg:y2
определяют конечную точку измеряемой дистанции.
<define name="draw-measure-attlist" combine="interleave">
<attribute name="svg:x2">
<ref name="coordinate"/>
</attribute>
<attribute name="svg:y2">
<ref name="coordinate"/>
</attribute>
</define>
Элемент <draw:control>
представляет векторную фигуру, которая связана с элементом управления внутри элемента <office:forms>
(см. раздел 11.1).
<define name="draw-control">
<element name="draw:control">
<ref name="draw-control-attlist"/>
<ref name="common-draw-position-attlist"/>
<ref name="common-draw-size-attlist"/>
<ref name="common-draw-shape-with-text-and-styles-attlist"/>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
</element>
</define>
С элементом <draw:control>
могут быть связаны следующие атрибуты:
- положение, размер, стиль, слой, Z-индекс, идентификатор, преобразование (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- элемент управления.
Атрибут draw:control
определяет элемент управления внутри формы (см. раздел 11.5.2), который привязан к векторной фигуре элемента управления.
<define name="draw-control-attlist" combine="interleave">
<attribute name="draw:control">
<ref name="IDREF"/>
</attribute>
</define>
9.2.13 Уменьшенное изображение страницы
править
Элемент <draw:page-thumbnail>
представляет прямоугольную область, отображающую уменьшенное изображение страницы страницы рисования.
<define name="draw-page-thumbnail">
<element name="draw:page-thumbnail">
<ref name="draw-page-thumbnail-attlist"/>
<ref name="common-draw-position-attlist"/>
<ref name="common-draw-size-attlist"/>
<ref name="presentation-shape-attlist"/>
<ref name="common-draw-shape-with-styles-attlist"/>
<empty/>
</element>
</define>
С элементом <draw:page-thumbnail>
могут быть связаны следующие атрибуты:
- положение, размер, стиль, слой, Z-индекс, идентификатор, преобразование (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- класс презентации (см. раздел 9.6.1);
- номер страницы.
Атрибут draw:page-number
определяет номер страницы, которая будет отображаться в уменьшенном изображении страницы. Для уменьшенных изображений страниц примечаний значение данного атрибута прикреплено к графической странице страницы заметок. Для уменьшенных изображений страниц мастер-страниц тезисов значением данного атрибута является очередность, в которой страницы просматриваются на странице тезисов. Например, на странице тезисов с 4 уменьшенными изображениями страницы, уменьшенное изображение с наименьшим номером страницы отображает первую страницу, когда печатается первая страница тезисов, и пятую, когда печатается вторая страница тезисов, и так далее.
<define name="draw-page-thumbnail-attlist">
<optional>
<attribute name="draw:page-number">
<ref name="positiveInteger"/>
</attribute>
</optional>
</define>
Элемент <draw:g>
представляет группу векторных фигур.
<define name="draw-g">
<element name="draw:g">
<ref name="draw-g-attlist"/>
<ref name="common-draw-z-index-attlist"/>
<ref name="common-draw-name-attlist"/>
<ref name="common-draw-id-attlist"/>
<ref name="common-draw-style-name-attlist"/>
<ref name="common-text-spreadsheet-shape-attlist"/>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
<zeroOrMore>
<ref name="shape"/>
</zeroOrMore>
</element>
</define>
С элементом <draw:g>
могут быть связаны следующие атрибуты:
- стиль, Z-индекс и идентификатор (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- положение.
Для сгрупп ированной векторной фигуры, которая содержится в текстовом документе и привязывается как символ, атрибут svg:y
определяет вертикальное положение векторной фигуры.
<define name="draw-g-attlist" combine="interleave">
<optional>
<attribute name="svg:y">
<ref name="coordinate"/>
</attribute>
</optional>
</define>
9.2.15 Общие атрибуты векторных фигур
править
Атрибуты, описанные в данном разделе, являются общими для всех векторных фигур.
Атрибут draw:name
назначает имя векторной фигуре.
<define name="common-draw-name-attlist" combine="interleave">
<optional>
<attribute name="draw:name">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибуты положения svg:x
и svg:y
определяют координаты x и y начального положения векторной фигуры.
<define name="common-draw-position-attlist">
<optional>
<attribute name="svg:x">
<ref name="coordinate"/>
</attribute>
</optional>
<optional>
<attribute name="svg:y">
<ref name="coordinate"/>
</attribute>
</optional>
</define>
Атрибуты svg:width
и svg:height
определяют ширину и высоту векторной фигуры.
<define name="common-draw-size-attlist">
<optional>
<attribute name="svg:width">
<ref name="length"/>
</attribute>
</optional>
<optional>
<attribute name="svg:height">
<ref name="length"/>
</attribute>
</optional>
</define>
Атрибут draw:transform
определяет список преобразований, которые могут быть применены к векторной фигуре.
Значением атрибута является список определений преобразования, которые применяются к векторной фигуре в порядке их перечисления в списке. Определения преобразований в списке должны быть разделены пробельными символами и/или запятыми. Типы допустимых определений преобразований включают:
matrix(<a> <b> <c> <d> <e> <f>)
— определяет преобразование в виде матричного преобразования шести значений, matrix(a,b,c,d,e,f)
эквивалентно применению матрицы преобразования [a b c d e f]
;
translate(<tx> [<ty>])
— определяет перемещение на tx
и ty
;
scale(<sx> [<sy>])
— определяет операцию масштабирования на sx
и sy
, если <sy>
не представлен, он принимается равным <sx>
;
rotate(<rotate-angle>)
— определяет вращение на <rotate-angle>
относительно начала системы координат векторных фигур;
skewX(<skew-angle>)
— определяет наклонное преобразование вдоль оси X;
skewY(<skew-angle>)
— определяет наклонное преобразование вдоль оси Y.
<define name="common-draw-transform-attlist">
<optional>
<attribute name="draw:transform">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут svg:viewBox
устанавливает пользовательскую систему координат внутри физической системы координат векторной фигуры, определенной атрибутами положения и размера. Пользовательская система координат используется атрибутом svg:points
и элементом <draw:path>
.
Синтаксис использования этого атрибута такой же, как и синтаксис в [SVG]. Значением атрибута являются четыре числа, разделенных пробельными символами, которые определяют левое, верхнее, правое и нижнее измерения пользовательской системы координат.
Некоторые реализации могут игнорировать атрибут области отображения. Предполагаемая система координат в таком случае имеет начало в левой верхней вершине векторной фигуры без какого-либо масштабирования относительно векторной фигуры.
<define name="common-draw-viewbox-attlist">
<attribute name="svg:viewBox">
<list>
<ref name="integer"/>
<ref name="integer"/>
<ref name="integer"/>
<ref name="integer"/>
</list>
</attribute>
</define>
Атрибуты draw:style-name
и presentation:style-name
определяют стиль для векторной фигуры. Если используется атрибут draw:style-name
, векторная фигура является обычной векторной фигурой. Если используется атрибут presentation:style-name
, векторная фигура является векторной фигурой презентации, как описано в разделе 9.6.
Значением обоих атрибутов является имя элемента <style:style>
. Если используется атрибут draw:style-name
, стиль должен принимать значение из группы graphic
. Если используется атрибут presentation:style-name
, стиль должен принимать значение из группы presentation
. Свойства форматирования определенного стиля и его необязательного родительского стиля используются для форматирования векторной фигуры (см. также раздел 14.13.1).
Атрибуты draw:class-names
и presentation:class-names
принимают список разделенных пробельными символами либо имен графических стилей, либо имен стилей презентации. Указанные стили применяются в том порядке, в каком они содержатся в списке. Если представлены атрибуты draw:style-name
и draw:class-names
, или атрибуты presentation:style-name
и presentation:class-names
, то стиль, указанный атрибутом style-name
, трактуется как первый стиль в списке стилей атрибута class-names
. Соответствующее приложение должно поддерживать атрибут class-names
, а также сохранять его во время редактирования.
<define name="common-draw-style-name-attlist">
<choice>
<group>
<optional>
<attribute name="draw:style-name">
<ref name="styleNameRef"/>
</attribute>
</optional>
<optional>
<attribute name="draw:class-names">
<ref name="styleNameRefs"/>
</attribute>
</optional>
</group>
<group>
<optional>
<attribute name="presentation:style-name">
<ref name="styleNameRef"/>
</attribute>
</optional>
<optional>
<attribute name="presentation:class-names">
<ref name="styleNameRefs"/>
</attribute>
</optional>
</group>
</choice>
</define>
Атрибут draw:text-style-name
определяет стиль векторной фигуры, используемый для форматирования текста, который может быть добавлен к этой векторной фигуре.
Значением этого атрибута является имя элемента <style:style>
со значением из группы paragraph
.
<define name="common-draw-text-style-name-attlist">
<optional>
<attribute name="draw:text-style-name">
<ref name="styleNameRef"/>
</attribute>
</optional>
</define>
Атрибут draw:layer
может привязать каждую векторную фигуру к слою. Значением данного атрибута должно быть имя слоя из множества доступных слоев внутри документа.
<define name="common-draw-layer-name-attlist">
<optional>
<attribute name="draw:layer">
<data type="string"/>
</attribute>
</optional>
</define>
Атрибут draw:id
присваивает уникальный идентификатор к векторной фигуре, который может быть использован для ссылки на эту векторную фигуру.
<define name="common-draw-id-attlist">
<optional>
<attribute name="draw:id">
<ref name="ID"/>
</attribute>
</optional>
</define>
Векторные фигуры отображаются в определенном порядке. Вообще, векторные фигуры отображаются в том порядке, в каком они появляются в XML-документе. Чтобы изменить этот порядок, используется атрибут svg:z-index
.
Это необязательный атрибут.
<define name="common-draw-z-index-attlist">
<optional>
<attribute name="draw:z-index">
<ref name="nonNegativeInteger"/>
</attribute>
</optional>
</define>
9.2.16 Общие атрибуты векторных фигур для текстовых документов и документов электронных таблиц
править
Атрибуты, описанные в этом разделе, являются общими для всех векторных фигур, содержащихся в текстовом документе или документе электронных таблиц.
Если векторная фигура включена в документ электронных таблиц и привязка векторной фигуры осуществлена к ячейке, то атрибуты table:end-cell-address
, table:end-x
и table:end-y
определяют конечное положение векторной фигуры, и атрибуты размера игнорируются. Конечное положение определяется с использованием адреса ячейки, в которой находится конечное положение, и координат x и y конечного положения относительно верхней и левой граней ячейки.
<define name="common-text-spreadsheet-shape-attlist" combine="interleave">
<optional>
<attribute name="table:end-cell-address">
<ref name="cellAddress"/>
</attribute>
</optional>
<optional>
<attribute name="table:end-x">
<ref name="coordinate"/>
</attribute>
</optional>
<optional>
<attribute name="table:end-y">
<ref name="coordinate"/>
</attribute>
</optional>
</define>
Если векторная фигура включена в документ электронной таблицы, то атрибут table:table-background
определяет, будет ли содержаться векторная фигура в фоне таблицы. Если атрибут отсутствует, то векторная фигура помещается на передний план таблицы.
<define name="common-text-spreadsheet-shape-attlist" combine="interleave">
<optional>
<attribute name="table:table-background">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Внутри текстового документа атрибут типа привязки text:anchor-type
определяет, каким образом фрейм обрамляет текстовый документ. Положение привязки — точка, в которой фрейм обрамляет текстовый документ. Положение привязки зависит от типа привязки, как это описано в следующей таблице:
Значение атрибута
text:anchor-
type ...
|
Положение привязки...
|
Элемент векторной фигуры отобразится ...
|
Примечания
|
page
|
Если к элементу векторной фигуры присоединен атрибут text:anchor-page-number , положение привязки — страница, которая имеет такой же физический номер, что и значение атрибута.
|
В начале основного содержимого документа, снаружи любого абзаца или фрейма, указанного атрибутом text:anchor-page-number .
|
Физический номер страницы — это номер, присвоенный странице, если все страницы в документе пронумерованы, начиная с номера 1
|
Если атрибут text:anchor-page-number отсутствует, положение привязки — это страница, на которой появляется символ, стоящий следом за элементом графического объекта
|
Внутри любого элемента абзаца, который не содержится внутри верхнего колонтитула, нижнего колонтитула, сноски или текстового окна, если не указан атрибут text:anchor-page-number
|
frame
|
Родительский текстовый блок, в котором содержится текущий элемент векторной фигуры
|
В элементе, представляющем текстовый блок, которым обрамлен графический объект. Например, если изображение обрамлено текстовым блоком, элемент изображения расположен в элементе текстового блока
|
|
paragraph
|
Абзац, в котором содержится текущий элемент векторной фигуры
|
В начале элемента абзаца
|
|
char
|
Символ после элемента векторной фигуры
|
Прямо перед символом
|
|
as-char
|
В данном случае положение привязки отсутствует. Векторная фигура ведет себя как символ
|
На позиции, где в документе отображается
|
|
<define name="common-text-spreadsheet-shape-attlist" combine="interleave">
<ref name="common-text-anchor-attlist"/>
</define>
<define name="common-text-anchor-attlist" combine="interleave">
<optional>
<attribute name="text:anchor-type">
<choice>
<value>page</value>
<value>frame</value>
<value>paragraph</value>
<value>char</value>
<value>as-char</value>
</choice>
</attribute>
</optional>
</define>
Внутри текстовых документов, атрибут text:anchor-page-number
определяет физический номер страницы привязки, если графический объект обрамляет страницу.
<define name="common-text-anchor-attlist" combine="interleave">
<optional>
<attribute name="text:anchor-page-number">
<ref name="positiveInteger"/>
</attribute>
</optional>
</define>
9.2.17 Общее содержимое векторных фигур
править
Большинство векторных фигур может иметь текстовое содержимое. Текстовое содержимое может включать абзацы (см. раздел 4.1.2), а также списки (см. раздел 4.3).
<define name="draw-text">
<zeroOrMore>
<choice>
<ref name="text-p"/>
<ref name="text-list"/>
</choice>
</zeroOrMore>
</define>
9.2.18 Общие группы атрибутов векторных фигур
править
Последующие определенные атрибуты — общие для всех векторных фигур, поддерживающих стили и не поддерживающих текст.
<define name="common-draw-shape-with-styles-attlist">
<ref name="common-draw-z-index-attlist"/>
<ref name="common-draw-id-attlist"/>
<ref name="common-draw-layer-name-attlist"/>
<ref name="common-draw-style-name-attlist"/>
<ref name="common-draw-transform-attlist"/>
<ref name="common-draw-name-attlist"/>
<ref name="common-text-spreadsheet-shape-attlist"/>
</define>
Последующие определенные атрибуты — общие для всех векторных фигур, поддерживающих стили и текст.
<define name="common-draw-shape-with-text-and-styles-attlist">
<ref name="common-draw-shape-with-styles-attlist"/>
<ref name="common-draw-text-style-name-attlist"/>
</define>
Точки привязки — это специально назначенные точки на графическом объекте, с которыми может соединяться векторная фигура соединительного элемента. Большинство графических объектов имеют четыре стандартных точки привязки, расположенных на четырех ребрах объекта. Дополнительные точки привязки могут быть добавлены к графическому объекту путем вставки одного или более элементов <draw:glue-point>
в элемент графического объекта. Элемент <draw:glue-point>
создает одиночную определяемую пользователем точку привязки, если он помещается внутри элемента графического объекта, например, внутри элемента <draw:rectangle>
.
<define name="draw-glue-point">
<element name="draw:glue-point">
<ref name="draw-glue-point-attlist"/>
<empty/>
</element>
</define>
Атрибут draw:id
содержит идентификатор точки привязки. Идентификатор — это номер, который используется внутри атрибутов draw:start-glue-point
и draw:end-glue-point
элемента <draw:connector>
. Идентификаторы от 0 до 3 зарезервированы для четырех стандартных точек привязки, которые имеет большинство графических объектов. Точки привязки нумеруются по часовой стрелке, начиная с левой верхней вершины векторной фигуры.
<define name="draw-glue-point-attlist" combine="interleave">
<attribute name="draw:id">
<ref name="nonNegativeInteger"/>
</attribute>
</define>
Атрибуты svg:x
и svg:y
определяют положение точки привязки. Координаты являются или процентными значениями относительно центра графической фигуры, или, если также определен атрибут draw:align
, абсолютными значениями дистанций до вершины, определенной атрибутом draw:align
.
<define name="draw-glue-point-attlist" combine="interleave">
<attribute name="svg:x">
<choice>
<ref name="distance"/>
<ref name="percent"/>
</choice>
</attribute>
<attribute name="svg:y">
<choice>
<ref name="distance"/>
<ref name="percent"/>
</choice>
</attribute>
</define>
Атрибут draw:align
определяет поведение выравнивания точки привязки в случае, когда изменяются размеры графического объекта и грань векторной фигуры, к которой относится положение точки привязки. Пропущенные значения атрибутов горизонтального или вертикального положения подразумевают, что точка привязки горизонтально или вертикально центрируется.
<define name="draw-glue-point-attlist" combine="interleave">
<attribute name="draw:align">
<choice>
<value>top-left</value>
<value>top</value>
<value>top-right</value>
<value>left</value>
<value>center</value>
<value>right</value>
<value>bottom-left</value>
<value>bottom-right</value>
</choice>
</attribute>
</define>
Атрибут draw:escape-direction
определяет направление, в котором соединительная линия выходит из графического объекта, если соединительный элемент связан с точкой привязки. Значение horizontal
подразумевает возможность выхода соединительной линии left
(влево) или right
(вправо), значение vertical
подразумевает возможность выхода соединительной линии up
(вверх) или down
(вниз).Значение auto
подразумевает возможность выхода соединительной линии в любом из четырех направлений.
<define name="draw-glue-points-attlist" combine="interleave">
<attribute name="draw:escape-direction">
<choice>
<value>auto</value>
<value>left</value>
<value>right</value>
<value>up</value>
<value>down</value>
<value>horizontal</value>
<value>vertical</value>
</choice>
</attribute>
</define>
Векторные фигуры могут иметь присоединенные датчики событий. Датчики событий, присоединенные, например, к текстовому блоку или изображению, представлены элементами событий, описанными в разделе 12.4. Этот элемент располагается внутри элемента графического объекта, например, внутри элемента <draw:text-box>
или <draw:image>
.
Фрейм — это прямоугольный контейнер, который может включать содержимое с расширенными возможностями, такое как текстовые блоки, изображения или объекты. Фреймы очень похожи на обычные векторные фигуры, но в отличие от них поддерживают некоторые функции, которые недоступны для обычных векторных фигур, такие как контуры, сенсорные изображения и гиперссылки. В частности, фреймы позволяют иметь множество преобразованных копий объекта. Например, фрейм может содержать объект наравне с изображением. В этом случае, приложение может выбирать содержимое, которое поддерживается им наилучшим образом. Если приложение поддерживает типы объектов, содержащихся в фрейме, оно, вероятно, будет отображать объект. Если приложение не поддерживает объект, оно будет отображать изображение.
В общем случае приложение не должно отображать больше одного элемента содержимого, расположенного во фрейме. Порядок элементов содержимого определяется предпочтениями автора документов относительно визуализации, где первый элемент-потомок является наиболее предпочтительным. Это означает, что приложение будет отображать дочерний элемент, который оно поддерживает. Фрейм должен включать как минимум один элемент содержимого. Включение различных элементов содержимого не обязательно. Приложения могут сохранять элементы содержимого, которые они не отображают, но не обязаны этого делать.
Внутри текстовых документов фреймы также используются для расположения содержимого за пределами обычной последовательности текста в документе.
Фреймы могут содержать:
- текстовые блоки;
- объекты, представленные или в формате OpenDocument, или в специальном бинарном формате объекта;
- изображения;
- апплеты;
- плагины;
- плавающие фреймы.
Так же, как и свойства форматирования векторных фигур, свойства форматирования фреймов хранятся в стилях, принадлежащих семейству graphic
. Способ размещения фрейма в документе такой же, как и для векторных фигур.
<define name="draw-frame">
<element name="draw:frame">
<ref name="common-draw-shape-with-text-and-styles-attlist"/>
<ref name="common-draw-position-attlist"/>
<ref name="common-draw-rel-size-attlist"/>
<ref name="presentation-shape-attlist"/>
<ref name="draw-frame-attlist"/>
<zeroOrMore>
<choice>
<ref name="draw-text-box"/>
<ref name="draw-image"/>
<ref name="draw-object"/>
<ref name="draw-object-ole"/>
<ref name="draw-applet"/>
<ref name="draw-floating-frame"/>
<ref name="draw-plugin"/>
</choice>
</zeroOrMore>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
<optional>
<ref name="draw-image-map"/>
</optional>
<optional>
<ref name="svg-desc"/>
</optional>
<optional>
<choice>
<ref name="draw-contour-polygon"/>
<ref name="draw-contour-path"/>
</choice>
</optional>
</element>
</define>
С элементом <draw:frame>
могут быть связаны следующие атрибуты:
- положение, размер (относительные размеры, см. ниже), стиль, слой, Z-индекс, идентификатор, преобразование (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- класс презентации (см. раздел 9.6.1);
- копирование фреймов.
Следующие элементы могут быть расположены внутри элемента изображения:
Для фреймов ширина и высота графического объекта может быть установлена как относительное значение с использованием атрибутов style:rel-width
и style:rel-height
. Относительное значение — это либо значение в процентах, либо специальное значение scale
, либо специальное значение scale-min
.
Интерпретация относительных значений зависит от привязки графического объекта. Если привязка для графического объекта в ячейке таблицы, то процентное значение берется относительно окружающего табличного блока. Если привязка графического объекта в текстовом блоке, процентное значение берется относительно окружающего текстового блока. В остальных случаях процентное значение берется относительно ширины страницы или окна.
Значение scale
для ширины означает, что ширина должна вычисляться в зависимости от высоты, с тем чтобы пропорции оригинального объекта или изображения сохранялись.
Значение scale
для высоты подразумевает, что высота должна вычисляться в зависимости от ширины, с тем чтобы пропорции оригинального объекта или изображения сохранялись.
Значение scale-min
эквивалентно значению scale
, за исключением того, что вычисленные ширина или высота — это минимальные величины, а не абсолютные значения.
Для поддержки приложений, которые не поддерживают относительные ширину и высоту, приложения, которые сохраняют атрибуты style:rel-width
или style:rel-height
, должны также предоставлять реальную ширину и высоту в атрибутах svg:width
и svg:height
/fo:min-height
.
<define name="common-draw-rel-size-attlist">
<ref name="common-draw-size-attlist"/>
<optional>
<attribute name="style:rel-width">
<choice>
<ref name="percent"/>
<value>scale</value>
<value>scale-min</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="style:rel-height">
<choice>
<ref name="percent"/>
<value>scale</value>
<value>scale-min</value>
</choice>
</attribute>
</optional>
</define>
Многочисленные фреймы могут быть установлены для отображения одного и того же содержимого: например, для логотипа компании, который должен встречаться в любом месте каждой страницы, не являясь частью верхнего или нижнего колонтитула.
Фрейм может быть установлен на отображение содержимого другого фрейма, указанного атрибутом draw:copy-of
. Это не воздействует на стиль и положение. Фрейм, имеющий атрибут draw:copy-of
, имеет свои собственные стиль и положение и не использует их из указанного фрейма.
<define name="draw-frame-attlist" combine="interleave">
<optional>
<attribute name="draw:copy-of">
<ref name="string"/>
</attribute>
</optional>
</define>
Элемент <draw:text-box>
представляет текстовый блок. Текстовый блок может быть использован для помещения текста в контейнер, который находится за пределами текстовой полосы документа.
<define name="draw-text-box">
<element name="draw:text-box">
<ref name="draw-text-box-attlist"/>
<zeroOrMore>
<ref name="text-content"/>
</zeroOrMore>
</element>
</define>
С элементом <draw:text-box>
могут быть связаны следующие атрибуты:
- сцепка;
- скругленные вершины;
- минимальные высота и ширина;
- максимальные высота и ширина.
Текстовые блоки не поддерживают контуры, описанные в разделе 9.3.8, и альтернативный текст, описанный в разделе 9.3.9.
Текстовые блоки могут быть сцеплены, другими словами, если содержимое текстового блока выходит за его пределы, содержимое перетекает в следующий текстовый блок в последовательности. Чтобы сцепить текстовые блоки, используется атрибут draw:chain-next-name
. Значением этого атрибута является имя следующего текстового блока в цепочке. Сцепленные текстовые блоки обычно поддерживаются только текстовыми документами.
<define name="draw-text-box-attlist" combine="interleave">
<optional>
<attribute name="draw:chain-next-name">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут draw:corner-radius
определяет радиус окружности, используемой для скругления вершин текстового блока.
<define name="draw-text-box-attlist" combine="interleave">
<optional>
<attribute name="draw:corner-radius">
<ref name="nonNegativeLength"/>
</attribute>
</optional>
</define>
Минимальные высота и ширина
править
Атрибуты fo:min-height
и fo:min-width
определяют минимальную высоту или ширину для текстового блока. Если они существуют, то они перезаписывают высоту или ширину текстового блока, определенную атрибутами svg:height
и svg:width
окружающего элемента <draw:frame>
. Их значения могут быть либо в единицах длины, либо в процентах. Если привязка текстового блока применена к ячейке таблицы, то процентное значение берется относительно окружающего табличного блока. Если привязка текстового блока применена к текстовому блоку, то процентное значение берется относительно окружающего текстового блока. В остальных случаях процентное значение берется относительно высоты страницы или окна.
<define name="draw-text-box-attlist" combine="interleave">
<optional>
<attribute name="fo:min-height">
<choice>
<ref name="length"/>
<ref name="percent"/>
</choice>
</attribute>
</optional>
<optional>
<attribute name="fo:min-width">
<choice>
<ref name="length"/>
<ref name="percent"/>
</choice>
</attribute>
</optional>
</define>
Максимальные высота и ширина
править
Если ширина или высота текстового блока определена как минимальная ширина и высота (с использованием атрибутов fo:min-width
или fo:min-height
), то атрибуты fo:max-width
и fo:max-height
определяют максимальную ширину и высоту текстового блока. Когда достигаются эти максимальные значения, текстовый блок больше не увеличивается в размерах. Значения атрибутов могут быть либо в единицах длины, либо в процентах. Если привязка текстового блока применена к ячейке таблицы, то процентное значение берется относительно размеров окружающей ячейки таблицы. Если привязка текстового блока применена к текстовому блоку, то процентное значение берется относительно размеров окружающего текстового блока. В остальных случаях процентное значение берется относительно ширины или высоты страницы или окна.
<define name="draw-text-box-attlist" combine="interleave">
<optional>
<attribute name="fo:max-height">
<choice>
<ref name="length"/>
<ref name="percent"/>
</choice>
</attribute>
</optional>
<optional>
<attribute name="fo:max-width">
<choice>
<ref name="length"/>
<ref name="percent"/>
</choice>
</attribute>
</optional>
</define>
Элемент <draw:image>
представляет изображение. Изображение может быть:
- содержащимся в документе как ссылка на внешний ресурс;
- внедренным в документ.
Этот элемент может быть [XLink], тогда случае элемент содержит некоторые атрибуты с фиксированными значениями, которые описывают семантику связи.
Поскольку данные изображения могут иметь произвольный формат, рекомендуется чтобы векторная графика сохранялась в формате [SVG], а растровая графика в формате [PNG].
<define name="draw-image">
<element name="draw:image">
<ref name="draw-image-attlist"/>
<choice>
<ref name="common-draw-data-attlist"/>
<ref name="office-binary-data"/>
</choice>
<ref name="draw-text"/>
</element>
</define>
С элементом <draw:image>
могут быть связаны следующие атрибуты:
- данные изображения;
- имя фильтра.
Как и большинство других векторных фигур, фигуры изображения могут иметь текстовое содержимое. Оно отображается в дополнении к данным изображения.
Данные изображения могут быть сохранены одним из следующих способов.
- Данные изображения хранятся во внешнем файле. Используется
xlink:href
и связанные атрибуты, описанные ниже, для связи с внешним файлом.
- Данные изображения хранятся в элементе
<draw:image>
. В этом случае элемент <draw:image>
содержит элемент <office:binary-data>
, который состоит из данных изображения в кодировке BASE64 (определенный в [RFC2045]). В этой ситуации атрибут xlink:href
не требуется.
<define name="common-draw-data-attlist" combine="interleave">
<group>
<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>
</group>
</define>
<define name="office-binary-data">
<element name="office:binary-data">
<ref name="base64Binary"/>
</element>
</define>
Если требуется, атрибут draw:filter-name
может представлять имя фильтра изображения. Этот атрибут содержит имя внутреннего фильтра, который используется офисным приложением для загрузки графики.
<define name="draw-image-attlist" combine="interleave">
<optional>
<attribute name="draw:filter-name">
<ref name="string"/>
</attribute>
</optional>
</define>
Документ в формате OpenDocument может содержать два типа объектов.
- Объекты, которые имеют представление OpenDocument. К ним относятся:
— формулы (представленные как [MathML]);
— диаграммы;
— электронные таблицы;
— текстовые документы;
— графические изображения;
— презентации.
- Объекты, которые не имеют XML-представления. Эти объекты имеют только бинарное представление. Примером таких объектов могут служить OLE-объекты (см. [OLE]).
Элемент <draw:object>
представляет объект, который имеет XML-представление. Элемент <draw:object-ole>
представляет объект который имеет только бинарное представление.
<define name="draw-object">
<element name="draw:object">
<ref name="draw-object-attlist"/>
<choice>
<ref name="common-draw-data-attlist"/>
<ref name="office-document"/>
<ref name="math-math"/>
</choice>
</element>
</define>
<define name="draw-object-ole">
<element name="draw:object-ole">
<ref name="draw-object-ole-attlist"/>
<choice>
<ref name="common-draw-data-attlist"/>
<ref name="office-binary-data"/>
</choice>
</element>
</define>
С элементами <draw:object>
и <draw:object-ole>
могут быть связаны следующие атрибуты:
- данные объекта;
- уведомление об изменении таблицы;
- идентификатор класса.
Объекты не поддерживают преобразований, описанных в разделе 9.2.15.
Данные объекта могут быть вызваны одним из следующих способов.
- Атрибут
xlink:href
ссылается на представление объекта, как описано ниже:
— для объектов, имеющих XML-представление, ссылка указывает на вложенный пакет объекта, причем объект, содержащийся внутри вложенной страницы, такой же, как если бы он содержался внутри документа;
— для объектов, не имеющих XML-представления, ссылка указывает на вложенный поток пакета, содержащего бинарное представление объекта.
Приложения, поддерживающие объекты, должны поддерживать связь с объектами, которые содержатся внутри того же пакета. Они могут также поддерживать связь с объектами, расположенными за пределами пакета.
- Данные объекта содержатся в элементах
<draw:object>
или <draw:object-ole>
:
— элемент <draw:object>
содержит XML-представление объекта, например, элемент <office:document>
или элемент <math:math>
;
— элемент <draw:object-ole>
содержит элемент <office:binary-data>
, содержащий бинарные данные для объекта в кодировке BASE64.
В этих ситуациях атрибут xlink:href
не требуется.
Атрибут xlink:href
описан в разделе 9.3.2.
Рекомендуется включать представление изображения объекта во фрейм, в дополнение к самому объекту.
Уведомление об изменении таблицы
править
Некоторые объекты, особенно диаграммы, могут требовать уведомления, когда таблица в документе изменяется. Для включения этих уведомлений используется атрибут draw:notify-on-change-of-table
, который содержит имя таблицы. Этот атрибут может быть связан с элементом <draw:object>
.
<define name="draw-object-attlist" combine="interleave">
<optional>
<attribute name="draw:notify-on-update-of-ranges">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут draw:class-id
содержит идентификатор класса OLE-объекта (см. также [OLE]).
<define name="draw-object-ole-attlist" combine="interleave">
<optional>
<attribute name="draw:class-id"/>
</optional>
</define>
Апплет — это небольшая программа на языке Java, включенная в документ. Элемент <draw:applet>
основывается на теге <applet>
из [HTML4]. Этот элемент должен содержать либо атрибут draw:code
, либо атрибут draw:object
.
<define name="draw-applet">
<element name="draw:applet">
<ref name="draw-applet-attlist"/>
<optional>
<ref name="common-draw-data-attlist"/>
</optional>
<zeroOrMore>
<ref name="draw-param"/>
</zeroOrMore>
</element>
</define>
С элементом <draw:applet>
могут быть связаны следующие атрибуты:
- кодовая база;
- код;
- объект;
- архив;
- разрешение скрипта.
Единственный элемент, который может быть включен в элемент <draw:applet>
:
Апплеты не поддерживают преобразований, описанных в разделе 9.2.15.
Кодовая база определяет базовый IRI для апплета. Если этот атрибут не определен, тогда по умолчанию устанавливается такой же IRI, как и для текущего документа. Кодовая база представляется атрибутами стандарта [XLink] xlink:href
, xlink:type
, xlink:show
и xlink:actuate
. Атрибут xlink:href
описан в разделе 9.3.2.
Атрибут draw:code
определяет одно из нижеперечисленного:
- имя файла класса, который содержит скомпилированный подкласс апплета;
- путь к классу, включая сам файл класса.
Обязательно наличие либо этого атрибута, либо атрибута draw:object
. Значение данного атрибута интерпретируется в зависимости от кодовой базы апплета.
<define name="draw-applet-attlist" combine="interleave">
<optional>
<attribute name="draw:code"/>
</optional>
</define>
Атрибут draw:object
определяет ресурс, который содержит сериализированное представление состояния апплета. Сериализированные данные содержат имя класса апплета, но не его реализацию. Значение данного атрибута интерпретируется в зависимости от кодовой базы апплета.
<define name="draw-applet-attlist" combine="interleave">
<optional>
<attribute name="draw:object"/>
</optional>
</define>
Атрибут draw:archive
определяет список разделенных запятыми адресов URL для архивов, содержащих классы и другие предварительно загружаемые ресурсы.
<define name="draw-applet-attlist" combine="interleave">
<optional>
<attribute name="draw:archive"/>
</optional>
</define>
Атрибут draw:mayscript
определяет, может ли апплет управляться скриптом.
<define name="draw-applet-attlist" combine="interleave">
<optional>
<attribute name="draw:may-script" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Плагины — это бинарные объекты, которые вставляются в документ для отображения медиа-содержимого, которое обычно не обрабатывается офисными приложениями самостоятельно. Плагины представлены элементом <draw:plugin>
.
<define name="draw-plugin">
<element name="draw:plugin">
<ref name="draw-plugin-attlist"/>
<ref name="common-draw-data-attlist"/>
<zeroOrMore>
<ref name="draw-param"/>
</zeroOrMore>
</element>
</define>
С элементом <draw:plugin>
могут быть связаны следующие атрибуты:
Единственный элемент, который может содержаться внутри элемента <draw:plugin>
, это:
Плагины не поддерживают преобразований, описанных в разделе 9.2.15.
Атрибут draw:mimetype
определяет тип MIME, с которым данный плагин будет зарегистрирован.
<define name="draw-plugin-attlist" combine="interleave">
<optional>
<attribute name="draw:mime-type"/>
</optional>
</define>
Атрибуты [XLink] xlink:href
, xlink:type
, xlink:show
и xlink:actuate
определяют источник плагина. Атрибут xlink:href
описан в разделе 9.3.2.
Элемент <draw:param>
содержит параметры, которые передаются апплету или плагину при инициализации.
<define name="draw-param">
<element name="draw:param">
<ref name="draw-param-attlist"/>
<empty/>
</element>
</define>
С элементом <draw:param>
могут быть связаны следующие атрибуты:
Атрибут draw:name
определяет имя параметра времени выполнения.
<define name="draw-param-attlist" combine="interleave">
<optional>
<attribute name="draw:name"/>
</optional>
</define>
Атрибут draw:value
определяет значение параметра времени выполнения, заданного именем.
<define name="draw-param-attlist" combine="interleave">
<optional>
<attribute name="draw:value"/>
</optional>
</define>
Плавающие фреймы — это фреймы, включенные в документ, которые могут содержать, например, текстовый документ или электронную таблицу. Плавающий фрейм представлен элементом <draw:floating-frame>
.
<define name="draw-floating-frame">
<element name="draw:floating-frame">
<ref name="draw-floating-frame-attlist"/>
<ref name="common-draw-data-attlist"/>
</element>
</define>
С элементом <draw:floating-frame>
могут быть связаны следующие атрибуты:
Плавающие фреймы не поддерживают преобразований, описанных в разделе 9.2.15.
Атрибуты [XLink] xlink:href
, xlink:type
, xlink:show
и xlink:actuate
определяют источник плавающего фрейма. Атрибут xlink:href
описан в разделе 9.3.2.
Атрибут draw:frame-name
определяет имя фрейма. Это имя может быть использовано как целевой фрейм внутри гиперссылки.
<define name="draw-floating-frame-attlist" combine="interleave">
<optional>
<attribute name="draw:frame-name">
<ref name="string"/>
</attribute>
</optional>
</define>
Элементы <draw:contour-polygon>
и <draw:contour-path>
могут содержаться внутри следующих элементов:
<draw:image>
<draw:object>
<draw:object-ole>
<draw:applet>
<draw:plugin>
<draw:floating-frame>
Эти элементы описывают контур изображения или объекта.
<define name="draw-contour-polygon">
<element name="draw:contour-polygon">
<ref name="common-contour-attlist"/>
<ref name="common-draw-size-attlist"/>
<ref name="common-draw-viewbox-attlist"/>
<ref name="common-draw-points-attlist"/>
<empty/>
</element>
</define>
<define name="draw-contour-path">
<element name="draw:contour-path">
<ref name="common-contour-attlist"/>
<ref name="common-draw-size-attlist"/>
<ref name="common-draw-viewbox-attlist"/>
<ref name="common-draw-path-data-attlist"/>
<empty/>
</element>
</define>
Элементы аналогичны элементам <draw:polygon>
(см. раздел 9.2.4) и <draw:path>
(см. раздел 9.2.6) за исключением того, что они определяют контур, а не векторную фигуру. Поддерживаемые ими атрибуты совпадают для размера, окна просмотра, точек (только для контура-многоугольника) и траектории (только для контура-траектории).
В отличие от остальных элементов, атрибуты svg:width
и svg:height
могут иметь значение длины в пикселях (т. е. 20 px) (так же, как традиционно, например, 2 см).
Перерисовка при редактировании
править
Атрибут draw:recreate-on-edit
определяет, будет ли контур изображения или объекта автоматически перерисовываться, когда изображение или объект редактируется.
<define name="common-contour-attlist" combine="interleave">
<attribute name="draw:recreate-on-edit">
<ref name="boolean"/>
</attribute>
</define>
Элемент <svg:desc>
определяет альтернативный текст, как описано в § 5.4 [SVG]. Он может использоваться со следующими элементами:
<draw:image>
<draw:object>
<draw:object-ole>
<draw:applet>
<draw:floating-frame>
<draw:plugin>
<draw:object-ole>
<define name="svg-desc">
<element name="svg:desc">
<text/>
</element>
</define>
Фреймы могут вести себя как гиперссылки. Такие гиперссылки представлены элементом <draw:a>
, где содержимым элемента является фрейм, содержащий источник ссылки.
Этот элемент является [XLink] и имеет некоторые атрибуты с фиксированными значениями и описывает семантику ссылки.
<define name="draw-a">
<element name="draw:a">
<ref name="draw-a-attlist"/>
<ref name="draw-frame"/>
</element>
</define>
С элементом <draw:a>
могут быть связаны следующие атрибуты:
- адрес ссылки;
- целевой фрейм ссылки;
- имя;
- серверное сенсорное изображение.
Атрибут xlink:href
определяет целевой адрес ссылки.
<define name="draw-a-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">
<choice>
<value>onRequest</value>
</choice>
</attribute>
</optional>
</define>
Атрибут office:target-frame
определяет целевой фрейм ссылки.
Атрибут может принимать одно из следующих значений:
_self
— документ по ссылке заменяет содержимое текущего фрейма;
_blank
— документ по ссылке открывается в новом фрейме;
_parent
— документ по ссылке открывается в родительском по отношению к текущему фрейму фрейме;
_top
— документ по ссылке отображается в самом верхнем фрейме, это фрейм, который содержит текущей фрейм в качестве дочернего, но который не содержится внутри никакого другого фрейма;
- имя фрейма — документ по ссылке отображается в заданном фрейме. Если фрейм с таким именем отсутствует, будет создан новый фрейм с заданным именем.
Для соответствия спецификации [XLink] добавлен дополнительный атрибут xlink:show
для элемента <draw:a>
. Если значением атрибута xlink:show
является _blank
, то значением атрибута xlink:show
будет new
. Если значением атрибута xlink:show
является одно из других возможных, значением атрибута xlink:show
будет replace
.
<define name="draw-a-attlist" combine="interleave">
<optional>
<attribute name="office:target-frame-name">
<ref name="targetFrameName"/>
</attribute>
</optional>
<optional>
<attribute name="xlink:show">
<choice>
<value>new</value>
<value>replace</value>
</choice>
</attribute>
</optional>
</define>
Гиперссылка может иметь имя, но оно не является обязательным. Атрибут office:name
определяет имя ссылки. Имя может служить целевым объектом для других гиперссылок. Имя не должно быть уникальным.
Этот атрибут определен только для совместимости со стандартом [HTML4], в котором элемент <a>
может выступать и как источник ссылки, и как целевой объект одновременно. Мы настоятельно рекомендуем не использовать этот атрибут для каких-либо целей, кроме представления гиперссылки в оригинальном виде, как она представлена в HTML-документе.
<define name="draw-a-attlist" combine="interleave">
<optional>
<attribute name="office:name">
<ref name="string"/>
</attribute>
</optional>
</define>
Серверное сенсорное изображение
править
Ссылка может быть серверным сенсорным изображением. Если указан атрибут office:server-map
, координаты курсора мыши в позиции нажатия графической фигуры добавляются к IRI ссылки. Координаты могут использоваться сервером для определения, какую именно ссылку внутри сенсорного изображения активировать.
<define name="draw-a-attlist" combine="interleave">
<optional>
<attribute name="office:server-map" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
9.3.11 Клиентские сенсорные изображения
править
Клиентские сенсорные изображения — это коллекция гиперссылок, связанных с графическими элементами. Сенсорное изображение — это последовательность элементов сенсорных изображений. Каждый элемент сенсорного изображения связывает гиперссылку с определенной областью. Эта область может быть одной из следующих форм:
- прямоугольник;
- круг;
- многоугольник.
Элемент <draw:image-map>
представляет сенсорное изображение.
<define name="draw-image-map">
<element name="draw:image-map">
<zeroOrMore>
<choice>
<ref name="draw-area-rectangle"/>
<ref name="draw-area-circle"/>
<ref name="draw-area-polygon"/>
</choice>
</zeroOrMore>
</element>
</define>
Элемент <draw:image-map>
может содержать три типа элементов сенсорных изображений, которые представляют три типа областей сенсорных изображений:
- прямоугольные элементы сенсорного изображения;
- круглые элементы сенсорного изображения;
- многоугольные элементы сенсорного изображения.
Элементы сенсорных изображений описываются в терминах абсолютного положения. Офисное приложение при загрузке XML-файла должно отобразить сенсорное изображение в связанный с ним графический элемент, например, изображение в оригинальном размере. Затем приложение должно масштабировать сенсорное изображение таким образом, чтобы оно соответствовало текущему размеру изображения, но в формате файла всегда сохраняется в немасштабируемом виде, приведенном в соответствие с размерами немасштабированного изображения.
Прямоугольные области сенсорного изображения
править
Элемент <draw:area-rectangle>
описывает прямоугольную область сенсорного изображения путем задания положения x, y (атрибуты svg:x
и svg:y
), а также ширины и высоты (атрибуты svg:width
и svg:height
). Это обязательные атрибуты. В дополнение к этому, атрибуты, описанные в нижеследующем разделе Общие атрибуты и элементы сенсорных изображений, устанавливаются по выбору.
<define name="draw-area-rectangle">
<element name="draw:area-rectangle">
<ref name="common-draw-area-attlist"/>
<attribute name="svg:x">
<ref name="coordinate"/>
</attribute>
<attribute name="svg:y">
<ref name="coordinate"/>
</attribute>
<attribute name="svg:width">
<ref name="length"/>
</attribute>
<attribute name="svg:height">
<ref name="length"/>
</attribute>
<optional>
<ref name="svg-desc"/>
</optional>
<optional>
<ref name="office-event-listeners"/>
</optional>
</element>
</define>
Круглые области сенсорного изображения
править
Элемент <draw:area-circle>
описывает круглую область сенсорного изображения. Дополнительные атрибуты для круглых областей сенсорного изображения описаны ниже, в разделе общих атрибутов.
Обязательные атрибуты svg:cx
и svg:cy
определяют центр окружности. Обязательный атрибут svg:r
определяет радиус окружности.
Атрибуты, описанные в разделе Общие атрибуты и элементы сенсорных изображений, являются необязательными.
<define name="draw-area-circle">
<element name="draw:area-circle">
<ref name="common-draw-area-attlist"/>
<attribute name="svg:cx">
<ref name="coordinate"/>
</attribute>
<attribute name="svg:cy">
<ref name="coordinate"/>
</attribute>
<attribute name="svg:r">
<ref name="length"/>
</attribute>
<optional>
<ref name="svg-desc"/>
</optional>
<optional>
<ref name="office-event-listeners"/>
</optional>
</element>
</define>
Многоугольные области сенсорного изображения
править
Элемент <draw:area-polygon>
описывает многоугольную область сенсорного изображения. Многоугольная область сенсорного изображения включает в себя следующие компоненты.
Обрамляющая рамка, которая представляется так же, как и прямоугольная область сенсорного изображения с использованием атрибутов svg:x
, svg:y
, svg:width
, и svg:height
, устанавливает фрейм, на который ссылаются область отображения и последовательность точек многоугольника. Указанный фрейм делает доступными координаты, которые будут преобразовываться в абсолютные координаты.
Атрибут области отображения svg:viewBox
устанавливает систему координат для последовательности точек. Область отображения позволяет избежать необходимость записывать каждую точку из последовательности абсолютными координатами с длинами и единицами измерения.
- Последовательность точек в координатах области отображения, указанная в атрибуте
svg:points
.
Для получения дополнительной информации о задании многоугольника см. раздел 9.2.4.
Описанные выше атрибуты являются обязательными. Атрибуты, описанные в разделе Общие атрибуты и элементы сенсорных изображений, являются необязательными.
<define name="draw-area-polygon">
<element name="draw:area-polygon">
<ref name="common-draw-area-attlist"/>
<attribute name="svg:x">
<ref name="coordinate"/>
</attribute>
<attribute name="svg:y">
<ref name="coordinate"/>
</attribute>
<attribute name="svg:width">
<ref name="length"/>
</attribute>
<attribute name="svg:height">
<ref name="length"/>
</attribute>
<ref name="common-draw-viewbox-attlist"/>
<ref name="common-draw-points-attlist"/>
<optional>
<ref name="svg-desc"/>
</optional>
<optional>
<ref name="office-event-listeners"/>
</optional>
</element>
</define>
Пример — Многоугольная область сенсорного изображения.
Элемент, показанный в следующем примере, определяет треугольник, который расположен в центре изображения размером 2 см на 2 см. Обрамляющая рамка покрывает область размером 2 см на 1,5 см. Одна единица области отображения соответствует 0,01 мм.
<draw:area-polygon ...
svg:x="0" svg:y="0" svg:width="2.0cm" svg:height="2.0cm"
svg:viewBox="0 0 2000 2000"
svg:points="400,1500 1600,1500 1000,400"/>
Общие атрибуты и элементы сенсорных изображений
править
В дополнение к атрибутам векторной фигуры, каждый элемент сенсорного изображения может содержать следующую информацию:
- ссылка, включающая IRI и целевой фрейм ссылки;
- имя;
- флаг активности;
- описание (используется дочерний элемент
<svg:desc>
, как описано в разделе 9.3.9);
- события, связанные с областью (используется дочерний элемент
<office:event-listeners>
, как описано в разделе 12.4).
Остальные атрибуты сенсорных изображений взяты из HTML-представления сенсорного изображения.
Каждый элемент сенсорного изображения идентифицирует гиперссылку и использует атрибуты стандарта [XLink] href
, type
, и show
, а также атрибут office:target-frame-name
для описания ссылки.
<define name="common-draw-area-attlist" combine="interleave">
<optional>
<attribute name="xlink:href">
<ref name="anyURI"/>
</attribute>
</optional>
<optional>
<attribute name="xlink:type" a:defaultValue="simple">
<choice>
<value>simple</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="office:target-frame-name">
<ref name="targetFrameName"/>
</attribute>
</optional>
<optional>
<attribute name="xlink:show">
<choice>
<value>new</value>
<value>replace</value>
</choice>
</attribute>
</optional>
</define>
Атрибут office:name
присваивает имя каждому элементу сенсорного изображения.
<define name="common-draw-area-attlist" combine="interleave">
<optional>
<attribute name="office:name">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут draw:nohref
объявляет о том, что элемент сенсорного изображения и связанная с ним область не активна. Содержащийся внутри элемента сенсорного изображения IRI не используется.
<define name="common-draw-area-attlist" combine="interleave">
<optional>
<attribute name="draw:nohref">
<choice>
<value>nohref</value>
</choice>
</attribute>
</optional>
</define>
Элемент <dr3d:scene>
является единственным элементом, который может содержать трехмерные фигуры. Сцена подобна группе, но кроме того она устанавливает проекцию, освещение и другие детали формирования изображения для фигур внутри сцены.
<define name="dr3d-scene">
<element name="dr3d:scene">
<ref name="dr3d-scene-attlist"/>
<ref name="common-draw-position-attlist"/>
<ref name="common-draw-size-attlist"/>
<ref name="common-draw-style-name-attlist"/>
<ref name="common-draw-z-index-attlist"/>
<ref name="common-draw-id-attlist"/>
<ref name="common-draw-layer-name-attlist"/>
<ref name="common-text-spreadsheet-shape-attlist"/>
<ref name="common-dr3d-transform-attlist"/>
<zeroOrMore>
<ref name="dr3d-light"/>
</zeroOrMore>
<zeroOrMore>
<ref name="shapes3d"/>
</zeroOrMore>
</element>
</define>
<define name="shapes3d">
<choice>
<ref name="dr3d-scene"/>
<ref name="dr3d-extrude"/>
<ref name="dr3d-sphere"/>
<ref name="dr3d-rotate"/>
<ref name="dr3d-cube"/>
</choice>
</define>
С данным элементом могут быть связаны следующие атрибуты:
- положение, размер, стиль, слой, Z-индекс, идентификатор (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- векторы камеры;
- проекция;
- дистанция;
- фокусное расстояние;
- наклон тени;
- режим затенения;
- окружающий свет;
- режим освещения.
Векторы камеры определяют видимый объем. Атрибут dr3d:vrp
определяет начало координат, атрибут dr3d:vpn
указывает направление к строящемуся объекту, атрибут dr3d:vup
определяет верхний вектор.
<define name="dr3d-scene-attlist" combine="interleave">
<optional>
<attribute name="dr3d:vrp">
<ref name="vector3D"/>
</attribute>
</optional>
<optional>
<attribute name="dr3d:vpn">
<ref name="vector3D"/>
</attribute>
</optional>
<optional>
<attribute name="dr3d:vup">
<ref name="vector3D"/>
</attribute>
</optional>
</define>
Атрибут dr3d:projection
определяет проекцию. Проекция может быть аксонометрической или параллельной. В аксонометрическом режиме объекты выглядят меньше на расстоянии.
<define name="dr3d-scene-attlist" combine="interleave">
<optional>
<attribute name="dr3d:projection">
<choice>
<value>parallel</value>
<value>perspective</value>
</choice>
</attribute>
</optional>
</define>
Атрибут dr3d:distance
определяет расстояние между камерой и объектом.
<define name="dr3d-scene-attlist" combine="interleave">
<optional>
<attribute name="dr3d:distance">
<ref name="length"/>
</attribute>
</optional>
</define>
Атрибут dr3d:focal-length
определяет фокусное расстояние для виртуальной камеры данной сцены.
<define name="dr3d-scene-attlist" combine="interleave">
<optional>
<attribute name="dr3d:focal-length">
<ref name="length"/>
</attribute>
</optional>
</define>
Атрибут dr3d:shadow-slant
определяет угол между трехмерной сценой и виртуальной поверхностью, на которую падает тень.
<define name="dr3d-scene-attlist" combine="interleave">
<optional>
<attribute name="dr3d:shadow-slant">
<ref name="nonNegativeInteger"/>
</attribute>
</optional>
</define>
Режим затенения определяет, каким образом рассчитывается освещение при прорисовке поверхностей:
flat
— освещение рассчитывается по одной нормали поверхности;
phong
— освещение рассчитывается путем интерполирования нормалей поверхности по всей поверхности;
gouraud
— освещение рассчитывается путем интерполирования цвета с нормалями поверхности на каждой грани;
draft
— поверхность не освещается и отображается только ее каркас.
<define name="dr3d-scene-attlist" combine="interleave">
<optional>
<attribute name="dr3d:shade-mode">
<choice>
<value>flat</value>
<value>phong</value>
<value>gouraud</value>
<value>draft</value>
</choice>
</attribute>
</optional>
</define>
Атрибут dr3d:ambient-color
определяет цвет окружающего освещения. Окружающее освещение — это освещение, которое выглядит как исходящее со всех направлений.
<define name="dr3d-scene-attlist" combine="interleave">
<optional>
<attribute name="dr3d:ambient-color">
<ref name="color"/>
</attribute>
</optional>
</define>
Атрибут dr3d:lighting-mode
включает или выключает использование света на трехмерной сцене.
<define name="dr3d-scene-attlist" combine="interleave">
<optional>
<attribute name="dr3d:lighting-mode">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Значением атрибута dr3d:transform
является список определений преобразований, которые применяются в том порядке, в котором они перечислены в списке. Одиночные определения преобразований разделяются пробельными символами. Допустимые типы определений преобразований включают:
matrix (<a> <b> <c> <d> <e> <f> <g> <h> <i> <j> <k> <l>)
— определяет преобразование в виде матрицы преобразований шести значений. matrix(a,b,c,d,e,f,g,h,i,j,k,l)
эквивалентно применению матрицы преобразований [a b c d e f g h i j k l]
;
translate (<tx> <ty> <tz>)
— определяет перемещение на tx
, ty
и tz
;
scale (<sx> <sy> <sz>)
— определяет операцию масштабирования на sx
, sy
и sz
;
rotatex (<rotate-angle>)
— определяет вращение на <rotate-angle>
градусов вокруг оси x;
rotatey (<rotate-angle>)
, который определяет вращение на <rotate-angle>
градусов вокруг оси y.
rotatez (<rotate-angle>)
— определяет вращение на <rotate-angle>
градусов вокруг оси z.
<define name="common-dr3d-transform-attlist">
<optional>
<attribute name="dr3d:transform"/>
</optional>
</define>
Элемент <dr3d:light>
представляет источник света в сцене.
Этот элемент должен быть первым элементом, содержащимся в элементе <dr3d:scene>
. Может быть указано несколько источников света, но приложения могут поддерживать только ограниченное их количество внутри одной сцены. Обычное ограничение — 8 источников света на одну сцену.
<define name="dr3d-light">
<element name="dr3d:light">
<ref name="dr3d-light-attlist"/>
<empty/>
</element>
</define>
С элементом <dr3d:light>
могут быть связаны следующие атрибуты:
- рассеянный;
- направление;
- включенный;
- отраженный.
Атрибут dr3d:diffuse-color
определяет базовый цвет распространяемого света.
<define name="dr3d-light-attlist" combine="interleave">
<optional>
<attribute name="dr3d:diffuse-color">
<ref name="color"/>
</attribute>
</optional>
</define>
Атрибут dr3d:direction
определяет направление, в котором распространяется свет.
<define name="dr3d-light-attlist" combine="interleave">
<attribute name="dr3d:direction">
<ref name="vector3D"/>
</attribute>
</define>
Атрибут dr3d:enabled
определяет, включен или нет источник света. Если источник света не включен, он не распространяет никакого света.
<define name="dr3d-light-attlist" combine="interleave">
<optional>
<attribute name="dr3d:enabled">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут dr3d:specular
определяет, будет ли свет от источника создавать отражение на объектах. Приложения могут рассчитать этот атрибут только для первого источника в сцене.
<define name="dr3d-light-attlist" combine="interleave">
<optional>
<attribute name="dr3d:specular">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Элемент <dr3d:cube>
представляет трехмерную кубическую фигуру.
<define name="dr3d-cube">
<element name="dr3d:cube">
<ref name="dr3d-cube-attlist"/>
<ref name="common-draw-z-index-attlist"/>
<ref name="common-draw-id-attlist"/>
<ref name="common-draw-layer-name-attlist"/>
<ref name="common-draw-style-name-attlist"/>
<ref name="common-dr3d-transform-attlist"/>
<empty/>
</element>
</define>
С элементом <dr3d:cube>
могут быть связаны следующие атрибуты:
- стиль, слой, Z-индекс и идентификатор (см. раздел 9.2.15);
- минимальная и максимальная грань.
Минимальная и максимальная грань
править
Атрибуты dr3d:min-edge
и dr3d:max-edge
определяют минимальную и максимальную грань куба в трехмерном пространстве.
<define name="dr3d-cube-attlist" combine="interleave">
<optional>
<attribute name="dr3d:min-edge">
<ref name="vector3D"/>
</attribute>
</optional>
<optional>
<attribute name="dr3d:max-edge">
<ref name="vector3D"/>
</attribute>
</optional>
</define>
Элемент <dr3d:sphere>
представляет трехмерную сферическую фигуру.
<define name="dr3d-sphere">
<element name="dr3d:sphere">
<ref name="dr3d-sphere-attlist"/>
<ref name="common-draw-z-index-attlist"/>
<ref name="common-draw-id-attlist"/>
<ref name="common-draw-layer-name-attlist"/>
<ref name="common-draw-style-name-attlist"/>
<ref name="common-dr3d-transform-attlist"/>
<empty/>
</element>
</define>
С элементом <dr3d:sphere>
могут быть связаны следующие атрибуты:
- стиль, слой, Z-индекс и идентификатор (см. раздел 9.2.15);
- центр;
- размер.
Атрибут dr3d:center
определяет центр сферы в трехмерном пространстве.
<define name="dr3d-sphere-attlist" combine="interleave">
<optional>
<attribute name="dr3d:center">
<ref name="vector3D"/>
</attribute>
</optional>
</define>
Атрибут dr3d:size
определяет размер сферы в трехмерном пространстве.
<define name="dr3d-sphere-attlist" combine="interleave">
<optional>
<attribute name="dr3d:size">
<ref name="vector3D"/>
</attribute>
</optional>
</define>
Элемент <dr3d:extrude>
представляет трехмерное выдавливание, основанное на многоугольнике.
<define name="dr3d-extrude">
<element name="dr3d:extrude">
<ref name="common-draw-path-data-attlist"/>
<ref name="common-draw-viewbox-attlist"/>
<ref name="common-draw-id-attlist"/>
<ref name="common-draw-z-index-attlist"/>
<ref name="common-draw-layer-name-attlist"/>
<ref name="common-draw-style-name-attlist"/>
<ref name="common-dr3d-transform-attlist"/>
<empty/>
</element>
</define>
С элементом <dr3d:extrude>
могут быть связаны следующие атрибуты:
Элемент <dr3d:rotate>
представляет трехмерную фигуру вращения, основанную на многоугольнике.
<define name="dr3d-rotate">
<element name="dr3d:rotate">
<ref name="common-draw-viewbox-attlist"/>
<ref name="common-draw-path-data-attlist"/>
<ref name="common-draw-z-index-attlist"/>
<ref name="common-draw-id-attlist"/>
<ref name="common-draw-layer-name-attlist"/>
<ref name="common-draw-style-name-attlist"/>
<ref name="common-dr3d-transform-attlist"/>
<empty/>
</element>
</define>
С элементом <dr3d:rotate>
могут быть связаны следующие атрибуты:
Элемент <draw:custom-shape>
представляет векторную фигуру, допускающую прорисовку множества образов. Элемент предлагает работу со шрифтом и выдавливанием. Специальная фигура может иметь геометрию, влияющую на ее векторные фигуры. Эта геометрия может быть отображена в пользовательском интерфейсе офисных приложений, например, отображением интерактивных обработчиков, представляющих простой путь изменения геометрии.
<define name="draw-custom-shape">
<element name="draw:custom-shape">
<ref name="draw-custom-shape-attlist"/>
<ref name="common-draw-position-attlist"/>
<ref name="common-draw-size-attlist"/>
<ref name="common-draw-shape-with-text-and-styles-attlist"/>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<ref name="draw-glue-point"/>
</zeroOrMore>
<ref name="draw-text"/>
<optional>
<ref name="draw-enhanced-geometry"/>
</optional>
</element>
</define>
С элементом <draw:custom shape>
могут быть связаны следующие атрибуты:
- положение, размер, стиль, слой, Z-индекс, идентификатор, преобразование (см. раздел 9.2.15);
- привязка, фон таблицы, конечное положение рисунка (см. раздел 9.2.16);
- механизм рисования;
- данные рисования.
Необязательный атрибут draw:engine
определяет имя механизма отображения, который будет использоваться для построения изображения специфической фигуры. Значением атрибута является токен пространства имен, имеющий префикс пространства имен XML, как и любой атрибут или элемент этой спецификации. Механизм рисования может либо получать данные из атрибута draw:data
, либо вычислять дочерний элемент <draw:enhanced-geometry>
.
Если атрибут draw:engine
пропущен, будет использован стандартный механизм рисования офисного приложения для отображения специальных фигур. Этот механизм получает данные о геометрии только от элемента <draw:enhanced-geometry>
.
<define name="draw-custom-shape-attlist" combine="interleave">
<optional>
<attribute name="draw:engine">
<ref name="namespacedToken"/>
</attribute>
</optional>
</define>
Атрибут draw:data
содержит специфические данные механизма прорисовки, которые описывают геометрию специфической фигуры. Этот атрибут вычисляется только в случае установки в атрибуте draw:engine
значения не по умолчанию.
<define name="draw-custom-shape-attlist" combine="interleave">
<optional>
<attribute name="draw:data">
<ref name="string"/>
</attribute>
</optional>
</define>
9.5.1 Расширенная геометрия
править
Элемент <draw:enhanced-geometry>
содержит геометрию для элемента <draw:custom-shape>
в том случае, если его атрибут draw:engine
пропущен.
<define name="draw-enhanced-geometry">
<element name="draw:enhanced-geometry">
<ref name="draw-enhanced-geometry-attlist"/>
<zeroOrMore>
<ref name="draw-equation"/>
</zeroOrMore>
<zeroOrMore>
<ref name="draw-handle"/>
</zeroOrMore>
</element>
</define>
С элементом <draw:enhanced-geometry>
могут быть связаны следующие атрибуты:
- тип;
- область отображение;
- отражение;
- угол поворота текста;
- допустимость выдавливания;
- допустимость текстовой траектории;
- допустимость концентрической градиентной заливки;
- расширенная геометрия: атрибуты выдавливания (см. раздел 9.5.2);
- расширенная геометрия: атрибуты траектории (см. раздел 9.5.3);
- расширенная геометрия: атрибуты траектории текста (см. раздел 9.5.4);
- расширенная геометрия: уравнение (см. раздел 9.5.5);
- расширенная геометрия: атрибуты меток-манипуляторов (см. раздел 9.5.6).
Атрибут draw:type
содержит имя типа фигуры. Это имя может быть использовано для предоставления специализированного пользовательского интерфейса для определенного типа, например для стрелок, смайлов и т. п.
Тип фигуры зависит от механизма рисования и никак не влияет на геометрию фигуры. Если значением атрибута draw:type
является non-primitive
, то тип фигуры не определен.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:type" a:defaultValue="non-primitive">
<ref name="custom-shape-type"/>
</attribute>
</optional>
</define>
<define name="custom-shape-type">
<choice>
<value>non-primitive</value>
<ref name="string"/>
</choice>
</define>
Атрибут svg:viewBox
устанавливает пользовательскую систему координат внутри физической системы координат фигуры, заданной путем определения атрибутов положения и размера. Пользовательская система координат используется элементом <draw:enhanced-path>
.
Синтаксис использования данного атрибута такой же, как и синтаксис стандарта [SVG]. Значениями данного атрибута являются четыре числа, разделенные пробельными символами. Они определяют левое, верхнее, правое и нижние измерения пользовательской системы координат.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="svg:viewBox">
<list>
<ref name="integer"/>
<ref name="integer"/>
<ref name="integer"/>
<ref name="integer"/>
</list>
</attribute>
</optional>
</define>
Атрибуты draw:mirror-vertical
и draw:mirror-horizontal
определяют, будет ли геометрия фигуры отображаться зеркально.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:mirror-vertical" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
<optional>
<attribute name="draw:mirror-horizontal" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут draw:text-rotate-angle
определяет угол, на который будет повернут текст внутри специальной фигуры, в дополнение к вращению, включенному в атрибут draw:transform
.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:text-rotate-angle" a:defaultValue="0">
<ref name="double"/>
</attribute>
</optional>
</define>
Атрибут draw:extrusion-allowed
определяет, будет ли у фигуры возможность отображаться как объекту выдавливания.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-allowed" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Допустимость текстовой траектории
править
Атрибут draw:text-path-allowed
определяет, может ли фигура отображаться как объект текстовых эффектов. Текст объекта текстовых эффектов отличается от обычных текстовых объектов возможностью отображать текст вдоль или между линий, определенных атрибутом draw:enhanced-path
. Объекты текстовых эффектов способны поддерживать стандартные графические атрибуты, такие как заливка, тень или стиль линий.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:text-path-allowed" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Допустимость концентрической градиентной заливки
править
Атрибут draw:concentric-gradient-fill-allowed
определяет, может ли фигура отображаться с концентрической градиентной заливкой, использующей траекторию специальной фигуры.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:concentric-gradient-fill-allowed"
a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
9.5.2 Расширенная геометрия: атрибуты выдавливания
править
Атрибут draw:extrusion
определяет, будет ли отображаться выдавливание.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут draw:extrusion-brightness
определяет яркость сцены.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-brightness" a:defaultValue="33%">
<ref name="percent"/>
</attribute>
</optional>
</define>
Атрибут draw:extrusion-depth
определяет глубину выдавливания. Он берет два значения, разделенных пробельными символами. Первое значение определяет глубину выдавливания, второе значение определяет фрагмент выдавливания, лежащий перед фигурой. Он должен быть в диапазоне [0,1]. Значение 0 устанавливается по умолчанию.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-depth" a:defaultValue="36pt 0">
<list>
<ref name="length"/>
<ref name="double"/>
</list>
</attribute>
</optional>
</define>
Величина диффузии, отражаемой фигурой, определяется атрибутом draw:extrusion-diffusion
.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-diffusion" a:defaultValue="0%">
<ref name="percent"/>
</attribute>
</optional>
</define>
Количество сегментов линии выдавливания
править
Атрибут draw:extrusion-number-of-line-segments
определяет количество сегментов линии, которые будут использоваться для отображения кривых поверхностей. Чем больше число, тем больше сегментов используется.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-number-of-line-segments"
a:defaultValue="30">
<ref name="integer"/>
</attribute>
</optional>
</define>
Фронтальное освещение выдавливания
править
Атрибут draw:extrusion-light-face
определяет, реагирует ли передняя грань выдавливания на изменение освещения.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-light-face" a:defaultValue="true">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Резкость первого источника света выдавливания
править
Атрибут draw:extrusion-first-light-harsh
определяет, является ли первый источник света резким.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-first-light-harsh"
a:defaultValue="true">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Резкость второго источника света выдавливания
править
Атрибут draw:extrusion-second-light-harsh
определяет, является ли второй источник света резким.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-second-light-harsh"
a:defaultValue="true">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Интенсивность первого источника света выдавливания
править
Атрибут draw:extrusion-first-light-level
определяет интенсивность первого источника света.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-first-light-level"
a:defaultValue="66%">
<ref name="percent"/>
</attribute>
</optional>
</define>
Интенсивность второго источника света выдавливания
править
Атрибут draw:extrusion-second-light-level
определяет интенсивность второго источника света.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-second-light-level"
a:defaultValue="66%">
<ref name="percent"/>
</attribute>
</optional>
</define>
Направление первого источника света выдавливания
править
Атрибут draw:extrusion-first-light-direction
определяет направление первого источника света.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-first-light-direction"
a:defaultValue="(5 0 1)">
<ref name="vector3D"/>
</attribute>
</optional>
</define>
Направление второго источника света выдавливания
править
Атрибут draw:extrusion-second-light-direction
определяет направление второго источника света.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-second-light-direction"
a:defaultValue="(-5 0 1)">
<ref name="vector3D"/>
</attribute>
</optional>
</define>
Атрибут draw:extrusion-metal
определяет, будет ли поверхность выдавливания выглядеть как металлическая.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-metal" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Режим затенения выдавливания
править
Атрибут dr3d:shade-mode
определяет, каким образом будет рассчитываться освещение при прорисовке поверхностей:
flat
— освещение рассчитывается по одной нормали поверхности;
phong
— освещение рассчитывается путем интерполяции нормалей поверхности по всей поверхности;
gouraud
— освещение рассчитывается путем интерполяции цвета с нормалями поверхности на каждой грани;
draft
— поверхность не освещается и отображается только ее каркас.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="dr3d:shade-mode" a:defaultValue="flat">
<choice>
<value>flat</value>
<value>phong</value>
<value>gouraud</value>
<value>draft</value>
</choice>
</attribute>
</optional>
</define>
Первое значение атрибута draw:extrusion-rotation-angle
определяет вращение вокруг оси x. Второе значение атрибута draw:extrusion-rotation-angle
определяет вращение вокруг оси y. Вращение вокруг оси z определяется углом вращения атрибута draw:transform
.
Порядок вращения: вокруг оси z, вокруг оси y, затем вокруг оси x.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-rotation-angle" a:defaultValue="0 0">
<list>
<ref name="double"/>
<ref name="double"/>
</list>
</attribute>
</optional>
</define>
Центр вращения выдавливания
править
Атрибут draw:extrusion-rotation-center
определяет положение центральной точки вращения в терминах размеров фрагментов фигуры. Если этот атрибут пропущен, то используется геометрический центр фигуры.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-rotation-center">
<ref name="vector3D"/>
</attribute>
</optional>
</define>
Атрибут draw:extrusion-shininess
определяет глянцевость отражения.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-shininess" a:defaultValue="50%">
<ref name="percent"/>
</attribute>
</optional>
</define>
Атрибут draw:extrusion-skew
определяет величину наклона и угол наклона выдавливания. Настройки наклона применяются только в том случае, если значением атрибута dr3d:projection
является parallel
.
Первый параметр определяет величину наклона в процентах, второй параметр определяет угол наклона выдавливания.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-skew" a:defaultValue="50 45">
<list>
<ref name="double"/>
<ref name="double"/>
</list>
</attribute>
</optional>
</define>
Атрибут draw:extrusion-specularity
определяет отражение объекта выдавливания.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-specularity" a:defaultValue="0%">
<ref name="percent"/>
</attribute>
</optional>
</define>
Режим проецирования выдавливания
править
Атрибут dr3d:projection
определяет режим проецирования: аксонометрический или параллельный.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="dr3d:projection" a:defaultValue="parallel">
<choice>
<value>parallel</value>
<value>perspective</value>
</choice>
</attribute>
</optional>
</define>
Атрибут draw:extrusion-viewpoint
определяет точку обзора наблюдателя как точку в трехмерном пространстве. Синтаксис значения атрибута похож на синтаксис vector3D, только единица измерения следует за каждым параметром. Пример 3D-точки: (1cm 1cm 0m).
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-viewpoint"
a:defaultValue="3.5cm -3.5cm 25cm">
<ref name="point3D"/>
</attribute>
</optional>
</define>
<define name="point3D">
<data type="string"/>
</define>
Начало координат выдавливания
править
Атрибут draw:extrusion-origin
определяет начало координат выдавливания внутри обрамляющей рамки в частях фигуры.
Первый параметр представляет точку отсчета по горизонтали, значение «минус 0.5» представляет левый край фигуры, значение «0» представляет центр фигуры, значение «0.5» представляет правый край фигуры.
Второй параметр представляет точку отсчета по вертикали, значение «минус 0.5» представляет верхний край фигуры, значение «0» представляет центр фигуры, значение «0.5» представляет нижний край фигуры.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-origin" a:defaultValue="0.5 -0.5">
<list>
<ref name="double"/>
<ref name="double"/>
</list>
</attribute>
</optional>
</define>
Атрибут draw:extrusion-color
определяет, используется ли цвет выдавливания. Цвет выдавливания затем задается атрибутом draw:secondary-fill-color
, определенном в графическом стиле специальной фигуры.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:extrusion-color" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
9.5.3 Расширенная геометрия: атрибуты траектории
править
Атрибут draw:enhanced-path
определяет траекторию аналогично атрибуту svg:d
элемента <svg:path>
. Инструкции, такие как moveto
, lineto
, arcto
и другие, вместе с их параметрами описывают геометрию фигуры, которая может быть заполнена цветом и/или заштрихована. Относительные команды не поддерживаются.
Синтаксис атрибута draw:enhanced-path
представлен ниже.
- Инструкции представляются в виде одного символа (например moveto представляется как
M
).
- Используется префиксная нотация, которая означает что за каждой командой следуют ее параметры.
- Излишние пробельные символы и разделители, такие как запятые, могут быть пропущены (например,
"M 10 10 L 20 20 L 30 20"
можно записать в виде: "M10 10L20 20L30 20"
.
- Если команда повторяется несколько раз, требуется только первая команда (например
"M 10 10 L 20 20 L 30 20"
можно записать в виде "M 10 10 L 20 20 30 20"
.
- Могут использоваться числа с плавающей точкой, поэтому единственный доступный десятичный разделитель — это точка («.»).
Приведенные выше правила совпадают с определенными для элемента <svg:path>
.
Параметр может иметь одно из следующих расширений.
- Символ «?» для отметки начала имени формулы. В этом случае результат атрибута элемента
draw:formula
используется как значение параметра.
- Если символ «$» предшествует целому значению, значение является индексом атрибута
draw:modifiers
. В этом случае значение соответствующего модификатора используется как значение параметра.
Следующие обозначения используются в таблице ниже:
- () — группировка параметров;
- + — требуется 1 или более параметров.
Пример — для специальной фигуры, использующей draw:enhanced-path
для описания круговой диаграммы, из которой убран сегмент правой верхней четверти:
<draw:custom-shape
svg:width="10cm" svg:height="10cm" svg:x="0cm" svg:y="0cm">
<draw:enhanced-geometrysvg:viewBox="0 0 10 10"
draw:enhanced-path="V 0 0 10 10 10 5 5 0 L 5 5 Z N">
</draw:enhanced-geometry>
</draw:custom-shape>
Поддерживаются следующие команды:
Команда
|
Имя
|
Параметры
|
Описание
|
M
|
moveto
|
(x y) +
|
Начинает новую вложенную траекторию с координат (x, y). Если за moveto следует множество пар координат, они интерпретируются как lineto
|
L
|
lineto
|
(x y) +
|
Рисует линию от текущей точки до точки (x, y). Если следует неоднократное указание пар координат, они все интерпретируются как lineto
|
C
|
curveto
|
(x1 y1 x2 y2 x y) +
|
Рисует кубическую кривую Безье от текущей точки к точке (x, y), используя (x1, y1) как контрольную точку в начале кривой и (x2, y2) как контрольную точку в конце кривой
|
Z
|
closepath
|
(none)
|
Закрывает текущую вложенную траекторию путем рисования прямой линии между текущей точкой и начальной точкой текущей вложенной траектории
|
N
|
endpath
|
(none)
|
Заканчивает текущее множество вложенных траекторий. Вложенные траектории будут закрашены с использованием eofill. Следующие вложенные траектории будут закрашиваться независимо
|
F
|
nofill
|
(none)
|
Определяет, что текущее множество вложенных траекторий не будет закрашено цветом
|
S
|
nostroke
|
(none)
|
Определяет, что текущее множество вложенных траекторий не будет заштриховано
|
T
|
аngleellipseto
|
(x y w h t0 t1) +
|
Рисует сегмент эллипса. Эллипс определяется его центром (x, y), размером (w, h), начальным углом t0 и конечным углом t1
|
U
|
angleellipse
|
(x y w h t0 t1) +
|
То же, что и команда «T», за исключением включенной moveto к стартовой точке
|
A
|
arcto
|
(x1 y1 x2 y2 x3 y3 x y) +
|
(x1, y1) и (x2, y2) определяют обрамляющую рамку эллипса. Линия рисуется от текущей точки к начальному углу дуги, который определяется радиус-вектором точки (x3, y3), а затем против часовой стрелки к конечному углу, определенному точкой (x4, y4)
|
B
|
arc
|
(x1 y1 x2 y2 x3 y3 x y) +
|
То же, что и команда «A», за исключением включенной moveto к стартовой точке
|
W
|
clockwisearcto
|
(x1 y1 x2 y2 x3 y3 x y) +
|
То же, что и команда «A», за исключением того, что дуга рисуется по часовой стрелке
|
V
|
clockwisearc
|
(x1 y1 x2 y2 x3 y3 x y) +
|
То же, что и команда «A», за исключением включенной moveto к стартовой точке и рисования дуги по часовой стрелке
|
X
|
ellipticalquatrantx
|
(x y) +
|
Рисует четверть эллипса, чей начальный сегмент направлен по касательной к оси y, рисуется от текущей точки до (x, y)
|
Y
|
ellipticalquadranty
|
(x y) +
|
Рисует четверть эллипса, чей начальный сегмент направлен по касательной к оси x, рисуется от текущей точки до (x, y)
|
Q
|
quadraticcurveto
|
(x1 y1 x y) +
|
Рисует квадратичную кривую Безье от текущей точки к (x, y), используя (x1, y1) как контрольную точку. (x, y) становится новой текущей точкой в конце выполнения команды
|
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:enhanced-path">
<ref name="string"/>
</attribute>
</optional>
</define>
Точки растяжения траектории
править
Атрибуты draw:path-stretchpoint-x
и draw:path-stretchpoint-y
определяют точки растяжения фигуры.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:path-stretchpoint-x" a:defaultValue="0">
<ref name="double"/>
</attribute>
</optional>
<optional>
<attribute name="draw:path-stretchpoint-y" a:defaultValue="0">
<ref name="double"/>
</attribute>
</optional>
</define>
Атрибут draw:text-areas
определяет список текстовых областей. Текстовые области используются для расположения и выравнивания текста. Если текстовая область не указана, то используется область самой фигуры. Если доступна вторая текстовая область, то она используется для вертикального текста.
Область состоит из четырех параметров:
первый параметр определяет левый край текстовой области;
второй параметр определяет верхний край текстовой области;
третий параметр определяет правый край текстовой области;
четвертый параметр определяет нижний край текстовой области.
Параметр может также иметь одно из расширений, приведенных ниже.
- Символ «?» используется для отметки начала имени формулы. В этом случае в качестве значения параметра используется значение атрибута элемента
draw:formula
.
- Если символ «$» предшествует целочисленному значению, значением является индексированный атрибут
draw:modifiers
. В этом случае значение соответствующего модификатора используется как значение параметра.
Пример —
атрибут draw:text-areas
, определяющий две текстовых области, включающий модификатор и уравнение, может быть таким:
draw:text-areas="0 0 100 100 ?Formula1 $1 200 200"
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:text-areas">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут draw:glue-points
определяет список определенных объектом точек привязки. В отличие от определяемых пользователем точек привязки, которые определяются во вложенном элементе <draw:glue-point>
, определенные объектом точки привязки могут использовать уравнения и модификаторы:
первый параметр определяет горизонтальное положение точки привязки; второй параметр определяет вертикальное положение точки привязки.
Каждый параметр может быть числом с плавающей точкой, а также может иметь одно из расширений приведенных ниже.
- Символ «?» используется для отметки начала имени формулы. В этом случае в качестве значения параметра используется значение атрибута элемента
draw:formula
.
- Если символ «$» предшествует целочисленному значению, значением является индексированный атрибут
draw:modifiers
. В этом случае значение соответствующего модификатора используется как значение параметра.
Пример —
атрибут draw:glue-points
, определяющий две точки привязки, включающий модификатор и уравнение, может быть таким:
draw:glue-points="0 ?Formula1 100 $1"
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:glue-points">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут draw:glue-point-type
определяет тип точки привязки. Если атрибут draw:glue-points
также доступен, то данный атрибут игнорируется:
none
— точки привязки специального объекта отсутствуют;
segments
— соединительный элемент будет соединен с каждой точкой атрибута draw:enhanced-path
;
rectangle
— середина каждой стороны обрамляющего фигуру прямоугольника определяет точку привязки специального объекта.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:glue-point-type" a:defaultValue="none">
<choice>
<value>none</value>
<value>segments</value>
<value>rectangle</value>
</choice>
</attribute>
</optional>
</define>
Направление выхода точки привязки
править
Атрибут draw:glue-point-leaving-directions
состоит из списка значений углов в градах, разделенных запятыми. Значение угла может быть числом с плавающей точкой. Позиция в списке имеет то же значение, что и указанная точка привязки атрибута draw:glue-points
.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:glue-point-leaving-directions"/>
</optional>
</define>
9.5.4 Расширенная геометрия: атрибуты траектории текста
править
Атрибут draw:text-path
определяет, будет ли использоваться траектория текста для отображения текста.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:text-path" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут draw:text-path-mode
определяет, как будет выводиться текст:
normal
— текст выводится вдоль траектории без масштабирования;
path
— текст согласовывается с траекторией;
shape
— текст согласовывается с обрамляющей рамкой фигуры.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:text-path-mode" a:defaultValue="normal">
<choice>
<value>normal</value>
<value>path</value>
<value>shape</value>
</choice>
</attribute>
</optional>
</define>
Масштабирование траектории текста
править
Атрибут draw:text-path-scale
определяет масштабирование траектории текста.
path
— масштабирование текста определяется длиной траектории из атрибута draw:enhanced-path
;
shape
— масштабирование текста определяется шириной фигуры.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:text-path-scale" a:defaultValue="path">
<choice>
<value>path</value>
<value>shape</value>
</choice>
</attribute>
</optional>
</define>
Одинаковая высота символов траектории текста
править
Атрибут draw:text-path-same-letter-heights
определяет, будут ли все символы специальной фигуры иметь одинаковую высоту.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:text-path-same-letter-heights"
a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут draw:modifiers
содержит список значений модификатора. Модификатор может принимать дробное значение. В большинстве случаев атрибут draw:modifiers
используется атрибутом draw:handle-position
для сохранения позиции метки-манипулятора.
<define name="draw-enhanced-geometry-attlist" combine="interleave">
<optional>
<attribute name="draw:modifiers">
<ref name="string"/>
</attribute>
</optional>
</define>
9.5.5 Расширенная геометрия: уравнение
править
Элемент <draw:equation>
может быть использован в метках-манипуляторах, текстовых областях, точках привязки и расширенных траекториях для вычисления значений, которые зависят от значений модификатора. Поскольку значения модификатора могут интерактивно изменяться, это удобный способ интегрирования динамических значений в геометрию фигуры.
<define name="draw-equation">
<element name="draw:equation">
<ref name="draw-equation-attlist"/>
<empty/>
</element>
</define>
Атрибут draw:name
определяет имя уравнения. В имени не допускаются пробелы.
<define name="draw-equation-attlist" combine="interleave">
<optional>
<attribute name="draw:name">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут draw:formula
определяет уравнение, по которому рассчитывается значение. Формула может использовать другие формулы или значения модификаторов в функциях и/или ссылках модификаторов.
number_digit = '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'
number = number number_digit | number_digit
identifier = 'pi'|'left'|'top'|'right'|'bottom'|'xstretch'|'ystretch'|
'hasstroke'|'hasfill'|'width'|'height'|'logwidth'|'logheight'
unary_function = 'abs'|'sqrt'|'sin'|'cos'|'tan'|'atan'|'atan2'
binary_function = 'min'|'max'
ternary_function = 'if'
function_reference = '?' 'a-z,A-Z,0-9' ' '
modifier_reference = '$' '0-9' ' '
basic_expression =
number |
identifier |
function_reference |
unary_function '(' additive_expression ')' |
binary_function '(' additive_expression ',' additive_expression ')' |
ternary_function '(' additive_expression ',' additive_expression ',
' additive_expression ')' | '(' additive_expression ')'
unary_expression = '-' basic_expression
multiplicative_expression =
basic_expression |
multiplicative_expression '*' basic_expression |
multiplicative_expression '/' basic_expression
additive_expression =
multiplicative_expression |
additive_expression '+' multiplicative_expression |
additive_expression '-' multiplicative_expression
Иденти- фикатор
|
Описание
|
left
|
Используется значение левой границы атрибута svg:viewBox
|
top
|
Используется значение верхней границы атрибута svg:viewBox
|
right
|
Используется значение правой границы атрибута svg:viewBox
|
bottom
|
Используется значение нижней границы атрибута svg:viewBox
|
xstretch
|
Используется значение draw:path-stretchpoint-x
|
ystretch
|
Используется значение draw:path-stretchpoint-y
|
hasstroke
|
Если фигура имеет стиль линий, используется значение 1
|
hasfill
|
Если фигура имеет стиль заполнения, используется значение 1
|
width
|
Используется значение ширины svg:viewBox
|
height
|
Используется значение высоты svg:viewBox
|
logwidth
|
Используется значение ширины svg:viewBox в 1/100 долях мм
|
logheight
|
Используется значение высоты svg:viewBox в 1/100 долях мм
|
Пример — использование атрибута draw:formula
:
draw:formula="width+10-$0"
. Если значение первого модификатора равно 100 и ширина svg:viewBox
равна 10000, то результат приведенной формулы будет 10000 + 10 - 100 = 9910.
<define name="draw-equation-attlist" combine="interleave">
<optional>
<attribute name="draw:formula">
<ref name="string"/>
</attribute>
</optional>
</define>
9.5.6 Расширенная геометрия: атрибуты меток-манипуляторов
править
Элемент <draw:handle>
определяет одиночную метку-манипулятор.
<define name="draw-handle">
<element name="draw:handle">
<ref name="draw-handle-attlist"/>
<empty/>
</element>
</define>
Вертикальное отражение метки-манипулятора
править
Атрибут draw:handle-mirror-vertical
определяет, является ли положение метки-манипулятора зеркально отраженным по оси x.
<define name="draw-handle-attlist" combine="interleave">
<optional>
<attribute name="draw:handle-mirror-vertical" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Горизонтальное отражение метки-манипулятора
править
Атрибут draw:handle-mirror-horizontal
определяет, является ли положение метки-манипулятора зеркально отраженным по оси y.
<define name="draw-handle-attlist" combine="interleave">
<optional>
<attribute name="draw:handle-mirror-horizontal" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Переключатель метки-манипулятора
править
Атрибут draw:handle-switched
определяет, будут ли изменяться направления метки-манипулятора, если высота фигуры больше, чем ее ширина.
<define name="draw-handle-attlist" combine="interleave">
<optional>
<attribute name="draw:handle-switched" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Положение метки-манипулятора
править
Атрибут draw:handle-position
определяет положение метки-манипулятора и состоит из двух параметров.
Каждый параметр может быть числом с плавающей точкой, или он может иметь одно из следующих расширений.
- Символ «?» используется для отметки начала имени формулы. В этом случае в качестве значения параметра используется значение атрибута элемента
draw:formula
.
- Если символ «$» предшествует целочисленному значению, значением является индексированный атрибут
draw:modifiers
. В этом случае значение соответствующего модификатора используется как значение параметра.
- В зависимости от номера, параметр также может иметь значение одной из нижеперечисленных констант:
Константа
|
Описание
|
left
|
Используется значение атрибута draw:coordinate-origin-x
|
top
|
Используется значение атрибута draw:coordinate-origin-y
|
right
|
Используется значение атрибута draw:coordinate-origin-x + значение атрибута draw:coordinate-width
|
bottom
|
Используется значение атрибута draw:coordinate-origin-y + значение атрибута draw:coordinate-height
|
xstretch
|
Используется значение атрибута draw:path-stretchpoint-x
|
ystretch
|
Используется значение атрибута draw:path-stretchpoint-y
|
hasstroke
|
Если фигура имеет стиль линий, используется значение 1
|
hasfill
|
Если фигура имеет стиль заполнения цветом, используется значение 1.
|
width
|
Используется значение ширины svg:viewBox
|
height
|
Используется значение высоты svg:viewBox
|
logwidth
|
Используется значение ширины svg:viewBox в 1/100 долях мм
|
logheight
|
Используется значение высоты svg:viewBox в 1/100 долях мм
|
Атрибут draw:handle-position
определяет положение метки-манипулятора. Если атрибут draw:handle-polar
не установлен, то первый параметр атрибута draw:handle-position
определяет горизонтальное положение метки-манипулятора, вертикальное положение метки-манипулятора описывается вторым параметром. Если установлен атрибут draw:handle-polar
, то метка-указатель является полярной меткой и первый параметр атрибута draw:handle-position
определяет угол в градах, радиус метки-указателя определяется вторым параметром.
Пример атрибута draw:handle-position
следующий:
draw:handle-position="left $5"
<define name="draw-handle-attlist" combine="interleave">
<attribute name="draw:handle-position">
<ref name="string"/>
</attribute>
</define>
Минимальный диапазон перемещения по оси X для манипулятора
править
Атрибут draw:handle-range-x-minimum
определяет минимум горизонтального диапазона, внутри которого может перемещаться меткаманипулятор. Синтаксис для атрибута такой же, как и для атрибута draw:handle-position
, за исключением того, что используется только первый параметр.
Пример объявления атрибута минимального значения из первой формулы:
draw:handle-range-x-minimum="?Formula1"
<define name="draw-handle-attlist" combine="interleave">
<optional>
<attribute name="draw:handle-range-x-minimum">
<ref name="string"/>
</attribute>
</optional>
</define>
Максимальный диапазон перемещения по оси X для манипулятора
править
Атрибут draw:handle-range-x-maximum
определяет максимум горизонтального диапазона, внутри которого может перемещаться метка-манипулятор. Синтаксис атрибута такой же, как и для атрибута draw:handle-range-x-minimum
.
<define name="draw-handle-attlist" combine="interleave">
<optional>
<attribute name="draw:handle-range-x-maximum">
<ref name="string"/>
</attribute>
</optional>
</define>
Минимальный диапазон перемещения по оси Y для манипулятора
править
Атрибут draw:handle-range-y-minimum
определяет минимум вертикального диапазона, внутри которого может перемещаться метка-манипулятор. Синтаксис атрибута такой же, как и для атрибута draw:handle-range-x-minimum
.
<define name="draw-handle-attlist" combine="interleave">
<optional>
<attribute name="draw:handle-range-y-minimum">
<ref name="string"/>
</attribute>
</optional>
</define>
Максимальный диапазон перемещения по оси Y для манипулятора
править
Атрибут draw:handle-range-y-maximum
определяет максимум вертикального диапазона, внутри которого может перемещаться метка-манипулятор. Синтаксис атрибута такой же, как и для атрибута draw:handle-range-x-minimum
.
<define name="draw-handle-attlist" combine="interleave">
<optional>
<attribute name="draw:handle-range-y-maximum">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут draw:handle-polar
определяет, является ли метка-манипулятор полярной меткой-манипулятором. Синтаксис для данного атрибута такой же, как и для атрибута draw:handle-position
. Первый параметр определяет горизонтальное положение центра, вертикальное положение центра определяется вторым параметром. Если атрибут установлен, атрибуты draw:handle-range-x
и draw:handle-range-y
игнорируются, вместо них могут быть использованы атрибуты draw:handle-radius-range-minumum
и draw:handle-radius-range-maximum
.
<define name="draw-handle-attlist" combine="interleave">
<optional>
<attribute name="draw:handle-polar">
<ref name="string"/>
</attribute>
</optional>
</define>
Минимальный диапазон радиуса метки-манипулятора
править
Если установлен атрибут draw:handle-radius-range-minimum
, то он определяет минимум диапазона радиуса, который может быть использован для полярной метки-манипулятора. Синтаксис атрибута такой же, как и для атрибута draw:handle-range-x-minimum
.
<define name="draw-handle-attlist" combine="interleave">
<optional>
<attribute name="draw:handle-radius-range-minimum">
<ref name="string"/>
</attribute>
</optional>
</define>
Максимальный диапазон радиуса метки-манипулятора
править
Если установлен атрибут draw:handle-radius-range-maximum
, он определяет максимум диапазона радиуса, который может быть использован для полярной метки-манипулятора. Синтаксис атрибута такой же, как и для атрибута draw:handle-range-x-minimum
.
<define name="draw-handle-attlist" combine="interleave">
<optional>
<attribute name="draw:handle-radius-range-maximum">
<ref name="string"/>
</attribute>
</optional>
</define>
Фигуры презентации — это специальные фигуры текстовых блоков, изображений, объектов или уменьшенных изображений, содержащиеся в презентации. Фигуры презентации используют стили со значением семейства стилей presentation
, в отличие от векторных фигур, которые используют стили со значением семейства стилей graphic
. Фигуры презентации могут быть пустыми, действуя как поля для заполнения. Если разметка графической страницы презентации (см. раздел 14.15) изменяется, все фигуры презентации автоматически адаптируются.
Стандартные векторные фигуры также могут быть использованы в презентации. Атрибут presentation:class
отличает фигуры презентаций от векторных фигур. В отличие от фигур презентации векторные фигуры не адаптируются, если разметка страницы изменяется.
9.6.1 Общие атрибуты фигур презентации
править
Атрибуты, описанные в данном разделе, являются общими для всех фигур презентации.
Фигуры презентации могут иметь связанные с ними стили из семейства стилей presentation
. Фигуру презентации можно отличить от векторной фигуры проверкой наличия атрибута presentation:style-name
. Векторные фигуры используют атрибут draw:style-name
со стилем из семейства graphic
, в то время как фигуры презентации используют атрибут presentation:style-name
со стилем из семейства presentation
. Это имя ссылается на элемент <style:style>
с семейством presentation
. Свойства форматирования этого стиля, а также его необязательных родительских стилей, используются для форматирования данной фигуры (см. также раздел 9.2.15).
Атрибут presentation:class
классифицирует фигуры презентации по признакам их использования на графической странице (например, заголовок или структура). Существуют следующие классы:
title
— заглавия являются стандартными текстовыми фигурами;
outline
— структуры являются стандартными текстовыми фигурами;
subtitle
— подзаголовки являются стандартными текстовыми фигурами;
text
— тексты презентации являются стандартными текстовыми фигурами;
graphic
— графические объекты являются стандартными графическими фигурами;
object
— объекты презентации являются стандартными фигурами объекта;
chart
— диаграммы являются стандартными фигурами объекта;
table
— таблицы презентации являются стандартными фигурами объекта;
orgchart
— организационные диаграммы являются стандартными фигурами объекта;
page
— страницы используются страницами заметок;
notes
— заметки презентации используются страницами заметок;
handout
— слайды тезисов являются полями для заполнения для графических страниц в странице мастер-слайд тезисов.
Следующие четыре класса могут быть использованы только для векторных фигур, содержащихся на мастер-странице. В зависимости от установок страницы (см. раздел 15.36), они отображаются автоматически на страницах рисования, которые используют мастер-страницу:
header
— фигура используется как верхний колонтитул, фигуры верхнего колонтитула являются стандартными текстовыми фигурами;
footer
— фигура используется как нижний колонтитул, фигуры нижнего колонтитула являются стандартными текстовыми фигурами;
date-time
— фигура используется как фигура времени и/или даты, Фигуры времени и даты являются стандартными текстовыми фигурами;
page-number
— фигуры используются как фигуры номеров страниц, фигуры номеров страниц являются стандартными текстовыми фигурами.
<define name="presentation-shape-attlist" combine="interleave">
<optional>
<attribute name="presentation:class">
<ref name="presentation-classes"/>
</attribute>
</optional>
</define>
<define name="presentation-classes">
<choice>
<value>title</value>
<value>outline</value>
<value>subtitle</value>
<value>text</value>
<value>graphic</value>
<value>object</value>
<value>chart</value>
<value>table</value>
<value>orgchart</value>
<value>page</value>
<value>notes</value>
<value>handout</value>
<value>header</value>
<value>footer</value>
<value>date-time</value>
<value>page-number</value>
</choice>
</define>
Атрибут presentation:placeholder
определяет, является ли фигура полем для заполнения или объектом презентации с фактическим содержимым.
<define name="presentation-shape-attlist" combine="interleave">
<optional>
<attribute name="presentation:placeholder">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Пользовательское преобразование
править
Атрибут presentation:user-transformed
определяет, устанавливается ли пользователем положение и размер фигуры, или же они устанавливаются в соответствии с фигурой презентации на мастер-странице.
<define name="presentation-shape-attlist" combine="interleave">
<optional>
<attribute name="presentation:user-transformed">
<ref name="boolean"/>
</attribute>
</optional>
</define>
В документе презентации векторные фигуры могут быть анимированы. Каждая страница презентации может иметь необязательный элемент <presentation:animations>
, который служит контейнером для эффектов анимации. Анимация осуществляется в момент отображения страницы при показе презентации.
Эта спецификация допускает множество эффектов для одной и той же фигуры внутри страницы. Приложения могут иметь ограничения относительно числа и комбинации эффектов, применимых к фигуре, например, поддерживать только один элемент показа и один элемент затухания для фигуры с дополнительным показом и затуханием текста, одним эффектом затемнения и одним звуковым эффектом.
<define name="presentation-animations">
<element name="presentation:animations">
<zeroOrMore>
<choice>
<ref name="presentation-animation-elements"/>
<ref name="presentation-animation-group"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="presentation-animation-elements">
<choice>
<ref name="presentation-show-shape"/>
<ref name="presentation-show-text"/>
<ref name="presentation-hide-shape"/>
<ref name="presentation-hide-text"/>
<ref name="presentation-dim"/>
<ref name="presentation-play"/>
</choice>
</define>
Элемент <presentation:sound>
может содержаться во всех элементах анимации презентации, которые поддерживают звук. Звуковой файл, указанный атрибутами XLink, воспроизводится во время выполнения эффекта.
<define name="presentation-sound">
<element name="presentation:sound">
<ref name="presentation-sound-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:actuate" a:defaultValue="onRequest">
<choice>
<value>onRequest</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="xlink:show">
<choice>
<value>new</value>
<value>replace</value>
</choice>
</attribute>
</optional>
<empty/>
</element>
</define>
С элементом <presentation:sound>
может быть связан следующий атрибут:
- воспроизводить полностью.
Если значением атрибута presentation:play-full
является true
, следующий эффект начнется после завершения воспроизведения звука. Если значение данного атрибута false
, следующий эффект начнется сразу после завершения текущего эффекта.
<define name="presentation-sound-attlist" combine="interleave">
<optional>
<attribute name="presentation:play-full">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Элемент <presentation:show-shape>
делает фигуру видимой. Если для фигуры указан элемент<presentation:show-shape>
, эта фигура автоматически становится невидимой до начала выполнения эффекта.
<define name="presentation-show-shape">
<element name="presentation:show-shape">
<ref name="common-presentation-effect-attlist"/>
<optional>
<ref name="presentation-sound"/>
</optional>
</element>
</define>
С элементом <presentation:show-shape>
могут быть связаны следующие атрибуты:
- фигура;
- эффект;
- направление;
- скорость;
- задержка;
- начальный масштаб;
- траектория.
Атрибут draw:shape-id
определяет фигуру для применения эффекта указанием ее идентификатора.
<define name="common-presentation-effect-attlist" combine="interleave">
<attribute name="draw:shape-id">
<ref name="IDREF"/>
</attribute>
</define>
Атрибут presentation:effect
определяет тип эффекта.
none
— эффект не используется;
fade
— фигура постепенно изменяется от ее видимого или невидимого состояния до невидимого или видимого состояния соответственно;
move
— фигура перемещается из конечного положения или в ее конечное положение;
stripes
— фигура плавно проявляется или исчезает в процессе рисования или стирания горизонтальных или вертикальных полос, изменяющих ее размер;
open
— фигура рисуется или убирается линия за линией либо в горизонтальном, либо в вертикальном направлении, начиная от центра фигуры;
close
— фигура рисуется или убирается линия за линией либо в горизонтальном, либо в вертикальном направлении, начиная с края фигуры;
dissolve
— фигура плавно проявляется или исчезает в процессе рисования или удаления маленьких блоков в произвольном порядке;
wavyline
— фигура плавно проявляется или исчезает в процессе рисования или удаления маленьких блоков «змейкой»;
random
— эффект выбирается случайным образом для плавного появления или исчезновения фигуры;
lines
— фигура рисуется или убирается линия за линией либо в горизонтальном, либо в вертикальном направлении, в произвольном порядке;
laser
— этот эффект применим только для текстовых фигур, символы текста двигаются один за другим от верхнего края экрана к их конечному положению;
appear
— фигура постепенно проявляется в процессе изменения своего состояния от невидимого к видимому;
hide
— фигура постепенно исчезает в процессе изменения своего состояния от видимого к невидимому;
move-shor
— как и эффект move
, но перемещение фигуры обрезается ограничивающим прямоугольником во время постепенного изменения;
checkerboard
— фигура плавно проявляется или исчезает в процессе рисования или удаления шахматной доски, блоки которой со временем увеличиваются в размерах;
rotate
— фигура вертикально или горизонтально вращается небольшой промежуток времени;
stretch
— фигура плавно проявляется или исчезает в процессе изменения ее размера.
<define name="common-presentation-effect-attlist" combine="interleave">
<optional>
<attribute name="presentation:effect" a:defaultValue="none">
<ref name="presentationEffects"/>
</attribute>
</optional>
</define>
<define name="presentationEffects">
<choice>
<value>none</value>
<value>fade</value>
<value>move</value>
<value>stripes</value>
<value>open</value>
<value>close</value>
<value>dissolve</value>
<value>wavyline</value>
<value>random</value>
<value>lines</value>
<value>laser</value>
<value>appear</value>
<value>hide</value>
<value>move-short</value>
<value>checkerboard</value>
<value>rotate</value>
<value>stretch</value>
</choice>
</define>
Атрибут presentation:direction
определяет направление эффекта. Он нужен только для некоторых эффектов.
<define name="common-presentation-effect-attlist" combine="interleave">
<optional>
<attribute name="presentation:direction" a:defaultValue="none">
<ref name="presentationEffectDirections"/>
</attribute>
</optional>
</define>
<define name="presentationEffectDirections">
<choice>
<value>none</value>
<value>from-left</value>
<value>from-top</value>
<value>from-right</value>
<value>from-bottom</value>
<value>from-center</value>
<value>from-upper-left</value>
<value>from-upper-right</value>
<value>from-lower-left</value>
<value>from-lower-right</value>
<value>to-left</value>
<value>to-top</value>
<value>to-right</value>
<value>to-bottom</value>
<value>to-upper-left</value>
<value>to-upper-right</value>
<value>to-lower-right</value>
<value>to-lower-left</value>
<value>path</value>
<value>spiral-inward-left</value>
<value>spiral-inward-right</value>
<value>spiral-outward-left</value>
<value>spiral-outward-right</value>
<value>vertical</value>
<value>horizontal</value>
<value>to-center</value>
<value>clockwise</value>
<value>counter-clockwise</value>
</choice>
</define>
Атрибут presentation:speed
определяет скорость эффекта.
<define name="common-presentation-effect-attlist" combine="interleave">
<optional>
<attribute name="presentation:speed" a:defaultValue="medium">
<ref name="presentationSpeeds"/>
</attribute>
</optional>
</define>
<define name="presentationSpeeds">
<choice>
<value>slow</value>
<value>medium</value>
<value>fast</value>
</choice>
</define>
Атрибут presentation:delay
определяет задержку перед началом эффекта презентации после завершения предыдущего эффекта.
<define name="common-presentation-effect-attlist" combine="interleave">
<optional>
<attribute name="presentation:delay">
<ref name="duration"/>
</attribute>
</optional>
</define>
Некоторые эффекты изменяют масштаб фигуры во время своего выполнения. Атрибут presentation:start-scale
определяет начальный размер фигуры в процентах от ее оригинального размера.
<define name="common-presentation-effect-attlist" combine="interleave">
<optional>
<attribute name="presentation:start-scale" a:defaultValue="100%">
<ref name="percent"/>
</attribute>
</optional>
</define>
Атрибут presentation:path-id
применяется для эффекта move
. Атрибут определяет идентификатор фигуры многоугольника. Эффект движется вдоль линий указанного многоугольника. Указанный многоугольник является невидимым во время показа презентации.
<define name="common-presentation-effect-attlist" combine="interleave">
<optional>
<attribute name="presentation:path-id"/>
</optional>
</define>
Элемент <presentation:show-text>
делает текст фигуры видимым. Если элемент <show-text>
указан для фигуры, текст фигуры автоматически становится невидимым до начала выполнения эффекта.
<define name="presentation-show-text">
<element name="presentation:show-text">
<ref name="common-presentation-effect-attlist"/>
<optional>
<ref name="presentation-sound"/>
</optional>
</element>
</define>
C элементом <presentation:show-text>
могут быть связаны следующие атрибуты:
- фигура, эффект, направление, скорость, начальный масштаб, траектория (см. раздел 9.7.2).
Элемент <presentation:hide-shape>
делает фигуру невидимой.
<define name="presentation-hide-shape">
<element name="presentation:hide-shape">
<ref name="common-presentation-effect-attlist"/>
<optional>
<ref name="presentation-sound"/>
</optional>
</element>
</define>
С элементом <presentation:hide-shape>
могут быть связаны следующие атрибуты:
- фигура, эффект, направление, скорость, начальный масштаб, траектория (см. раздел 9.7.2).
Элемент <presentation:hide-text>
делает текст фигуры невидимым.
<define name="presentation-hide-text">
<element name="presentation:hide-text">
<ref name="common-presentation-effect-attlist"/>
<optional>
<ref name="presentation-sound"/>
</optional>
</element>
</define>
С элементом <presentation:hide-text>
могут быть связаны следующие атрибуты:
- фигура, эффект, направление, скорость, начальный масштаб, траектория (см. раздел 9.7.2).
Элемент <presentation:dim>
закрашивает фигуру одним цветом.
<define name="presentation-dim">
<element name="presentation:dim">
<ref name="presentation-dim-attlist"/>
<optional>
<ref name="presentation-sound"/>
</optional>
</element>
</define>
С элементом <presentation:dim>
могут быть связаны следующие атрибуты:
<define name="presentation-dim-attlist" combine="interleave">
<attribute name="draw:shape-id">
<ref name="IDREF"/>
</attribute>
</define>
Атрибут draw:color
определяет цвет заполнения фигуры, если она затемнена.
<define name="presentation-dim-attlist" combine="interleave">
<attribute name="draw:color">
<ref name="color"/>
</attribute>
</define>
Элемент <presentation:play>
начинает анимацию фигуры, поддерживающей анимацию.
<define name="presentation-play">
<element name="presentation:play">
<ref name="presentation-play-attlist"/>
<empty/>
</element>
</define>
С элементом <presentation:play>
могут быть связаны следующие атрибуты:
<define name="presentation-play-attlist" combine="interleave">
<attribute name="draw:shape-id">
<ref name="IDREF"/>
</attribute>
<optional>
<attribute name="presentation:speed" a:defaultValue="medium">
<ref name="presentationSpeeds"/>
</attribute>
</optional>
</define>
Элемент <presentation:animation-group>
позволяет определить начало нескольких эффектов в один момент времени.
<define name="presentation-animation-group">
<element name="presentation:animation-group">
<zeroOrMore>
<ref name="presentation-animation-elements"/>
</zeroOrMore>
</element>
</define>
9.8 Анимация SMIL-презентаций
править
В этом разделе описана анимация фигур для документов презентаций, основанная на [SMIL20]. Этот тип анимации может быть использован вместо того, который определяется элементом <presentation:animations>
, если требуется достичь одно из нижеперечисленного:
- множественная анимация для одной фигуры;
- комбинация анимации, начинающейся по действию пользователя и стартующей автоматически на странице;
- множество эффектов анимации, происходящих в одно и то же время;
- дополнительные эффекты, «программируемые» в XML путем совмещения основных элементов анимации;
- преобразования документа к SVG, включающему [SMIL20].
9.8.1 Рекомендуемое применение SMIL
править
В следующих разделах описано использование элементов SMIL-анимации, позволяющих офисному приложению показывать пользователю анимированные элементы в виде простого и легкого пользовательского интерфейса. Этот пользовательский интерфейс может содержать одну основную последовательность эффектов и, в дополнение к ней, множество последовательностей эффектов, которые начинаются как взаимодействие с графическими фигурами. Эффект — это комбинация одного или более элементов анимации одиночной фигуры и/или абзацев этой фигуры.
Рекомендуется, чтобы в пользовательском интерфейсе эффекты могли создаваться с использованием представлений, имеющих локализованные и легко интерпретируемые имена. В этом случае пользователь не будет работать с иерархией элементов SMIL-анимации, а будет пользоваться одномерным списком эффектов, что гораздо проще для пользователей офисных приложений.
Каждый элемент <draw:page>
может опционально иметь элемент <anim:par>
, который задает анимацию страницы во время показа слайдов. Элемент <anim:par>
должен содержать один элемент <anim:seq>
, который является основной последовательностью для эффектов фигуры, и ноль или больше элементов <anim:seq>
для задания интерактивных последовательностей фигур, содержащих взаимодействующую анимацию. Элементы анимации запускаются после того, как слайд осуществит свой начальный переход.
Основная последовательность
править
Основная последовательность — это элемент <anim:seq>
, содержащий эффекты, которые должны начаться после того, как слайд выполнил свой начальный переход. Поскольку это последовательный контейнер, его дочерние узлы выполняются один за другим. Если атрибут дочернего узла smil:begin
имеет значение indefinite
, то выполнение останавливается до тех пор, пока пользователь не продвинет показ слайдов мышью или клавиатурой.
Первый уровень дочерних узлов в главной последовательности должен быть элементами <anim:par>
, которые группируют элементы анимации, начинающиеся с одного и того же действия пользователя. Второй уровень дочерних элементов должен быть элементами <anim:par>
, которые группируют элементы анимации начинающиеся в одно и то же время. Третий уровень дочерних узлов должен быть элементами <anim:par>
, которые группируют элементы для единого эффекта.
Пример —
Следующий пример иллюстрирует основную последовательность с эффектами A, B, C и D. Эффект A начинается по взаимодействию с пользователем, эффект B стартует одновременно с A. Эффект C стартует через 4 секунды после эффектов A и B. Эффект D стартует при следующем взаимодействии с пользователем:
<amin:par> <!-- timing root-->
<anim:seq> <!-- main sequence-->
<anim:par smil:begin="indefinite">
<!-- first user interaction -->
<anim:par smil:begin="0s" smil:dur="4s">
<!-- first group of effects to execute -->
<anim:par> <!-- effect a -->
<!-- nodes for effect a-->
</anim:par>
<anim:par> <!-- effect b -->
<!-- nodes for effect b-->
</anim:par>
</anim:par>
<anim:par smil:begin="4s">
<!-- second group of effects to execute -->
<anim:par> <!-- effect c -->
<!-- nodes for effect c-->
</anim:par>
</anim:par>
</anim:par>
<anim:par>
<!-- second user interaction-->
<anim:par smil:begin="indefinite">
<!-- first group of effects to execute -->
<anim:par> <!-- effect d -->
<!--- nodes for effect d-->
</anim:par>
</anim:par>
</anim:par>
</anim:seq>
</anim:par>
Интерактивная последовательность
править
Интерактивная последовательность — это элемент <anim:seq>
, который должен иметь такую же структуру как и основная последовательность. Единственным отличием является то, что элемент <anim:par>
на первом уровне значением атрибута smil:begin
имеет [shape-id].click
, где [shape-id]
идентифицирует графические фигуры по значению их атрибута draw:id
. Эти элементы анимации включаются, когда пользователь взаимодействует с элементом, определенным [shape-id]
.
9.8.2 Значения атрибутов SMIL-анимации, зависящие от документа
править
В этом разделе описаны значения атрибутов, зависящих от типа документа, описанных в разделе 13, если они используются внутри документа презентации.
Для документов презентаций атрибут smil:targetElement
элемента <anim:iterate>
(см. раздел 13.4.4) может ссылаться на элемент графической фигуры или абзаца. Если атрибуту anim:sub-item
элемента <anim:iterate>
установлено значение whole
, повтор включает в себя и фон фигуры, и ее текст. Если значение атрибута anim:sub-item
установлено как text
, повторяется только текст фигуры.
Для документов презентаций атрибут anim:iterate-type
элемента <anim:iterate>
(см. раздел 13.4.4) может принимать следующие значения:
by-paragraph
— целевая фигура повторяется по абзацам;
by-word
— целевая фигура или абзац повторяются по словам;
by-letter
— целевая фигура или абзац повторяются по символам.
Для документов презентаций атрибут smil:targetElement
, описанный в разделе 13.3.1, может ссылаться на фигуры по значению их атрибута draw:id
и абзацы по значению их атрибута text:id
.
Для документов презентаций атрибут smil:attribute
Name, описанный в разделе 13.3.1, может принимать следующие значения:
x
— анимируется x-положение элемента, значения даются в размерах экрана, где 0 означает левый край, 1 означает правый край;
y
— анимируется y-положение элемента, значения даются в размерах экрана, где 0 означает верхний край, 1 означает нижний край;
width
— анимируется ширина элемента, значения даются в размерах экрана, где 0 означает отсутствие ширины, 1 означает ширину экрана;
height
— анимируется высота элемента, значения даются в размерах экрана, где 0 означает отсутствие высоты, 1 означает высоту экрана;
color
— анимируется цвет элемента, анимируются одновременно цвета заливки, линий и символов, значения могут быть RGB или HSL;
rotate
— анимируется поворот элемента, анимируются одновременно фигура и текстовая анимация;
skewX
— анимируется горизонтальный наклон элемента;
fillColor
— анимируется цвет заливки элемента;
fillStyle
— анимируется стиль заливки элемента;
lineColor
— анимируется цвет линий элемента;
lineStyle
— анимируется стиль линий элемента;
charColor
— анимируется цвет символов элемента;
charWeight
— анимируется ширина символов текста элемента;
charUnderline
— анимируется подчеркивание текста элемента;
charFontName
— анимируется шрифт текста элемента;
charHeight
— анимируется высота текста элемента;
charPosture
— анимируется положение текста элемента;
visibility
— анимируется видимость элемента;
opacity
— анимируется непрозрачность элемента.
Подпункты целевого элемента
править
Для документов презентаций атрибут anim:sub-item
, описанный в разделе 13.3.1, может принимать следующие значения:
whole
— анимируется и фигура, и ее текст;
background
— анимируется только фон фигуры, но не ее текст;
text
— анимируется только текст.
Для документов презентаций атрибут anim:formula
, описанный в разделе 13.3.2, может содержать следующие дополнительные идентификаторы:
e,
— эйлерова константа;
x
— левая вершина анимированного элемента в размерах экрана, где 0 означает левый край экрана, 1 означает правый край экрана;
y
— верхняя вершина анимированного элемента в размерах экрана, где 0 означает верхний край экрана, 1 означает нижний край экрана;
width
— ширина анимированного элемента в размерах экрана, где 0 означает отсутствие ширины, 1 означает ширину экрана;
height
— высота анимированного элемента в размерах экрана, где 0 означает отсутствие высоты, 1 означает высоту экрана.
Для документов презентаций атрибут anim:command
элемента <anim:command>
(см. раздел 13.6.1) может принимать следующие значения:
custom
— команда задается пользователем;
verb
— команда нацелена на OLE2-объект, параметр verb
соответствует номеру команды, которая будет применена к OLE2-объекту;
play
— команда нацелена на медиа-объект и начинает его проигрывание, необязательный параметр media–time
задает время начала проигрывания в секундах, если этот параметр не задан, то проигрывание начнется с последней позиции;
toggle-pause
— команда нацелена на медиа-объект и переключает его состояние из проигрывания в паузу и наоборот;
stop
— команда нацелена на медиа-объект и останавливает его проигрывание;
stop-audio
— команда ни на что не нацелена и останавливает проигрывание всех текущих аудиозаписей.
9.8.3 Атрибуты анимации SMIL-презентации
править
Атрибуты, описанные в данном разделе, могут быть добавлены к элементам анимации, описанным в разделах 13.4, 13.5 и 13.6, если они используются внутри документа презентации. Они не влияют на фактическое поведение анимации, но помогают пользовательскому интерфейсу офисных приложений в представлении установок эффектов анимации.
Атрибут presentation:node-type
определяет тип узла для элемента анимации. Этот атрибут не изменяет поведение элемента, однако помогает приложению быстро идентифицировать назначение элемента внутри иерархии элементов анимации. Значением данного атрибута может быть:
default
— этот элемент анимации не имеет специального значения для приложения, это установка по умолчанию;
on-click
— этот элемент анимации является корневым элементом эффекта, который начинается по пользовательскому щелчку;
with-previous
— этот элемент анимации является корневым для эффекта, который начинается вместе с предыдущим эффектом;
after-previous
— этот элемент анимации является корневым для эффекта, который начинается после предыдущего эффекта;
timing-root
— этот элемент анимации является корневым элементом для анимации страницы;
main-sequence
— этот элемент анимации является корневым элементом для главной последовательности эффектов страницы;
interactive-sequence
— этот элемент анимации является корневым элементом для последовательности эффектов, которая начинается при взаимодействии пользователя со специальными элементами на странице.
<define name="common-anim-attlist" combine="interleave">
<optional>
<attribute name="presentation:node-type" a:defaultValue="default">
<choice>
<value>default</value>
<value>on-click</value>
<value>with-previous</value>
<value>after-previous</value>
<value>timing-root</value>
<value>main-sequence</value>
<value>interactive-sequence</value>
</choice>
</attribute>
</optional>
</define>
Идентификатор предустановки
править
Атрибут presentation:preset-id
определяет имя предустановки, которое было использовано для создания этого эффекта анимации.
<define name="common-anim-attlist" combine="interleave">
<optional>
<attribute name="presentation:preset-id">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут presentation:preset-sub-type
определяет подтип предустановки, с помощью которой создавался данный эффект анимации.
<define name="common-anim-attlist" combine="interleave">
<optional>
<attribute name="presentation:preset-sub-type">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут presentation:preset-class
определяет класс предустановки, с помощью которой создавался данный эффект анимации. Значением данного атрибута может быть:
custom
— предустановка была определена пользователем, это установка по умолчанию;
entrance
— предустановка была эффектом входа;
exit
— предустановка была эффектом выхода;
emphasis
— предустановка была эффектом выделения;
motion-path
— предустановка была траекторией движения;
ole-action
— предустановка была OLE-действием;
media-call
— предустановка была вызовом медиа-содержимого.
<define name="common-anim-attlist" combine="interleave">
<optional>
<attribute name="presentation:preset-class" a:defaultValue="custom">
<choice>
<value>custom</value>
<value>entrance</value>
<value>exit</value>
<value>emphasis</value>
<value>motion-path</value>
<value>ole-action</value>
<value>media-call</value>
</choice>
</attribute>
</optional>
</define>
Атрибут presentation:master-element
определяет идентификатор элемента анимации. Пользовательский интерфейс офисных приложений может только отображать элементы анимации, которые не имеют атрибута presentation:master-element
, и может рассматривать элементы, имеющие атрибут presentation:master-element
как части элементов анимации, на которые осуществляется ссылка.
<define name="common-anim-attlist" combine="interleave">
<optional>
<attribute name="presentation:master-element">
<ref name="IDREF"/>
</attribute>
</optional>
</define>
Атрибут presentation:group-id
определяет идентификатор группы. Этот идентификатор может быть использован для группировки элементов анимации в пользовательском интерфейсе, где группа состоит из всех элементов анимации, имеющих одинаковый идентификатор группы. Это может быть использовано, например, для группировки элементов анимации, которые анимируют абзацы одной фигуры.
<define name="common-anim-attlist" combine="interleave">
<optional>
<attribute name="presentation:group-id">
<ref name="string"/>
</attribute>
</optional>
</define>
Многие объекты внутри документа презентации поддерживают специальные события презентации. Например, пользователь может продвинуть один фрейм презентации, когда он щелкает по объекту с соответствующим событием. События презентации содержатся вместе с таблицей датчиков событий графических объектов (см. раздел 9.2.20 для получения дополнительной информации).
<define name="presentation-event-listener">
<element name="presentation:event-listener">
<ref name="presentation-event-listener-attlist"/>
<optional>
<ref name="presentation-sound"/>
</optional>
</element>
</define>
Атрибут script:event-name
определяет имя события (см. раздел 12.4.1 для получения подробной информации).
<define name="presentation-event-listener-attlist" combine="interleave">
<attribute name="script:event-name">
<ref name="string"/>
</attribute>
</define>
Тип осуществляемого действия для свершения события может быть выбран с помощью атрибута presentation:action
. Доступны следующие действия:
none
— никаких действий не происходит, когда включается данное событие;
previous-page
— показ презентации перескакивает на предыдущую страницу;
next-page
— показ презентации перескакивает на следующую страницу;
first-page
— показ презентации перескакивает на первую страницу текущего документа;
last-page
— показ презентации перескакивает на последнюю страницу текущего документа;
hide
— объект, содержащий это событие, скрывается, если осуществляется событие;
stop
— если показ слайдов активен, то он будет остановлен;
execute
— стороннее приложение запускается при совершении данного события, приложение может быть задано при помощи Xlink;
show
— целевой адрес URL открывается при совершении данного события, целевой адрес URL может быть задан при помощи Xlink;
verb
— если объект, который содержит данное событие, поддерживает запуск команд [OLE], выполняется команда с идентификатором, установленным в атрибуте presentation:verb
;
fade-out
— объект, содержащий данное событие, обесцвечивается при совершении этого события, атрибуты presentation:effect
, presentation:direction
, presentation:speed
и presentation:start-scale
могут быть использованы для задания эффекта;
sound
— звуковой эффект начинается при совершении этого события, звуковой эффект описывается дочерним элементом <presentation:sound>
.
<define name="presentation-event-listener-attlist" combine="interleave">
<attribute name="presentation:action">
<choice>
<value>none</value>
<value>previous-page</value>
<value>next-page</value>
<value>first-page</value>
<value>last-page</value>
<value>hide</value>
<value>stop</value>
<value>execute</value>
<value>show</value>
<value>verb</value>
<value>fade-out</value>
<value>sound</value>
</choice>
</attribute>
</define>
См. атрибут presentation:effect
в разделе 9.7.2.
<define name="presentation-event-listener-attlist" combine="interleave">
<optional>
<attribute name="presentation:effect" a:defaultValue="none">
<ref name="presentationEffects"/>
</attribute>
</optional>
</define>
См. атрибут presentation:direction
в разделе 9.7.2.
<define name="presentation-event-listener-attlist" combine="interleave">
<optional>
<attribute name="presentation:direction" a:defaultValue="none">
<ref name="presentationEffectDirections"/>
</attribute>
</optional>
</define>
См. атрибут presentation:speed
в разделе 9.7.2.
<define name="presentation-event-listener-attlist" combine="interleave">
<optional>
<attribute name="presentation:speed" a:defaultValue="medium">
<ref name="presentationSpeeds"/>
</attribute>
</optional>
</define>
См. атрибут presentation:start-scale
в разделе 9.7.2.
<define name="presentation-event-listener-attlist" combine="interleave">
<optional>
<attribute name="presentation:start-scale" a:defaultValue="100%">
<ref name="percent"/>
</attribute>
</optional>
</define>
В зависимости от действия, выбранного атрибутом presentation:action
, этот атрибут xlink:href
либо выбирает закладки документа, либо приложение.
<define name="presentation-event-listener-attlist" combine="interleave">
<optional>
<attribute name="xlink:href">
<ref name="anyURI"/>
</attribute>
</optional>
<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="onRequest">
<choice>
<value>onRequest</value>
</choice>
</attribute>
</optional>
</define>
Операция [OLE], определенная атрибутом presentation:verb
, выполняется для типа датчиков событий verb
в объекте, содержащем это событие.
<define name="presentation-event-listener-attlist" combine="interleave">
<optional>
<attribute name="presentation:verb">
<ref name="nonNegativeInteger"/>
</attribute>
</optional>
</define>
9.10 Текстовые поля презентаций
править
Этот раздел описывает текстовые поля, специфические для текста графических страниц, содержащихся в презентации.
9.10.1 Поле верхнего колонтитула
править
Поля верхнего колонтитула отображают текст верхнего колонтитула, описанный в объявлении поля верхнего колонтитула (см. раздел 9.11.2). Использование конкретного объявления поля верхнего колонтитула задается атрибутом presentation:use-header-name
графической страницы, на которой встречается поле. Если поле содержится в фигуре презентации внутри мастерстраницы (см. раздел 9.6.1), то используется атрибут presentation:use-header-name
графической страницы, для которой рисуется фигура (см. раздел 9.1.4).
Это поле используется в основном внутри мастер-страниц. Так как его значение может быть различным для отдельных графических страниц, использующих мастер-страницу, то текущее значение поля не доступно.
<define name="paragraph-content" combine="choice">
<element name="presentation:header">
<empty/>
</element>
</define>
9.10.2 Поле нижнего колонтитула
править
Поля нижнего колонтитула отображают текст нижнего колонтитула, описанный в объявлении поля нижнего колонтитула (см. раздел 9.11.3). Использование конкретного объявления поля нижнего колонтитула задается атрибутом presentation:use-footer-name
графической страницы, на которой встречается поле. Если поле содержится в фигуре презентации внутри мастерстраницы (см. раздел 9.6.1), то используется атрибут presentation:use-footer-name
графической страницы, для которой рисуется фигура (см. раздел 9.1.4).
Это поле используется в основном внутри мастер-страниц. Т.к. его значение может быть различным для отдельных графических страниц, использующих мастер-страницу, то текущее значение поля недоступно.
<define name="paragraph-content" combine="choice">
<element name="presentation:footer">
<empty/>
</element>
</define>
Поля даты и времени отображают дату и время, описанные в объявлении поля даты и времени (см. раздел 9.11.4). Какое объявление поля даты и времени используется, определяется атрибутом presentation:use-date-time-name
графической страницы, в которой определено это поле. Если поле содержится в элементе презентации внутри мастер-страницы (см. раздел 9.6.1), то используется атрибут presentation:use-date-time-name
графической страницы, для которой отображается фигура (см. раздел 9.1.4).
Это поле используется в основном внутри мастер-страниц. Т. к. его значение может быть различным для отдельных графических страниц, использующих мастер-страницу, то текущее значение поля недоступно.
<define name="paragraph-content" combine="choice">
<element name="presentation:date-time">
<empty/>
</element>
</define>
9.11 Содержимое документов презентаций
править
9.11.1 Объявления презентации
править
Некоторые специальные текстовые поля презентации требуют объявления для каждого документа перед тем, как они могут быть использованы. Например, поля верхнего колонтитула требуют, чтобы текст колонтитула объявлялся отдельно. Эти объявления собраны в начале текстового документа.
<define name="presentation-decls">
<zeroOrMore>
<ref name="presentation-decl"/>
</zeroOrMore>
</define>
9.11.2 Объявление поля верхнего колонтитула
править
Элемент <presentation:header-decl>
определяет текст поля верхнего колонтитула (см. раздел 9.10.1 для получения дополнительной информации).
<define name="presentation-decl" combine="choice">
<element name="presentation:header-decl">
<ref name="presentation-header-decl-attlist"/>
<text/>
</element>
</define>
Атрибут presentation:name
определяет имя объявления верхнего колонтитула.
<define name="presentation-header-decl-attlist" combine="interleave">
<attribute name="presentation:name">
<ref name="string"/>
</attribute>
</define>
9.11.3 Объявление поля нижнего колонтитула
править
Элемент <presentation:footer-decl>
определяет текст поля нижнего колонтитула (см. раздел 9.10.2 для получения дополнительной информации).
<define name="presentation-decl" combine="choice">
<element name="presentation:footer-decl">
<ref name="presentation-footer-decl-attlist"/>
<text/>
</element>
</define>
Атрибут presentation:name
определяет имя объявления нижнего колонтитула.
<define name="presentation-footer-decl-attlist" combine="interleave">
<attribute name="presentation:name">
<ref name="string"/>
</attribute>
</define>
9.11.4 Объявление поля даты и времени
править
Элемент <presentation:date-time-decl>
определяет текст поля даты и времени (см. раздел 9.10.3 для получения дополнительной информации).
<define name="presentation-decl" combine="choice">
<element name="presentation:date-time-decl">
<ref name="presentation-date-time-decl-attlist"/>
<text/>
</element>
</define>
Атрибут presentation:name
определяет имя объявления даты и времени.
<define name="presentation-date-time-decl-attlist" combine="interleave">
<attribute name="presentation:name">
<ref name="string"/>
</attribute>
</define>
Атрибут presentation:source
определяет, будет ли отображаться текущая дата и время или же фиксированное значение поля.
<define name="presentation-date-time-decl-attlist" combine="interleave">
<attribute name="presentation:source">
<choice>
<value>fixed</value>
<value>current-date</value>
</choice>
</attribute>
</define>
Стиль форматирования даты и времени
править
Стиль даты, указанный атрибутом style:data-style-name
, используется для форматирования даты и времени полей presentation:date-time
в случае, если поля не фиксированы.
<define name="presentation-date-time-decl-attlist" combine="interleave">
<optional>
<attribute name="style:data-style-name">
<ref name="styleNameRef"/>
</attribute>
</optional>
</define>
9.11.5 Параметры презентации
править
Параметры для презентации расположены в элементе <presentation:settings>
внутри элемента <office:presentation>
. Эти параметры устанавливают поведение, если документ отображается в презентации.
<define name="presentation-settings">
<optional>
<element name="presentation:settings">
<ref name="presentation-settings-attlist"/>
<zeroOrMore>
<ref name="presentation-show"/>
</zeroOrMore>
</element>
</optional>
</define>
С элементом <presentation:settings>
могут быть связаны следующие атрибуты:
- начальная страница;
- отображение;
- во весь экран;
- непрерывно;
- пауза;
- отображение логотипа;
- принудительный ручной режим;
- видимость указателя мыши;
- указатель мыши как ручка;
- начать с навигатора;
- анимация;
- перемещение по щелчку;
- оставаться наверху.
Атрибут presentation:start-page
определяет имя страницы, с которой начинается показ презентации. Если этот атрибут установлен, он переопределяет значение атрибута presentation:show
.
<define name="presentation-settings-attlist" combine="interleave">
<optional>
<attribute name="presentation:start-page">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут presentation:show
определяет имя описания демонстрации (см. раздел 9.11.6), которое используется для показа презентации. Если установлено значение атрибута presentation:start-page
, то оно переопределяет значение данного атрибута.
<define name="presentation-settings-attlist" combine="interleave">
<optional>
<attribute name="presentation:show">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут presentation:full-screen
определяет, будет ли презентация отображаться в полноэкранном режиме или в окне.
<define name="presentation-settings-attlist" combine="interleave">
<optional>
<attribute name="presentation:full-screen" a:defaultValue="true">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут presentation:endless
включает и выключает непрерывный повтор презентации.
<define name="presentation-settings-attlist" combine="interleave">
<optional>
<attribute name="presentation:endless" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Если презентация повторяется непрерывно, то атрибут presentation:pause
определяет время отображения экрана паузы перед следующим показом презентации. Если этот атрибут не установлен или имеет значение 0, то экран паузы не отображается в непрерывном режиме. Значение этого атрибута должно соответствовать формату временного периода, описанному в § 3.2.6 [xmlschema-2].
<define name="presentation-settings-attlist" combine="interleave">
<optional>
<attribute name="presentation:pause">
<ref name="duration"/>
</attribute>
</optional>
</define>
Атрибут presentation:show-logo
определяет, будет или нет приложение презентации показывать свой логотип на экране паузы.
<define name="presentation-settings-attlist" combine="interleave">
<optional>
<attribute name="presentation:show-logo" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Принудительный ручной режим
править
Если атрибут presentation:force-manual
установлен, то он переопределяет все свойства атрибута presentation:transition-type
, которые определены в странице презентации (см. раздел 15.36.1), и устанавливает их в значение manual
.
<define name="presentation-settings-attlist" combine="interleave">
<optional>
<attribute name="presentation:force-manual" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут presentation:mouse-visible
определяет, будет ли видимым указатель мыши во время показа презентации.
<define name="presentation-settings-attlist" combine="interleave">
<optional>
<attribute name="presentation:mouse-visible" a:defaultValue="true">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут presentation:mouse-as-pen
определяет, отображается ли указатель мыши как ручка или как указатель. Если он отображается как ручка, пользователь может рисовать эскизы на страницах во время показа презентации.
<define name="presentation-settings-attlist" combine="interleave">
<optional>
<attribute name="presentation:mouse-as-pen" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут presentation:start-with-navigator
определяет, будет ли изначально отображаться окно навигатора во время показа презентации.
<define name="presentation-settings-attlist" combine="interleave">
<optional>
<attribute name="presentation:start-with-navigator"
a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут presentation:animations
включает или выключает воспроизведение растровой анимации во время показа презентации.
<define name="presentation-settings-attlist" combine="interleave">
<optional>
<attribute name="presentation:animations" a:defaultValue="enabled">
<choice>
<value>enabled</value>
<value>disabled</value>
</choice>
</attribute>
</optional>
</define>
Атрибут presentation:transition-on-click
включает или отключает ручной переход щелканьем мыши по слайду во время показа презентации.
<define name="presentation-settings-attlist" combine="interleave">
<optional>
<attribute name="presentation:transition-on-click"
a:defaultValue="enabled">
<choice>
<value>enabled</value>
<value>disabled</value>
</choice>
</attribute>
</optional>
</define>
Если атрибут presentation:stay-on-top
установлен в значение true
, окно презентации будет отображаться выше всех остальных окон во время показа презентации.
<define name="presentation-settings-attlist" combine="interleave">
<optional>
<attribute name="presentation:stay-on-top" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
9.11.6 Описание демонстрации
править
Документ презентации может содержать один или более элементов <presentation:show>
. Элемент <presentation:show>
переопределяет порядок появления страниц во время показа презентации. Он также может быть использован для исключения страниц из презентации или для многократного повторения страницы во время показа.
Это необязательный элемент.
<define name="presentation-show">
<element name="presentation:show">
<ref name="presentation-show-attlist"/>
<empty/>
</element>
</define>
С элементом <presentation:show>
могут быть связаны следующие атрибуты:
Атрибут presentation:name
уникальным образом определяет элемент <presentation:show>
.
<define name="presentation-show-attlist" combine="interleave">
<attribute name="presentation:name">
<ref name="string"/>
</attribute>
</define>
Атрибут presentation:pages
содержит список имен страниц, разделенных запятыми. В презентации, использующей данный показ, страницы отображаются в порядке их появления в списке. Страницы могут включаться неоднократно.
<define name="presentation-show-attlist" combine="interleave">
<attribute name="presentation:pages"/>
</define>
|
Это произведение не охраняется авторским правом. В соответствии со статьёй 1259 Гражданского кодекса Российской Федерации не являются объектами авторских прав официальные документы государственных органов и органов местного самоуправления муниципальных образований, в том числе законы, другие нормативные акты, судебные решения, иные материалы законодательного, административного и судебного характера, официальные документы международных организаций, а также их официальные переводы; государственные символы и знаки (флаги, гербы, ордена, денежные знаки и тому подобное), а также символы и знаки муниципальных образований; произведения народного творчества (фольклор), не имеющие конкретных авторов; сообщения о событиях и фактах, имеющие исключительно информационный характер (сообщения о новостях дня, программы телепередач, расписания движения транспортных средств и тому подобное).
|
|
|