Project

General

Profile

Actions

Bug #36

open

Programmabsturz bei DSM-Richtlinie

Added by quintus over 1 year ago. Updated about 1 year ago.

Status:
In Progress
Priority:
Normal
Assignee:
-
Start date:
09/04/2021
Due date:
% Done:

50%

Estimated time:

Description

Das Programm stürzt bei der Verarbeitung der DSM-Richtlinie ab:

$ ./gesetz2print -a DSM-RL -S "Digital-Single-Market-Richtlinie" -I 65b -v -t euLaw -i DSMRL.xml -o result.tex
Extracting law metadata
Processing preamble
Processing recital (1)
Processing recital (2)
Processing recital (3)
Processing recital (4)
Processing recital (5)
Processing recital (6)
Processing recital (7)
Processing recital (8)
Processing recital (9)
Processing recital (10)
Processing recital (11)
Processing recital (12)
Processing recital (13)
Processing recital (14)
Processing recital (15)
Processing recital (16)
Processing recital (17)
Processing recital (18)
Processing recital (19)
Processing recital (20)
Processing recital (21)
Processing recital (22)
Processing recital (23)
Processing recital (24)
Processing recital (25)
Processing recital (26)
Processing recital (27)
Processing recital (28)
Processing recital (29)
Processing recital (30)
Processing recital (31)
Processing recital (32)
Processing recital (33)
Processing recital (34)
Processing recital (35)
Processing recital (36)
Processing recital (37)
Processing recital (38)
Processing recital (39)
Processing recital (40)
Processing recital (41)
Processing recital (42)
Processing recital (43)
Processing recital (44)
Processing recital (45)
Processing recital (46)
Processing recital (47)
Processing recital (48)
Processing recital (49)
Processing recital (50)
Processing recital (51)
Processing recital (52)
Processing recital (53)
Processing recital (54)
Processing recital (55)
Processing recital (56)
Processing recital (57)
Processing recital (58)
Processing recital (59)
Processing recital (60)
Processing recital (61)
Processing recital (62)
Processing recital (63)
Processing recital (64)
Processing recital (65)
Processing recital (66)
Processing recital (67)
Processing recital (68)
Processing recital (69)
Processing recital (70)
Processing recital (71)
Processing recital (72)
Processing recital (73)
Processing recital (74)
Processing recital (75)
Processing recital (76)
Processing recital (77)
Processing recital (78)
Processing recital (79)
Processing recital (80)
Processing recital (81)
Processing recital (82)
Processing recital (83)
Processing recital (84)
Processing recital (85)
Processing recital (86)
Section found: ALLGEMEINE BESTIMMUNGEN
Processing norm: Artikel 1 (Gegenstand und Anwendungsbereich)
Processing norm: Artikel 2 (Begriffsbestimmungen)
Section found: MAẞNAHMEN ZUR ANPASSUNG VON AUSNAHMEN UND BESCHRÄNKUNGEN AN DAS DIGITALE UND GRENZÜBERSCHREITENDE UMFELD
Processing norm: Artikel 3 (Text und Data Mining zum Zwecke der wissenschaftlichen Forschung)
Processing norm: Artikel 4 (Ausnahmen und Beschränkungen für das Text und Data Mining)
Processing norm: Artikel 5 (Nutzung von Werken und sonstigen Schutzgegenständen für digitale und grenzüberschreitende Unterrichts- und Lehrtätigkeiten)
Processing norm: Artikel 6 (Erhaltung des Kulturerbes)
Processing norm: Artikel 7 (Gemeinsame Bestimmungen)
Section found: MAẞNAHMEN ZUR VERBESSERUNG DER LIZENZIERUNGSPRAXIS UND ZUR GEWÄHRLEISTUNG EINES BREITEREN ZUGANGS ZU INHALTEN
Section found: Vergriffene Werke und sonstige Schutzgegenstände
Processing norm: Artikel 8 (Nutzung von vergriffenen Werken und sonstigen Schutzgegenständen durch Einrichtungen des Kulturerbes)
Processing norm: Artikel 9 (Grenzüberschreitende Nutzung)
Processing norm: Artikel 10 (Informationsmaßnahmen)
Processing norm: Artikel 11 (Dialog der Interessenträger)
Section found: Maßnahmen zur Erleichterung der kollektiven Lizenzvergabe
Processing norm: Artikel 12 (Kollektive Lizenzvergabe mit erweiterter Wirkung)
Section found: Zugänglichkeit und Verfügbarkeit audiovisueller Werke über Videoabrufdienste
Processing norm: Artikel 13 (Verhandlungsmechanismus)
Section found: Gemeinfreie Werke der bildenden Kunst
Processing norm: Artikel 14 (Gemeinfreie Werke der bildenden Kunst)
Section found: MAẞNAHMEN ZUR SCHAFFUNG EINES FUNKTIONSFÄHIGEN MARKTES FÜR DEN URHEBERRECHTSSCHUTZ
Section found: Rechte an Veröffentlichungen
Processing norm: Artikel 15 (Schutz von Presseveröffentlichungen im Hinblick auf die Online-Nutzung)
Processing norm: Artikel 16 (Ansprüche auf einen gerechten Ausgleich)
Section found: Bestimmte Nutzungen geschützter Inhalte durch Online-Dienste
Processing norm: Artikel 17 (Nutzung geschützter Inhalte durch Diensteanbieter für das Teilen von Online-Inhalten)
Section found: Faire Vergütung in Verwertungsverträgen mit Urhebern und ausübenden Künstlern
Processing norm: Artikel 18 (Grundsatz der angemessenen und verhältnismäßigen Vergütung)
Processing norm: Artikel 19 (Transparenzpflicht)
Processing norm: Artikel 20 (Vertragsanpassungsmechanismus)
Processing norm: Artikel 21 (Alternative Streitbeilegungsverfahren)
Processing norm: Artikel 22 (Widerrufsrecht)
Processing norm: Artikel 23 (Gemeinsame Bestimmungen)
Section found: SCHLUSSBESTIMMUNGEN
Processing norm: Artikel 24 (Änderungen der Richtlinien 96/9/EG und 2001/29/EG)
Warning: Ignoring unsupported in-paragraph tag 'QUOT.S' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'NP' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'NO.P' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'TXT' on input line 0 (no text will be lost, only formatting may be off)
terminate called after throwing an instance of 'std::runtime_error'
  what():  Unsupported NOTE type: QUOTATION
