PHP xml_set_unparsed_entity_decl_handler() functie

Definitie en gebruik

De functie xml_set_unparsed_entity_decl_handler() definieert de functie die wordt aangeroepen bij het tegenkomen van een onleesbare entitynaam (NDATA) declaratie.

Als de processor succesvol is ingesteld, zal deze functie true retourneren; anders retourneert het false.

Syntax

xml_set_unparsed_entity_decl_handler(parser,handler)
Parameters Beschrijving
parser Verplicht. Definieer de te gebruiken XML-parser.
handler Verplicht. Definieer een functie.

Door handler De functie die door de parameters wordt gedefinieerd, moet zes parameters hebben:

Parameters Beschrijving
parser Verplicht. Definieer een variabele die de XML-parser voor het aanroepen van de processor bevat.
name Verplicht. Definieer een variabele die de naam van de entiteit bevat.
base

Verplicht. Definieer een variabele die de basis bevat voor het analyseren van de systeemidentifier (system_id).

Momenteel wordt deze parameter meestal ingesteld op een lege string.

system_id Verplicht. Definieer een variabele die de systeemidentifier van de entiteit bevat.
public_id Verplicht. Definieer een variabele die de publieke identifier van de entiteit bevat.
notation Verplicht. Definieer een variabele die het symbool bevat voor het type van de geïdentificeerde entiteitgegevens.

Verklaring

handler De parameter kan ook een array zijn, die objectreferenties en methodenamen bevat.

Voorbeeld

<?php
$parser=xml_parser_create();
function char($parser,$data)
  {
  
  }
function unparsed_ent_handler($parser,$entname,
$base,$sysID,$pubID,$notname)
  {
  print "$entname";
  print "$sysID";
  print "$pubID";
  print "$notname";
  }

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