-
Notifications
You must be signed in to change notification settings - Fork 76
/
Copy pathxml-set-element-handler.xml
156 lines (151 loc) · 6.14 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
145
146
147
148
149
150
151
152
153
154
155
156
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 18aa2012f6fa1e5b09733147e02911d16e06d4a1 Maintainer: tmn Status: ready -->
<!-- Reviewed: no -->
<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>
Функция устанавливает функцию-обработчик элементов для XML-анализатора
<parameter>parser</parameter>.
</para>
<para>
Параметр <parameter>start_handler</parameter> вызывается при открытии нового XML-элемента.
Параметр <parameter>end_handler</parameter> вызывается при закрытии XML-элемента.
</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>
идентичен порядку объявления атрибутов.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>end_element</parameter></term>
<listitem>
&xml.handler.description;
<para>
Сигнатуру обработчика определяют вот так:
<methodsynopsis>
<type>void</type><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>
&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
-->