diff options
Diffstat (limited to 'lib/phptal/PHPTAL/Dom/DocumentBuilder.php')
-rw-r--r-- | lib/phptal/PHPTAL/Dom/DocumentBuilder.php | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/lib/phptal/PHPTAL/Dom/DocumentBuilder.php b/lib/phptal/PHPTAL/Dom/DocumentBuilder.php new file mode 100644 index 0000000..c08587f --- /dev/null +++ b/lib/phptal/PHPTAL/Dom/DocumentBuilder.php @@ -0,0 +1,63 @@ +<?php +/** + * PHPTAL templating engine + * + * PHP Version 5 + * + * @category HTML + * @package PHPTAL + * @author Laurent Bedubourg <lbedubourg@motion-twin.com> + * @author Kornel LesiĆski <kornel@aardvarkmedia.co.uk> + * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License + * @version SVN: $Id$ + * @link http://phptal.org/ + */ + +/** + * DOM Builder + * + * @package PHPTAL + * @subpackage Dom + */ +abstract class PHPTAL_Dom_DocumentBuilder +{ + protected $_stack; /* array<PHPTAL_Dom_Node> */ + protected $_current; /* PHPTAL_Dom_Node */ + + protected $file, $line; + + public function __construct() + { + $this->_stack = array(); + } + + abstract public function getResult(); + + abstract public function onDocumentStart(); + + abstract public function onDocumentEnd(); + + abstract public function onDocType($doctype); + + abstract public function onXmlDecl($decl); + + abstract public function onComment($data); + + abstract public function onCDATASection($data); + + abstract public function onProcessingInstruction($data); + + abstract public function onElementStart($element_qname, array $attributes); + + abstract public function onElementData($data); + + abstract public function onElementClose($qname); + + public function setSource($file, $line) + { + $this->file = $file; $this->line = $line; + } + + abstract public function setEncoding($encoding); +} + |