Overview

Namespaces

  • Alvine
    • Markup
      • Html
        • Constraint
        • Element
          • Html
          • Svg
        • Node
        • Operation
        • Tokenizer
          • State
          • Token
            • Util
        • TreeConstructor
          • InsertionMode

Classes

  • AbstractOperation
  • CacheObject
  • Component
  • Dataset
  • Document
  • Element
  • Engine
  • Fragment
  • InputStream
  • LoggerDefaultName
  • MissingTokenizerException
  • Node
  • NodeList
  • OpenElementsStack
  • Parser
  • ParserException
  • Tokenizer
  • TokenizerException
  • TokenStack
  • TreeConstructor

Interfaces

  • FromToken
  • Operation
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated

Class TreeConstructor

Der TreeConstructor ist für die Erstellung des Dokuments verantwortlich und erstellt anhand der übergebenen Token den Node-Baum.

Alvine\Core\Alvine
Extended by Alvine\Markup\Html\TreeConstructor
Namespace: Alvine\Markup\Html
Package: Alvine\Markup\Html
Category: Alvine
License: Alvine Nutzungslizenz
Author: schukai GmbH info@schukai.de
Version: $Revision:$
Since: 20150205
Link: alvine.io
Link: http://www.w3.org/TR/html5/syntax.html#tokenization
Located at TreeConstructor.class.php
Methods summary
public
# __construct( Alvine\Markup\Html\Parser $parser, Alvine\Markup\Html\Document $document )

Neuen TreeConstructor

Neuen TreeConstructor

Parameters

$parser
$document
public Alvine\Markup\Html\TreeConstructor
# appendCharacterToPendingTableCharacterTokens( Alvine\Markup\Html\Tokenizer\Token\Character $token )

Token als unerledigt hinzufügen

Token als unerledigt hinzufügen

Parameters

$token

Returns

Alvine\Markup\Html\TreeConstructor

Link

http://www.w3.org/TR/html5/syntax.html#pending-table-character-tokens;
public Alvine\Types\Collection<\Alvine\Markup\Html\Tokenizer\Token\Character>
# getPendingTableCharacterTokens( )

Unerledigte Tabellen Token

Unerledigte Tabellen Token

Returns

Alvine\Types\Collection<\Alvine\Markup\Html\Tokenizer\Token\Character>

Link

http://www.w3.org/TR/html5/syntax.html#pending-table-character-tokens;
public boolean
# hasPendingTableCharacterTokensNotWhitespaces( )

Gibt es unerledigte Tabellen-CharacterTokens

Gibt es unerledigte Tabellen-CharacterTokens

Returns

boolean
public Alvine\Types\Stack
# getStackOfTemplateInsertionModes( )

Template-Stacke

Template-Stacke

Returns

Alvine\Types\Stack
public Alvine\Markup\Html\TreeConstructor
# setFramesetNotOK( )

Frameset-Mode deaktivieren

Frameset-Mode deaktivieren

Returns

Alvine\Markup\Html\TreeConstructor
public boolean
# getFramesetNotOK( )

Frameset-OK Status

Frameset-OK Status

Returns

boolean
public boolean
# isQuirksMode( )

QuirksMode des Dokuments holen

QuirksMode des Dokuments holen

Returns

boolean
public Alvine\Markup\Html\TreeConstructor
# setHead( Alvine\Markup\Html\Element\Html\Head $head )

Zeiger auf gültiges Head-Element setzen

Zeiger auf gültiges Head-Element setzen

Parameters

$head

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# setForm( Alvine\Markup\Html\Element\Html\Form $form = null )

Zeiger auf gültiges Form-Tag setzen

Zeiger auf gültiges Form-Tag setzen

Parameters

$form

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\Element\Html\Form|null
# getForm( )

Gültiges Form-Tag

Gültiges Form-Tag

Returns

Alvine\Markup\Html\Element\Html\Form|null
public Alvine\Markup\Html\Node|null
# getCurrentNode( )

Aktuelle Node

Aktuelle Node

Ist keine Node vorhanden, so wird null zurückgegeben

Returns

Alvine\Markup\Html\Node|null
public Alvine\Markup\Html\TreeConstructor
# setQuirksMode( )

QuirksMode im Dokument aktivieren

