PHP xml_set_external_entity_ref_handler() -funktio

Määrittely ja käyttö

xml_set_external_entity_ref_handler() -funktio määrittää funktion, joka kutsutaan, kun parseri löytää ulkoisen entiteetin XML-dokumentissa.

Jos käsitin onnistuneesti luotu, funktio palauttaa true; muuten palauttaa false.

Syntaksi

xml_set_external_entity_ref_handler(parser,handler)
Parametrit Kuvaus
parser Välttämätön. Määrittää käytettävän XML-parsin.
handler Välttämätön. Määrittää funktion, joka kutsutaan, kun parseri löytää ulkoisen entiteetin.

Käyttäen handler Parametrit määrittävän funktion on oltava kuuden parametrin parametri:

Parametrit Kuvaus
parser Välttämätön. Määrittää muuttujan, joka sisältää kutsuttavan XML-parsin.
name Välttämätön. Määrittää muuttujan, joka sisältää ulkoisen entiteetin nimen.
base

Välttämätön. Määrittää muuttuja, joka sisältää perustan ulkoisen entiteetin järjestelmäidentifikaattorille (system_id ).

Tällä hetkellä tämä parametri asetetaan yleensä tyhjäksi merkkijonoksi.

system_id Välttämätön. Määrittää muuttujan, joka sisältää ulkoisen entiteetin järjestelmä tunnisteet.
public_id Välttämätön. Määrittää muuttujan, joka sisältää ulkoisen entiteetin julkisen tunnisteet.

Kuvaus

handler Parametrina voi olla myös taulukko, joka sisältää objektin viittauksen ja metodin nimen.

Esimerkki

<?php
$parser=xml_parser_create();
function char($parser,$data)
  {
  echo $data;
  }
function ext_ent_handler($parser,$ent,$base,$sysID,$pubID)
  {
  echo "$ent";
  echo "$sysID";
  echo "$pubID";
  }
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);
?>