Path

ez components / documentation / api reference / latest / document


eZ Components latest

Document: ezcDocumentRstVisitor

[ Tutorial ] [ Conversion ] [ Styles ] [ Class tree ] [ Element index ] [ ChangeLog ] [ Credits ]

Class: ezcDocumentRstVisitor

Abstract visitor base for RST documents represented by the parser AST. [source]

Implemented Interfaces

Descendents

Child Class Description
ezcDocumentRstXhtmlVisitor HTML visitor for the RST AST.
ezcDocumentRstDocbookVisitor Docbook visitor for the RST AST.

Constants

DUBLICATE = 4 Duplicate reference target. Will throw an error on use.
UNUSED = 1 Unused reference target
USED = 2 Used reference target

Member Variables

protected int $anonymousReferenceCounter = 0
Index of last requested anonymous reference target.
protected array $anonymousReferences = array()
Collected anonymous externals reference targets
protected ezcDocumentRstDocumentNode $ast
Reference to the AST root node.
protected array $errors = array()
Aggregated minor errors during document processing.
protected array $footnoteCounter = array( 0 )
Label dependant foot note counters for footnote auto enumeration.
protected array $footnotes = array()
List with footnotes for later rendering.
protected array $footnoteSymbols = array(
"*",
"\xE2\x80\xA0",
"\xE2\x80\xA1",
"\xC2\xA7",
"\xC2\xB6",
"#",
"\xE2\x99\xA0",
"\xE2\x99\xA5",
"\xE2\x99\xA6",
"\xE2\x99\xA3",
)

Foot note symbol signs, as defined at http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#auto-symbol-footnotes
protected array $namedExternalReferences = array()
Collected named external reference targets
protected string $path
Location of the currently processed RST file, relevant for inclusion.
protected array $referenceCounter = array()
Counter of duplicate references for duplicate references.
protected array $references = array()
Collected refrence targets.
protected ezcDocumentRst $rst
RST document handler
protected array $substitutions = array()
Collected substitutions.
protected array $usedIDs = array()
Array of already generated IDs, so none will be used twice.

Method Summary

public void __construct( $document, $path )
Create visitor from RST document handler.
protected void addFootnote( $node )
Add footnote
protected void aggregateListItems( $node )
Aggregate list items
protected string calculateId( $string )
Get a valid identifier string
protected string calculateUniqueId( $string )
Calculate unique ID
protected bool compareListType( $item, $lastItem )
Compare two list items
public string getAnonymousReferenceTarget( )
Get anonymous reference target
public array getErrors( )
Return list of errors occured during visiting the document.
public string getNamedExternalReference( $name )
Return named external reference target
public ezcDocumentRstFootnoteNode hasFootnoteTarget( $string, $node )
Check for internal footnote reference target
public string hasReferenceTarget( $string, [$node = null], [$force = false] )
Check for internal reference target
public string nodeToString( $node )
Transform a node tree into a string
protected void preProcessAst( $node )
Pre process AST
protected void substitute( $string )
Get substitution contents
protected string tokenListToString( $tokens )
Get string from token list.
public void triggerError( $level, $message, [$file = null], [$line = null], [$position = null] )
Trigger visitor error
public mixed visit( $ast )
Docarate RST AST
protected void visitChildren( $root, $node )
Visit children
protected void visitSubstitutionReference( $root, $node )
Visit substitution reference node
protected void visitText( $root, $node )
Visit text node

Methods

__construct

void __construct( ezcDocumentRst $document, string $path )
Create visitor from RST document handler.

Parameters

Name Type Description
$document ezcDocumentRst  
$path string  

Redefined in descendants as

Method Description
ezcDocumentRstXhtmlVisitor::__construct() Create visitor from RST document handler.

addFootnote

void addFootnote( ezcDocumentRstNode $node )
Add footnote

Parameters

Name Type Description
$node ezcDocumentRstNode  

aggregateListItems

void aggregateListItems( ezcDocumentRstNode $node )
Aggregate list items
Aggregate list items into lists. In RST there are only list items, which are aggregated to lists depending on their bullet type. The related list items are aggregated into one list.

Parameters

Name Type Description
$node ezcDocumentRstNode  

calculateId

string calculateId( string $string )
Get a valid identifier string
Get a valid identifier string from an arbritrary string.

Parameters

Name Type Description
$string string  

calculateUniqueId

string calculateUniqueId( string $string )
Calculate unique ID
Calculate a valid identifier, which is unique for this document.