QuirksMode im Dokument aktivieren

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# pushHeadOntoStackOfOpenElements( )

Head-Element auf den Stack legen. Ist kein Zeiger auf das Head-Element angelegt, so wird ein Fehler gemeldet.

Head-Element auf den Stack legen. Ist kein Zeiger auf das Head-Element angelegt, so wird ein Fehler gemeldet.

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# closeElement( string $tag )

Nodes mit dem angegebenen Tag schließen Ist keine CurrentNode definiert wird nichts ausgeführt.

Nodes mit dem angegebenen Tag schließen Ist keine CurrentNode definiert wird nichts ausgeführt.

Parameters

$tag
Tag-Name z.B. div

Returns

Alvine\Markup\Html\TreeConstructor
public boolean
# isInSpecialCategory( string $tag )

Prüfen ob der Tag in eine spezielle Kategorie gehört.

Prüfen ob der Tag in eine spezielle Kategorie gehört.

Parameters

$tag
Tag-Name z.B. div

Returns

boolean

Link

http://www.w3.org/TR/html5/syntax.html#special
public boolean
# isElementOnStack( array $tagNames )

Überprüfung ob die angegebenen Tags auf den Stack der offenen Elemente liegen

Überprüfung ob die angegebenen Tags auf den Stack der offenen Elemente liegen

Parameters

$tagNames
Tag-Namen

Returns

boolean
public Alvine\Markup\Html\TreeConstructor
# addAttributeToExistingElement( string|array $tagName, Alvine\Markup\Html\Tokenizer\Token\StartTag $token )

Attribute von bestehenden Token auf oberste Node im Stack einhängen

Attribute von bestehenden Token auf oberste Node im Stack einhängen

Parameters

$tagName
Name des Tags
$token
Token

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# popHeadFromStackOfOpenElements( )

Head-Element vom OpenStack löschen Ist kein Head Element definiert, so wird ein Fehler erzeugt.

Head-Element vom OpenStack löschen Ist kein Head Element definiert, so wird ein Fehler erzeugt.

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# setTokenizer( Alvine\Markup\Html\Tokenizer $tokenizer )

Mit Tokenizer verbinden

Mit Tokenizer verbinden

Parameters

$tokenizer

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# ignoreLfInBeginningNextToken( )

Bei bestimmten Tags (z.B. pre) wird aus bequemlichkeitsgründen das erste Linefeed nach dem Tag ignoriert.

Bei bestimmten Tags (z.B. pre) wird aus bequemlichkeitsgründen das erste Linefeed nach dem Tag ignoriert.

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# dispatch( Alvine\Markup\Html\Tokenizer\Token $token )

Zentrale Funktion zur Verarbeitung der Token. Der Dispatcher übergibt den Token an den entsprechenden Prozessschritt.

Zentrale Funktion zur Verarbeitung der Token. Der Dispatcher übergibt den Token an den entsprechenden Prozessschritt.

Parameters

$token

Returns

Alvine\Markup\Html\TreeConstructor

Throws

Alvine\Core\UnsupportedException
public boolean
# isScriptingFlag( )

Scriptflag

Scriptflag

Returns

boolean
public Alvine\Markup\Html\TreeConstructor
# setScriptingFlag( boolean $flag )

Scriptflag setzen

Scriptflag setzen

Parameters

$flag

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# pushOnOpenElementsStack( Alvine\Markup\Html\Node $node )

Node auf den Stapel der offenen Elemente legen.

Node auf den Stapel der offenen Elemente legen.

Parameters

$node

Returns

Alvine\Markup\Html\TreeConstructor
public null|Alvine\Markup\Html\Node
# popOpenElementsFromStack( )

Node vom Stapel der offenen Elemente entfernen Ist keine Node vorhanden, wird null zurückgegeben

Node vom Stapel der offenen Elemente entfernen Ist keine Node vorhanden, wird null zurückgegeben

Returns

null|Alvine\Markup\Html\Node
public Alvine\Markup\Html\TreeConstructor
# switchInsertionMode( Alvine\Markup\Html\TreeConstructor\InsertionMode $mode )

Den Prozessschritt in einen anderen Bereich ändern.

Den Prozessschritt in einen anderen Bereich ändern.

Parameters

