didou           Sat Dec 30 02:50:59 2006 UTC

  Modified files:              
    /phpdoc/en/reference/dom    reference.xml 
    /phpdoc/en/reference/dom/functions  
                                        dom-domdocument-registernodeclass.xml 
                                        dom-domdocumentfragment-appendxml.xml 
  Log:
  Document DOMDocumentFragment->appendXML() and 
DOMDocument->registerNodeClass(), our 2 non-DOM-standard-but-kicks-axx methods
  
  
http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/dom/reference.xml?r1=1.26&r2=1.27&diff_format=u
Index: phpdoc/en/reference/dom/reference.xml
diff -u phpdoc/en/reference/dom/reference.xml:1.26 
phpdoc/en/reference/dom/reference.xml:1.27
--- phpdoc/en/reference/dom/reference.xml:1.26  Sat Dec 30 01:26:52 2006
+++ phpdoc/en/reference/dom/reference.xml       Sat Dec 30 02:50:59 2006
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.26 $ -->
+<!-- $Revision: 1.27 $ -->
 <!-- Purpose: xml -->
 <!-- Membership: bundled, external -->
 
@@ -263,6 +263,9 @@
        <para><xref linkend='function.dom-domdocument-relaxngvalidatesource' /> 
- Performs relaxNG validation on the document</para>
       </listitem>
       <listitem>
+       <para><xref linkend='function.dom-domdocument-registernodeclass' /> - 
Register extended class used to create base node type (not DOM standard)</para>
+      </listitem>
+      <listitem>
        <para><xref linkend='function.dom-domdocument-save' /> - Dumps the 
internal XML tree back into a file</para>
       </listitem>
       <listitem>
@@ -447,6 +450,21 @@
      </section>
     </section>
 
+    <section id='dom.class.domdocumentfragment'>
+     <title><classname>DOMDocumentFragment</classname></title>
+     <para>
+      Extends <classname>DOMNode</classname>.
+     </para>
+     <section id='dom.class.domdocumentfragment.methods'>
+      &reftitle.methods;
+      <itemizedlist>
+      <listitem>
+       <para><xref linkend='function.dom-domdocumentfragment-appendxml' /> - 
Append raw XML data (not DOM standard)</para>
+      </listitem>
+      </itemizedlist>
+     </section>
+    </section>
+
      <section id='dom.class.domdocumenttype'>
      <title><classname>DOMDocumentType</classname></title>
      <para>
@@ -1277,7 +1295,7 @@
     </para>
     <para>
      <example>
-      <title>chapter.xml</title>
+      <title>book.xml</title>
       <programlisting role="xml">
 <![CDATA[
 <?xml version="1.0" encoding="iso-8859-1"?>
http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/dom/functions/dom-domdocument-registernodeclass.xml?r1=1.1&r2=1.2&diff_format=u
Index: phpdoc/en/reference/dom/functions/dom-domdocument-registernodeclass.xml
diff -u 
phpdoc/en/reference/dom/functions/dom-domdocument-registernodeclass.xml:1.1 
phpdoc/en/reference/dom/functions/dom-domdocument-registernodeclass.xml:1.2
--- phpdoc/en/reference/dom/functions/dom-domdocument-registernodeclass.xml:1.1 
Wed Nov 15 09:43:32 2006
+++ phpdoc/en/reference/dom/functions/dom-domdocument-registernodeclass.xml     
Sat Dec 30 02:50:59 2006
@@ -1,20 +1,112 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
 <refentry id="function.dom-domdocument-registernodeclass">
  <refnamediv>
-  <refname>DOMDocument::registerNodeClass</refname>
+  <refname>DOMDocument->registerNodeClass()</refname>
   <refpurpose>Register extended class used to create base node 
type</refpurpose>
  </refnamediv>
  <refsect1 role="description">
   &reftitle.description;
-  <methodsynopsis>
-   <type>bool</type><methodname>DOMDocument::registerNodeClass</methodname>
-   
<methodparam><type>string</type><parameter>baseclass</parameter></methodparam>
-   
<methodparam><type>string</type><parameter>extendedclass</parameter></methodparam>
-  </methodsynopsis>
+  <classsynopsis>
+   <ooclass><classname>DOMDocument</classname></ooclass>
+   <methodsynopsis>
+    <type>bool</type><methodname>registerNodeClass</methodname>
+    
<methodparam><type>string</type><parameter>baseclass</parameter></methodparam>
+    
<methodparam><type>string</type><parameter>extendedclass</parameter></methodparam>
+   </methodsynopsis>
+  </classsynopsis>
 
-  &warn.undocumented.func;
+  <para>
+   This method allows you to register your own extended DOM class to be used
+   afterward by the PHP DOM extension.
+  </para>
+  <para>
+   This method is not part of the DOM standard.
+  </para>
+ </refsect1>
+
+ <refsect1 role="parameters">
+  &reftitle.parameters;
+  <para>
+   <variablelist>
+    <varlistentry>
+     <term><parameter>baseclass</parameter></term>
+     <listitem>
+      <para>
+       The DOM class that you want to extend. You can find a list of these 
+       classes in the chapter introduction.
+      </para>
+      <para>
+       Of course, you won't be able to register a class extending DOMDocument
+       but you can always start your document by instanciating your own
+       extending class.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><parameter>extendedclass</parameter></term>
+     <listitem>
+      <para>
+       Your extended class name. If &null; is provided, any previously 
+       registered class extending <parameter>baseclass</parameter> will
+       be removed.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+ </refsect1>
+
+ <refsect1 role="returnvalues">
+  &reftitle.returnvalues;
+  <para>
+   &return.success;
+  </para>
+ </refsect1>
+
+ <refsect1 role="examples">
+  &reftitle.examples;
+  <para>
+   <example>
+    <title>Adding a new method to DOMElement to ease our code</title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+
+class myElement extends DOMElement {
+   function appendElement($name) { 
+      return $this->appendChild(new myElement($name));
+   }
+}
+
+class myDocument extends DOMDocument {
+   function setRoot($name) { 
+      return $this->appendChild(new myElement($name));
+   }
+}
+
+$doc = new myDocument();
+$doc->registerNodeClass('DOMElement', 'myElement');
+
+// From now on, adding an element to another costs only one method call ! 
+$root = $doc->setRoot('root');
+$child = $root->appendElement('child');
+$child->setAttribute('foo', 'bar');
+
+echo $doc->saveXML();
 
+?>
+]]>
+    </programlisting>
+    &example.outputs;
+    <screen role="xml">
+<![CDATA[
+<?xml version="1.0"?>
+<root><child foo="bar"/></root>
+]]>
+    </screen>
+   </example>
+  </para>
  </refsect1>
 
 </refentry>
