wortsammler 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,225 @@
1
+ \documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$lang$,$endif$]{$documentclass$}
2
+ %list environment by rj
3
+ % {\catcode`\@=11\relax%
4
+ % \gdef\itemize{%
5
+ % \ifnum \@itemdepth >\thr@@\@toodeep\else
6
+ % \advance\@itemdepth\@ne
7
+ % \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
8
+ % \expandafter
9
+ % \list
10
+ % \csname\@itemitem\endcsname
11
+ % {\def\makelabel##1{\hss\llap{##1}}%
12
+ % \addtolength{\leftmargin}{-10pt}% 29.37pt
13
+ % \addtolength{\rightmargin}{0.0pt}% 0.0pt
14
+ % \addtolength{\labelsep}{0pt}% 23.50pt
15
+ % \addtolength{\itemsep}{-3.0pt}% 5.0pt
16
+ % \addtolength{\parsep}{0pt}% 5.0pt
17
+ % \addtolength{\topsep}{-5pt}% 10.0pt
18
+ % \addtolength{\partopsep}{0pt}% 3.0pt
19
+ % }%
20
+ % \fi}
21
+ % }%
22
+ %end list environment by Reinhard Jahraus
23
+ \usepackage[T1]{fontenc}
24
+ \usepackage{lmodern}
25
+ \usepackage{amssymb,amsmath}
26
+ \usepackage{ifxetex,ifluatex}
27
+ \usepackage{fixltx2e} % provides \textsubscript
28
+ % use microtype if available
29
+ \IfFileExists{microtype.sty}{\usepackage{microtype}}{}
30
+ \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
31
+ \usepackage[utf8]{inputenc}
32
+ $if(euro)$
33
+ \usepackage{eurosym}
34
+ $endif$
35
+ \else % if luatex or xelatex
36
+ \usepackage{fontspec}
37
+ \ifxetex
38
+ \usepackage{xltxtra,xunicode}
39
+ \fi
40
+ \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
41
+ \newcommand{\euro}{€}
42
+ $if(mainfont)$
43
+ \setmainfont{$mainfont$}
44
+ $endif$
45
+ $if(sansfont)$
46
+ \setsansfont{$sansfont$}
47
+ $endif$
48
+ $if(monofont)$
49
+ \setmonofont{$monofont$}
50
+ $endif$
51
+ $if(mathfont)$
52
+ \setmathfont{$mathfont$}
53
+ $endif$
54
+ \fi
55
+ $if(geometry)$
56
+ \usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
57
+ $endif$
58
+ $if(natbib)$
59
+ \usepackage{natbib}
60
+ \bibliographystyle{plainnat}
61
+ $endif$
62
+ $if(biblatex)$
63
+ \usepackage{biblatex}
64
+ $if(biblio-files)$
65
+ \bibliography{$biblio-files$}
66
+ $endif$
67
+ $endif$
68
+ $if(listings)$
69
+ \usepackage{listings}
70
+ $endif$
71
+ $if(lhs)$
72
+ \lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{}
73
+ $endif$
74
+ $if(highlighting-macros)$
75
+ $highlighting-macros$
76
+ $endif$
77
+ $if(verbatim-in-note)$
78
+ \usepackage{fancyvrb}
79
+ $endif$
80
+ $if(fancy-enums)$
81
+ % Redefine labelwidth for lists; otherwise, the enumerate package will cause
82
+ % markers to extend beyond the left margin.
83
+ \makeatletter\AtBeginDocument{%
84
+ \renewcommand{\@listi}
85
+ {\setlength{\labelwidth}{4em}}
86
+ }\makeatother
87
+ \usepackage{enumerate}
88
+ $endif$
89
+ $if(tables)$
90
+ \usepackage{ctable}
91
+ \usepackage{float} % provides the H option for float placement
92
+ $endif$
93
+
94
+ \usepackage{graphicx}
95
+ % We will generate all images so they have a width \maxwidth. This means
96
+ % that they will get their normal width if they fit onto the page, but
97
+ % are scaled down if they would overflow the margins.
98
+ \makeatletter
99
+ \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth
100
+ \else\Gin@nat@width\fi}
101
+ \makeatother
102
+ \let\Oldincludegraphics\includegraphics
103
+ \renewcommand{\includegraphics}[1]{\Oldincludegraphics[width=\maxwidth]{#1}}
104
+
105
+ \ifxetex
106
+ \usepackage[setpagesize=false, % page size defined by xetex
107
+ unicode=false, % unicode breaks when used with xetex
108
+ xetex]{hyperref}
109
+ \else
110
+ \usepackage[unicode=true]{hyperref}
111
+ \fi
112
+ \hypersetup{breaklinks=true,
113
+ bookmarks=true,
114
+ pdfauthor={$author-meta$},
115
+ pdftitle={$title-meta$},
116
+ colorlinks=true,
117
+ urlcolor=$if(urlcolor)$$urlcolor$$else$blue$endif$,
118
+ linkcolor=$if(linkcolor)$$linkcolor$$else$magenta$endif$,
119
+ pdfborder={0 0 0}}
120
+ $if(links-as-notes)$
121
+ % Make links footnotes instead of hotlinks:
122
+ \renewcommand{\href}[2]{#2\footnote{\url{#1}}}
123
+ $endif$
124
+ $if(strikeout)$
125
+ \usepackage[normalem]{ulem}
126
+ % avoid problems with \sout in headers with hyperref:
127
+ \pdfstringdefDisableCommands{\renewcommand{\sout}{}}
128
+ $endif$
129
+ \setlength{\parindent}{0pt}
130
+ \setlength{\parskip}{6pt plus 2pt minus 1pt}
131
+ \setlength{\emergencystretch}{3em} % prevent overfull lines
132
+ $if(numbersections)$
133
+ $else$
134
+ \setcounter{secnumdepth}{0}
135
+ $endif$
136
+ $if(verbatim-in-note)$
137
+ \VerbatimFootnotes % allows verbatim text in footnotes
138
+ $endif$
139
+ $if(lang)$
140
+ \ifxetex
141
+ \usepackage{polyglossia}
142
+ \setmainlanguage{$mainlang$}
143
+ \else
144
+ \usepackage[$lang$]{babel}
145
+ \fi
146
+ $endif$
147
+ $for(header-includes)$
148
+ $header-includes$
149
+ $endfor$
150
+
151
+ $if(title)$
152
+ \title{$title$}
153
+ $endif$
154
+ \author{$for(author)$$author$$sep$ \and $endfor$}
155
+ \date{$date$}
156
+
157
+ \setlength{\oddsidemargin}{0cm}
158
+ \setlength{\evensidemargin}{0cm}
159
+ \setlength{\textwidth}{16cm}
160
+ \setlength{\topmargin}{-2cm}
161
+ \setlength{\headheight}{1cm}
162
+ \setlength{\headsep}{1cm}
163
+ \setlength{\textheight}{23cm}
164
+ \setlength{\footskip}{1cm}
165
+
166
+ % adjust the toc layout
167
+ \makeatletter
168
+ % \renewcommand*\l@section{\@dottedtocline{2}{1.8em}{4em}}
169
+ \renewcommand*\l@subsection{\@dottedtocline{2}{1.5em}{4em}}
170
+ \renewcommand*\l@subsubsection{\@dottedtocline{2}{5.5em}{4em}}
171
+ \makeatother
172
+
173
+ \usepackage{fancyhdr}
174
+ \pagestyle{fancy}
175
+ \chead{\begin{center}\textbf{$title$}\end{center}}
176
+ %\lhead{\includegraphics{logo.jpg}}
177
+ \rhead{\leftmark}
178
+ \lfoot{www.weichel21.de}
179
+ \rfoot{\today}
180
+ \renewcommand{\footrulewidth}{0.4pt}
181
+ %
182
+ \renewcommand{\familydefault}{\sfdefault}
183
+ %
184
+ %
185
+ \begin{document}
186
+ $if(title)$
187
+ \maketitle
188
+ \clearpage
189
+ $endif$
190
+
191
+ $for(include-before)$
192
+ $include-before$
193
+
194
+ $endfor$
195
+ $if(toc)$
196
+ {
197
+ \hypersetup{linkcolor=black}
198
+ \tableofcontents
199
+ \newpage
200
+ }
201
+ $endif$
202
+ $body$
203
+
204
+ $if(natbib)$
205
+ $if(biblio-files)$
206
+ $if(biblio-title)$
207
+ $if(book-class)$
208
+ \renewcommand\bibname{$biblio-title$}
209
+ $else$
210
+ \renewcommand\refname{$biblio-title$}
211
+ $endif$
212
+ $endif$
213
+ \bibliography{$biblio-files$}
214
+
215
+ $endif$
216
+ $endif$
217
+ $if(biblatex)$
218
+ \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$
219
+
220
+ $endif$
221
+ $for(include-after)$
222
+ $include-after$
223
+
224
+ $endfor$
225
+ \end{document}
Binary file
data/resources/main.md ADDED
@@ -0,0 +1,268 @@
1
+ % Wortsammler sample document
2
+ % Bernhard Weichel; and others
3
+ % date
4
+
5
+ # Introduction
6
+
7
+ This is a sample document for Wortsammler
8
+
9
+ # Anforderung an Dokumentenaufbereiter
10
+
11
+ - [RS_Comp_003] **Steuerung Dokumentenzusammenstellung**
12
+ {Dokumentenzusammenstellungen soll über ein manifest
13
+ ->[RS_Comp_007] gesteuert werden.
14
+
15
+ - Die Manifeste sollen als Laufzeitparameter übergeben werden
16
+ - Das Manifest enthält auch die Ausgabedatei
17
+
18
+ }(RS_DM_014, RS_DM_010, RS_DM_005)
19
+
20
+ - [RS_Comp_004] **Prozessierung Einzeldokument** {Soll Dokumente
21
+ verschiedenen Umfangs erzeugen können:
22
+
23
+ - einzelnes Files
24
+ - zu Prüfzwecken
25
+
26
+ Steuerung soll über Konfiguration (Manifest) erfolgen
27
+ ->[RS_Comp_007].
28
+
29
+ }()
30
+
31
+ - [RS_Comp_005] **Erstellung Loseblattsammlung** {Soll Dokumente
32
+ verschiedenen Umfangs erzeugen können:
33
+
34
+ - kann aus dem Manifest errechnet werden ->[RS_Comp_007]
35
+
36
+ }()
37
+
38
+ - [RS_Comp_006] **Inkrementelle Verarbeitung** {Soll nur auf
39
+ geänderte Dokumente reagieren können:
40
+
41
+ - ähnlich wie make/rake
42
+
43
+ }()
44
+
45
+ - [RS_Comp_007] **Anforderungen an Manifest** {Folgende
46
+ Anforderungen gelten für das Manifest
47
+ - einfach bearbeiten - nur liste der Files
48
+ - Markdown-lite
49
+ - Yaml
50
+
51
+ Inhalte im Manifest sind
52
+
53
+ - Name der Konfiguration
54
+ - Ausgabeverzeichnis
55
+ - Ausgabeformat
56
+ - Name des generierten Dokumentes
57
+ - Formate in denen das Dokument generiert wird. Werte hierfür
58
+ ergeben sich aus den Anforderungen an die Aufbereitet
59
+ - zu verarbeitende Eingabedateien. Diese werden in der Reihenfolge
60
+ verarbeitet wie sie aufgeführt sind.
61
+ - Optionen für die jeweiligen Formate.
62
+ - zu bearbeitende Zielgruppen ->[RS_Comp_008]
63
+
64
+ <!-- -->
65
+
66
+ Beispiel für ein manifest
67
+
68
+ -
69
+ :name: komplett
70
+ :outdir: ../ZGEN_Documents
71
+ :outname: RS_Requirements-Ngopm
72
+ :format:
73
+ - pdf
74
+ - html
75
+ - rtf
76
+ - docx
77
+ - latex
78
+
79
+ :lang: german
80
+
81
+ :vars:
82
+ :lang: german
83
+
84
+ :editions:
85
+ :intern:
86
+ :title: Interne Ausgabe
87
+ :filepart: _intern
88
+ :extern:
89
+ :title: Externe Ausgabe
90
+ :filepart: _extern
91
+ :mieter:
92
+ :title: Ausgabe für Mieter
93
+ :filepart: _mieter
94
+ :ea:
95
+ :title: Ausgabe für ehrenamtliche Mitarbeiter
96
+ :filepart: _ma-ehrenamtlich
97
+ :ha:
98
+ :title: Ausgabe für hauptamtliche Mitarbeiter
99
+ :filepart: _ma-hauptamtlich
100
+ :1:
101
+ :title: Ausgabe für erste hauptamtliche Mitarbeiter
102
+ :filepart: _ma-hauptamtlich-1
103
+
104
+ :input:
105
+ - ../RS_Process/RS_Process.md
106
+ - ../RS_Tooling/RS_Tooling.md
107
+ - ../RS_Tooling/RS_MarkdownCleaner.md
108
+ - ../RS_Tooling/RS_MarkdownEditor.md
109
+ - ../RS_Tooling/RS_DocumentComposer.md
110
+ - ../TPL_DirectoryStructure/TPL_DirectoryStructure.md
111
+ - ../TR_Installation/TR_Installation.md
112
+ - ../TR_Installation/TR_Proo-Handbuch.md
113
+ - ../ZGEN_RequirementsTracing/ZGEN_Reqtrace.md
114
+
115
+ :snippets:
116
+ - ../TS_Markdown/TS_Snippets.yaml
117
+ - ../TS_Markdown/TS_MoreSnippets.yaml
118
+
119
+ }(RS_Comp_003)
120
+
121
+ ## Zielgruppenspezifische Ausgaben
122
+
123
+ Dieser Abschnitt behandelt speziell die Anforderungen an flexible
124
+ Dokumentenausgabe
125
+
126
+ - [RS_Comp_001] **Flexibler Dokumentumfang** {Soll Dokumente
127
+ verschiedenen Umfangs erzeugen können:
128
+
129
+ - einzelnes Files
130
+ - Zusammengestelltes Dokument
131
+
132
+ }(RS_Comp_003)
133
+
134
+ - [RS_Comp_002] **Flexible Dokumentendarstellung** {Sollte Dokumente
135
+ in verschiedener Darstellung erzeugen können:
136
+ - Seitenlayout
137
+ - Detaillierungsgrad (z.B. RequirementsMarken ausblenden) }
138
+ (RS_Comp_003)
139
+
140
+ - [RS_Comp_008] **Zielgruppenspezifische Ausgaben (Editionen)** { Es
141
+ soll möglich sein Zielgruppenspezifische Ausgaben zu erstellen.
142
+
143
+ - Dabei wird die Zielgruppe durch eine spezifische Zeichenkette
144
+ umgeschaltet (Durchstreichung), die auch in standard Markdown
145
+ Programmen eine sinnvolle Ausgabe liefert:
146
+
147
+ `~~ED intern extern~~` ab hier gilt: Text erscheint in Ausgabe
148
+ `intern` als auch in `extern`
149
+
150
+ Es handelt sich also um ein durchgestrichenes Muster als
151
+ regulärer Ausdruck
152
+
153
+ ~~ED((\s* \S+)*)~~
154
+
155
+ - Die Umschaltung wirkt ab einschliesslich der Zeile, die die
156
+ Umschaltung enthält, bis zum Aufruf einer neuen Umschaltung.
157
+
158
+ - Die möglichen Zielgruppen werden im Manifest festgelegt
159
+ ->[RS_Comp_007] daselbst Eintrag `:editions:`
160
+
161
+ - Eine vorgegebene Zielgruppe `all` erzeugt keine spezifische
162
+ Ausgabe. Sie kennzeichnet vielmehr Inhalte, die in **allen**
163
+ Ausgaben gleichermassen enthalten sind.
164
+
165
+ - Bei einer Aufteilung auf mehrere Dateien wird empfohlen am Ende
166
+ einer jeden Datei auf `all` zu schalten. Dadurch wird das System
167
+ einfache wartbar.
168
+
169
+ }(RS_Comp_003)
170
+
171
+ Alternativen für die Umschaltung sind:
172
+
173
+ \marginpar{intern}
174
+
175
+ - ~~ED intern extern~~ und so geht es weiter
176
+
177
+ - ^ZG intern extern^ und nun kommt der text der nur extern ist
178
+
179
+ \marginpar{extern}
180
+
181
+ - ~ZG intern extern~ und hier ist der text der nur intern ist
182
+
183
+ - <!-- ZG intern extern --> und nun geht es weiter
184
+
185
+ \marginpar{intern}
186
+
187
+ - und nun geht es intern weiter Gelaber und weiter
188
+
189
+ - [RS_Comp_009] **Gesamtausgabe mit allen Texten zur Prüfung**
190
+ {Sollte Dokumente Eine Gesamtausgabe mit allen Texten zur
191
+ Überprüfung soll erstellt werden. In diesem Fall werden die Ausgaben
192
+ am Rand notiert. }(RS_Comp_003)
193
+
194
+ - [RS_Comp_010] **Erstellung aller Ausgaben mit einem Befehl** {Es
195
+ sollen immer alle Ausgaben gleichermassen generiert werden. Dabei
196
+ gilt:
197
+
198
+ - Der Dateiname für die generierten Dokumente bildet sich nach
199
+
200
+ `{:outname:}_{:edition:.:filepart:}.{format}`
201
+
202
+ - In der Kopfzeile des Dokumentes wird `:edition:.:title:`
203
+ eingefügt, so dass die Ausgabe auf jeder Seite identifiziert
204
+ werden kann.
205
+
206
+ Ohne Angabe einer Zielgruppe bzw. mit der Angabe `all` soll
207
+ wortsammler alle Ausgaben erstellen.
208
+
209
+ Die Angabe einer einzelnen Zielgruppe erstellt dann auch nur die
210
+ gewählte Ausgabe.
211
+
212
+ }(RS_Comp_003)
213
+
214
+ ## Processing TODO - open issues
215
+
216
+ Paragraphs like starting with
217
+
218
+ TODO: #13 do something are used to manage the open issues
219
+
220
+ ## Processing the traceables
221
+
222
+ ## Including Files
223
+
224
+ - [RS_Comp_011] **including Plain pdf-Pages**{ PDF pages can be
225
+ included by
226
+
227
+ `~~PDF "lib/01234_particularPdf.pdf" "Das ist der Eintrag im Inhaltsverzeichnis" 1 2-4~~`
228
+
229
+ It is done in a markdown verbatim section. By this, Pandoc does not
230
+ add linebreaks in the command such that it can be processed with
231
+ regular expressions.
232
+
233
+ }(RS_Comp_003)
234
+
235
+ - [RS_Comp_014] **Including markdown files** {
236
+
237
+ `~~MD "lib/01234/xxxx/yyyy.md"~~`
238
+
239
+ will be replaced by the content of the argument. It shold even work
240
+ inline.
241
+
242
+ }(RS_Comp_003)
243
+
244
+ ## Handling Text Snippets
245
+
246
+ - [RS_Comp_012] **Including text Snippets**{ Text Snippts can be
247
+ included by
248
+
249
+ `~~SN {symbol}~~`
250
+
251
+ The snippets are taken from one of the snippet databases declared in
252
+ the manifest ->[RS_Comp_007] according to the format in
253
+ ->[RS_Comp_013]. }()
254
+
255
+ - [RS_Conp_013] **Defining text Snippets** {
256
+
257
+ Text snippets are defined as a yaml file in the following format:
258
+
259
+ :Snippet1: Das ist Snippet 1
260
+
261
+ :Snippet2: |- Das ist snippet 2. Es enthält sogar eine Liste
262
+
263
+ * Das ist item 1 in Snippet 2
264
+
265
+ * Das ist item 2 in Snippet 2
266
+
267
+ }(RS_Comp_003)
268
+
@@ -0,0 +1,5 @@
1
+
2
+ require 'wortsammler/rake_helper'
3
+
4
+
5
+
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
3
+ <!--Created by yFiles for Java 2.9-->
4
+ <key for="graphml" id="d0" yfiles.type="resources"/>
5
+ <key for="port" id="d1" yfiles.type="portgraphics"/>
6
+ <key for="port" id="d2" yfiles.type="portgeometry"/>
7
+ <key for="port" id="d3" yfiles.type="portuserdata"/>
8
+ <key attr.name="url" attr.type="string" for="node" id="d4"/>
9
+ <key attr.name="description" attr.type="string" for="node" id="d5"/>
10
+ <key for="node" id="d6" yfiles.type="nodegraphics"/>
11
+ <key attr.name="Beschreibung" attr.type="string" for="graph" id="d7"/>
12
+ <key attr.name="url" attr.type="string" for="edge" id="d8"/>
13
+ <key attr.name="description" attr.type="string" for="edge" id="d9"/>
14
+ <key for="edge" id="d10" yfiles.type="edgegraphics"/>
15
+ <graph edgedefault="directed" id="G">
16
+ </graph>
17
+ </graphml>
@@ -0,0 +1,51 @@
1
+ -
2
+ :name: komplett
3
+ :outdir: ../ZGEN_Documents
4
+ :outname: RS_Main
5
+ :format:
6
+ - latex
7
+ - docx
8
+ - html
9
+
10
+ :vars:
11
+ :lang: german
12
+ :fontsize: 12pt
13
+ :mainfont: Calibri
14
+ :sansfont: Calibri
15
+ :geometry: a4paper
16
+
17
+ :stylefiles:
18
+ :latex: ../ZSUPP_Styles/default.latex
19
+ :docx: ../ZSUPP_Styles/default.docx
20
+ :html: ../ZSUPP_Styles/default.css
21
+
22
+ :input:
23
+ - ../001_main/main.md
24
+
25
+ :downstream_tracefile: ../ZGEN_RequirementsTracing/RS_Main.traces.md
26
+
27
+ :reqtracefile_base: ../ZGEN_RequirementsTracing/ZGEN_Reqtrace
28
+
29
+ :traceSortOrder:
30
+ - RS_MG
31
+ - RS_TEC
32
+
33
+
34
+ :editions:
35
+
36
+ :review:
37
+ :title: Main requirements (review)
38
+ :filepart: review
39
+ :debug: true
40
+
41
+ :compact:
42
+ :title: Main requirements (compact)
43
+ :filepart: compact
44
+
45
+ :extended:
46
+ :title: Main requirements (extended)
47
+ :filepart: mieter
48
+
49
+ :snippets:
50
+ - ../900_snippets/snippets.xlsx
51
+
data/spec/test.graphml ADDED
@@ -0,0 +1,74 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
3
+ <!--Created by yFiles for Java 2.9-->
4
+ <key for="graphml" id="d0" yfiles.type="resources"/>
5
+ <key for="port" id="d1" yfiles.type="portgraphics"/>
6
+ <key for="port" id="d2" yfiles.type="portgeometry"/>
7
+ <key for="port" id="d3" yfiles.type="portuserdata"/>
8
+ <key attr.name="url" attr.type="string" for="node" id="d4"/>
9
+ <key attr.name="description" attr.type="string" for="node" id="d5"/>
10
+ <key for="node" id="d6" yfiles.type="nodegraphics"/>
11
+ <key attr.name="Beschreibung" attr.type="string" for="graph" id="d7"/>
12
+ <key attr.name="url" attr.type="string" for="edge" id="d8"/>
13
+ <key attr.name="description" attr.type="string" for="edge" id="d9"/>
14
+ <key for="edge" id="d10" yfiles.type="edgegraphics"/>
15
+ <graph edgedefault="directed" id="G">
16
+ <node id="t0">
17
+ <data key="d6">
18
+ <y:ShapeNode>
19
+ <y:NodeLabel>[t0] </y:NodeLabel>
20
+ </y:ShapeNode>
21
+ </data>
22
+ </node>
23
+ <node id="t1">
24
+ <data key="d6">
25
+ <y:ShapeNode>
26
+ <y:NodeLabel>[t1] </y:NodeLabel>
27
+ </y:ShapeNode>
28
+ </data>
29
+ </node>
30
+ <edge source="t1" target="t0" id="t0_t1"/>
31
+ <node id="t10">
32
+ <data key="d6">
33
+ <y:ShapeNode>
34
+ <y:NodeLabel>[t10] </y:NodeLabel>
35
+ </y:ShapeNode>
36
+ </data>
37
+ </node>
38
+ <edge source="t10" target="t1" id="t1_t10"/>
39
+ <edge source="t10" target="t2" id="t2_t10"/>
40
+ <node id="t100">
41
+ <data key="d6">
42
+ <y:ShapeNode>
43
+ <y:NodeLabel>[t100] </y:NodeLabel>
44
+ </y:ShapeNode>
45
+ </data>
46
+ </node>
47
+ <edge source="t100" target="t10" id="t10_t100"/>
48
+ <node id="t2">
49
+ <data key="d6">
50
+ <y:ShapeNode>
51
+ <y:NodeLabel>[t2] </y:NodeLabel>
52
+ </y:ShapeNode>
53
+ </data>
54
+ </node>
55
+ <edge source="t2" target="t0" id="t0_t2"/>
56
+ <node id="t20">
57
+ <data key="d6">
58
+ <y:ShapeNode>
59
+ <y:NodeLabel>[t20] </y:NodeLabel>
60
+ </y:ShapeNode>
61
+ </data>
62
+ </node>
63
+ <edge source="t20" target="t2" id="t2_t20"/>
64
+ <edge source="t20" target="t1" id="t1_t20"/>
65
+ <node id="t200">
66
+ <data key="d6">
67
+ <y:ShapeNode>
68
+ <y:NodeLabel>[t200] </y:NodeLabel>
69
+ </y:ShapeNode>
70
+ </data>
71
+ </node>
72
+ <edge source="t200" target="t20" id="t20_t200"/>
73
+ </graph>
74
+ </graphml>