Abgebrochen

Die betroffenen Vorschriften sind Änderungsvorschriten, enthalten also Zitate (Typ QUOTATION). Dieser wird offenbar noch nicht unterstützt.

Actions #1

Updated by quintus about 1 year ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 50

Tatsächlich handelte es sich um eine Fußnote innerhalb eines Zitats, die von FORMEX4 statt FOOTNOTE den Typ QUOTATION enthält. Derartige Fußnoten werden jetzt mit Commit 49d61b3 unterstützt.

Allerdings kann die DSM-Richtlinie damit immer noch nicht verarbeitet werden, weil sie einen weiteren Fehler auslöst:

Extracting law metadata
Processing preamble
Processing recital (1)
Processing recital (2)
Processing recital (3)
Processing recital (4)
Processing recital (5)
Processing recital (6)
Processing recital (7)
Processing recital (8)
Processing recital (9)
Processing recital (10)
Processing recital (11)
Processing recital (12)
Processing recital (13)
Processing recital (14)
Processing recital (15)
Processing recital (16)
Processing recital (17)
Processing recital (18)
Processing recital (19)
Processing recital (20)
Processing recital (21)
Processing recital (22)
Processing recital (23)
Processing recital (24)
Processing recital (25)
Processing recital (26)
Processing recital (27)
Processing recital (28)
Processing recital (29)
Processing recital (30)
Processing recital (31)
Processing recital (32)
Processing recital (33)
Processing recital (34)
Processing recital (35)
Processing recital (36)
Processing recital (37)
Processing recital (38)
Processing recital (39)
Processing recital (40)
Processing recital (41)
Processing recital (42)
Processing recital (43)
Processing recital (44)
Processing recital (45)
Processing recital (46)
Processing recital (47)
Processing recital (48)
Processing recital (49)
Processing recital (50)
Processing recital (51)
Processing recital (52)
Processing recital (53)
Processing recital (54)
Processing recital (55)
Processing recital (56)
Processing recital (57)
Processing recital (58)
Processing recital (59)
Processing recital (60)
Processing recital (61)
Processing recital (62)
Processing recital (63)
Processing recital (64)
Processing recital (65)
Processing recital (66)
Processing recital (67)
Processing recital (68)
Processing recital (69)
Processing recital (70)
Processing recital (71)
Processing recital (72)
Processing recital (73)
Processing recital (74)
Processing recital (75)
Processing recital (76)
Processing recital (77)
Processing recital (78)
Processing recital (79)
Processing recital (80)
Processing recital (81)
Processing recital (82)
Processing recital (83)
Processing recital (84)
Processing recital (85)
Processing recital (86)
Section found: ALLGEMEINE BESTIMMUNGEN
Processing norm: Artikel 1 (Gegenstand und Anwendungsbereich)
Processing norm: Artikel 2 (Begriffsbestimmungen)
Section found: MAẞNAHMEN ZUR ANPASSUNG VON AUSNAHMEN UND BESCHRÄNKUNGEN AN DAS DIGITALE UND GRENZÜBERSCHREITENDE UMFELD
Processing norm: Artikel 3 (Text und Data Mining zum Zwecke der wissenschaftlichen Forschung)
Processing norm: Artikel 4 (Ausnahmen und Beschränkungen für das Text und Data Mining)
Processing norm: Artikel 5 (Nutzung von Werken und sonstigen Schutzgegenständen für digitale und grenzüberschreitende Unterrichts- und Lehrtätigkeiten)
Processing norm: Artikel 6 (Erhaltung des Kulturerbes)
Processing norm: Artikel 7 (Gemeinsame Bestimmungen)
Section found: MAẞNAHMEN ZUR VERBESSERUNG DER LIZENZIERUNGSPRAXIS UND ZUR GEWÄHRLEISTUNG EINES BREITEREN ZUGANGS ZU INHALTEN
Section found: Vergriffene Werke und sonstige Schutzgegenstände
Processing norm: Artikel 8 (Nutzung von vergriffenen Werken und sonstigen Schutzgegenständen durch Einrichtungen des Kulturerbes)
Processing norm: Artikel 9 (Grenzüberschreitende Nutzung)
Processing norm: Artikel 10 (Informationsmaßnahmen)
Processing norm: Artikel 11 (Dialog der Interessenträger)
Section found: Maßnahmen zur Erleichterung der kollektiven Lizenzvergabe
Processing norm: Artikel 12 (Kollektive Lizenzvergabe mit erweiterter Wirkung)
Section found: Zugänglichkeit und Verfügbarkeit audiovisueller Werke über Videoabrufdienste
Processing norm: Artikel 13 (Verhandlungsmechanismus)
Section found: Gemeinfreie Werke der bildenden Kunst
Processing norm: Artikel 14 (Gemeinfreie Werke der bildenden Kunst)
Section found: MAẞNAHMEN ZUR SCHAFFUNG EINES FUNKTIONSFÄHIGEN MARKTES FÜR DEN URHEBERRECHTSSCHUTZ
Section found: Rechte an Veröffentlichungen
Processing norm: Artikel 15 (Schutz von Presseveröffentlichungen im Hinblick auf die Online-Nutzung)
Processing norm: Artikel 16 (Ansprüche auf einen gerechten Ausgleich)
Section found: Bestimmte Nutzungen geschützter Inhalte durch Online-Dienste
Processing norm: Artikel 17 (Nutzung geschützter Inhalte durch Diensteanbieter für das Teilen von Online-Inhalten)
Section found: Faire Vergütung in Verwertungsverträgen mit Urhebern und ausübenden Künstlern
Processing norm: Artikel 18 (Grundsatz der angemessenen und verhältnismäßigen Vergütung)
Processing norm: Artikel 19 (Transparenzpflicht)
Processing norm: Artikel 20 (Vertragsanpassungsmechanismus)
Processing norm: Artikel 21 (Alternative Streitbeilegungsverfahren)
Processing norm: Artikel 22 (Widerrufsrecht)
Processing norm: Artikel 23 (Gemeinsame Bestimmungen)
Section found: SCHLUSSBESTIMMUNGEN
Processing norm: Artikel 24 (Änderungen der Richtlinien 96/9/EG und 2001/29/EG)
Warning: Ignoring unsupported in-paragraph tag 'QUOT.S' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'NP' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'NO.P' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'TXT' on input line 0 (no text will be lost, only formatting may be off)
Warning: Footnotes will always receive arabic numbers, even if the document requests STAR
Warning: Ignoring unsupported in-paragraph tag 'QUOT.S' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'NP' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'NO.P' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'TXT' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'QUOT.S' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'NP' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'NO.P' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'TXT' on input line 0 (no text will be lost, only formatting may be off)
Warning: Footnotes will always receive arabic numbers, even if the document requests STAR
Warning: Ignoring unsupported in-paragraph tag 'QUOT.S' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'NP' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'NO.P' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'TXT' on input line 0 (no text will be lost, only formatting may be off)
Warning: Ignoring unsupported in-paragraph tag 'QUOT.S' on input line 0 (no text will be lost, only formatting may be off)
Error: Encountered a very unusual list item label, aborting.
If this is not an important norm, exclude it with -E.
If it is an important norm, please report this as a bug.
Encountered XML node type: 1
Encountered XML node name: QUOT.START
gesetz2print: eu_law_parser.cpp:452: void EULawParser::extractList(Enumerate*, xmlNodePtr): Assertion `false' failed.
Abgebrochen

Die DSM-Richtlinie benutzt für das Label eines Listenelements (NO.P) in dieser Norm statt dem erwarteten Reintext einen XML-Placeholder, der aufzulösen wäre, d.h. ein vollständiges rekursives Textparsing erfordert. Das steht im Widerspruch zum gegenwärtigen Code-Design und würde wohl erhebliche Änderungen quer durch die ganze Code-Basis erfordern. Alternativ müsste man den hier vorliegenden Fall speziell abfangen (es handelt sich um ein QUOT.START-Element, das man hier statisch auflösen könnte), aber das ist keine schöne Lösung.

Commit 2e52776 fügt den neuen Kommandozeilenschalter -E hinzu, mit dem man gezielt Normen auslassen kann. Da diese Art von Fehler wohl auf Änderungsvorschriften beschränkt ist, die ohnehin niemanden interessieren, scheint mir das ein akzeptabler Workaround. Schließt man Artikel 24 damit aus, lässt die DSM-Richtlinie sich verarbeiten, z.B. mit folgendem Programmaufruf:

$ ./gesetz2print -I 99 -v -a DSMRL -S DSM-Richtlinie -t euLaw -i DSMRL.xml -E 24 -o result.tex
Actions

Also available in: Atom PDF