enable a derived class to init HTML5 to its own document class - this was needed...
[php-utility-classes.git] / classes / document.php-class
index d2e9aff3ef105989212f27adc028c4ab4ba34421..1f4d8a2c17af82857f4e06ae5a9138d1c2b20308 100755 (executable)
@@ -1,23 +1,7 @@
 <?php
-/* ***** BEGIN LICENSE BLOCK *****
- *
- * The contents of this file are subject to Austrian copyright reegulations
- * ("Urheberrecht"); you may not use this file except in compliance with
- * those laws.
- * This contents and any derived work, if it gets distributed in any way,
- * is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND,
- * either express or implied.
- *
- * The Original Code is KaiRo's extended DOM document classes.
- *
- * The Initial Developer of the Original Code is
- * KaiRo - Robert Kaiser.
- * Portions created by the Initial Developer are Copyright (C) 2010
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s): Robert Kaiser <kairo@kairo.at>
- *
- * ***** END LICENSE BLOCK ***** */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 class ExtendedDocument extends DOMDocument {
   // ExtendedDocument PHP class
@@ -27,8 +11,9 @@ class ExtendedDocument extends DOMDocument {
   //   CONSTRUCTOR
   //   construct a new DOM Document that uses our element definitions
   //
-  // static function initHTML5()
+  // static function initHTML5([$doc])
   //   initialize as an HTML5 document and return references to its basic elements.
+  //     If a $doc is handed over (an ExtendedDocument or a derived class), load the content into that document.
   //     returns an associative array with the following elements: 'html', 'head', 'title', 'body'
   //
   // public function appendElement($name, [$value])
@@ -214,8 +199,8 @@ class ExtendedDocument extends DOMDocument {
     $this->registerNodeClass('DOMDocumentFragment', 'ExtendedDocumentFragment');
   }
 
-  static function initHTML5() {
-    $doc = new ExtendedDocument();
+  static function initHTML5($doc = null) {
+    if (is_null($doc)) { $doc = new ExtendedDocument(); }
     $doc->loadHTML('<!DOCTYPE html><html></html>'); // this seems to be the only way to get the DOCTYPE set properly.
 
     // Created basic HTML document structure.