diff options
author | Technosophos <[email protected]> | 2013-04-24 17:33:08 -0500 |
---|---|---|
committer | Technosophos <[email protected]> | 2013-04-24 17:33:08 -0500 |
commit | fe3d7b815756b6f9ec3bad7c9bfe400b6ea11222 (patch) | |
tree | e3c1d3c638d3107a8002340f5f66abdc84a4eb40 /src/HTML5 | |
parent | 102c57cc46df3b2dfcb435e9e51b8f733f11b741 (diff) |
Added attribute handling.
Diffstat (limited to 'src/HTML5')
-rw-r--r-- | src/HTML5/Parser/DOMTreeBuilder.php | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/HTML5/Parser/DOMTreeBuilder.php b/src/HTML5/Parser/DOMTreeBuilder.php index 2807790..29e83c6 100644 --- a/src/HTML5/Parser/DOMTreeBuilder.php +++ b/src/HTML5/Parser/DOMTreeBuilder.php @@ -1,6 +1,7 @@ <?php namespace HTML5\Parser; +use HTML5\Elements; /** * Create an HTML5 DOM tree from events. * @@ -69,11 +70,23 @@ class DOMTreeBuilder implements EventHandler { } $ele = $this->doc->createElement($lname); + foreach ($attributes as $aName => $aVal) { + $ele->setAttribute($aName, $aVal); + + // This is necessary on a non-DTD schema, like HTML5. + if ($aName == 'id') { + $ele->setIdAttribute('id', TRUE); + } + } $this->current->appendChild($ele); // XXX: Need to handle self-closing tags and unary tags. $this->current = $ele; + + // Return the element mask, which the tokenizer can then use to set + // various processing rules. + return Elements::element($name); } public function endTag($name) { |