Files
doc-fr/reference/domxml/reference.xml
Mehdi Achour e97fa1cf99 same thing
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@186213 c90b9560-bf6c-de11-be94-00142212c4b1
2005-05-11 15:55:08 +00:00

773 lines
23 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.17 $ -->
<!-- EN-Revision: 1.19 Maintainer: didou Status: ready -->
<reference id="ref.domxml">
<title>Fonctions DOM XML</title>
<titleabbrev>DOM XML</titleabbrev>
<partintro>
<section id="domxml.intro">
&reftitle.intro;
<para>
L'extension DOM XML a été reprise en main en &php; 4.3.0 pour être
mieux compatible avec les standards DOM. L'extension contient encore
de vieilles fonctions, mais elles ne sont plus utilisées. En particulier,
les fonctions qui ne sont pas orientées objets ne doivent pas être
utilisées.
</para>
<para>
Cette extension vous permet de générer des documents XML avec
les API DOM. Elle fournit aussi une fonction <function>domxml_xmltree</function>
qui transforme un fichier XML en tableau &php;. Actuellement, ce
tableau est accessible uniquement en lecture. Cela ne siginifie pas
que vous ne pouvez pas le modifier, mais cela n'aurait aucun sens
car <function>DomDocument_dump_mem</function> ne pourra pas prendre ces
modifications en considération. Par conséquent, si vous voulez
lire un fichier XML et écrire sa version modifiée, utilisez les
fonctions <function>DomDocument_create_text_node</function>,
<function>set_attribute</function>, etc.
et finalement <function>DomDocument_dump_mem</function>.
</para>
<note>
<para>
&pecl.moved-ver;5.0.0.
</para>
</note>
<note>
<simpara>
Cette extension n'est plus considérée comme expérimental. Néanmoins, elle ne
sera jamais distribuée avec &php; 5 mais uniquement avec &php; 4.
Si vous avez besoin du support DOM XML avec &php; 5, vous pouvez utiliser l'extension
<link linkend="ref.dom">DOM</link>. <literal>domxml</literal>
n'est pas compatible avec l'extension <link linkend="ref.dom">DOM</link>.
</simpara>
</note>
</section>
<section id="domxml.requirements">
&reftitle.required;
<para>
Cette extension utilise la bibliothèque
<ulink url="&url.libxml;">GNOME XML</ulink>. Téléchargez là,
puis installez là. Vous aurez besoin de la version libxml-2.4.14
ou plus récent. Pour utiliser les fonctionnalités DOM XSLT
vous pouvez utiliser la bibliothèque
<ulink url="&url.libxslt;">libxslt</ulink> et les progrès
des EXSLT (<ulink url="&url.exslt;">&url.exslt;</ulink>).
Téléchargez et installez ces bibliothèques si vous envisagez d'exploiter
ces fonctionnalités. Vous aurez besoin d'au moins libxslt-1.0.18.
</para>
</section>
&reference.domxml.configure;
<section id="domxml.deprecated">
<title>Fonctions dépréciées</title>
<para>
Il y a un groupe de fonctions qui ne sont pas compatibles avec les
standards DOM et qui ne devraient plus être utilisées. Ces fonctions sont
listées dans la table ci-dessous. La fonction
<function>DomNode_append_child</function> a vu son comportement changer.
Désormais, elle ajoute un fils et non pas un frère. Si cela
casse votre application, utilisez plutôt la fonction
<function>DomNode_append_sibling</function>, qui ne fait pas partie
des standards.
</para>
<para>
<table>
<title>Fonctions abandonnées et leur remplacement</title>
<tgroup cols="2">
<thead>
<row>
<entry>Ancienne fonction</entry>
<entry>Nouvelle fonction</entry>
</row>
</thead>
<tbody>
<row>
<entry>xmldoc</entry>
<entry><function>domxml_open_mem</function></entry>
</row>
<row>
<entry>xmldocfile</entry>
<entry><function>domxml_open_file</function></entry>
</row>
<row>
<entry>domxml_new_xmldoc</entry>
<entry><function>domxml_new_doc</function></entry>
</row>
<row>
<entry>domxml_dump_mem</entry>
<entry><function>DomDocument_dump_mem</function></entry>
</row>
<row>
<entry>domxml_dump_mem_file</entry>
<entry><function>DomDocument_dump_file</function></entry>
</row>
<row>
<entry>DomDocument_dump_mem_file</entry>
<entry><function>DomDocument_dump_file</function></entry>
</row>
<row>
<entry>DomDocument_add_root</entry>
<entry><function>DomDocument_create_element</function> suivie de
<function>DomNode_append_child</function></entry>
</row>
<row>
<entry>DomDocument_dtd</entry>
<entry><function>DomDocument_doctype</function></entry>
</row>
<row>
<entry>DomDocument_root</entry>
<entry><function>DomDocument_document_element</function></entry>
</row>
<row>
<entry>DomDocument_children</entry>
<entry><function>DomNode_child_nodes</function></entry>
</row>
<row>
<entry>DomDocument_imported_node</entry>
<entry>Pas de remplacement.</entry>
</row>
<row>
<entry>DomNode_add_child</entry>
<entry>Créez un nouveau noeud avec
<function>DomDocument_create_element</function> puis ajoutez-le avec
<function>DomNode_append_child</function>.
</entry>
</row>
<row>
<entry>DomNode_children</entry>
<entry><function>DomNode_child_nodes</function></entry>
</row>
<row>
<entry>DomNode_parent</entry>
<entry><function>DomNode_parent_node</function></entry>
</row>
<row>
<entry>DomNode_new_child</entry>
<entry>Créez un nouveau noeud avec
<function>DomDocument_create_element</function> puis ajoutez-le avec
<function>DomNode_append_child</function>.
</entry>
</row>
<row>
<entry>DomNode_set_content</entry>
<entry>Créez un nouveau noeud avec
<function>DomDocument_create_text_node</function> puis ajoutez-le avec
<function>DomNode_append_child</function>.
</entry>
</row>
<row>
<entry>DomNode_get_content</entry>
<entry>Le contenu est juste un noeud de texte, et est accessible via
<function>DomNode_child_nodes</function>.
</entry>
</row>
<row>
<entry>DomNode_set_content</entry>
<entry>Le contenu est juste un noeud de texte, et peut être ajouté avec
<function>DomNode_append_child</function>.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</section>
&reference.domxml.constants;
<section id="domxml.classes">
<title>Classes</title>
<para>
L'API de ce module suit le standard DOM niveau 2 aussi fidèlement
que possible. Par conséquent, l'API est totalement orientée objet.
C'est une bonne idée d'avoir les standards DOM disponibles sous la
main, lorsque vous utilisez ce module. Bien que cette API soit orientée
objet, il existe de nombreuses fonctions qui peuvent être appelées
d'une manière non objet, en passant l'objet à utiliser comme premier
argument de la fonction. Cest fonctions sont essentiellement conservées
pour assurer la compatibilité avec les extensions plus anciennes, et ne
doivent pas être utilisées.
</para>
<para>
Cette API diffère de l'API officielle DOM en deux points. Le premier est
que tous les attributs des classes sont implémentés comme des fonctions
du même nom. Le second est que les noms des fonctions suivent
les standards &php;. Cela signifie que la fonction DOM lastChild()
s'écrit en &php; last_child().
</para>
<para>
Ce module définit un grand nombre de classe, qui sont listés en
incluant leur méthodes dans les tables suivantes. Les classes ayant
un équivalent DOM sont nommées DOMxxx.
</para>
<para>
<table>
<title>Liste de classes</title>
<tgroup cols="2">
<thead>
<row>
<entry>Nom de la classe</entry>
<entry>Classe parente</entry>
</row>
</thead>
<tbody>
<row>
<entry>DomAttribute</entry>
<entry>DomNode</entry>
</row>
<row>
<entry>DomCData</entry>
<entry>DomNode</entry>
</row>
<row>
<entry>DomComment</entry>
<entry>DomCData : DomNode</entry>
</row>
<row>
<entry>DomDocument</entry>
<entry>DomNode</entry>
</row>
<row>
<entry>DomDocumentType</entry>
<entry>DomNode</entry>
</row>
<row>
<entry>DomElement</entry>
<entry>DomNode</entry>
</row>
<row>
<entry>DomEntity</entry>
<entry>DomNode</entry>
</row>
<row>
<entry>DomEntityReference</entry>
<entry>DomNode</entry>
</row>
<row>
<entry>DomProcessingInstruction</entry>
<entry>DomNode</entry>
</row>
<row>
<entry>DomText</entry>
<entry>DomCData : DomNode</entry>
</row>
<row>
<entry>Parser</entry>
<entry>Actuellement, toujours appelée DomParser</entry>
</row>
<row>
<entry>XPathContext</entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
<table>
<title>DomDocument class (DomDocument : DomNode)</title>
<tgroup cols="3">
<thead>
<row>
<entry>Nom de la méthode</entry>
<entry>Nom de la fonction</entry>
<entry>Remarques</entry>
</row>
</thead>
<tbody>
<row>
<entry>doctype</entry>
<entry><function>DomDocument_doctype</function></entry>
<entry></entry>
</row>
<row>
<entry>document_element</entry>
<entry><function>DomDocument_document_element</function></entry>
<entry></entry>
</row>
<row>
<entry>create_element</entry>
<entry><function>DomDocument_create_element</function></entry>
<entry></entry>
</row>
<row>
<entry>create_text_node</entry>
<entry><function>DomDocument_create_text_node</function></entry>
<entry></entry>
</row>
<row>
<entry>create_comment</entry>
<entry><function>DomDocument_create_comment</function></entry>
<entry></entry>
</row>
<row>
<entry>create_cdata_section</entry>
<entry><function>DomDocument_create_cdata_section</function></entry>
<entry></entry>
</row>
<row>
<entry>create_processing_instruction</entry>
<entry><function>DomDocument_create_processing_instruction</function></entry>
<entry></entry>
</row>
<row>
<entry>create_attribute</entry>
<entry><function>DomDocument_create_attribute</function></entry>
<entry></entry>
</row>
<row>
<entry>create_entity_reference</entry>
<entry><function>DomDocument_create_entity_reference</function></entry>
<entry></entry>
</row>
<row>
<entry>get_elements_by_tagname</entry>
<entry><function>DomDocument_get_elements_by_tagname</function></entry>
<entry></entry>
</row>
<row>
<entry>get_element_by_id</entry>
<entry><function>DomDocument_get_element_by_id</function></entry>
<entry></entry>
</row>
<row>
<entry>dump_mem</entry>
<entry><function>DomDocument_dump_mem</function></entry>
<entry>Non standard DOM</entry>
</row>
<row>
<entry>dump_file</entry>
<entry><function>DomDocument_dump_file</function></entry>
<entry>Non standard DOM</entry>
</row>
<row>
<entry>html_dump_mem</entry>
<entry><function>DomDocument_html_dump_mem</function></entry>
<entry>Non standard DOM</entry>
</row>
<row>
<entry>xpath_init</entry>
<entry>xpath_init</entry>
<entry>Non standard DOM</entry>
</row>
<row>
<entry>xpath_new_context</entry>
<entry>xpath_new_context</entry>
<entry>Non standard DOM</entry>
</row>
<row>
<entry>xptr_new_context</entry>
<entry>xptr_new_context</entry>
<entry>Non standard DOM</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
<table>
<title>Classe DomElement (DomElement : DomNode)</title>
<tgroup cols="3">
<thead>
<row>
<entry>Nom de la méthode</entry>
<entry>Nom de la fonction</entry>
<entry>Remarques</entry>
</row>
</thead>
<tbody>
<row>
<entry>tagname</entry>
<entry><function>DomElement_tagname</function></entry>
<entry></entry>
</row>
<row>
<entry>get_attribute</entry>
<entry><function>DomElement_get_attribute</function></entry>
<entry></entry>
</row>
<row>
<entry>set_attribute</entry>
<entry><function>DomElement_set_attribute</function></entry>
<entry></entry>
</row>
<row>
<entry>remove_attribute</entry>
<entry><function>DomElement_remove_attribute</function></entry>
<entry></entry>
</row>
<row>
<entry>get_attribute_node</entry>
<entry><function>DomElement_get_attribute_node</function></entry>
<entry></entry>
</row>
<row>
<entry>get_elements_by_tagname</entry>
<entry><function>DomElement_get_elements_by_tagname</function></entry>
<entry></entry>
</row>
<row>
<entry>has_attribute</entry>
<entry><function>DomElement_has_attribute</function></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
<table>
<title>Classe DomNode</title>
<tgroup cols="2">
<thead>
<row>
<entry>Nom de la méthode</entry>
<entry>Remarques</entry>
</row>
</thead>
<tbody>
<row>
<entry><function>DomNode_node_name</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_node_value</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_node_type</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_last_child</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_first_child</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_child_nodes</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_previous_sibling</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_next_sibling</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_parent_node</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_owner_document</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_insert_before</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_append_child</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_append_sibling</function></entry>
<entry>Non standard DOM. Cette fonction émule le comportement précédent
de <function>DomNode_append_child</function>.</entry>
</row>
<row>
<entry><function>DomNode_remove_child</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_has_child_nodes</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_has_attributes</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_clone_node</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_attributes</function></entry>
<entry></entry>
</row>
<row>
<entry><function>DomNode_unlink_node</function></entry>
<entry>Non standard DOM</entry>
</row>
<row>
<entry><function>DomNode_replace_node</function></entry>
<entry>Non standard DOM</entry>
</row>
<row>
<entry><function>DomNode_set_content</function></entry>
<entry>Non standard DOM, déprécié</entry>
</row>
<row>
<entry><function>DomNode_get_content</function></entry>
<entry>Non standard DOM, déprécié</entry>
</row>
<row>
<entry><function>DomNode_dump_node</function></entry>
<entry>Non standard DOM</entry>
</row>
<row>
<entry><function>DomNode_is_blank_node</function></entry>
<entry>Non standard DOM</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
<table>
<title>Classe DomAttribute (DomAttribute : DomNode)</title>
<tgroup cols="3">
<thead>
<row>
<entry>Nom de la méthode</entry>
<entry></entry>
<entry>Remarques</entry>
</row>
</thead>
<tbody>
<row>
<entry>name</entry>
<entry><function>DomAttribute_name</function></entry>
<entry></entry>
</row>
<row>
<entry>value</entry>
<entry><function>DomAttribute_value</function></entry>
<entry></entry>
</row>
<row>
<entry>specified</entry>
<entry><function>DomAttribute_specified</function></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
<table>
<title>Classe DomProcessingInstruction (DomProcessingInstruction : DomNode)</title>
<tgroup cols="3">
<thead>
<row>
<entry>Nom de la méthode</entry>
<entry>Nom de la fonction</entry>
<entry>Remarques</entry>
</row>
</thead>
<tbody>
<row>
<entry>target</entry>
<entry><function>DomProcessingInstruction_target</function></entry>
<entry></entry>
</row>
<row>
<entry>data</entry>
<entry><function>DomProcessingInstruction_data</function></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
<table>
<title>Classe Parser</title>
<tgroup cols="3">
<thead>
<row>
<entry>Nom de la méthode</entry>
<entry>Nom de la fonction</entry>
<entry>Remarques</entry>
</row>
</thead>
<tbody>
<row>
<entry>add_chunk</entry>
<entry><function>Parser_add_chunk</function></entry>
<entry></entry>
</row>
<row>
<entry>end</entry>
<entry><function>Parser_end</function></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
<table>
<title>Classe XPathContext</title>
<tgroup cols="3">
<thead>
<row>
<entry>Nom de la méthode</entry>
<entry>Nom de la fonction</entry>
<entry>Remarques</entry>
</row>
</thead>
<tbody>
<row>
<entry>eval</entry>
<entry><function>XPathContext_eval</function></entry>
<entry></entry>
</row>
<row>
<entry>eval_expression</entry>
<entry><function>XPathContext_eval_expression</function></entry>
<entry></entry>
</row>
<row>
<entry>register_ns</entry>
<entry><function>XPathContext_register_ns</function></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
<table>
<title>Classe DomDocumentType (DomDocumentType : DomNode)</title>
<tgroup cols="3">
<thead>
<row>
<entry>Nom de la méthode</entry>
<entry>Nom de la fonction</entry>
<entry>Remarques</entry>
</row>
</thead>
<tbody>
<row>
<entry>name</entry>
<entry><function>DomDocumentType_name</function></entry>
<entry></entry>
</row>
<row>
<entry>entities</entry>
<entry><function>DomDocumentType_entities</function></entry>
<entry></entry>
</row>
<row>
<entry>notations</entry>
<entry><function>DomDocumentType_notations</function></entry>
<entry></entry>
</row>
<row>
<entry>public_id</entry>
<entry><function>DomDocumentType_public_id</function></entry>
<entry></entry>
</row>
<row>
<entry>system_id</entry>
<entry><function>DomDocumentType_system_id</function></entry>
<entry></entry>
</row>
<row>
<entry>internal_subset</entry>
<entry><function>DomDocumentType_internal_subset</function></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
Les classes DomDtd sont dérivées de DomNode. DomComment est dérivée de DomCData.
</para>
</section>
<section id="domxml.examples">
&reftitle.examples;
<para>
De nombreux exemples de cette partie requièrent une chaîne XML.
Au lieu de répéter la chaîne dans tous les exemples, elle sera
mise dans un fichier, qui sera inclus dans tous les exemples.
Ce fichier inclus sera utilisé dans les exemples suivants dans
cette section. Alternativement, vous pouvez créer un document XML et le
lire avec la fonction <function>DomDocument_open_file</function>.
</para>
<para>
<example>
<title>Fichier d'inclusion example.inc pour la chaîne XML d'exemple</title>
<programlisting role="php">
<![CDATA[
<?php
$xmlstr = "<?xml version='1.0' standalone='yes'?>
<!DOCTYPE chapter SYSTEM '/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd'
[ <!ENTITY sp \"spanish\">
]>
<!-- lsfj -->
<chapter language='en'><title language='en'>Title</title>
<para language='ge'>
&sp;
<!-- comment -->
<informaltable ID='findme' language='&sp;'>
<tgroup cols='3'>
<tbody>
<row><entry>a1</entry><entry
morerows='1'>b1</entry><entry>c1</entry></row>
<row><entry>a2</entry><entry>c2</entry></row>
<row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
</tbody>
</tgroup>
</informaltable>
</para>
</chapter>";
?>
]]>
</programlisting>
</example>
</para>
</section>
</partintro>
&reference.domxml.functions;
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->