Шаблон:Relation diagram usage: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
Создание диаграммы отношений классов реализуется набором шаблонов:
Создание диаграммы отношений классов реализуется набором шаблонов:


# {{tl|relation_diagram|diagram{{=}}<имя диаграммы>|graph{{=}}<опциональное имя графа>|type{{=}}<опциональный тип изображения графа>|border{{=}}<опциональный тип границы изображения графа>|format{{=}}<опциональный формат файла изображения>|size{{=}}<опциональный размер изображения графа на странице>|location{{=}}<опциональная позиция изображения на странице>|alignment{{=}}<опциональное выравнивание изображения на странице>|link{{=}}<опциональная альтернативная ссылка на файл изображения>|alt{{=}}<опциональный текст, замещающий граф в случае неуспешности загрузки изображения>|content{{=}}<описание классов и отношений>}} - объявление диаграммы отношений с опциональными именами отношений (diagram) и графа (graph), а также обязательным наполнением, задаваемым нижеследующими шаблонами.
# {{tl|relation_diagram|diagram{{=}}<имя диаграммы>|graph{{=}}<имя графа>|type{{=}}<опциональный тип изображения графа>|border{{=}}<опциональный тип границы изображения графа>|format{{=}}<опциональный формат файла изображения>|size{{=}}<опциональный размер изображения графа на странице>|location{{=}}<опциональная позиция изображения на странице>|alignment{{=}}<опциональное выравнивание изображения на странице>|link{{=}}<опциональная альтернативная ссылка на файл изображения>|alt{{=}}<опциональный текст, замещающий граф в случае неуспешности загрузки изображения>|content{{=}}<описание классов и отношений>}} - объявление диаграммы отношений с именами диаграммы отношений (diagram) и графа (graph), а также обязательным наполнением, задаваемым нижеследующими шаблонами. '''Имя графа нигде не отображается и используется при генерации имени файла изображения. Файл будет уникален только если имя графа задано латинскими символами, цифрами и знаком "_".'''
# {{tl|relation_diagram addref|class{{=}}<имя класса>|ref{{=}}<ссылка в [[mw:Help:Links|синтаксисе вики]]>}} - опциональная ассоциация узла графа (т.е. класса диаграммы отношений) с внутренним или внешним ресурсом с помощью механизма [http://www.w3schools.com/tags/tag_map.asp HTML map].
# {{tl|relation_diagram addref|class{{=}}<имя класса>|ref{{=}}<ссылка в [[mw:Help:Links|синтаксисе вики]]>}} - опциональная ассоциация узла графа (т.е. класса диаграммы отношений) с внутренним или внешним ресурсом с помощью механизма [http://www.w3schools.com/tags/tag_map.asp HTML map].
# {{tl|relation_diagram add|<тип отношения>|<имя класса, инициирующего отношение>|<имя класса, принимающего отношение>}} - добавление двух классов и отношения между ними. Если класс с указанным именем уже существует на диаграмме, то новый узел не создается; тип отношения задается одним из ключевых слов:
# {{tl|relation_diagram add|<тип отношения>|<имя класса, инициирующего отношение>|<имя класса, принимающего отношение>|headlabel{{=}}<Опциональная подпись у узла, принимающего отношение>|taillabel{{=}}<Опциональная одпись у узла задающего отношение>|label{{=}}<Опциональная подпись отношения>}} - добавление двух классов и отношения между ними. Если класс с указанным именем уже существует на диаграмме, то новый узел не создается; тип отношения задается одним из ключевых слов:
## <tt>implementation</tt> - реализация интерфейса;
## <tt>implementation</tt> - реализация интерфейса;
## <tt>inheritance</tt> - наследование;
## <tt>inheritance</tt> - наследование;
Строка 12: Строка 12:
Диаграмма, описанная в данном синтаксисе интерпретируется в синтаксис [http://www.graphviz.org/Documentation/dotguide.pdf dot], который подается через расширение [[mw:Extension:GraphViz|GraphViz]] на вход интерпретатора [http://www.graphviz.org/ GraphViz]. Загружаемый на вики файл имеет имя, заданное именем статьи. Поэтому при использовании шаблона {{tl|relation_diagram}} внутри другого шаблона может возникать [[mw:Extension_talk:GraphViz#Polynomial_explosion_when_used_in_templates|проблема, связанная с большим количеством одинаковых диаграмм]].
Диаграмма, описанная в данном синтаксисе интерпретируется в синтаксис [http://www.graphviz.org/Documentation/dotguide.pdf dot], который подается через расширение [[mw:Extension:GraphViz|GraphViz]] на вход интерпретатора [http://www.graphviz.org/ GraphViz]. Загружаемый на вики файл имеет имя, заданное именем статьи. Поэтому при использовании шаблона {{tl|relation_diagram}} внутри другого шаблона может возникать [[mw:Extension_talk:GraphViz#Polynomial_explosion_when_used_in_templates|проблема, связанная с большим количеством одинаковых диаграмм]].


Использование дополнительных атрибутов и связанные с этим ограничения (например, на размеры) изображения графа <tt>type</tt>, <tt>border</tt>, <tt>size</tt>, <tt>format</tt>, <tt>location</tt>, <tt>alignment</tt>, <tt>link</tt> и <tt>alt</tt>: [[w:Wikipedia:Extended_image_syntax]].
Использование дополнительных атрибутов и связанные с этим ограничения (например, на размеры) изображения графа <tt>type</tt>, <tt>border</tt>, <tt>size</tt>, <tt>format</tt>, <tt>location</tt>, <tt>alignment</tt>, <tt>link</tt> и <tt>alt</tt>: [[Wikipedia:Wikipedia:Extended_image_syntax]].


Поддерживаемые параметры атрибута <tt>format</tt>: png, gif, jpg, jpeg, svg.
Поддерживаемые параметры атрибута <tt>format</tt>: png, gif, jpg, jpeg, svg.
Строка 25: Строка 25:
{{relation_diagram add|implementation|ImplementationClass|Interface2}}
{{relation_diagram add|implementation|ImplementationClass|Interface2}}
{{relation_diagram add|inheritance|DerivedClass|BaseClass}}
{{relation_diagram add|inheritance|DerivedClass|BaseClass}}
{{relation_diagram add|aggregation|Aggregate|Aggregatee}}
{{relation_diagram add|aggregation|Aggregate|Aggregatee|headlabel=*|taillabel=1|label=<<связь>>}}
{{relation_diagram add|composition|Composition|Element}}
{{relation_diagram add|composition|Composition|Element|headlabel=1|taillabel=1}}
{{relation_diagram add|association|Association1|Association2}}
{{relation_diagram add|association|Association1|Association2}}
}}
}}
Строка 41: Строка 41:
{{relation_diagram add|implementation|ImplementationClass|Interface2}}
{{relation_diagram add|implementation|ImplementationClass|Interface2}}
{{relation_diagram add|inheritance|DerivedClass|BaseClass}}
{{relation_diagram add|inheritance|DerivedClass|BaseClass}}
{{relation_diagram add|aggregation|Aggregate|Aggregatee}}
{{relation_diagram add|aggregation|Aggregate|Aggregatee|headlabel=*|taillabel=1|label=<<связь>>}}
{{relation_diagram add|composition|Composition|Element}}
{{relation_diagram add|composition|Composition|Element|headlabel=1|taillabel=1}}
{{relation_diagram add|association|Association1|Association2}}
{{relation_diagram add|association|Association1|Association2}}
}}
}}
</noinclude>
</noinclude>

