Prty::Sdoc::Node - Basisklasse für die Knoten eines Sdoc-Dokuments (abstrakt)
Prty::Hash
Die Klasse dient als Basisklasse für die Knotenklassen eines Sdoc-Dokuments. Jede Knotenklasse repräsentiert einen speziellen Elementtyp. Folgende Elementtypen existieren:
Document Section List Item Paragraph Quote Code PageBreak
$node = $doc->parent; $node = $doc->parent($node);
Liefere/Setze den Elternknoten. Die Referenz wird als schwache Referenz gespreichert, so dass eine Destrukturierung des Elternknotens durch die Referenz nicht verhindert wird.
@arr|$arr = $doc->childs;
Liefere die Liste der Kindknoten. Im Skalarkontext liefere eine Referenz auf die Liste.
$title = $node->title;
Liefere den Titel des Knotens. Hat der Knoten keinen Titel - weil dieser nicht definiert ist oder der Knoten dieses Attribut nicht besitzt - liefere einen Leerstring.
Anmerkung: Bestimmte Knotenklassen (Dokument, Definitionslisten-Element) überschreiben diese Methode.
($type,$attibuteA) = $parent->nextType($doc);
Analysiere die nächste nichtleere Zeile in LineProcessor $doc (Leerzeilen am Anfang werden von der Methode entfernt) hinsichtlich ihres Elementtyps und liefere die Typbezeichnung und Attribute - sofern spezifiziert - zurück.
Folgende Elementtypen werden unterschieden:
Ein oder mehrere = am Zeilenanfang gefolgt von einem Leerzeichen. Zusätzlich zur Typbezeichnung wird der Level der Section geliefert.
Wird mit dem ersten Item geliefert.
Zeile, die von $ln->item() als Item identifiziert wird.
Wird mit der ersten Row geliefert.
Zeile mit | am Anfang und am Ende.
Zeile mit Leerzeichen oder | am Anfang.
Zeile mit > am Anfang.
Zeile mit ~~~ (mindestens drei Tilden) am Anfang.
Zeile, auf die keine der obigen Eigenschaften zutrifft.
($type,$arr) = $node->parseObjectSpec($doc);
Parse Objektspezifikation auf $doc und liefere den Typ und die Attribut/Wert-Paare des Objekts zurück.
$str = $node->anchors($format,@args);
Liefere die Zeichenkette aus allen Ankern zur Einbettung in das Dokument.
$str = $node->dumpChilds($format,@args);
Erzeuge eine externe Repräsentation im Format $format für die Subelemente des Knotens und liefere diese zurück. Dies ist eine Hilfsmethode, die von den Subkalssenmethoden $node->dump() gerufen wird um die externe Repräsentation eines Knotens zu erzeugen.
Elementtypen mit Subelementen (in Klammern die erlaubten Subelemente):
Document (alle Typen) Section (alle Typen) List (nur Items) Item (alle Typen) Table (nur Rows)
Elementtypen ohne Subelemente:
Paragraph Code Quote PageBreak Row
$root = $node->rootNode;
@nodes|$nodeA = $node->select(@keyVal);
Selektiere alle Knoten ab und einschließlich Knoten $node, die die Kriterien @keyVal erfüllen und liefere die Liste dieser Knoten zurück. Im Skalarkontext liefere eine Referenz auf die Liste.
Ist kein Kriterium angegeben, liefere alle Knoten.
$newVal = $sdoc->expand($format,$val,$inlineSegments,@args);
Ersetze in $val die Metazeichen des Zielformats $format (<, >, & im Falle von HTML) und liefere das Resultat zurück. Ist $inlineSegments wahr, expandiere zusätzlich die Sdoc Inline-Segmente.
Inline-Segmente
Folgende Inline-Segmente sind definiert:
B{...} bold C{...} constant width I{...} italic Q{...} quote U{...} URL (Link auf eine Webseite) G{...} Grafik/Bild
In Code-Abschnitten sollte keine Inline-Ersetzung stattfinden.
$str = $node->tableOfContents($format,@args);
1.128
Frank Seitz, http://fseitz.de/
Copyright (C) 2019 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Prty, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Prty
CPAN shell
perl -MCPAN -e shell install Prty
For more information on module installation, please visit the detailed CPAN module installation guide.