PHP xml_set_processing_instruction_handler() Function

In this chapter you will learn:

  1. Description for PHP xml_set_processing_instruction_handler() Function
  2. Syntax for PHP xml_set_processing_instruction_handler() Function
  3. Parameter for PHP xml_set_processing_instruction_handler() Function
  4. Return for PHP xml_set_processing_instruction_handler() Function
  5. Example - specifies a function to be called when the parser finds a processing instruction in the XML document

Description

The xml_set_processing_instruction_handler() function specifies a function to be called when the parser finds a processing instruction in the XML document.

A processing instruction is enclosed in <? and ?> delimiters and contains a a target followed by data.

Syntax

PHP xml_set_processing_instruction_handler() Function has the following syntax.

xml_set_processing_instruction_handler(parser,handler)

Parameter

ParameterIs RequiredDescription
parserRequired.XML parser to use
handlerRequired.A function to be when the parser finds a notation declaration

The Function specified by the "handler" parameter must have three parameters:

Parameteris RequiredDescription
parserRequired.A variable containing the XML parser calling the handler
targetRequired.A variable containing processing instruction target
dataRequired.A variable containing processing instruction data

Return

This function returns TRUE on success, or FALSE on failure.

Example

XML File


<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="default.xsl" type="text/xml"?>
<Book>//from   ja v  a  2  s.  c  om
    <name>PHP</name>
    <name>Java</name>
</Book>

Specify a function to be called when the parser finds a processing instruction in the XML document


<?php //from   j a  v  a  2s . c  o m

$parser=xml_parser_create();

function char($parser,$data){
  echo $data;
}

function pi_handler($parser, $target, $data){
  echo "Target: $target";
  echo "Data: $data ";
}

xml_set_character_data_handler($parser,"char");
xml_set_processing_instruction_handler($parser, "pi_handler");
$fp=fopen("test.xml","r");

while ($data=fread($fp,4096)){
  xml_parse($parser,$data,feof($fp)) or 
  die (sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)),
                                           xml_get_current_line_number($parser))
  );
}

xml_parser_free($parser);
?>

Next chapter...

What you will learn in the next chapter:

  1. Description for PHP xml_set_unparsed_entity_decl_handler() Function
  2. Syntax for PHP xml_set_unparsed_entity_decl_handler() Function
  3. Parameter for PHP xml_set_unparsed_entity_decl_handler() Function
  4. Return for PHP xml_set_unparsed_entity_decl_handler() Function
  5. Example - specifies a function to be called when the parser an unparsed entity in the XML document