Parameters

Name Type Description
$string string  

compareListType

bool compareListType( ezcDocumentRstNode $item, ezcDocumentRstNode $lastItem )
Compare two list items
Check if the given list item may be a successor in the same list, as the last item in the list. Returns the boolean status o the check.

Parameters

Name Type Description
$item ezcDocumentRstNode  
$lastItem ezcDocumentRstNode  

getAnonymousReferenceTarget

string getAnonymousReferenceTarget( )
Get anonymous reference target
Get the target URL of an anonomyous reference target.

getErrors

array getErrors( )
Return list of errors occured during visiting the document.
May be an empty array, if on errors occured, or a list of ezcDocumentVisitException objects.

getNamedExternalReference

string getNamedExternalReference( string $name )
Return named external reference target
Get the target value of a named external reference.

Parameters

Name Type Description
$name string  

hasFootnoteTarget

ezcDocumentRstFootnoteNode hasFootnoteTarget( string $string, ezcDocumentRstNode $node )
Check for internal footnote reference target
Returns the target name, when an internal reference target exists and sets it to used, and false otherwise.

Parameters

Name Type Description
$string string  
$node ezcDocumentRstNode  

hasReferenceTarget

string hasReferenceTarget( string $string, [ezcDocumentRstNode $node = null], [bool $force = false] )
Check for internal reference target
Returns the target name, when an internal reference target exists and sets it to used, and false otherwise. For duplicate reference targets and missing reference targets an error will be triggered.
An optional third parameter may enforce the fetching of the reference, even if there are duplicates, so that they still can be referenced in some way.

Parameters

Name Type Description
$string string  
$node ezcDocumentRstNode  
$force bool  

nodeToString

string nodeToString( ezcDocumentRstNode $node )
Transform a node tree into a string
Transform a node tree, with all its subnodes into a string by only getting the textuual contents from ezcDocumentRstTextLineNode objects.

Parameters

Name Type Description
$node ezcDocumentRstNode  

preProcessAst

void preProcessAst( ezcDocumentRstNode $node )
Pre process AST
Performs multiple preprocessing steps on the AST:
Collect all possible reference targets in the AST to know the actual destianation for references while decorating. The references are stored in an internal structure and you may request the actual link by using the getReferenceTarget() method.
Aggregate list items into lists. In RST there are only list items, which are aggregated to lists depending on their bullet type. The related list items are aggregated into one list.

Parameters

Name Type Description
$node ezcDocumentRstNode  

substitute

void substitute( string $string )
Get substitution contents

Parameters

Name Type Description
$string string  

tokenListToString

string tokenListToString( $tokens )
Get string from token list.

Parameters

Name Type Description
$tokens array  

triggerError

void triggerError( int $level, string $message, [string $file = null], [int $line = null], [int $position = null] )
Trigger visitor error
Emit a vistitor error, and convert it to an exception depending on the error reporting settings.

Parameters

Name Type Description
$level int  
$message string  
$file string  
$line int  
$position int  

visit

mixed visit( $ast )
Docarate RST AST
Visit the RST abstract syntax tree.

Parameters

Name Type Description
$ast ezcDocumentRstDocumentNode  

Redefined in descendants as

Method Description
ezcDocumentRstXhtmlVisitor::visit() Docarate RST AST
ezcDocumentRstXhtmlBodyVisitor::visit() Docarate RST AST
ezcDocumentRstDocbookVisitor::visit() Docarate RST AST

visitChildren

void visitChildren( $root, ezcDocumentRstNode $node )
Visit children
Just recurse into node and visit its children, ignoring the actual node.

Parameters

Name Type Description
$root DOMNode  
$node ezcDocumentRstNode  

Redefined in descendants as

Method Description
ezcDocumentRstDocbookVisitor::visitChildren() Visit children

visitSubstitutionReference

void visitSubstitutionReference( $root, ezcDocumentRstNode $node )
Visit substitution reference node

Parameters

Name Type Description
$root DOMNode  
$node ezcDocumentRstNode  

Redefined in descendants as

Method Description
ezcDocumentRstDocbookVisitor::visitSubstitutionReference() Visit substitution reference node

visitText

void visitText( $root, ezcDocumentRstNode $node )
Visit text node

Parameters

Name Type Description
$root DOMNode  
$node ezcDocumentRstNode  

Redefined in descendants as

Method Description
ezcDocumentRstDocbookVisitor::visitText() Visit text node

Last updated: Mon, 21 Dec 2009