NAME
Prty::Sdoc::Line - Zeile einer Sdoc-Quelldatei
BASE CLASS
METHODS
Methods
type() - Ermittele Zeilentyp
Synopsis
($type,$depth) = $line->type;
Description
Ermittele den Zeilentyp und liefefere diesen zurück.
isRow() - Test auf Tabellenzeile
Synopsis
$bool = $line->isRow;
Description
Prüfe, ob die Zeile eine Tabellenzeile ist. Wenn ja, liefere wahr, ansonsten falsch.
isKeyValRow() - Test auf Schlssel/Wert-Zeile
Synopsis
$bool = $line->isKeyValRow;
Description
Prüfe, ob die Zeile eine Schlssel/Wert-Zeile ist. Wenn ja, liefere wahr, ansonsten falsch.
item() - Test auf List-Item
Synopsis
($itemType,$label,$indentation,$text) = $ln->item;
($itemType,$label,$indentation,$text) = $ln->item($nextLine);
Description
Anlysiere die Zeile darauf hin, ob diese ein List-Item beschreibt, ihr Text also einem der folgenden Muster entspricht:
o Text (Punktliste)
* Text (Punktliste)
+ Text (Punktliste)
1. Text (nummerierte Liste)
1) Text (nummerierte Liste)
[Text]: Text (Beschreibungsliste)
[Text:] Text (Beschreibungsliste)
<Text>: Text (Beschreibungsliste)
<Text:> Text (Beschreibungsliste)
{Text}: Text (Beschreibungsliste)
{Text:} Text (Beschreibungsliste)
:Text: Text (Beschreibungsliste)
:Text:: Text (Beschreibungsliste)
Ist dies nicht der Fall, liefert die Methode eine leere Liste zurück. Ist dies der Fall liefert die Methode vier Werte zurück:
- $itemType
-
Typ des Labels. Fünf Itemtypen werden unterschieden:
o, *, + (Punktliste) # (numerierte Liste) [] (Beschreibungsliste)
- $label
-
Im Falle einer Punktliste das Symbol, im Falle einer numerierten Liste die Zahl (ohne Punkt oder Klammer), im Falle einer Beschreibungsliste der Labeltext.
- $indentation
-
Die Einrückung des Listenelements. Alle Folgezeilen mit (mindestens) dieser Einrückung werden als zugehörig zum Listenelement angesehen. Diese Einrückung ist die Anzahl an Zeichen bis zum ersten Buchstaben des Textes. Es wird davon ausgegangen, dass die weiteren Zeilen genauso eingerückt sind. Ausnahme: Beschreibungsliste. Da der Labeltext hier schwankt, wird die Einrückung der nächsten Zeile genommen, sofern es sich nicht um eine Leerzeile oder das nächste Item handelt. Wird diese Angabe benötigt, muss der Parameter $nextLine angegeben sein. Andernfalls wird der initale Whitespace plus vier Zeichen angenommen.
| o Text Text Text Text Text | Text Text Text Text Text | Text Text Text Text Text ---- ^ Textbeginn der ersten Zeile | 1) Text Text Text Text Text | Text Text Text Text Text | Text Text Text Text Text | ... | 10) Text Text Text Text Text | Text Text Text Text Text ----- ^ Textbeginn der ersten Zeile | [Text]: Text Text Text Text Text | Text Text Text Text Text | Text Text Text Text Text | [Text:] Text Text Text Text Text | Text Text Text Text Text | Text Text Text Text Text | :Text: Text Text Text Text Text | Text Text Text Text Text | Text Text Text Text Text | :Text:: Text Text Text Text Text | Text Text Text Text Text | Text Text Text Text Text ------ ^ initialer Whitespce der Folgezeile -oder- initialer Whitespace plus vier Zeichen
- $text
-
Die erste Zeile des Listenelements, bei dem das Label durch Whitespace ersetzt ist.
| Text Text Text Text Text ---- ^ Textbeginn der ersten Zeile | Text Text Text Text Text ----- ^ Textbeginn der ersten Zeile | Text Text Text Text Text ------ ^ initialer Whitespace der Folgezeile -oder- der ersten Zeile plus vier Zeichen
VERSION
1.122
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2018 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.