Текущая версия на 16:39, 14 июня 2016

Создание диаграммы отношений классов реализуется набором шаблонов:

  1. {{relation_diagram|diagram=<имя диаграммы>|graph=<имя графа>|type=<опциональный тип изображения графа>|border=<опциональный тип границы изображения графа>|format=<опциональный формат файла изображения>|size=<опциональный размер изображения графа на странице>|location=<опциональная позиция изображения на странице>|alignment=<опциональное выравнивание изображения на странице>}} - объявление диаграммы отношений с именами диаграммы отношений (diagram) и графа (graph), а также обязательным наполнением, задаваемым нижеследующими шаблонами. Имя графа нигде не отображается и используется при генерации имени файла изображения. Файл будет уникален только если имя графа задано латинскими символами, цифрами и знаком "_".
  2. {{relation_diagram addref|class=<имя класса>|ref=<ссылка в синтаксисе вики>}} - опциональная ассоциация узла графа (т.е. класса диаграммы отношений) с внутренним или внешним ресурсом с помощью механизма HTML map.
  3. {{relation_diagram add|<тип отношения>|<имя класса, инициирующего отношение>|<имя класса, принимающего отношение>|headlabel=<Опциональная подпись у узла, принимающего отношение>|taillabel=<Опциональная одпись у узла задающего отношение>|label=<Опциональная подпись отношения>}} - добавление двух классов и отношения между ними. Если класс с указанным именем уже существует на диаграмме, то новый узел не создается; тип отношения задается одним из ключевых слов:
    1. implementation - реализация интерфейса;
    2. inheritance - наследование;
    3. aggregation - агрегирование;
    4. composition - композиция;
    5. association - ассоциация.

Диаграмма, описанная в данном синтаксисе интерпретируется в синтаксис dot, который подается через расширение GraphViz на вход интерпретатора GraphViz. Загружаемый на вики файл имеет имя, заданное именем статьи. Поэтому при использовании шаблона {{relation_diagram}} внутри другого шаблона может возникать проблема, связанная с большим количеством одинаковых диаграмм.

Использование дополнительных атрибутов и связанные с этим ограничения (например, на размеры) изображения графа type, border, size, format, location, alignment, link и alt: Wikipedia:Wikipedia:Extended_image_syntax.

Поддерживаемые параметры атрибута format: png, gif, jpg, jpeg, svg.

Использование:

{{relation_diagram|diagram=Опциональное имя диаграммы|graph=OptionalGraphName|type=frame|content=
{{relation_diagram addref|class=Interface1|ref=[[ImplementationClass interwiki reference]]}}
{{relation_diagram addref|class=DerivedClass|ref=https://www.google.com}}
{{relation_diagram add|implementation|ImplementationClass|Interface1}}
{{relation_diagram add|implementation|ImplementationClass|Interface2}}
{{relation_diagram add|inheritance|DerivedClass|BaseClass}}
{{relation_diagram add|aggregation|Aggregate|Aggregatee|headlabel=*|taillabel=1|label=<<связь>>}}
{{relation_diagram add|composition|Composition|Element|headlabel=1|taillabel=1}}
{{relation_diagram add|association|Association1|Association2}}
}}


Результат: