1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<root>
<eintrag>
...
</eintrag>
<eintrag>
<kommentar name="blub">
<gesetz internal="name_gesetz">5 Anh 2</gesetz>
<paragraph internal="8">§ 8</paragraph>
<randnummer internal="37">37</randnummer>ff
<paragraph internal="5">§ 5</paragraph>
<randnummer internal="37">37</randnummer>ff
<paragraph internal="2">§ 2</paragraph>
<randnummer internal="9">9</randnummer>
</kommentar>
</eintrag>
<eintrag>
...
</eintrag>
</root>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<root>
<eintrag>
...
</eintrag>
<eintrag>
<kommentar name="blub">
<gesetz internal="name_gesetz">5 Anh 2</gesetz>
<paragraph internal="8">§ 8</paragraph>
<randnummer internal="37">37</randnummer>ff
</kommentar>
<kommentar name="blub">
<paragraph internal="5">§ 5</paragraph>
<randnummer internal="37">37</randnummer>ff
</kommentar>
<kommentar name="blub">
<paragraph internal="2">§ 2</paragraph>
<randnummer internal="9">9</randnummer>
</kommentar>
</eintrag>
<eintrag>
...
</eintrag>
</root>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
sub split_anh { my $root = $twig->root(); my @comments = $root->descendants('kommentar'); foreach my $comment (@comments) { my $law = $comment->att('name'); if ( $law eq 'blub' ) { my $child_count = $comment->children_count('paragraph'); # children zählen if ($child_count > 1) { # ein Splitting ist nur notwendig, wenn mehr als ein paragraph-Element im kommentar-Element vorhanden ist my $count = 0; while ($count < $child_count) { $count++; } print $count." Stück\n"; # nur zum Test } } } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<root>
<eintrag>
...
</eintrag>
<eintrag>
<kommentar name="blub">
<gesetz internal="name_gesetz">5 Anh 2</gesetz>
<paragraph internal="8">§ 8</paragraph>
<randnummer internal="37">37</randnummer>ff
</kommentar>
<kommentar name="blub">
<gesetz internal="name_gesetz">5 Anh 2</gesetz>
<paragraph internal="5">§ 5</paragraph>
<randnummer internal="37">37</randnummer>ff
</kommentar>
<kommentar name="blub">
<gesetz internal="name_gesetz">5 Anh 2</gesetz>
<paragraph internal="2">§ 2</paragraph>
<randnummer internal="9">9</randnummer>
</kommentar>
</eintrag>
<eintrag>
...
</eintrag>
</root>