## Apache Zeta Components Manual :: Docs For Class ezcDocumentRstXhtmlVisitor

### Document::ezcDocumentRstXhtmlVisitor

### Class ezcDocumentRstXhtmlVisitor

HTML visitor for the RST AST.

Source for this file: /Document/src/document/rst/visitor/xhtml.php

    ezcDocumentRstVisitor
       |
       --ezcDocumentRstXhtmlVisitor

Version: | //autogen//

### Descendants

Child Class | Description
--- | ---
ezcDocumentRstXhtmlBodyVisitor | HTML visitor for the RST AST, which only produces contents to be embedded somewhere into the body of an existing HTML document.

### Inherited Constants

From ezcDocumentRstVisitor:
`ezcDocumentRstVisitor::DUBLICATE` | Duplicate reference target. Will throw an error on use.
`ezcDocumentRstVisitor::UNUSED` | Unused reference target
`ezcDocumentRstVisitor::USED` | Used reference target

### Member Variables

protected array

`$complexVisitMapping = array(
'ezcDocumentRstSectionNode' => 'visitSection',
'ezcDocumentRstTextLineNode' => 'visitText',
'ezcDocumentRstMarkupInterpretedTextNode' => 'visitInterpretedTextNode',
'ezcDocumentRstExternalReferenceNode' => 'visitExternalReference',
'ezcDocumentRstMarkupSubstitutionNode' => 'visitSubstitutionReference',
'ezcDocumentRstTargetNode' => 'visitInlineTarget',
'ezcDocumentRstAnonymousLinkNode' => 'visitAnonymousReference',
'ezcDocumentRstBlockquoteNode' => 'visitBlockquote',
'ezcDocumentRstBulletListListNode' => 'visitBulletList',
'ezcDocumentRstEnumeratedListListNode' => 'visitEnumeratedList',
'ezcDocumentRstReferenceNode' => 'visitInternalFootnoteReference',
'ezcDocumentRstLineBlockNode' => 'visitLineBlock',
'ezcDocumentRstLineBlockLineNode' => 'visitLineBlockLine',
'ezcDocumentRstLiteralNode' => 'visitText',
'ezcDocumentRstCommentNode' => 'visitComment',
'ezcDocumentRstDefinitionListNode' => 'visitDefinitionListItem',
'ezcDocumentRstTableCellNode' => 'visitTableCell',
'ezcDocumentRstFieldListNode' => 'visitFieldListItem',
'ezcDocumentRstDirectiveNode' => 'visitDirective',
)`
Mapping of class names to internal visitors for the respective nodes.

protected int | `$depth = 0` Current depth in document.
protected DOMDocument | `$document` DOM document
protected DOMElement | `$head` Reference to head node
protected ezcDocumentHtmlConverterOptions | `$options` HTML rendering options

protected array

`$simpleVisitMapping = array(
'ezcDocumentRstParagraphNode' => 'p',
'ezcDocumentRstMarkupEmphasisNode' => 'em',
'ezcDocumentRstMarkupStrongEmphasisNode' => 'strong',
'ezcDocumentRstMarkupInlineLiteralNode' => 'code',
'ezcDocumentRstBulletListNode' => 'li',
'ezcDocumentRstEnumeratedListNode' => 'li',
'ezcDocumentRstLiteralBlockNode' => 'pre',
'ezcDocumentRstTransitionNode' => 'hr',
'ezcDocumentRstDefinitionListListNode' => 'dl',
'ezcDocumentRstTableNode' => 'table',
'ezcDocumentRstTableHeadNode' => 'thead',
'ezcDocumentRstTableBodyNode' => 'tbody',
'ezcDocumentRstTableRowNode' => 'tr',
/*
'ezcDocumentRstMarkupInlineLiteralNode' => 'literal',
*/
)`
Direct mapping of AST node class names to docbook element names.

protected array | `$skipNodes = array( 'ezcDocumentRstNamedReferenceNode', 'ezcDocumentRstAnonymousReferenceNode', 'ezcDocumentRstSubstitutionNode', 'ezcDocumentRstFootnoteNode', )` Array with nodes, which can be ignored during the transformation process, they only provide additional information during preprocessing.

### Inherited Member Variables