http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/dom/functions/dom-domdocumentfragment-appendxml.xml?r1=1.3&r2=1.4&diff_format=u
Index: phpdoc/en/reference/dom/functions/dom-domdocumentfragment-appendxml.xml
diff -u 
phpdoc/en/reference/dom/functions/dom-domdocumentfragment-appendxml.xml:1.3 
phpdoc/en/reference/dom/functions/dom-domdocumentfragment-appendxml.xml:1.4
--- phpdoc/en/reference/dom/functions/dom-domdocumentfragment-appendxml.xml:1.3 
Wed Sep  6 20:40:37 2006
+++ phpdoc/en/reference/dom/functions/dom-domdocumentfragment-appendxml.xml     
Sat Dec 30 02:50:59 2006
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.3 $ -->
+<!-- $Revision: 1.4 $ -->
 <!-- Generated by xml_proto.php v2.3. Found in /scripts directory of phpdoc. 
-->
-<refentry id="function.dom-domdocumentfragment.appendxml">
+<refentry id="function.dom-domdocumentfragment-appendxml">
  <refnamediv>
   <refname>DOMDocumentFragment->appendXML()</refname>
-  <refpurpose>Append XML data</refpurpose>
+  <refpurpose>Append raw XML data</refpurpose>
  </refnamediv>
  <refsect1 role="description">
   &reftitle.description;
@@ -15,9 +15,18 @@
     <methodparam><type>string</type><parameter>data</parameter></methodparam>
    </methodsynopsis>
   </classsynopsis>
-
-  &warn.undocumented.func;
-
+  <para>
+   Appends raw XML data to a DOMDocumentFragment. 
+  </para>
+  <para>
+   This method is not part of the DOM standard. It was created as a simplier
+   approach for appending an XML DocumentFragment in a DOMDocument.
+  </para>
+  <para>
+   If you want to stick to the standards, you will have to create a temporary
+   DOMDocument with a dummy root and then loop through the child nodes of the
+   root of your XML data to append them. 
+  </para>
  </refsect1>
  <refsect1 role="parameters">
   &reftitle.parameters;
@@ -41,85 +50,33 @@
   </para>
  </refsect1>
 
- <!-- Use when ERRORS exist
- <refsect1 role="errors">
-  &reftitle.errors;
-  <para>
-   When does this function throw E_* level errors, or exceptions?
-  </para>
- </refsect1>
- -->
-
-
- <!-- Use when a CHANGELOG exists
- <refsect1 role="changelog">
-  &reftitle.changelog;
-  <para>
-   <informaltable>
-    <tgroup cols="2">
-     <thead>
-      <row>
-       <entry>&Version;</entry>
-       <entry>&Description;</entry>
-      </row>
-     </thead>
-     <tbody>
-      <row>
-       <entry>Enter the PHP version of change here</entry>
-       <entry>Description of change</entry>
-      </row>
-     </tbody>
-    </tgroup>
-   </informaltable>
-  </para>
- </refsect1>
- -->
-
-
- <!-- Use when examples exist
  <refsect1 role="examples">
   &reftitle.examples;
   <para>
    <example>
-    <title>A <function>DOMDocumentFragment::appendXML</function> 
example</title>
-    <para>
-     Any text that describes the purpose of the example, or
-     what goes on in the example should go here (inside the
-     <example> tag, not out
-    </para>
+    <title>Appending XML data to your document</title>
     <programlisting role="php">
 <![CDATA[
 <?php
-if ($anexample === true) {
-    echo 'Use the PEAR Coding Standards';
-}
+$doc = new DOMDocument();
+$doc->loadXML("<root/>");
+$f = $doc->createDocumentFragment();
+$f->appendXML("<foo>text</foo><bar>text2</bar>");
+$doc->documentElement->appendChild($f);
+echo $doc->saveXML(); 
 ?>
 ]]>
     </programlisting>
     &example.outputs;
-    <screen>
+    <screen role="xml">
 <![CDATA[
-Use the PEAR Coding Standards
+<?xml version="1.0"?>
+<root><foo>text</foo><bar>text2</bar></root>
 ]]>
     </screen>
    </example>
   </para>
  </refsect1>
- -->
-
-
- <!-- Use when adding See Also links
- <refsect1 role="seealso">
-  &reftitle.seealso;
-  <para>
-   <simplelist>
-    <member><function></function></member>
-    <member>Or <link linkend="somethingelse">something else</link></member>
-   </simplelist>
-  </para>
- </refsect1>
- -->
-
 
 </refentry>
 

Reply via email to