Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 05cd670d8a02b2b4a0ffb1756f2e8308 > files > 724

php-manual-zh-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>DOMDocument-&#62;registerNodeClass()</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PHP 手册"
HREF="index.html"><LINK
REL="UP"
TITLE="DOM Functions"
HREF="ref.dom.html"><LINK
REL="PREVIOUS"
TITLE="DOMDocument->normalizeDocument()"
HREF="function.dom-domdocument-normalizedocument.html"><LINK
REL="NEXT"
TITLE="DOMDocument->relaxNGValidate()"
HREF="function.dom-domdocument-relaxngvalidate.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="refentry"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>PHP 手册</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="function.dom-domdocument-normalizedocument.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="function.dom-domdocument-relaxngvalidate.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="function.dom-domdocument-registernodeclass"
></A
>DOMDocument-&#62;registerNodeClass()</H1
><DIV
CLASS="refnamediv"
><A
NAME="AEN39886"
></A
><P
>    (no version information, might be only in CVS)</P
>DOMDocument-&#62;registerNodeClass()&nbsp;--&nbsp;Register extended class used to create base node type</DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN39889"
></A
><H2
>说明</H2
>class <B
CLASS="classname"
>DOMDocument</B
> { <BR
></BR
>bool <B
CLASS="methodname"
>registerNodeClass</B
> ( string baseclass, string extendedclass )<BR
></BR
>}<P
>&#13;   This method allows you to register your own extended DOM class to be used
   afterward by the PHP DOM extension.
  </P
><P
>&#13;   This method is not part of the DOM standard.
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN39905"
></A
><H2
>参数</H2
><P
>&#13;   <P
></P
><DIV
CLASS="variablelist"
><DL
><DT
><CODE
CLASS="parameter"
>baseclass</CODE
></DT
><DD
><P
>&#13;       The DOM class that you want to extend. You can find a list of these 
       classes in the chapter introduction.
      </P
><P
>&#13;       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.
      </P
></DD
><DT
><CODE
CLASS="parameter"
>extendedclass</CODE
></DT
><DD
><P
>&#13;       Your extended class name. If <TT
CLASS="constant"
><B
>NULL</B
></TT
> is provided, any previously 
       registered class extending <CODE
CLASS="parameter"
>baseclass</CODE
> will
       be removed.
      </P
></DD
></DL
></DIV
>
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN39922"
></A
><H2
>返回值</H2
><P
>&#13;   如果成功则返回 <TT
CLASS="constant"
><B
>TRUE</B
></TT
>,失败则返回 <TT
CLASS="constant"
><B
>FALSE</B
></TT
>。
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN39927"
></A
><H2
>更新日志</H2
><P
>&#13;   <DIV
CLASS="informaltable"
><P
></P
><A
NAME="AEN39930"
></A
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><COL><COL><THEAD
><TR
><TH
>版本</TH
><TH
>说明</TH
></TR
></THEAD
><TBODY
><TR
><TD
>PHP 5.2.2</TD
><TD
>&#13;        Prior to 5.2.2, a prviously registered <CODE
CLASS="parameter"
>extendedclass</CODE
>
        had to be unregistered before being able to register a new class extending
        the same <CODE
CLASS="parameter"
>baseclass</CODE
>.
       </TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
>
  </P
></DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN39942"
></A
><H2
>范例</H2
><P
>&#13;   <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN39945"
></A
><P
><B
>例 1. Adding a new method to DOMElement to ease our code</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br /><br /></font><font color="#007700">class </font><font color="#0000BB">myElement </font><font color="#007700">extends </font><font color="#0000BB">DOMElement </font><font color="#007700">{<br />&nbsp;&nbsp;&nbsp;function </font><font color="#0000BB">appendElement</font><font color="#007700">(</font><font color="#0000BB">$name</font><font color="#007700">) { <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return </font><font color="#0000BB">$this</font><font color="#007700">-&gt;</font><font color="#0000BB">appendChild</font><font color="#007700">(new </font><font color="#0000BB">myElement</font><font color="#007700">(</font><font color="#0000BB">$name</font><font color="#007700">));<br />&nbsp;&nbsp;&nbsp;}<br />}<br /><br />class </font><font color="#0000BB">myDocument </font><font color="#007700">extends </font><font color="#0000BB">DOMDocument </font><font color="#007700">{<br />&nbsp;&nbsp;&nbsp;function </font><font color="#0000BB">setRoot</font><font color="#007700">(</font><font color="#0000BB">$name</font><font color="#007700">) { <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return </font><font color="#0000BB">$this</font><font color="#007700">-&gt;</font><font color="#0000BB">appendChild</font><font color="#007700">(new </font><font color="#0000BB">myElement</font><font color="#007700">(</font><font color="#0000BB">$name</font><font color="#007700">));<br />&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></font><font color="#0000BB">$doc </font><font color="#007700">= new </font><font color="#0000BB">myDocument</font><font color="#007700">();<br /></font><font color="#0000BB">$doc</font><font color="#007700">-&gt;</font><font color="#0000BB">registerNodeClass</font><font color="#007700">(</font><font color="#DD0000">'DOMElement'</font><font color="#007700">, </font><font color="#DD0000">'myElement'</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// From now on, adding an element to another costs only one method call ! <br /></font><font color="#0000BB">$root </font><font color="#007700">= </font><font color="#0000BB">$doc</font><font color="#007700">-&gt;</font><font color="#0000BB">setRoot</font><font color="#007700">(</font><font color="#DD0000">'root'</font><font color="#007700">);<br /></font><font color="#0000BB">$child </font><font color="#007700">= </font><font color="#0000BB">$root</font><font color="#007700">-&gt;</font><font color="#0000BB">appendElement</font><font color="#007700">(</font><font color="#DD0000">'child'</font><font color="#007700">);<br /></font><font color="#0000BB">$child</font><font color="#007700">-&gt;</font><font color="#0000BB">setAttribute</font><font color="#007700">(</font><font color="#DD0000">'foo'</font><font color="#007700">, </font><font color="#DD0000">'bar'</font><font color="#007700">);<br /><br />echo </font><font color="#0000BB">$doc</font><font color="#007700">-&gt;</font><font color="#0000BB">saveXML</font><font color="#007700">();<br /><br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
><P
>上例将输出:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="xml"
>&#60;?xml version="1.0"?&#62;
&#60;root&#62;&#60;child foo="bar"/&#62;&#60;/root&#62;</PRE
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
  </P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="function.dom-domdocument-normalizedocument.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>起始页</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="function.dom-domdocument-relaxngvalidate.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DOMDocument-&#62;normalizeDocument()</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref.dom.html"
ACCESSKEY="U"
>上一级</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DOMDocument-&#62;relaxNGValidate()</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>