1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.5 $ -->
<!-- splitted from ./en/functions/xml.xml, last change in rev 1.2 -->
<refentry id="function.xml-set-element-handler">
<refnamediv>
<refname>xml_set_element_handler</refname>
<refpurpose>Set up start and end element handlers</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>bool</type><methodname>xml_set_element_handler</methodname>
<methodparam><type>resource</type><parameter>parser</parameter></methodparam>
<methodparam><type>callback</type><parameter>start_element_handler</parameter></methodparam>
<methodparam><type>callback</type><parameter>end_element_handler</parameter></methodparam>
</methodsynopsis>
<para>
Sets the element handler functions for the XML parser
<parameter>parser</parameter>.
<parameter>start_element_handler</parameter> and
<parameter>end_element_handler</parameter> are strings containing
the names of functions that must exist when
<function>xml_parse</function> is called for
<parameter>parser</parameter>.
</para>
<para>
The function named by <parameter>start_element_handler</parameter>
must accept three parameters:
<methodsynopsis>
<methodname><replaceable>start_element_handler</replaceable></methodname>
<methodparam><type>resource</type><parameter>parser</parameter></methodparam>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
<methodparam><type>array</type><parameter>attribs</parameter></methodparam>
</methodsynopsis>
<variablelist>
<varlistentry>
<term><parameter>parser</parameter></term>
<listitem>
<simpara>
The first parameter, <replaceable>parser</replaceable>, is a
reference to the XML parser calling the handler.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>name</parameter></term>
<listitem>
<simpara>
The second parameter, <parameter>name</parameter>, contains the name
of the element for which this handler is called. If <link
linkend="xml.case-folding">case-folding</link> is in effect for this
parser, the element name will be in uppercase letters.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>attribs</parameter></term>
<listitem>
<simpara>
The third parameter, <parameter>attribs</parameter>, contains an
associative array with the element's attributes (if any). The keys
of this array are the attribute names, the values are the attribute
values. Attribute names are <link
linkend="xml.case-folding">case-folded</link> on the same criteria as
element names. Attribute values are <emphasis>not</emphasis>
case-folded.
</simpara>
<simpara>
The original order of the attributes can be retrieved by walking
through <parameter>attribs</parameter> the normal way, using
<function>each</function>. The first key in the array was the first
attribute, and so on.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
The function named by <parameter>end_element_handler</parameter>
must accept two parameters:
<methodsynopsis>
<methodname><replaceable>end_element_handler</replaceable></methodname>
<methodparam><type>resource</type><parameter>parser</parameter></methodparam>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
</methodsynopsis>
<variablelist>
<varlistentry>
<term><parameter>parser</parameter></term>
<listitem>
<simpara>
The first parameter, <replaceable>parser</replaceable>, is a
reference to the XML parser calling the handler.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>name</parameter></term>
<listitem>
<simpara>
The second parameter, <parameter>name</parameter>, contains the name
of the element for which this handler is called. If <link
linkend="xml.case-folding">case-folding</link> is in effect for this
parser, the element name will be in uppercase letters.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
If a handler function is set to an empty string, or &false;, the handler
in question is disabled.
</para>
<para>
&true; is returned if the handlers are set up, &false; if
<parameter>parser</parameter> is not a parser.
</para>
¬e.func-callback;
</refsect1>
</refentry>
<!-- 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:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|