From ezcDocumentRstVisitor
protected | `ezcDocumentRstVisitor::$anonymousReferenceCounter`
protected | `ezcDocumentRstVisitor::$anonymousReferences`
protected | `ezcDocumentRstVisitor::$ast`
protected | `ezcDocumentRstVisitor::$errors`
protected | `ezcDocumentRstVisitor::$footnoteCounter`
protected | `ezcDocumentRstVisitor::$footnotes`
protected | `ezcDocumentRstVisitor::$footnoteSymbols`
protected | `ezcDocumentRstVisitor::$namedExternalReferences`
protected | `ezcDocumentRstVisitor::$path`
protected | `ezcDocumentRstVisitor::$referenceCounter`
protected | `ezcDocumentRstVisitor::$references`
protected | `ezcDocumentRstVisitor::$rst`
protected | `ezcDocumentRstVisitor::$substitutions`
protected | `ezcDocumentRstVisitor::$usedIDs`

### Method Summary

public void | `__construct( $document , $path )` Create visitor from RST document handler.
protected void | `addStylesheets( $head )` Add stylesheets to header
public string | `escapeUrl( $url )` Escape all special characters in URIs
protected string | `generateFootnoteReferenceLink( $name , $number )` Generate footnote reference link
public mixed | `visit( $ast )` Docarate RST AST
protected void | `visitAnonymousReference( $root , $node )` Visit anonomyous reference node
protected void | `visitBlockquote( $root , $node )` Visit blockquotes
protected void | `visitBulletList( $root , $node )` Visit bullet lists
protected void | `visitComment( $root , $node )` Visit comment
protected void | `visitDefinitionListItem( $root , $node )` Visit definition list item
protected void | `visitDirective( $root , $node )` Visit directive
protected void | `visitEnumeratedList( $root , $node )` Visit enumerated lists
protected void | `visitExternalReference( $root , $node )` Visit external reference node
protected void | `visitFieldListItem( $root , $node )` Visit field list item
protected void | `visitFootnote( $root , $node )` Visit footnote
protected void | `visitInlineTarget( $root , $node )` Visit inline target node
protected void | `visitInternalFootnoteReference( $root , $node )` Visit internal reference node
protected void | `visitInterpretedTextNode( $root , $node )` Visit interpreted text node markup
protected void | `visitLineBlock( $root , $node )` Visit line block
protected void | `visitLineBlockLine( $root , $node )` Visit line block line
protected void | `visitNode( $root , $node )` Visit single AST node
protected void | `visitSection( $root , $node )` Visit section node
protected void | `visitTableCell( $root , $node )` Visit table cell

### Inherited Methods

From ezcDocumentRstVisitor
public void | `ezcDocumentRstVisitor::__construct()` Create visitor from RST document handler.
protected void | `ezcDocumentRstVisitor::addFootnote()` Add footnote
protected void | `ezcDocumentRstVisitor::aggregateListItems()` Aggregate list items
protected string | `ezcDocumentRstVisitor::calculateId()` Get a valid identifier string
protected string | `ezcDocumentRstVisitor::calculateUniqueId()` Calculate unique ID
protected bool | `ezcDocumentRstVisitor::compareListType()` Compare two list items
public string | `ezcDocumentRstVisitor::getAnonymousReferenceTarget()` Get anonymous reference target
public array | `ezcDocumentRstVisitor::getErrors()` Return list of errors occured during visiting the document.
public string | `ezcDocumentRstVisitor::getNamedExternalReference()` Return named external reference target
public ezcDocumentRstFootnoteNode | `ezcDocumentRstVisitor::hasFootnoteTarget()` Check for internal footnote reference target
public string | `ezcDocumentRstVisitor::hasReferenceTarget()` Check for internal reference target
public string | `ezcDocumentRstVisitor::nodeToString()` Transform a node tree into a string
protected void | `ezcDocumentRstVisitor::preProcessAst()` Pre process AST
protected void | `ezcDocumentRstVisitor::substitute()` Get substitution contents
protected string | `ezcDocumentRstVisitor::tokenListToString()` Get string from token list.
public void | `ezcDocumentRstVisitor::triggerError()` Trigger visitor error
public mixed | `ezcDocumentRstVisitor::visit()` Docarate RST AST
protected void | `ezcDocumentRstVisitor::visitChildren()` Visit children
protected void | `ezcDocumentRstVisitor::visitSubstitutionReference()` Visit substitution reference node
protected void | `ezcDocumentRstVisitor::visitText()` 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 |