$mode

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# insertComment( Alvine\Markup\Html\Tokenizer\Token\Comment $token, Alvine\Markup\Html\Node $position = null )

Kommentar einfügen

Kommentar einfügen

Parameters

$token
$position

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# enableFosterParenting( )

FosterParenting aktivieren

FosterParenting aktivieren

Returns

Alvine\Markup\Html\TreeConstructor

Link

http://www.w3.org/TR/html5/syntax.html#foster-parent
public Alvine\Markup\Html\TreeConstructor
# disableFosterParenting( )

FosterParenting deaktivieren

FosterParenting deaktivieren

Returns

Alvine\Markup\Html\TreeConstructor

Link

http://www.w3.org/TR/html5/syntax.html#foster-parent
public Alvine\Markup\Html\Node
# getAppropriatePlaceForInsertingNode( )

Node zum einhängen bestimmen

Node zum einhängen bestimmen

Returns

Alvine\Markup\Html\Node

Link

http://www.w3.org/TR/html5/syntax.html#appropriate-place-for-inserting-a-node
public Alvine\Markup\Html\Tokenizer|null
# getTokenizer( )

Verwendeter Tokenizer oder \null wenn kein Tokenizer gesetzt wurde

Verwendeter Tokenizer oder \null wenn kein Tokenizer gesetzt wurde

Returns

Alvine\Markup\Html\Tokenizer|null
protected Alvine\Markup\Html\TreeConstructor
# insertGenericTextElement( Alvine\Markup\Html\Tokenizer\Token\Tag $token, Alvine\Markup\Html\Tokenizer\State $state )

TextElement einfügen

TextElement einfügen

Parameters

$token
Token
$state
Status

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# insertGenericRCDATAElement( Alvine\Markup\Html\Tokenizer\Token\Tag $token )

RCData Element einfügen

RCData Element einfügen

Parameters

$token

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# insertGenericRawTextElement( Alvine\Markup\Html\Tokenizer\Token\Tag $token )

RawText Element einfügen

RawText Element einfügen

Parameters

$token

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# letTheOriginalInsertionModeCurrentInsertionMode( )

Zwischenspeicher des Einfügemodus für spätere Verwendung

Zwischenspeicher des Einfügemodus für spätere Verwendung

Mit der Methode TreeConstructor::switchInsertionModeToOriginal() lässt sich der gemerkte Status wieder ermitteln.

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# switchInsertionModeToOriginal( )

Wiederherstellen

Wiederherstellen

Einfügemodus TreeConstructor::letTheOriginalInsertionModeCurrentInsertionMode() gemerkten Modus wieder herstellen.

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor\InsertionMode
# getInsertionMode( )

Einfügemodus holens

Einfügemodus holens

Returns

Alvine\Markup\Html\TreeConstructor\InsertionMode
public Alvine\Markup\Html\TreeConstructor
# insertScriptDataElement( Alvine\Markup\Html\Tokenizer\Token $token )

ScriptData Element einfügen

ScriptData Element einfügen

Parameters

$token

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# generateImpliedEndTags( string $exclude = null )

Spezielle offene Elemente schliessen. Über $exclude kann ein Tag aus der Liste angegeben werde, der nicht geschlossen werden soll.

Spezielle offene Elemente schliessen. Über $exclude kann ein Tag aus der Liste angegeben werde, der nicht geschlossen werden soll.

Geschlossen bedeutet das Element wird vom OpenStack entfernt.

Parameters

$exclude
Ausschlüsse (z.B. div)

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# insertHtmlElement( Alvine\Markup\Html\Tokenizer\Token\Tag $token )

HTML Element einfügen

HTML Element einfügen

Parameters

$token

Returns

Alvine\Markup\Html\TreeConstructor

Link

http://www.w3.org/TR/html5/syntax.html#insert-a-foreign-element
public Alvine\Markup\Html\TreeConstructor
# appendNode( Alvine\Markup\Html\Node $node )

Node $node einfügen

Node $node einfügen

Parameters

$node
Kind

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# insertForeignElement( string $namespace, Alvine\Markup\Html\Tokenizer\Token $token )

Fremdelement das kein HTML ist einfügen Für das Element wird eine Node-Klasse unterhalb des Namensraums \Alvine\Markup\Html\Element gesucht.

