xml_set_external_entity_ref_handler
Setting up external entity reference handler
xml_set_external_entity_ref_handler() function is used to specify the function to be called when the parser finds an external entity in an XML document.
Note: The handler parameter can also be an array containing object references and method names.
Create an XML parser, set up a character data handler, set up an external entity reference handler, and parse the XML document:
<?php
// Create XML parser
$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>" ;
}
// Set character data processing program
xml_set_character_data_handler ( $parser , "char" ) ;
// Set up external entity reference handler
xml_set_external_entity_ref_handler ( $parser , "ext_ent_handler" ) ;
$fp = fopen ( "note_entity.xml" , "r" ) ;
while ( $data = fread ( $fp , 4096 ) ) {
// parse XML data
xml_parse ( $parser , $data , feof ( $fp ) ) or
die ( sprintf ( "XML error: %s on line %d" ,
xml_error_string ( xml_get_error_code ( $parser ) ) ,
xml_get_current_line_number ( $parser ) ) ) ;
}
xml_parser_free ( $parser ) ;
fclose ( $fp ) ;
?>
Run the instance
xml_set_external_entity_ref_handler ( parser , handler )
| parameter | describe |
|---|---|
| parser | Required. Specify the XML parser to use |
| Handler | Required. Specifies the function used as the event handler. This function must accept five parameters:
|