WEB DEVELOPER SITE
HTMLCSSJAVASCRIPTSQLPHPBOOTSTRAPJQUERYANGULARXML
 

PHP xml_set_external_entity_ref_handler() function


Definition and usage

xml_set_external_entity_ref_handler () function specifies a function to be called when the parser finds an external entity in an XML document.

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

Syntax

xml_set_external_entity_ref_handler (parser, handler)

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

The function specified by the "handler" parameter must have five 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 an external entity.
base Required. Specifies the basis for parsing the system identifier (system_id) of external entities. Currently this parameter is usually set to NULL.
system_id Required. Specifies the system identifier of an external entity.
public_id Required. Specifies the public identifier of an external 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 ext_ent_handler($parser,$ent,$base,$sysID,$pubID)
{
echo "$ent<br />";
echo "$sysID<br />";
echo "$pubID<BR />";
}

xml_set_character_data_handler($parser,"char");
xml_set_external_entity_ref_handler($parser, "ext_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);
?>