Fremdelement das kein HTML ist einfügen Für das Element wird eine Node-Klasse unterhalb des Namensraums \Alvine\Markup\Html\Element gesucht.

Parameters

$namespace
Namensraum in dem nach dem Element gesucht werden soll
$token

Returns

Alvine\Markup\Html\TreeConstructor

Throws

Alvine\Core\ClassNotFoundException

Link

http://www.w3.org/TR/html5/syntax.html#insert-a-foreign-element
public Alvine\Markup\Html\TreeConstructor
# insertCharacter( Alvine\Markup\Html\Tokenizer\Token\Character $token )

Zeichen-Token einfügen

Zeichen-Token einfügen

Parameters

$token

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\TreeConstructor
# raiseParseError( boolean $exception = false )

Fehler sammeln. Wird ein nicht abfangbarer Fehler gemeldet ($exception=true) wird eine ParserException geworfen und das parsen des HTML Dokuments beendet.

Fehler sammeln. Wird ein nicht abfangbarer Fehler gemeldet ($exception=true) wird eine ParserException geworfen und das parsen des HTML Dokuments beendet.

Parameters

$exception

Returns

Alvine\Markup\Html\TreeConstructor

Throws

Alvine\Markup\Html\ParserException
public Alvine\Alvine\Markup\Html\OpenElementsStack
# getOpenElementsStack( )

Den Stack der offenen Elemente holen

Den Stack der offenen Elemente holen

Returns

Alvine\Alvine\Markup\Html\OpenElementsStack
public Alvine\Markup\Html\TreeConstructor
# resetTheInsertionModeAppropriately( )

Einfügemodus zurücksetzen

Einfügemodus zurücksetzen

Returns

Alvine\Markup\Html\TreeConstructor

Link

http://www.w3.org/TR/html5/syntax.html#the-insertion-mode
public Alvine\Markup\Html\TreeConstructor
# setContext( Alvine\Markup\Html\Node $context )

Kontext setzen

Kontext setzen

Parameters

$context

Returns

Alvine\Markup\Html\TreeConstructor
public Alvine\Markup\Html\Node|null
# getContext( )

Kontext

Kontext

Returns

Alvine\Markup\Html\Node|null
Kontext
public
# runAdoptionAgencyAlgorithm( string $subject )

Spezieller Algorithmus

Spezieller Algorithmus

Parameters

$subject

Link

http://www.w3.org/TR/html5/syntax.html#adoption-agency-algorithm
Properties summary
protected Alvine\Markup\Html\Document $document
#
protected Alvine\Markup\Html\OpenElementsStack $openElementsStack
#
protected Alvine\Markup\Html\Element\Html $adjustedCurrentNode
#
protected Alvine\Markup\Html\TreeConstructor\InsertionMode $insertionMode
#
protected boolean $fosterParenting
#
protected Alvine\Markup\Html\Node $overrideTarget
#
protected array $parseError
#
protected Alvine\Markup\Html\Element\Html\Head $headElement

Zeiger auf HEAD-Node

Zeiger auf HEAD-Node

#
protected Alvine\Markup\Html\Element\Html\Form $formElement

Zeiger auf offenen Form-Node

Zeiger auf offenen Form-Node

#
protected Alvine\Markup\Html\Parser $parser
#
protected Alvine\Markup\Html\Tokenizer $tokenizer
#
protected boolean $scriptingFlag
#
protected boolean $framesetOk
#
protected Alvine\Markup\Html\Node $context
#
protected Alvine\Types\Stack $stackOfTemplateInsertionModes
#
protected Alvine\Markup\Html\Tokenizer\Token $currentToken
#
protected boolean $ignoreLFToken

Linefeed ignorieren

Linefeed ignorieren

#
protected Alvine\Types\Collection<\Alvine\Markup\Html\Tokenizer\Token\Character> $pendingTableCharacterTokens

Link

http://www.w3.org/TR/html5/syntax.html#pending-table-character-tokens;
#
protected Alvine\Markup\Html\TreeConstructor\InsertionMode $originalInsertionMode

Link

http://www.w3.org/TR/html5/syntax.html#original-insertion-mode
#
alvine.markup.html API-Dokumentation 1.2.0 | © schukai GmbH | Impressum