php-doc-en/reference/xml/functions/xml-set-processing-instruction-handler.xml
Hartmut Holzgraefe a4b6d72ad3 banana-split
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@78202 c90b9560-bf6c-de11-be94-00142212c4b1
2002-04-15 00:12:54 +00:00

99 lines
3.6 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- splitted from ./en/functions/xml.xml, last change in rev 1.2 -->
<refentry id="function.xml-set-processing-instruction-handler">
<refnamediv>
<refname>xml_set_processing_instruction_handler</refname>
<refpurpose>
Set up processing instruction (PI) handler
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>int</type><methodname>xml_set_processing_instruction_handler</methodname>
<methodparam><type>int</type><parameter>parser</parameter></methodparam>
<methodparam><type>string</type><parameter>handler</parameter></methodparam>
</methodsynopsis>
<para>
Sets the processing instruction (PI) handler function for the XML
parser <parameter>parser</parameter>.
<parameter>handler</parameter> is a string containing the name of
a function that must exist when <function>xml_parse</function> is
called for <parameter>parser</parameter>.
</para>
<para>
A processing instruction has the following format:
<informalexample>
<programlisting>&lt;?
<replaceable>target</replaceable>
<replaceable>data</replaceable>?>
</programlisting>
</informalexample>
You can put PHP code into such a tag, but be aware of one
limitation: in an XML PI, the PI end tag
(<literal>?&gt;</literal>) can not be quoted, so this character
sequence should not appear in the PHP code you embed with PIs in
XML documents. If it does, the rest of the PHP code, as well as
the "real" PI end tag, will be treated as character data.
</para>
<para>
The function named by <parameter>handler</parameter> must accept
three parameters:
<methodsynopsis>
<methodname><replaceable>handler</replaceable></methodname>
<methodparam><type>int</type><parameter>parser</parameter></methodparam>
<methodparam><type>string</type><parameter>target</parameter></methodparam>
<methodparam><type>string</type><parameter>data</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>target</parameter></term>
<listitem><simpara>
The second parameter, <parameter>target</parameter>, contains
the PI target.</simpara></listitem>
</varlistentry>
<varlistentry>
<term><parameter>data</parameter></term>
<listitem><simpara>
The third parameter, <parameter>data</parameter>, contains
the PI data.</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 handler is 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
-->