-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathxml-set-element-handler.xml
144 lines (139 loc) · 4.91 KB
/
xml-set-element-handler.xml
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
141
142
143
144
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 18aa2012f6fa1e5b09733147e02911d16e06d4a1 Maintainer: HonestQiao Status: ready -->
<!-- CREDITS: mowangjuanzi, Luffy -->
<refentry xml:id="function.xml-set-element-handler" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>xml_set_element_handler</refname>
<refpurpose>建立起始和终止元素处理程序</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>true</type><methodname>xml_set_element_handler</methodname>
<methodparam><type>XMLParser</type><parameter>parser</parameter></methodparam>
<methodparam><type class="union"><type>callable</type><type>string</type><type>null</type></type><parameter>start_handler</parameter></methodparam>
<methodparam><type class="union"><type>callable</type><type>string</type><type>null</type></type><parameter>end_handler</parameter></methodparam>
</methodsynopsis>
<para>
为 <parameter>parser</parameter> 参数指定的 XML 解析器建立元素处理函数。
</para>
<para>
当打开新的 XML 元素时调用 <parameter>start_handler</parameter>,当关闭 XML 元素时调用 <parameter>end_handler</parameter>。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&xml.parser.param;
<varlistentry>
<term><parameter>start_handler</parameter></term>
<listitem>
&xml.handler.description;
<para>
处理程序的签名必须是:
<methodsynopsis>
<type>void</type><methodname><replaceable>start_element_handler</replaceable></methodname>
<methodparam><type>XMLParser</type><parameter>parser</parameter></methodparam>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
<methodparam><type>array</type><parameter>attributes</parameter></methodparam>
</methodsynopsis>
<variablelist>
&xml.handler.parser.param;
<varlistentry>
<term><parameter>name</parameter></term>
<listitem>
<simpara>
包含调用此处理程序的元素名称。如果<link linkend="xml.case-folding">大写转换</link>对该解析器有效,元素名将用大写字母表示。
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>attributes</parameter></term>
<listitem>
<simpara>
带有元素属性的关联数组。如果元素没有数组则为空数组。数组元素的下标为属性名,元素的值即为属性的值。属性名将以和元素名同样的标准进行<link
linkend="xml.case-folding">大写转换</link>,值<emphasis>不</emphasis>进行大写转换。
</simpara>
<simpara>
遍历 <parameter>attributes</parameter> 的顺序与声明 attributes 的顺序相同。
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>end_handler</parameter></term>
<listitem>
&xml.handler.description;
<para>
处理程序的签名必须是:
<methodsynopsis>
<type>void</type><methodname><replaceable>end_element_handler</replaceable></methodname>
<methodparam><type>XMLParser</type><parameter>parser</parameter></methodparam>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
</methodsynopsis>
<variablelist>
&xml.handler.parser.param;
<varlistentry>
<term><parameter>name</parameter></term>
<listitem>
<simpara>
包含调用此处理程序的元素名称。如果<link linkend="xml.case-folding">大写转换</link>对该解析器有效,元素名将用大写字母表示。
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.true.always;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&xml.changelog.handler-param;
&xml.changelog.parser-param;
</tbody>
</tgroup>
</informaltable>
</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:"~/.phpdoc/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
-->