File: xml-set-element-handler.xml

package info (click to toggle)
php-doc 20061001-1
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k
  • size: 45,764 kB
  • ctags: 1,611
  • sloc: xml: 502,485; php: 7,645; cpp: 500; makefile: 297; perl: 161; sh: 141; awk: 28
file content (140 lines) | stat: -rw-r--r-- 5,329 bytes parent folder | download | duplicates (2)
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>
    &note.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
-->