PHP xml_set_unparsed_entity_decl_handler() Function

In this chapter you will learn:

  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

Description

The xml_set_unparsed_entity_decl_handler() function specifies a function to be called when the parser an unparsed entity in the XML document.

Syntax

PHP xml_set_unparsed_entity_decl_handler() Function has the following syntax.

xml_set_unparsed_entity_decl_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 six parameters:

ParameterIs RequiredDescription
parserRequired.A variable containing the XML parser calling the handler
nameRequired.A variable containing the name of the entity
baseRequired.A variable containing the base for resolving the system identifier (system_id) of the entity. Currently, this is always NULL
system_idRequired.A variable containing the system identifier for the entity
public_idRequired.A variable containing the public identifier for the entity
notationRequired.A variable containing the notation identifying the data type of the entity

Return

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

Example

XML File


<?xml version="1.0" encoding="ISO-8859-1"?>
<Book>//  ja v  a2s .  co m
    <name>PHP</name>
    <name>Java</name>
</Book>

PHP code


<?php /*  ja  v  a2  s  .c o  m*/

$parser=xml_parser_create();

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

function unparsed_ent_handler($parser,$entname,$base,$sysID,$pubID,$notname){
  print "$entname ";
}

xml_set_character_data_handler($parser,"char");
xml_set_unparsed_entity_decl_handler($parser,"unparsed_ent_handler");

$fp=fopen("test.xml","r");

while ($data=fread($fp,1024)){
  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. Linux systems PHP 5.2.0 and later
  2. Windows PHP 5.2.0 and later