wortsammler 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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>