Add files via upload

This commit is contained in:
Dmitry 2025-03-17 18:06:05 +03:00 committed by GitHub
parent 76c2b6e8e5
commit 7d4b933d73
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 1804 additions and 0 deletions

View file

@ -0,0 +1,22 @@
@prefix ex: <http://example.org/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
ex:pRoot a ex:Process ;
ex:svg_file_link "pRoot.svg" .
ex:p1 a ex:Process ;
ex:hasParent ex:pRoot ;
ex:svg_file_link "p1.svg" .
ex:p2 a ex:SubProcess ;
ex:hasParent ex:pRoot ;
ex:svg_file_link "p2.svg" .
ex:p1.1 a ex:SubProcess ;
ex:hasParent ex:p1 ;
ex:svg_file_link "p1.1.svg" .
ex:p1.2 a ex:Process ;
ex:hasParent ex:p2 ;
ex:svg_file_link "p1.2.svg" .

View file

@ -0,0 +1,300 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Создано Microsoft Visio, экспорт SVG ris1_1.svg Страница-1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="4.13909in" height="1.19578in"
viewBox="0 0 298.015 86.0963" xml:space="preserve" color-interpolation-filters="sRGB" class="st10">
<v:documentProperties v:langID="1049" v:metric="true" v:viewMarkup="false">
<v:userDefs>
<v:ud v:nameU="msvConvertTheme"/>
</v:userDefs>
</v:documentProperties>
<style type="text/css">
<![CDATA[
.st1 {fill:#f2f2f2;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st2 {fill:#c4d6a0;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st3 {fill:#000000;font-family:Calibri;font-size:1.00001em}
.st4 {stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st5 {marker-end:url(#mrkr4-24);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
.st6 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.08695652173913}
.st7 {fill:#ffff99;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st8 {font-size:1em}
.st9 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st10 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
]]>
</style>
<defs id="Markers">
<g id="lend4">
<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
</g>
<marker id="mrkr4-24" class="st6" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto"
markerUnits="strokeWidth" overflow="visible">
<use xlink:href="#lend4" transform="scale(-11.5,-11.5) "/>
</marker>
</defs>
<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
<title>Страница-1</title>
<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
v:shadowOffsetY="-8.50394"/>
<v:layer v:name="Рисунок, связанный с данными" v:index="0"/>
<v:layer v:name="Соединительная линия" v:index="1"/>
<g id="shape29-1" v:mID="29" v:groupContext="shape" transform="translate(0.375,-3.51657)">
<title>Лист.29</title>
<rect x="0" y="4.48834" width="288.761" height="81.608" class="st1"/>
</g>
<g id="group30-3" transform="translate(5.67131,-14.8552)" v:mID="30" v:groupContext="group">
<v:custProps>
<v:cp v:nameU="Comment" v:lbl="com" v:type="0" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="Исполнитель" v:lbl="org" v:type="0" v:langID="1049" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="visDGDefaultPos" v:val="VT7(PNT(6,3)):40"/>
<v:ud v:nameU="msvLayoutIncludeSubshapes" v:val="VT0(1):5"/>
<v:ud v:nameU="visDGDisplayFormat" v:val="VT0(254):26"/>
</v:userDefs>
<title>Процесс.70</title>
<desc>Процесс 1.1.1</desc>
<g id="shape30-4" v:mID="30" v:groupContext="groupContent">
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="39.685" cy="66.2538" width="79.38" height="39.685"/>
<path d="M0 46.41 L63.5 46.41 L79.37 66.25 L63.5 86.1 L0 86.1 L0 46.41 Z" class="st2"/>
<text x="4.82" y="69.85" class="st3" v:langID="1049"><v:paragraph v:horizAlign="1"/><v:tabList/>Процесс 1.1.1 </text> </g>
<g id="group31-7" transform="translate(-2.83465,10.4707)" v:mID="31" v:groupContext="group" v:layerMember="0">
<v:custProps>
<v:cp v:nameU="msvCalloutPropShowValue" v:lbl="Показать значение" v:prompt="Bool" v:type="3" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(1):5"/>
<v:cp v:nameU="msvCalloutPropValueFormat" v:lbl="Формат значения" v:prompt="Format" v:type="0" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="msvCalloutPropValueSize" v:lbl="Размер шрифта значения" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropLabelPosition" v:lbl="Положение метки" v:prompt="List" v:type="1"
v:format="Не показывать;Слева от значения;Справа от значения;Над значением;Под значением" v:sortKey=""
v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Не показывать)"/>
<v:cp v:nameU="msvCalloutPropLabel" v:lbl="Подпись" v:prompt="String" v:type="0" v:format="[По умолчанию]"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4([По умолчанию])"/>
<v:cp v:nameU="msvCalloutPropLabelSize" v:lbl="Размер шрифта подписи" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropBorder" v:lbl="Тип рамки" v:prompt="List" v:type="1" v:format="Нет;Снизу;Снаружи"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropFill" v:lbl="Тип заливки" v:prompt="List" v:type="1" v:format="Нет;С заливкой"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropOffset" v:lbl="Смещение выноски" v:prompt="List" v:type="1"
v:format="Слева;Нет;Справа" v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0"
v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropWidth" v:lbl="Ширина выноски" v:prompt="Number" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0):26"/>
<v:cp v:nameU="msvCalloutField" v:lbl="" v:prompt="" v:type="0" v:format="" v:sortKey="org" v:invis="true"
v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="msvCalloutType" v:prompt="" v:val="VT4(Text Callout)"/>
<v:ud v:nameU="ValueFormat" v:prompt="" v:val="VT4(esc(0))"/>
<v:ud v:nameU="BorderType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="FillType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="LabelText" v:prompt="" v:val="VT4(org)"/>
<v:ud v:nameU="LabelPosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValueText" v:prompt="" v:val="VT4()"/>
<v:ud v:nameU="TopHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="MiddleHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="BottomHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGDefaultPos" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGStackHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValuePosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ThemeColor" v:prompt="" v:val="VT5(#9dbb61)"/>
<v:ud v:nameU="CalloutMargin" v:prompt="" v:val="VT0(0.019685039370079):24"/>
<v:ud v:nameU="CalloutOffset" v:prompt="" v:val="VT0(0.11811023622047):24"/>
<v:ud v:nameU="UnitSample" v:prompt="" v:val="VT0(12.3456):0"/>
<v:ud v:nameU="TextSample" v:prompt="" v:val="VT4(Абв)"/>
<v:ud v:nameU="visDGCalloutItem" v:prompt="" v:val="VT0(0):5"/>
<v:ud v:nameU="ThemeColor2" v:prompt="" v:val="VT5(#455b17)"/>
<v:ud v:nameU="LabelTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="ValueTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="LabelPosition2" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
</v:userDefs>
<title>Выноска с текстом</title>
<g id="shape31-8" v:mID="31" v:groupContext="groupContent" v:layerMember="0">
<path d="M1.42 84.68 L83.62 84.68 L83.62 76.68 L1.42 76.68 L1.42 84.68" class="st4"/>
</g>
</g>
</g>
<g id="group33-11" transform="translate(99.2146,-14.8552)" v:mID="33" v:groupContext="group">
<v:custProps>
<v:cp v:nameU="Comment" v:lbl="com" v:type="0" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="Исполнитель" v:lbl="org" v:type="0" v:langID="1049" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="visDGDefaultPos" v:val="VT7(PNT(6,3)):40"/>
<v:ud v:nameU="msvLayoutIncludeSubshapes" v:val="VT0(1):5"/>
<v:ud v:nameU="visDGDisplayFormat" v:val="VT0(254):26"/>
</v:userDefs>
<title>Процесс.73</title>
<desc>Процесс 1.1.2</desc>
<g id="shape33-12" v:mID="33" v:groupContext="groupContent">
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="39.685" cy="66.2538" width="79.38" height="39.685"/>
<path d="M0 46.41 L63.5 46.41 L79.37 66.25 L63.5 86.1 L0 86.1 L0 46.41 Z" class="st2"/>
<text x="4.82" y="69.85" class="st3" v:langID="1049"><v:paragraph v:horizAlign="1"/><v:tabList/>Процесс 1.1.2 </text> </g>
<g id="group34-15" transform="translate(-2.83465,10.4707)" v:mID="34" v:groupContext="group" v:layerMember="0">
<v:custProps>
<v:cp v:nameU="msvCalloutPropShowValue" v:lbl="Показать значение" v:prompt="Bool" v:type="3" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(1):5"/>
<v:cp v:nameU="msvCalloutPropValueFormat" v:lbl="Формат значения" v:prompt="Format" v:type="0" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="msvCalloutPropValueSize" v:lbl="Размер шрифта значения" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropLabelPosition" v:lbl="Положение метки" v:prompt="List" v:type="1"
v:format="Не показывать;Слева от значения;Справа от значения;Над значением;Под значением" v:sortKey=""
v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Не показывать)"/>
<v:cp v:nameU="msvCalloutPropLabel" v:lbl="Подпись" v:prompt="String" v:type="0" v:format="[По умолчанию]"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4([По умолчанию])"/>
<v:cp v:nameU="msvCalloutPropLabelSize" v:lbl="Размер шрифта подписи" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropBorder" v:lbl="Тип рамки" v:prompt="List" v:type="1" v:format="Нет;Снизу;Снаружи"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropFill" v:lbl="Тип заливки" v:prompt="List" v:type="1" v:format="Нет;С заливкой"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropOffset" v:lbl="Смещение выноски" v:prompt="List" v:type="1"
v:format="Слева;Нет;Справа" v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0"
v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropWidth" v:lbl="Ширина выноски" v:prompt="Number" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0):26"/>
<v:cp v:nameU="msvCalloutField" v:lbl="" v:prompt="" v:type="0" v:format="" v:sortKey="org" v:invis="true"
v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="msvCalloutType" v:prompt="" v:val="VT4(Text Callout)"/>
<v:ud v:nameU="ValueFormat" v:prompt="" v:val="VT4(esc(0))"/>
<v:ud v:nameU="BorderType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="FillType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="LabelText" v:prompt="" v:val="VT4(org)"/>
<v:ud v:nameU="LabelPosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValueText" v:prompt="" v:val="VT4()"/>
<v:ud v:nameU="TopHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="MiddleHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="BottomHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGDefaultPos" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGStackHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValuePosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ThemeColor" v:prompt="" v:val="VT5(#9dbb61)"/>
<v:ud v:nameU="CalloutMargin" v:prompt="" v:val="VT0(0.019685039370079):24"/>
<v:ud v:nameU="CalloutOffset" v:prompt="" v:val="VT0(0.11811023622047):24"/>
<v:ud v:nameU="UnitSample" v:prompt="" v:val="VT0(12.3456):0"/>
<v:ud v:nameU="TextSample" v:prompt="" v:val="VT4(Абв)"/>
<v:ud v:nameU="visDGCalloutItem" v:prompt="" v:val="VT0(0):5"/>
<v:ud v:nameU="ThemeColor2" v:prompt="" v:val="VT5(#455b17)"/>
<v:ud v:nameU="LabelTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="ValueTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="LabelPosition2" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
</v:userDefs>
<title>Выноска с текстом</title>
<g id="shape34-16" v:mID="34" v:groupContext="groupContent" v:layerMember="0">
<path d="M1.42 84.68 L83.62 84.68 L83.62 76.68 L1.42 76.68 L1.42 84.68" class="st4"/>
</g>
</g>
</g>
<g id="shape36-19" v:mID="36" v:groupContext="shape" v:layerMember="1" transform="translate(85.0414,-27.6111)">
<title>Динамическая соединительная линия.76</title>
<path d="M0 79.01 L8.65 79.01" class="st5"/>
</g>
<g id="group37-25" transform="translate(192.758,-14.8552)" v:mID="37" v:groupContext="group">
<v:custProps>
<v:cp v:nameU="Comment" v:lbl="com" v:type="0" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="Исполнитель" v:lbl="org" v:type="0" v:langID="1049" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="visDGDefaultPos" v:val="VT7(PNT(6,3)):40"/>
<v:ud v:nameU="msvLayoutIncludeSubshapes" v:val="VT0(1):5"/>
<v:ud v:nameU="visDGDisplayFormat" v:val="VT0(254):26"/>
</v:userDefs>
<title>Процесс.77</title>
<desc>Процесс 1.1.3</desc>
<g id="shape37-26" v:mID="37" v:groupContext="groupContent">
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="39.685" cy="66.2538" width="79.38" height="39.685"/>
<path d="M0 46.41 L63.5 46.41 L79.37 66.25 L63.5 86.1 L0 86.1 L0 46.41 Z" class="st2"/>
<text x="4.82" y="69.85" class="st3" v:langID="1049"><v:paragraph v:horizAlign="1"/><v:tabList/>Процесс 1.1.3 </text> </g>
<g id="group38-29" transform="translate(-2.83465,10.4707)" v:mID="38" v:groupContext="group" v:layerMember="0">
<v:custProps>
<v:cp v:nameU="msvCalloutPropShowValue" v:lbl="Показать значение" v:prompt="Bool" v:type="3" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(1):5"/>
<v:cp v:nameU="msvCalloutPropValueFormat" v:lbl="Формат значения" v:prompt="Format" v:type="0" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="msvCalloutPropValueSize" v:lbl="Размер шрифта значения" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropLabelPosition" v:lbl="Положение метки" v:prompt="List" v:type="1"
v:format="Не показывать;Слева от значения;Справа от значения;Над значением;Под значением" v:sortKey=""
v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Не показывать)"/>
<v:cp v:nameU="msvCalloutPropLabel" v:lbl="Подпись" v:prompt="String" v:type="0" v:format="[По умолчанию]"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4([По умолчанию])"/>
<v:cp v:nameU="msvCalloutPropLabelSize" v:lbl="Размер шрифта подписи" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropBorder" v:lbl="Тип рамки" v:prompt="List" v:type="1" v:format="Нет;Снизу;Снаружи"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropFill" v:lbl="Тип заливки" v:prompt="List" v:type="1" v:format="Нет;С заливкой"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropOffset" v:lbl="Смещение выноски" v:prompt="List" v:type="1"
v:format="Слева;Нет;Справа" v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0"
v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropWidth" v:lbl="Ширина выноски" v:prompt="Number" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0):26"/>
<v:cp v:nameU="msvCalloutField" v:lbl="" v:prompt="" v:type="0" v:format="" v:sortKey="org" v:invis="true"
v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="msvCalloutType" v:prompt="" v:val="VT4(Text Callout)"/>
<v:ud v:nameU="ValueFormat" v:prompt="" v:val="VT4(esc(0))"/>
<v:ud v:nameU="BorderType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="FillType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="LabelText" v:prompt="" v:val="VT4(org)"/>
<v:ud v:nameU="LabelPosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValueText" v:prompt="" v:val="VT4()"/>
<v:ud v:nameU="TopHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="MiddleHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="BottomHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGDefaultPos" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGStackHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValuePosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ThemeColor" v:prompt="" v:val="VT5(#9dbb61)"/>
<v:ud v:nameU="CalloutMargin" v:prompt="" v:val="VT0(0.019685039370079):24"/>
<v:ud v:nameU="CalloutOffset" v:prompt="" v:val="VT0(0.11811023622047):24"/>
<v:ud v:nameU="UnitSample" v:prompt="" v:val="VT0(12.3456):0"/>
<v:ud v:nameU="TextSample" v:prompt="" v:val="VT4(Абв)"/>
<v:ud v:nameU="visDGCalloutItem" v:prompt="" v:val="VT0(0):5"/>
<v:ud v:nameU="ThemeColor2" v:prompt="" v:val="VT5(#455b17)"/>
<v:ud v:nameU="LabelTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="ValueTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="LabelPosition2" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
</v:userDefs>
<title>Выноска с текстом</title>
<g id="shape38-30" v:mID="38" v:groupContext="groupContent" v:layerMember="0">
<path d="M1.42 84.68 L83.62 84.68 L83.62 76.68 L1.42 76.68 L1.42 84.68" class="st4"/>
</g>
</g>
</g>
<g id="shape40-33" v:mID="40" v:groupContext="shape" v:layerMember="1" transform="translate(178.585,-27.6111)">
<title>Динамическая соединительная линия.80</title>
<path d="M0 79.01 L8.65 79.01" class="st5"/>
</g>
<g id="shape41-38" v:mID="41" v:groupContext="shape" transform="translate(7.08863,-62.704)">
<title>Заголовок_процесса.81</title>
<desc>р1.1 Процесс р1.1</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="95.6693" cy="77.2522" width="191.34" height="17.6881"/>
<rect x="0" y="68.4082" width="191.339" height="17.6881" class="st7"/>
<text x="50.1" y="80.85" class="st3" v:langID="1049"><v:paragraph v:horizAlign="1"/><v:tabList/>р<tspan class="st8"
v:langID="1033">1</tspan>.1 Процесс р1.1 </text> </g>
<g id="shape42-42" v:mID="42" v:groupContext="shape" transform="translate(191.341,-57.3748)">
<title>Лист.42</title>
<desc>имя графа: gp1.1</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="53.1496" cy="71.9231" width="106.3" height="28.3465"/>
<rect x="0" y="57.7498" width="106.299" height="28.3465" class="st9"/>
<text x="10.39" y="75.52" class="st3" v:langID="1049"><v:paragraph v:horizAlign="1"/><v:tabList/>имя графа: <tspan
class="st8" v:langID="1033">gp</tspan>1.1</text> </g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -0,0 +1,305 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Создано Microsoft Visio, экспорт SVG ris1.svg Страница-1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="4.13909in" height="1.19578in"
viewBox="0 0 298.015 86.0963" xml:space="preserve" color-interpolation-filters="sRGB" class="st11">
<v:documentProperties v:langID="1049" v:metric="true" v:viewMarkup="false">
<v:userDefs>
<v:ud v:nameU="msvConvertTheme"/>
</v:userDefs>
</v:documentProperties>
<style type="text/css">
<![CDATA[
.st1 {fill:#f2f2f2;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st2 {fill:#c0cfe2;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st3 {fill:#000000;font-family:Calibri;font-size:1.00001em}
.st4 {font-size:1em}
.st5 {stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st6 {fill:#c4d6a0;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st7 {marker-end:url(#mrkr4-29);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
.st8 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.08695652173913}
.st9 {fill:#ffff99;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st10 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st11 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
]]>
</style>
<defs id="Markers">
<g id="lend4">
<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
</g>
<marker id="mrkr4-29" class="st8" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto"
markerUnits="strokeWidth" overflow="visible">
<use xlink:href="#lend4" transform="scale(-11.5,-11.5) "/>
</marker>
</defs>
<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
<title>Страница-1</title>
<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
v:shadowOffsetY="-8.50394"/>
<v:layer v:name="Рисунок, связанный с данными" v:index="0"/>
<v:layer v:name="Соединительная линия" v:index="1"/>
<g id="shape1-1" v:mID="1" v:groupContext="shape" transform="translate(0.375,-3.51657)">
<title>Лист.1</title>
<rect x="0" y="4.48834" width="288.761" height="81.608" class="st1"/>
</g>
<g id="group2-3" transform="translate(5.67131,-14.8552)" v:mID="2" v:groupContext="group">
<v:custProps>
<v:cp v:nameU="Comment" v:lbl="com" v:type="0" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="Исполнитель" v:lbl="org" v:type="0" v:langID="1049" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="visDGDefaultPos" v:val="VT7(PNT(6,3)):40"/>
<v:ud v:nameU="msvLayoutIncludeSubshapes" v:val="VT0(1):5"/>
<v:ud v:nameU="visDGDisplayFormat" v:val="VT0(254):26"/>
</v:userDefs>
<title>Процесс.14</title>
<desc>p1.1 Процесс 1.1</desc>
<g id="shape2-4" v:mID="2" v:groupContext="groupContent">
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="39.685" cy="66.2538" width="79.38" height="39.685"/>
<path d="M0 46.41 L63.5 46.41 L79.37 66.25 L63.5 86.1 L0 86.1 L0 46.41 Z" class="st2"/>
<text x="6.22" y="62.65" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>p1.1 <tspan
class="st4" v:langID="1049">Процесс <v:newlineChar/></tspan><tspan x="32.09" dy="1.2em" class="st4"
v:langID="1049">1</tspan><tspan class="st4" v:langID="1049">.</tspan><tspan class="st4" v:langID="1049">1 </tspan> </text> </g>
<g id="group3-11" transform="translate(-2.83465,10.4707)" v:mID="3" v:groupContext="group" v:layerMember="0">
<v:custProps>
<v:cp v:nameU="msvCalloutPropShowValue" v:lbl="Показать значение" v:prompt="Bool" v:type="3" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(1):5"/>
<v:cp v:nameU="msvCalloutPropValueFormat" v:lbl="Формат значения" v:prompt="Format" v:type="0" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="msvCalloutPropValueSize" v:lbl="Размер шрифта значения" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropLabelPosition" v:lbl="Положение метки" v:prompt="List" v:type="1"
v:format="Не показывать;Слева от значения;Справа от значения;Над значением;Под значением" v:sortKey=""
v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Не показывать)"/>
<v:cp v:nameU="msvCalloutPropLabel" v:lbl="Подпись" v:prompt="String" v:type="0" v:format="[По умолчанию]"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4([По умолчанию])"/>
<v:cp v:nameU="msvCalloutPropLabelSize" v:lbl="Размер шрифта подписи" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropBorder" v:lbl="Тип рамки" v:prompt="List" v:type="1" v:format="Нет;Снизу;Снаружи"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropFill" v:lbl="Тип заливки" v:prompt="List" v:type="1" v:format="Нет;С заливкой"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropOffset" v:lbl="Смещение выноски" v:prompt="List" v:type="1"
v:format="Слева;Нет;Справа" v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0"
v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropWidth" v:lbl="Ширина выноски" v:prompt="Number" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0):26"/>
<v:cp v:nameU="msvCalloutField" v:lbl="" v:prompt="" v:type="0" v:format="" v:sortKey="org" v:invis="true"
v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="msvCalloutType" v:prompt="" v:val="VT4(Text Callout)"/>
<v:ud v:nameU="ValueFormat" v:prompt="" v:val="VT4(esc(0))"/>
<v:ud v:nameU="BorderType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="FillType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="LabelText" v:prompt="" v:val="VT4(org)"/>
<v:ud v:nameU="LabelPosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValueText" v:prompt="" v:val="VT4()"/>
<v:ud v:nameU="TopHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="MiddleHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="BottomHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGDefaultPos" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGStackHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValuePosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ThemeColor" v:prompt="" v:val="VT5(#9dbb61)"/>
<v:ud v:nameU="CalloutMargin" v:prompt="" v:val="VT0(0.019685039370079):24"/>
<v:ud v:nameU="CalloutOffset" v:prompt="" v:val="VT0(0.11811023622047):24"/>
<v:ud v:nameU="UnitSample" v:prompt="" v:val="VT0(12.3456):0"/>
<v:ud v:nameU="TextSample" v:prompt="" v:val="VT4(Абв)"/>
<v:ud v:nameU="visDGCalloutItem" v:prompt="" v:val="VT0(0):5"/>
<v:ud v:nameU="ThemeColor2" v:prompt="" v:val="VT5(#455b17)"/>
<v:ud v:nameU="LabelTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="ValueTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="LabelPosition2" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
</v:userDefs>
<title>Выноска с текстом</title>
<g id="shape3-12" v:mID="3" v:groupContext="groupContent" v:layerMember="0">
<path d="M1.42 84.68 L83.62 84.68 L83.62 76.68 L1.42 76.68 L1.42 84.68" class="st5"/>
</g>
</g>
</g>
<g id="group5-15" transform="translate(99.2146,-14.8552)" v:mID="5" v:groupContext="group">
<v:custProps>
<v:cp v:nameU="Comment" v:lbl="com" v:type="0" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="Исполнитель" v:lbl="org" v:type="0" v:langID="1049" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="visDGDefaultPos" v:val="VT7(PNT(6,3)):40"/>
<v:ud v:nameU="msvLayoutIncludeSubshapes" v:val="VT0(1):5"/>
<v:ud v:nameU="visDGDisplayFormat" v:val="VT0(254):26"/>
</v:userDefs>
<title>Процесс.6</title>
<desc>Процесс 1.2</desc>
<g id="shape5-16" v:mID="5" v:groupContext="groupContent">
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="39.685" cy="66.2538" width="79.38" height="39.685"/>
<path d="M0 46.41 L63.5 46.41 L79.37 66.25 L63.5 86.1 L0 86.1 L0 46.41 Z" class="st6"/>
<text x="18.33" y="62.65" class="st3" v:langID="1049"><v:paragraph v:horizAlign="1"/><v:tabList/>Процесс <v:newlineChar/><tspan
x="32.09" dy="1.2em" class="st4">1</tspan>.2 </text> </g>
<g id="group6-20" transform="translate(-2.83465,10.4707)" v:mID="6" v:groupContext="group" v:layerMember="0">
<v:custProps>
<v:cp v:nameU="msvCalloutPropShowValue" v:lbl="Показать значение" v:prompt="Bool" v:type="3" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(1):5"/>
<v:cp v:nameU="msvCalloutPropValueFormat" v:lbl="Формат значения" v:prompt="Format" v:type="0" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="msvCalloutPropValueSize" v:lbl="Размер шрифта значения" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropLabelPosition" v:lbl="Положение метки" v:prompt="List" v:type="1"
v:format="Не показывать;Слева от значения;Справа от значения;Над значением;Под значением" v:sortKey=""
v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Не показывать)"/>
<v:cp v:nameU="msvCalloutPropLabel" v:lbl="Подпись" v:prompt="String" v:type="0" v:format="[По умолчанию]"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4([По умолчанию])"/>
<v:cp v:nameU="msvCalloutPropLabelSize" v:lbl="Размер шрифта подписи" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropBorder" v:lbl="Тип рамки" v:prompt="List" v:type="1" v:format="Нет;Снизу;Снаружи"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropFill" v:lbl="Тип заливки" v:prompt="List" v:type="1" v:format="Нет;С заливкой"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropOffset" v:lbl="Смещение выноски" v:prompt="List" v:type="1"
v:format="Слева;Нет;Справа" v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0"
v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropWidth" v:lbl="Ширина выноски" v:prompt="Number" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0):26"/>
<v:cp v:nameU="msvCalloutField" v:lbl="" v:prompt="" v:type="0" v:format="" v:sortKey="org" v:invis="true"
v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="msvCalloutType" v:prompt="" v:val="VT4(Text Callout)"/>
<v:ud v:nameU="ValueFormat" v:prompt="" v:val="VT4(esc(0))"/>
<v:ud v:nameU="BorderType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="FillType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="LabelText" v:prompt="" v:val="VT4(org)"/>
<v:ud v:nameU="LabelPosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValueText" v:prompt="" v:val="VT4()"/>
<v:ud v:nameU="TopHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="MiddleHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="BottomHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGDefaultPos" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGStackHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValuePosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ThemeColor" v:prompt="" v:val="VT5(#9dbb61)"/>
<v:ud v:nameU="CalloutMargin" v:prompt="" v:val="VT0(0.019685039370079):24"/>
<v:ud v:nameU="CalloutOffset" v:prompt="" v:val="VT0(0.11811023622047):24"/>
<v:ud v:nameU="UnitSample" v:prompt="" v:val="VT0(12.3456):0"/>
<v:ud v:nameU="TextSample" v:prompt="" v:val="VT4(Абв)"/>
<v:ud v:nameU="visDGCalloutItem" v:prompt="" v:val="VT0(0):5"/>
<v:ud v:nameU="ThemeColor2" v:prompt="" v:val="VT5(#455b17)"/>
<v:ud v:nameU="LabelTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="ValueTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="LabelPosition2" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
</v:userDefs>
<title>Выноска с текстом</title>
<g id="shape6-21" v:mID="6" v:groupContext="groupContent" v:layerMember="0">
<path d="M1.42 84.68 L83.62 84.68 L83.62 76.68 L1.42 76.68 L1.42 84.68" class="st5"/>
</g>
</g>
</g>
<g id="shape8-24" v:mID="8" v:groupContext="shape" v:layerMember="1" transform="translate(85.0414,-27.6111)">
<title>Динамическая соединительная линия</title>
<path d="M0 79.01 L8.65 79.01" class="st7"/>
</g>
<g id="group9-30" transform="translate(192.758,-14.8552)" v:mID="9" v:groupContext="group">
<v:custProps>
<v:cp v:nameU="Comment" v:lbl="com" v:type="0" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="Исполнитель" v:lbl="org" v:type="0" v:langID="1049" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="visDGDefaultPos" v:val="VT7(PNT(6,3)):40"/>
<v:ud v:nameU="msvLayoutIncludeSubshapes" v:val="VT0(1):5"/>
<v:ud v:nameU="visDGDisplayFormat" v:val="VT0(254):26"/>
</v:userDefs>
<title>Процесс.18</title>
<desc>Процесс 1.3</desc>
<g id="shape9-31" v:mID="9" v:groupContext="groupContent">
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="39.685" cy="66.2538" width="79.38" height="39.685"/>
<path d="M0 46.41 L63.5 46.41 L79.37 66.25 L63.5 86.1 L0 86.1 L0 46.41 Z" class="st6"/>
<text x="18.33" y="62.65" class="st3" v:langID="1049"><v:paragraph v:horizAlign="1"/><v:tabList/>Процесс <v:newlineChar/><tspan
x="32.09" dy="1.2em" class="st4">1</tspan>.3 </text> </g>
<g id="group10-35" transform="translate(-2.83465,10.4707)" v:mID="10" v:groupContext="group" v:layerMember="0">
<v:custProps>
<v:cp v:nameU="msvCalloutPropShowValue" v:lbl="Показать значение" v:prompt="Bool" v:type="3" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(1):5"/>
<v:cp v:nameU="msvCalloutPropValueFormat" v:lbl="Формат значения" v:prompt="Format" v:type="0" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="msvCalloutPropValueSize" v:lbl="Размер шрифта значения" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropLabelPosition" v:lbl="Положение метки" v:prompt="List" v:type="1"
v:format="Не показывать;Слева от значения;Справа от значения;Над значением;Под значением" v:sortKey=""
v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Не показывать)"/>
<v:cp v:nameU="msvCalloutPropLabel" v:lbl="Подпись" v:prompt="String" v:type="0" v:format="[По умолчанию]"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4([По умолчанию])"/>
<v:cp v:nameU="msvCalloutPropLabelSize" v:lbl="Размер шрифта подписи" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropBorder" v:lbl="Тип рамки" v:prompt="List" v:type="1" v:format="Нет;Снизу;Снаружи"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropFill" v:lbl="Тип заливки" v:prompt="List" v:type="1" v:format="Нет;С заливкой"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropOffset" v:lbl="Смещение выноски" v:prompt="List" v:type="1"
v:format="Слева;Нет;Справа" v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0"
v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropWidth" v:lbl="Ширина выноски" v:prompt="Number" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0):26"/>
<v:cp v:nameU="msvCalloutField" v:lbl="" v:prompt="" v:type="0" v:format="" v:sortKey="org" v:invis="true"
v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="msvCalloutType" v:prompt="" v:val="VT4(Text Callout)"/>
<v:ud v:nameU="ValueFormat" v:prompt="" v:val="VT4(esc(0))"/>
<v:ud v:nameU="BorderType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="FillType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="LabelText" v:prompt="" v:val="VT4(org)"/>
<v:ud v:nameU="LabelPosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValueText" v:prompt="" v:val="VT4()"/>
<v:ud v:nameU="TopHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="MiddleHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="BottomHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGDefaultPos" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGStackHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValuePosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ThemeColor" v:prompt="" v:val="VT5(#9dbb61)"/>
<v:ud v:nameU="CalloutMargin" v:prompt="" v:val="VT0(0.019685039370079):24"/>
<v:ud v:nameU="CalloutOffset" v:prompt="" v:val="VT0(0.11811023622047):24"/>
<v:ud v:nameU="UnitSample" v:prompt="" v:val="VT0(12.3456):0"/>
<v:ud v:nameU="TextSample" v:prompt="" v:val="VT4(Абв)"/>
<v:ud v:nameU="visDGCalloutItem" v:prompt="" v:val="VT0(0):5"/>
<v:ud v:nameU="ThemeColor2" v:prompt="" v:val="VT5(#455b17)"/>
<v:ud v:nameU="LabelTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="ValueTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="LabelPosition2" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
</v:userDefs>
<title>Выноска с текстом</title>
<g id="shape10-36" v:mID="10" v:groupContext="groupContent" v:layerMember="0">
<path d="M1.42 84.68 L83.62 84.68 L83.62 76.68 L1.42 76.68 L1.42 84.68" class="st5"/>
</g>
</g>
</g>
<g id="shape12-39" v:mID="12" v:groupContext="shape" v:layerMember="1" transform="translate(178.585,-27.6111)">
<title>Динамическая соединительная линия.19</title>
<path d="M0 79.01 L8.65 79.01" class="st7"/>
</g>
<g id="shape13-44" v:mID="13" v:groupContext="shape" transform="translate(7.08863,-62.704)">
<title>Заголовок_процесса.93</title>
<desc>р1 Процесс 1</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="95.6693" cy="77.2522" width="191.34" height="17.6881"/>
<rect x="0" y="68.4082" width="191.339" height="17.6881" class="st9"/>
<text x="62.37" y="80.85" class="st3" v:langID="1049"><v:paragraph v:horizAlign="1"/><v:tabList/>р<tspan class="st4"
v:langID="1033">1</tspan> Процесс 1 </text> </g>
<g id="shape14-48" v:mID="14" v:groupContext="shape" transform="translate(191.341,-57.3748)">
<title>Лист.14</title>
<desc>имя графа: gp1</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="53.1496" cy="71.9231" width="106.3" height="28.3465"/>
<rect x="0" y="57.7498" width="106.299" height="28.3465" class="st10"/>
<text x="14.95" y="75.52" class="st3" v:langID="1049"><v:paragraph v:horizAlign="1"/><v:tabList/>имя графа: <tspan
class="st4" v:langID="1033">gp</tspan>1</text> </g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -0,0 +1,303 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Создано Microsoft Visio, экспорт SVG ris2.svg Страница-1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="4.13909in" height="1.19578in"
viewBox="0 0 298.015 86.0963" xml:space="preserve" color-interpolation-filters="sRGB" class="st11">
<v:documentProperties v:langID="1049" v:metric="true" v:viewMarkup="false">
<v:userDefs>
<v:ud v:nameU="msvConvertTheme"/>
</v:userDefs>
</v:documentProperties>
<style type="text/css">
<![CDATA[
.st1 {fill:#f2f2f2;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st2 {fill:#c4d6a0;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st3 {fill:#000000;font-family:Calibri;font-size:1.00001em}
.st4 {font-size:1em}
.st5 {stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st6 {marker-end:url(#mrkr4-26);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
.st7 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.08695652173913}
.st8 {fill:#ffff99;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st9 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st10 {fill:#c0cfe2;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st11 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
]]>
</style>
<defs id="Markers">
<g id="lend4">
<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
</g>
<marker id="mrkr4-26" class="st7" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto"
markerUnits="strokeWidth" overflow="visible">
<use xlink:href="#lend4" transform="scale(-11.5,-11.5) "/>
</marker>
</defs>
<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
<title>Страница-1</title>
<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
v:shadowOffsetY="-8.50394"/>
<v:layer v:name="Рисунок, связанный с данными" v:index="0"/>
<v:layer v:name="Соединительная линия" v:index="1"/>
<g id="shape15-1" v:mID="15" v:groupContext="shape" transform="translate(0.375,-3.51657)">
<title>Лист.15</title>
<rect x="0" y="4.48834" width="288.761" height="81.608" class="st1"/>
</g>
<g id="group16-3" transform="translate(5.67131,-14.8552)" v:mID="16" v:groupContext="group">
<v:custProps>
<v:cp v:nameU="Comment" v:lbl="com" v:type="0" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="Исполнитель" v:lbl="org" v:type="0" v:langID="1049" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="visDGDefaultPos" v:val="VT7(PNT(6,3)):40"/>
<v:ud v:nameU="msvLayoutIncludeSubshapes" v:val="VT0(1):5"/>
<v:ud v:nameU="visDGDisplayFormat" v:val="VT0(254):26"/>
</v:userDefs>
<title>Процесс.86</title>
<desc>Процесс 2.1</desc>
<g id="shape16-4" v:mID="16" v:groupContext="groupContent">
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="39.685" cy="66.2538" width="79.38" height="39.685"/>
<path d="M0 46.41 L63.5 46.41 L79.37 66.25 L63.5 86.1 L0 86.1 L0 46.41 Z" class="st2"/>
<text x="18.33" y="62.65" class="st3" v:langID="1049"><v:paragraph v:horizAlign="1"/><v:tabList/>Процесс <v:newlineChar/><tspan
x="32.09" dy="1.2em" class="st4">2</tspan>.1 </text> </g>
<g id="group17-8" transform="translate(-2.83465,10.4707)" v:mID="17" v:groupContext="group" v:layerMember="0">
<v:custProps>
<v:cp v:nameU="msvCalloutPropShowValue" v:lbl="Показать значение" v:prompt="Bool" v:type="3" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(1):5"/>
<v:cp v:nameU="msvCalloutPropValueFormat" v:lbl="Формат значения" v:prompt="Format" v:type="0" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="msvCalloutPropValueSize" v:lbl="Размер шрифта значения" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropLabelPosition" v:lbl="Положение метки" v:prompt="List" v:type="1"
v:format="Не показывать;Слева от значения;Справа от значения;Над значением;Под значением" v:sortKey=""
v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Не показывать)"/>
<v:cp v:nameU="msvCalloutPropLabel" v:lbl="Подпись" v:prompt="String" v:type="0" v:format="[По умолчанию]"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4([По умолчанию])"/>
<v:cp v:nameU="msvCalloutPropLabelSize" v:lbl="Размер шрифта подписи" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropBorder" v:lbl="Тип рамки" v:prompt="List" v:type="1" v:format="Нет;Снизу;Снаружи"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropFill" v:lbl="Тип заливки" v:prompt="List" v:type="1" v:format="Нет;С заливкой"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropOffset" v:lbl="Смещение выноски" v:prompt="List" v:type="1"
v:format="Слева;Нет;Справа" v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0"
v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropWidth" v:lbl="Ширина выноски" v:prompt="Number" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0):26"/>
<v:cp v:nameU="msvCalloutField" v:lbl="" v:prompt="" v:type="0" v:format="" v:sortKey="org" v:invis="true"
v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="msvCalloutType" v:prompt="" v:val="VT4(Text Callout)"/>
<v:ud v:nameU="ValueFormat" v:prompt="" v:val="VT4(esc(0))"/>
<v:ud v:nameU="BorderType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="FillType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="LabelText" v:prompt="" v:val="VT4(org)"/>
<v:ud v:nameU="LabelPosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValueText" v:prompt="" v:val="VT4()"/>
<v:ud v:nameU="TopHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="MiddleHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="BottomHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGDefaultPos" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGStackHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValuePosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ThemeColor" v:prompt="" v:val="VT5(#9dbb61)"/>
<v:ud v:nameU="CalloutMargin" v:prompt="" v:val="VT0(0.019685039370079):24"/>
<v:ud v:nameU="CalloutOffset" v:prompt="" v:val="VT0(0.11811023622047):24"/>
<v:ud v:nameU="UnitSample" v:prompt="" v:val="VT0(12.3456):0"/>
<v:ud v:nameU="TextSample" v:prompt="" v:val="VT4(Абв)"/>
<v:ud v:nameU="visDGCalloutItem" v:prompt="" v:val="VT0(0):5"/>
<v:ud v:nameU="ThemeColor2" v:prompt="" v:val="VT5(#455b17)"/>
<v:ud v:nameU="LabelTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="ValueTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="LabelPosition2" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
</v:userDefs>
<title>Выноска с текстом</title>
<g id="shape17-9" v:mID="17" v:groupContext="groupContent" v:layerMember="0">
<path d="M1.42 84.68 L83.62 84.68 L83.62 76.68 L1.42 76.68 L1.42 84.68" class="st5"/>
</g>
</g>
</g>
<g id="group19-12" transform="translate(99.2146,-14.8552)" v:mID="19" v:groupContext="group">
<v:custProps>
<v:cp v:nameU="Comment" v:lbl="com" v:type="0" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="Исполнитель" v:lbl="org" v:type="0" v:langID="1049" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="visDGDefaultPos" v:val="VT7(PNT(6,3)):40"/>
<v:ud v:nameU="msvLayoutIncludeSubshapes" v:val="VT0(1):5"/>
<v:ud v:nameU="visDGDisplayFormat" v:val="VT0(254):26"/>
</v:userDefs>
<title>Процесс.89</title>
<desc>Процесс 2.2</desc>
<g id="shape19-13" v:mID="19" v:groupContext="groupContent">
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="39.685" cy="66.2538" width="79.38" height="39.685"/>
<path d="M0 46.41 L63.5 46.41 L79.37 66.25 L63.5 86.1 L0 86.1 L0 46.41 Z" class="st2"/>
<text x="18.33" y="62.65" class="st3" v:langID="1049"><v:paragraph v:horizAlign="1"/><v:tabList/>Процесс <v:newlineChar/><tspan
x="32.09" dy="1.2em" class="st4">2</tspan>.2 </text> </g>
<g id="group20-17" transform="translate(-2.83465,10.4707)" v:mID="20" v:groupContext="group" v:layerMember="0">
<v:custProps>
<v:cp v:nameU="msvCalloutPropShowValue" v:lbl="Показать значение" v:prompt="Bool" v:type="3" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(1):5"/>
<v:cp v:nameU="msvCalloutPropValueFormat" v:lbl="Формат значения" v:prompt="Format" v:type="0" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="msvCalloutPropValueSize" v:lbl="Размер шрифта значения" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropLabelPosition" v:lbl="Положение метки" v:prompt="List" v:type="1"
v:format="Не показывать;Слева от значения;Справа от значения;Над значением;Под значением" v:sortKey=""
v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Не показывать)"/>
<v:cp v:nameU="msvCalloutPropLabel" v:lbl="Подпись" v:prompt="String" v:type="0" v:format="[По умолчанию]"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4([По умолчанию])"/>
<v:cp v:nameU="msvCalloutPropLabelSize" v:lbl="Размер шрифта подписи" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropBorder" v:lbl="Тип рамки" v:prompt="List" v:type="1" v:format="Нет;Снизу;Снаружи"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropFill" v:lbl="Тип заливки" v:prompt="List" v:type="1" v:format="Нет;С заливкой"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropOffset" v:lbl="Смещение выноски" v:prompt="List" v:type="1"
v:format="Слева;Нет;Справа" v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0"
v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropWidth" v:lbl="Ширина выноски" v:prompt="Number" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0):26"/>
<v:cp v:nameU="msvCalloutField" v:lbl="" v:prompt="" v:type="0" v:format="" v:sortKey="org" v:invis="true"
v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="msvCalloutType" v:prompt="" v:val="VT4(Text Callout)"/>
<v:ud v:nameU="ValueFormat" v:prompt="" v:val="VT4(esc(0))"/>
<v:ud v:nameU="BorderType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="FillType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="LabelText" v:prompt="" v:val="VT4(org)"/>
<v:ud v:nameU="LabelPosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValueText" v:prompt="" v:val="VT4()"/>
<v:ud v:nameU="TopHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="MiddleHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="BottomHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGDefaultPos" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGStackHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValuePosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ThemeColor" v:prompt="" v:val="VT5(#9dbb61)"/>
<v:ud v:nameU="CalloutMargin" v:prompt="" v:val="VT0(0.019685039370079):24"/>
<v:ud v:nameU="CalloutOffset" v:prompt="" v:val="VT0(0.11811023622047):24"/>
<v:ud v:nameU="UnitSample" v:prompt="" v:val="VT0(12.3456):0"/>
<v:ud v:nameU="TextSample" v:prompt="" v:val="VT4(Абв)"/>
<v:ud v:nameU="visDGCalloutItem" v:prompt="" v:val="VT0(0):5"/>
<v:ud v:nameU="ThemeColor2" v:prompt="" v:val="VT5(#455b17)"/>
<v:ud v:nameU="LabelTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="ValueTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="LabelPosition2" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
</v:userDefs>
<title>Выноска с текстом</title>
<g id="shape20-18" v:mID="20" v:groupContext="groupContent" v:layerMember="0">
<path d="M1.42 84.68 L83.62 84.68 L83.62 76.68 L1.42 76.68 L1.42 84.68" class="st5"/>
</g>
</g>
</g>
<g id="shape22-21" v:mID="22" v:groupContext="shape" v:layerMember="1" transform="translate(85.0414,-27.6111)">
<title>Динамическая соединительная линия.92</title>
<path d="M0 79.01 L8.65 79.01" class="st6"/>
</g>
<g id="shape23-27" v:mID="23" v:groupContext="shape" transform="translate(7.08863,-62.704)">
<title>Заголовок_процесса.97</title>
<desc>р2 Процесс р2</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="95.6693" cy="77.2522" width="191.34" height="17.6881"/>
<rect x="0" y="68.4082" width="191.339" height="17.6881" class="st8"/>
<text x="59.21" y="80.85" class="st3" v:langID="1049"><v:paragraph v:horizAlign="1"/><v:tabList/>р2 Процесс р2 </text> </g>
<g id="shape24-30" v:mID="24" v:groupContext="shape" transform="translate(191.341,-57.3748)">
<title>Лист.24</title>
<desc>имя графа: gp2</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="53.1496" cy="71.9231" width="106.3" height="28.3465"/>
<rect x="0" y="57.7498" width="106.299" height="28.3465" class="st9"/>
<text x="14.95" y="75.52" class="st3" v:langID="1049"><v:paragraph v:horizAlign="1"/><v:tabList/>имя графа: <tspan
class="st4" v:langID="1033">gp</tspan>2</text> </g>
<g id="group25-34" transform="translate(197.196,-14.8552)" v:mID="25" v:groupContext="group">
<v:custProps>
<v:cp v:nameU="Comment" v:lbl="com" v:type="0" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="Исполнитель" v:lbl="org" v:type="0" v:langID="1049" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="visDGDefaultPos" v:val="VT7(PNT(6,3)):40"/>
<v:ud v:nameU="msvLayoutIncludeSubshapes" v:val="VT0(1):5"/>
<v:ud v:nameU="visDGDisplayFormat" v:val="VT0(254):26"/>
</v:userDefs>
<title>Процесс.57</title>
<desc>р1.1 Процесс 1.1</desc>
<g id="shape25-35" v:mID="25" v:groupContext="groupContent">
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="39.685" cy="66.2538" width="79.38" height="39.685"/>
<path d="M0 46.41 L63.5 46.41 L79.37 66.25 L63.5 86.1 L0 86.1 L0 46.41 Z" class="st10"/>
<text x="6.22" y="62.65" class="st3" v:langID="1049"><v:paragraph v:horizAlign="1"/><v:tabList/>р<tspan class="st4"
v:langID="1033">1</tspan>.1 Процесс <tspan x="32.09" dy="1.2em" class="st4">1</tspan>.1 </text> </g>
<g id="group26-40" transform="translate(-2.83465,10.4707)" v:mID="26" v:groupContext="group" v:layerMember="0">
<v:custProps>
<v:cp v:nameU="msvCalloutPropShowValue" v:lbl="Показать значение" v:prompt="Bool" v:type="3" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(1):5"/>
<v:cp v:nameU="msvCalloutPropValueFormat" v:lbl="Формат значения" v:prompt="Format" v:type="0" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
<v:cp v:nameU="msvCalloutPropValueSize" v:lbl="Размер шрифта значения" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropLabelPosition" v:lbl="Положение метки" v:prompt="List" v:type="1"
v:format="Не показывать;Слева от значения;Справа от значения;Над значением;Под значением" v:sortKey=""
v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Не показывать)"/>
<v:cp v:nameU="msvCalloutPropLabel" v:lbl="Подпись" v:prompt="String" v:type="0" v:format="[По умолчанию]"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4([По умолчанию])"/>
<v:cp v:nameU="msvCalloutPropLabelSize" v:lbl="Размер шрифта подписи" v:prompt="Font" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0.11111111111111):29"/>
<v:cp v:nameU="msvCalloutPropBorder" v:lbl="Тип рамки" v:prompt="List" v:type="1" v:format="Нет;Снизу;Снаружи"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropFill" v:lbl="Тип заливки" v:prompt="List" v:type="1" v:format="Нет;С заливкой"
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropOffset" v:lbl="Смещение выноски" v:prompt="List" v:type="1"
v:format="Слева;Нет;Справа" v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0"
v:val="VT4(Нет)"/>
<v:cp v:nameU="msvCalloutPropWidth" v:lbl="Ширина выноски" v:prompt="Number" v:type="2" v:format=""
v:sortKey="" v:invis="true" v:ask="false" v:langID="1049" v:cal="0" v:val="VT0(0):26"/>
<v:cp v:nameU="msvCalloutField" v:lbl="" v:prompt="" v:type="0" v:format="" v:sortKey="org" v:invis="true"
v:ask="false" v:langID="1049" v:cal="0" v:val="VT4()"/>
</v:custProps>
<v:userDefs>
<v:ud v:nameU="msvCalloutType" v:prompt="" v:val="VT4(Text Callout)"/>
<v:ud v:nameU="ValueFormat" v:prompt="" v:val="VT4(esc(0))"/>
<v:ud v:nameU="BorderType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="FillType" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="LabelText" v:prompt="" v:val="VT4(org)"/>
<v:ud v:nameU="LabelPosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValueText" v:prompt="" v:val="VT4()"/>
<v:ud v:nameU="TopHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="MiddleHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="BottomHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGDefaultPos" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visDGStackHeight" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ValuePosition" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="ThemeColor" v:prompt="" v:val="VT5(#9dbb61)"/>
<v:ud v:nameU="CalloutMargin" v:prompt="" v:val="VT0(0.019685039370079):24"/>
<v:ud v:nameU="CalloutOffset" v:prompt="" v:val="VT0(0.11811023622047):24"/>
<v:ud v:nameU="UnitSample" v:prompt="" v:val="VT0(12.3456):0"/>
<v:ud v:nameU="TextSample" v:prompt="" v:val="VT4(Абв)"/>
<v:ud v:nameU="visDGCalloutItem" v:prompt="" v:val="VT0(0):5"/>
<v:ud v:nameU="ThemeColor2" v:prompt="" v:val="VT5(#455b17)"/>
<v:ud v:nameU="LabelTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="ValueTextLangID" v:prompt="" v:val="VT0(1049):26"/>
<v:ud v:nameU="LabelPosition2" v:prompt="" v:val="VT0(0):26"/>
<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
</v:userDefs>
<title>Выноска с текстом</title>
<g id="shape26-41" v:mID="26" v:groupContext="groupContent" v:layerMember="0">
<path d="M1.42 84.68 L83.62 84.68 L83.62 76.68 L1.42 76.68 L1.42 84.68" class="st5"/>
</g>
</g>
</g>
<g id="shape28-44" v:mID="28" v:groupContext="shape" v:layerMember="1" transform="translate(178.585,-27.6111)">
<title>Динамическая соединительная линия.102</title>
<path d="M0 79.01 L13.09 79.01" class="st6"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -0,0 +1,114 @@
<svg width="700" height="500" xmlns="http://www.w3.org/2000/svg">
<script>
const DEFAULT_WIDTH = 100; // Глобальное значение по умолчанию для ширины
const DEFAULT_HEIGHT = 60; // Глобальное значение по умолчанию для высоты
function createDirectedConnector(id1, id2) {
const boxA = document.getElementById(id1);
const boxB = document.getElementById(id2);
const widthA = parseFloat(boxA.getAttribute('width')) || DEFAULT_WIDTH; // Ширина
const heightA = parseFloat(boxA.getAttribute('height')) || DEFAULT_HEIGHT; // Высота
const widthB = parseFloat(boxB.getAttribute('width')) || DEFAULT_WIDTH; // Ширина
const heightB = parseFloat(boxB.getAttribute('height')) || DEFAULT_HEIGHT; // Высота
const x1 = parseFloat(boxA.getAttribute('x')) + widthA; // Правый край boxA
const y1 = parseFloat(boxA.getAttribute('y')) + heightA / 2; // Центр по y
const x2 = parseFloat(boxB.getAttribute('x')); // Левый край boxB
const y2 = parseFloat(boxB.getAttribute('y')) + heightB / 2; // Центр по y
const connector = document.createElementNS('http://www.w3.org/2000/svg', 'line');
connector.setAttribute('x1', x1);
connector.setAttribute('y1', y1);
// connector.setAttribute('x2', x2 - 5); // Уменьшаем x2 на 5, чтобы избежать наложения конца стрелки на rect
connector.setAttribute('x2', x2 - 9);
connector.setAttribute('y2', y2);
connector.setAttribute('stroke', 'black');
connector.setAttribute('marker-end', 'url(#arrowhead)'); // Добавляем стрелку на конце
document.getElementById('connectors').appendChild(connector);
}
function addLabel(boxId, labelText) {
const box = document.getElementById(boxId);
const width = parseFloat(box.getAttribute('width')) || DEFAULT_WIDTH; // Ширина
const height = parseFloat(box.getAttribute('height')) || DEFAULT_HEIGHT; // Высота
const x = parseFloat(box.getAttribute('x')) || 0; // Координата x
const y = parseFloat(box.getAttribute('y')) || 0; // Координата y
const text = document.createElementNS('http://www.w3.org/2000/svg', 'text');
text.setAttribute('class', 'label');
text.setAttribute('x', x + width / 2); // Центрируем по x
text.setAttribute('y', y + height + 15); // Под прямоугольником
text.textContent = labelText;
document.getElementById('connectors').appendChild(text);
}
function addInnerLabel(boxId, labelText) {
const box = document.getElementById(boxId);
const width = parseFloat(box.getAttribute('width')) || DEFAULT_WIDTH; // Ширина
const height = parseFloat(box.getAttribute('height')) || DEFAULT_HEIGHT; // Высота
const x = parseFloat(box.getAttribute('x')) || 0; // Координата x
const y = parseFloat(box.getAttribute('y')) || 0; // Координата y
const innerText = document.createElementNS('http://www.w3.org/2000/svg', 'text');
innerText.setAttribute('class', 'inner-label');
innerText.setAttribute('x', x + width / 2); // Центрируем по x
innerText.setAttribute('y', y + height / 2); // Центрируем по y
innerText.textContent = labelText;
document.getElementById('connectors').appendChild(innerText);
}
</script>
<defs>
<rect id="VAD1" width="100" height="60" fill="blue" />
<rect id="VAD2" width="100" height="60" fill="green" />
<style>
.label {
font-family: Arial;
font-size: 12px;
fill: black;
}
.inner-label {
font-family: Arial;
font-size: 10px;
fill: white; /* Цвет текста внутри блока */
text-anchor: middle; /* Центрируем текст */
}
</style>
<marker id="arrowhead" markerWidth="10" markerHeight="7"
refX="0" refY="3.5" orient="auto">
<polygon points="0 0, 10 3.5, 0 7" fill="black" />
</marker>
</defs>
<!-- Заполняем семантические свойства (кроме координат)
Для блока VAD: назначаем id и указываем тип процесса (узла)
-->
<use id="box1" href="#VAD1" x="10" y="10" />
<use id="box2" href="#VAD2" x="160" y="20" />
<use id="box3" href="#VAD1" x="320" y="10" />
<g id="connectors"></g>
<script>
// Подпись к VAD блоку + соединитель + указание исполнителя снизу блока
// Добавляем надписи внутрь блоков (название процесса)
addInnerLabel('box1', 'Закупка заготовок');
addInnerLabel('box2', 'Блок 2');
addInnerLabel('box3', 'Блок 3');
// Создаем стрелочные соединения между элементами
createDirectedConnector('box1', 'box2');
createDirectedConnector('box2', 'box3');
// Добавляем подписи снизу блока (исполнители)
addLabel('box1', 'Блок 1');
addLabel('box2', 'Блок 2');
addLabel('box3', 'Блок 3');
</script>
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

View file

@ -0,0 +1,191 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Interactive TreeView with Turtle RDF</title>
<style>
body {
margin: 0;
font-family: Arial, sans-serif;
display: flex;
}
#tree-container {
width: 300px;
height: 100vh;
overflow-y: auto;
border-right: 1px solid #ccc;
background-color: #f9f9f9;
padding: 10px;
}
#image-container {
flex: 1;
padding: 20px;
text-align: center;
}
#image-container object {
max-width: 100%;
max-height: 90vh;
border: 1px solid #ccc;
border-radius: 5px;
}
.bold-node {
font-weight: bold;
}
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.12/themes/default/style.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.12/jstree.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/n3/browser/n3.min.js"></script>
</head>
<body>
<div id="tree-container">
<div id="tree"></div>
</div>
<div id="image-container">
<p>Выберите узел для отображения изображения.</p>
<object data="start.svg" type="image/svg+xml"></object> <!-- Отображение start.svg по умолчанию -->
</div>
<script>
const parser = new N3.Parser();
const ttlData = `
@prefix ex: <http://example.org/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
ex:Root a ex:Process ;
ex:svg_file_link "root.svg" .
ex:Child1 a ex:Process ;
ex:hasParent ex:Root ;
ex:svg_file_link "child1.svg" .
ex:Child2 a ex:SubProcess ;
ex:hasParent ex:Root ;
ex:svg_file_link "child2.svg" .
ex:Grandchild1 a ex:SubProcess ;
ex:hasParent ex:Child1 ;
ex:svg_file_link "grandchild1.svg" .
ex:Grandchild2 a ex:Process ;
ex:hasParent ex:Child2 ;
ex:svg_file_link "grandchild2.svg" .
`;
const triples = parser.parse(ttlData);
function buildTree(triples) {
const treeMap = {};
const rootNodes = [];
triples.forEach(triple => {
if (triple.predicate.value === 'http://example.org/hasParent') {
const child = triple.subject.value;
const parent = triple.object.value;
if (!treeMap[child]) {
treeMap[child] = { id: child, text: child.split('/').pop(), children: [], a_attr: {} };
}
if (!treeMap[parent]) {
treeMap[parent] = { id: parent, text: parent.split('/').pop(), children: [], a_attr: {} };
}
}
});
triples.forEach(triple => {
if (triple.predicate.value === 'http://example.org/hasParent') {
const child = triple.subject.value;
const parent = triple.object.value;
if (treeMap[parent] && treeMap[child]) {
treeMap[parent].children.push(treeMap[child]);
}
}
});
triples.forEach(triple => {
const node = triple.subject.value;
if (triple.predicate.value === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type') {
const type = triple.object.value;
if (type === 'http://example.org/Process') {
treeMap[node].a_attr.class = 'bold-node';
}
}
if (triple.predicate.value === 'http://example.org/svg_file_link') {
treeMap[node].svg_file_link = triple.object.value;
}
});
Object.values(treeMap).forEach(node => {
const isRoot = !triples.some(triple => triple.predicate.value === 'http://example.org/hasParent' && triple.subject.value === node.id);
if (isRoot) {
rootNodes.push(node);
}
});
return rootNodes;
}
function initTree() {
const treeData = buildTree(triples);
// Инициализация jsTree
$('#tree').jstree({
core: {
data: treeData,
themes: {
name: 'default',
dots: true,
icons: true,
},
},
plugins: ['wholerow'],
});
// Обработчик события выбора узла
$('#tree').on('select_node.jstree', function (e, data) {
const node = data.node;
const svgFile = node.original.svg_file_link; // Используем original для доступа к пользовательским свойствам
// Имя файла
console.log('Отобразить файл:', svgFile);
// Отображаем имя файла перед загрузкой
$('#image-container').html(`<p>Файл: ${svgFile}</p>`);
if (svgFile) {
const imagePath = `${svgFile}`;
const objectElement = document.createElement('object');
objectElement.data = imagePath;
objectElement.type = 'image/svg+xml';
objectElement.style.maxWidth = '100%';
objectElement.style.maxHeight = '90vh';
objectElement.style.border = '1px solid #ccc';
objectElement.style.borderRadius = '5px';
// Обработчик ошибки загрузки файла
objectElement.onerror = () => {
$('#image-container').html('<p>Изображение отсутствует.</p>');
};
// Обработчик успешной загрузки файла
objectElement.onload = () => {
console.log('Файл успешно загружен:', svgFile);
};
$('#image-container').append(objectElement);
} else {
$('#image-container').html('<p>Изображение отсутствует.</p>');
}
});
}
// Запуск инициализации дерева
initTree();
</script>
</body>
</html>

View file

@ -0,0 +1,283 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Interactive TreeView with Turtle RDF</title>
<style>
body {
margin: 0;
font-family: Arial, sans-serif;
}
#tree-container {
width: 300px;
height: 50vh;
overflow-y: auto;
border-right: 1px solid #ccc;
background-color: #f9f9f9;
padding: 10px;
}
#attributes-container {
width: 300px;
height: 50vh;
overflow-y: auto;
background-color: #f9f9f9;
padding: 10px;
}
#image-container {
flex: 1;
padding: 20px;
text-align: center;
}
#image-container object {
max-width: 100%;
max-height: 90vh;
border: 1px solid #ccc;
border-radius: 5px;
}
.bold-node {
font-weight: bold;
}
.attribute-item {
margin-bottom: 10px;
padding: 5px;
border-bottom: 1px dashed #ccc;
}
.attribute-key {
font-weight: bold;
margin-right: 5px;
}
#node-title {
font-size: 1.2em;
font-weight: bold;
margin-bottom: 10px;
padding-bottom: 5px;
border-bottom: 2px solid #ccc;
}
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.12/themes/default/style.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.12/jstree.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/n3/browser/n3.min.js"></script>
</head>
<body>
<div id="tree-container">
<div id="tree"></div>
</div>
<div id="attributes-container">
<div id="node-title"></div>
<div id="attributes"></div>
</div>
<div id="image-container">
<p>Âûáåðèòå óçåë äëÿ îòîáðàæåíèÿ èçîáðàæåíèÿ.</p>
<object data="start.svg" type="image/svg+xml"></object>
</div>
<script>
const parser = new N3.Parser();
const ttlData = `
@prefix ex: <http://example.org/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
ex:pRoot a ex:Process ;
ex:svg_file_link "pRoot.svg" .
ex:p1 a ex:Process ;
ex:hasParent ex:pRoot ;
ex:svg_file_link "p1.svg" .
ex:p2 a ex:SubProcess ;
ex:hasParent ex:pRoot ;
ex:svg_file_link "p2.svg" .
ex:p1.1 a ex:SubProcess ;
ex:hasParent ex:p1 ;
ex:svg_file_link "p1.1.svg" .
ex:p1.2 a ex:Process ;
ex:hasParent ex:p2 ;
ex:svg_file_link "p1.2.svg" .
`;
const triples = parser.parse(ttlData);
function buildTree(triples) {
const treeMap = {};
const rootNodes = [];
triples.forEach(triple => {
if (triple.predicate.value === 'http://example.org/hasParent') {
const child = triple.subject.value;
const parent = triple.object.value;
if (!treeMap[child]) {
treeMap[child] = {
id: child,
text: child.split('/').pop(),
children: [],
a_attr: {}
};
}
if (!treeMap[parent]) {
treeMap[parent] = {
id: parent,
text: parent.split('/').pop(),
children: [],
a_attr: {}
};
}
}
});
triples.forEach(triple => {
if (triple.predicate.value === 'http://example.org/hasParent') {
const child = triple.subject.value;
const parent = triple.object.value;
if (treeMap[parent] && treeMap[child]) {
treeMap[parent].children.push(treeMap[child]);
}
}
});
triples.forEach(triple => {
const node = triple.subject.value;
if (triple.predicate.value === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type') {
const type = triple.object.value;
if (type === 'http://example.org/Process') {
treeMap[node].a_attr.class = 'bold-node';
}
}
if (triple.predicate.value === 'http://example.org/svg_file_link') {
treeMap[node].svg_file_link = triple.object.value;
}
});
Object.values(treeMap).forEach(node => {
const isRoot = !triples.some(triple =>
triple.predicate.value === 'http://example.org/hasParent' &&
triple.subject.value === node.id);
if (isRoot) {
rootNodes.push(node);
}
});
return rootNodes;
}
function getNodeAttributes(nodeUri) {
const query = `
PREFIX ex: <http://example.org/>
SELECT ?predicate ?value
WHERE {
BIND(<${nodeUri}> AS ?subject)
?subject ?predicate ?value .
}`;
const results = [];
triples.forEach(triple => {
if (triple.subject.value === nodeUri) {
results.push({
predicate: triple.predicate.value,
value: triple.object.value
});
}
});
return results;
}
function displayAttributes(attributes) {
const container = document.getElementById('attributes');
container.innerHTML = '<h3>Àòðèáóòû óçëà:</h3>';
if (attributes.length === 0) {
container.innerHTML += '<p>Íåò àòðèáóòîâ.</p>';
return;
}
const fragment = document.createDocumentFragment();
attributes.forEach(attr => {
const div = document.createElement('div');
div.className = 'attribute-item';
div.innerHTML = `<span class="attribute-key">${attr.predicate.split('/').pop()}</span>: ${attr.value}`;
fragment.appendChild(div);
});
container.appendChild(fragment);
}
function initTree() {
const treeData = buildTree(triples);
$('#tree').jstree({
core: {
data: treeData,
themes: {
name: 'default',
dots: true,
icons: true,
},
},
plugins: ['wholerow'],
});
$('#tree').on('select_node.jstree', function(e, data) {
const node = data.node;
const svgFile = node.original.svg_file_link;
$('#image-container').html(`<p>Ôàéë: ${svgFile}</p>`);
if (svgFile) {
const imagePath = `${svgFile}`;
const objectElement = document.createElement('object');
objectElement.data = imagePath;
objectElement.type = 'image/svg+xml';
objectElement.style.maxWidth = '100%';
objectElement.style.maxHeight = '90vh';
objectElement.style.border = '1px solid #ccc';
objectElement.style.borderRadius = '5px';
objectElement.onerror = () => {
$('#image-container').html('<p>Èçîáðàæåíèå îòñóòñòâóåò.</p>');
};
objectElement.onload = () => {
console.log('Ôàéë óñïåøíî çàãðóæåí:', svgFile);
};
$('#image-container').append(objectElement);
} else {
$('#image-container').html('<p>Èçîáðàæåíèå îòñóòñòâóåò.</p>');
}
const nodeUri = node.original.id;
const attributes = getNodeAttributes(nodeUri);
// Äîáàâëÿåì íàçâàíèå óçëà
document.getElementById('node-title').textContent = node.text;
displayAttributes(attributes);
});
}
initTree();
</script>
</body>
</html>

View file

@ -0,0 +1,286 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Interactive TreeView with Turtle RDF</title>
<style>
body {
margin: 0;
font-family: Arial, sans-serif;
}
#tree-container {
width: 300px;
height: 50vh;
overflow-y: auto;
border-right: 1px solid #ccc;
background-color: #f9f9f9;
padding: 10px;
}
#attributes-container {
width: 300px;
height: 50vh;
overflow-y: auto;
background-color: #f9f9f9;
padding: 10px;
}
#image-container {
flex: 1;
padding: 20px;
text-align: center;
}
#image-container object {
max-width: 100%;
max-height: 90vh;
border: 1px solid #ccc;
border-radius: 5px;
}
.bold-node {
font-weight: bold;
}
.attribute-item {
margin-bottom: 10px;
padding: 5px;
border-bottom: 1px dashed #ccc;
}
.attribute-key {
font-weight: bold;
margin-right: 5px;
}
#node-title {
font-size: 1.2em;
font-weight: bold;
margin-bottom: 10px;
padding-bottom: 5px;
border-bottom: 2px solid #ccc;
}
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.12/themes/default/style.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.12/jstree.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/n3/browser/n3.min.js"></script>
</head>
<body>
<div style="display: flex;">
<div style="display: flex; flex-direction: column;">
<div id="tree-container">
<div id="tree"></div>
</div>
<div id="attributes-container">
<div id="node-title"></div>
<div id="attributes"></div>
</div>
</div>
<div id="image-container">
<p>Выберите узел для отображения изображения.</p>
<object data="start.svg" type="image/svg+xml"></object>
</div>
</div>
<script>
const parser = new N3.Parser();
const ttlData = `
@prefix ex: <http://example.org/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
ex:pRoot a ex:Process ;
ex:svg_file_link "pRoot.svg" .
ex:p1 a ex:Process ;
ex:hasParent ex:pRoot ;
ex:svg_file_link "p1.svg" .
ex:p2 a ex:SubProcess ;
ex:hasParent ex:pRoot ;
ex:svg_file_link "p2.svg" .
ex:p1.1 a ex:SubProcess ;
ex:hasParent ex:p1 ;
ex:svg_file_link "p1.1.svg" .
ex:p1.2 a ex:Process ;
ex:hasParent ex:p2 ;
ex:svg_file_link "p1.2.svg" .
`;
const triples = parser.parse(ttlData);
function buildTree(triples) {
const treeMap = {};
const rootNodes = [];
triples.forEach(triple => {
if (triple.predicate.value === 'http://example.org/hasParent') {
const child = triple.subject.value;
const parent = triple.object.value;
if (!treeMap[child]) {
treeMap[child] = {
id: child,
text: child.split('/').pop(),
children: [],
a_attr: {}
};
}
if (!treeMap[parent]) {
treeMap[parent] = {
id: parent,
text: parent.split('/').pop(),
children: [],
a_attr: {}
};
}
}
});
triples.forEach(triple => {
if (triple.predicate.value === 'http://example.org/hasParent') {
const child = triple.subject.value;
const parent = triple.object.value;
if (treeMap[parent] && treeMap[child]) {
treeMap[parent].children.push(treeMap[child]);
}
}
});
triples.forEach(triple => {
const node = triple.subject.value;
if (triple.predicate.value === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type') {
const type = triple.object.value;
if (type === 'http://example.org/Process') {
treeMap[node].a_attr.class = 'bold-node';
}
}
if (triple.predicate.value === 'http://example.org/svg_file_link') {
treeMap[node].svg_file_link = triple.object.value;
}
});
Object.values(treeMap).forEach(node => {
const isRoot = !triples.some(triple =>
triple.predicate.value === 'http://example.org/hasParent' &&
triple.subject.value === node.id);
if (isRoot) {
rootNodes.push(node);
}
});
return rootNodes;
}
function getNodeAttributes(nodeUri) {
const query = `
PREFIX ex: <http://example.org/>
SELECT ?predicate ?value
WHERE {
BIND(<${nodeUri}> AS ?subject)
?subject ?predicate ?value .
}`;
const results = [];
triples.forEach(triple => {
if (triple.subject.value === nodeUri) {
results.push({
predicate: triple.predicate.value,
value: triple.object.value
});
}
});
return results;
}
function displayAttributes(attributes) {
const container = document.getElementById('attributes');
container.innerHTML = '<h3>Атрибуты узла:</h3>';
if (attributes.length === 0) {
container.innerHTML += '<p>Нет атрибутов.</p>';
return;
}
const fragment = document.createDocumentFragment();
attributes.forEach(attr => {
const div = document.createElement('div');
div.className = 'attribute-item';
div.innerHTML = `<span class="attribute-key">${attr.predicate.split('/').pop()}</span>: ${attr.value}`;
fragment.appendChild(div);
});
container.appendChild(fragment);
}
function initTree() {
const treeData = buildTree(triples);
$('#tree').jstree({
core: {
data: treeData,
themes: {
name: 'default',
dots: true,
icons: true,
},
},
plugins: ['wholerow'],
});
$('#tree').on('select_node.jstree', function(e, data) {
const node = data.node;
const svgFile = node.original.svg_file_link;
$('#image-container').html(`<p>Файл: ${svgFile}</p>`);
if (svgFile) {
const imagePath = `${svgFile}`;
const objectElement = document.createElement('object');
objectElement.data = imagePath;
objectElement.type = 'image/svg+xml';
objectElement.style.maxWidth = '100%';
objectElement.style.maxHeight = '90vh';
objectElement.style.border = '1px solid #ccc';
objectElement.style.borderRadius = '5px';
objectElement.onerror = () => {
$('#image-container').html('<p>Изображение отсутствует.</p>');
};
objectElement.onload = () => {
console.log('Файл успешно загружен:', svgFile);
};
$('#image-container').append(objectElement);
} else {
$('#image-container').html('<p>Изображение отсутствует.</p>');
}
const nodeUri = node.original.id;
const attributes = getNodeAttributes(nodeUri);
document.getElementById('node-title').textContent = node.text;
displayAttributes(attributes);
});
}
initTree();
</script>
</body>
</html>