PHP Tutorial - PHP xml _set _unparsed _entity _decl _handler () Function






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>
    <name>PHP</name>
    <name>Java</name>
</Book>

PHP code


<?php //w ww .jav  a 2 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);
?>