##### Redefinition of:

Method | Description
--- | ---
`ezcDocumentRstVisitor::__construct()` | Create visitor from RST document handler.

#### addStylesheets

void addStylesheets( $head )

Add stylesheets to header

##### Parameters:

Name | Type | Description
--- | --- | ---
`$head` | DOMElement |

#### escapeUrl

string escapeUrl( string $url )

Escape all special characters in URIs

##### Parameters:

Name | Type | Description
--- | --- | ---
`$url` | string |

#### generateFootnoteReferenceLink

string generateFootnoteReferenceLink( string $name , string $number )

Generate footnote reference link

Generate an internal target name out of the footnote name, which may contain special characters, which are not allowed for URL anchors and are converted to alphanumeric strings by this method.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$name` | string |
`$number` | string |

#### visit

mixed visit( $ast )

Docarate RST AST

Visit the RST abstract syntax tree.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$ast` | ezcDocumentRstDocumentNode |

##### Redefinition of:

Method | Description
--- | ---
`ezcDocumentRstVisitor::visit()` | Docarate RST AST

##### Redefined in descendants as:

Method | Description
--- | ---
`ezcDocumentRstXhtmlBodyVisitor::visit()` | Docarate RST AST

#### visitAnonymousReference

void visitAnonymousReference( $root , ezcDocumentRstNode $node )

Visit anonomyous reference node

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitBlockquote

void visitBlockquote( $root , ezcDocumentRstNode $node )

Visit blockquotes

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitBulletList

void visitBulletList( $root , ezcDocumentRstNode $node )

Visit bullet lists

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitComment

void visitComment( $root , ezcDocumentRstNode $node )

Visit comment

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitDefinitionListItem

void visitDefinitionListItem( $root , ezcDocumentRstNode $node )

Visit definition list item

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitDirective

void visitDirective( $root , ezcDocumentRstNode $node )

Visit directive

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitEnumeratedList

void visitEnumeratedList( $root , ezcDocumentRstNode $node )

Visit enumerated lists

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitExternalReference

void visitExternalReference( $root , ezcDocumentRstNode $node )

Visit external reference node

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitFieldListItem

void visitFieldListItem( $root , ezcDocumentRstNode $node )

Visit field list item

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

##### Redefined in descendants as:

Method | Description
--- | ---
`ezcDocumentRstXhtmlBodyVisitor::visitFieldListItem()` | Visit field list item

#### visitFootnote

void visitFootnote( $root , ezcDocumentRstNode $node )

Visit footnote

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitInlineTarget

void visitInlineTarget( $root , ezcDocumentRstNode $node )

Visit inline target node

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitInternalFootnoteReference

void visitInternalFootnoteReference( $root , ezcDocumentRstNode $node )

Visit internal reference node

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitInterpretedTextNode

void visitInterpretedTextNode( $root , ezcDocumentRstNode $node )

Visit interpreted text node markup

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitLineBlock

void visitLineBlock( $root , ezcDocumentRstNode $node )

Visit line block

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitLineBlockLine

void visitLineBlockLine( $root , ezcDocumentRstNode $node )

Visit line block line

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitNode

void visitNode( $root , ezcDocumentRstNode $node )

Visit single AST node

Visit a single AST node, may be called for each node found anywhere as child. The current position in the DOMDocument is passed by a reference to the current DOMNode, which is operated on.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

#### visitSection

void visitSection( $root , ezcDocumentRstNode $node )

Visit section node

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

##### Redefined in descendants as:

Method | Description
--- | ---
`ezcDocumentRstXhtmlBodyVisitor::visitSection()` | Visit section node

#### visitTableCell

void visitTableCell( $root , ezcDocumentRstNode $node )

Visit table cell

##### Parameters:

Name | Type | Description
--- | --- | ---
`$root` | DOMNode |
`$node` | ezcDocumentRstNode |

Documentation generated by phpDocumentor 1.4.3