WEB DEVELOPER SITE
HTMLCSSJAVASCRIPTSQLPHPBOOTSTRAPJQUERYANGULARXML
 

PHP xml_set_unparsed_entity_decl_handler() function



Definition and usage

The

xml_set_unparsed_entity_decl_handler () function specifies a function to be called when the parser finds an entity that cannot be parsed in the XML document.

If successful, the function returns TRUE. If it fails, it returns FALSE.

Syntax

xml_set_unparsed_entity_decl_handler (parser, handler)

parameters description
parser Required. Specifies the XML parser to use.
handler Specifies the function to be called when the parser finds an entity that cannot be resolved.

The function specified by the "handler" parameter must have six parameters:

parameters description
parser Required. Specifies a variable containing an XML parser that calls the processor.
name Required. Specifies a variable containing the name of the entity
base Required. Specifies a variable containing the basis of the system identifier (system_id) of the resolution entity. Currently this parameter is usually set to NULL.
system_id Required. Specifies a variable containing the system identifier of the entity
public_id Required. Specifies a variable containing the public identifier of the entity.
notation Required. Specifies a variable containing a symbol identifying the data type of the entity


Tips and comments

Note: The handler parameter can also be an array containing object references and method names.


Example

<?php $parser=xml_parser_create();

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

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

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,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);
?>