PHP xml_set_external_entity_ref_handler() function

Paglilinaw at Paggamit

Ang function xml_set_external_entity_ref_handler() ay tumutukoy sa function na tinatawag kapag ang parser ay nakakita ng panlabas na entidad sa XML dokumento.

Kung ang processor ay matagumpay na nabuo, ang function ay magbibigay ng true; kung hindi, magbibigay ng false.

Mga gramatika

xml_set_external_entity_ref_handler(parser,handler)
Parametro Paglalarawan
parser Mga kinakailangan. Tumutukoy sa XML parser na gagamitin.
handler Mga kinakailangan. Tumutukoy sa function na tinatawag kapag ang parser ay nakakita ng panlabas na entidad.

sa pamamagitan ng handler Ang function na tinutukoy ng parameter ay dapat may anim na parametro:

Parametro Paglalarawan
parser Mga kinakailangan. Tumutukoy sa isang variable na naglalaman ng XML parser na ginagamit sa pagtawag ng processor.
name Mga kinakailangan. Tumutukoy sa isang variable na naglalaman ng pangalan ng panlabas na entidad.
base

Mga kinakailangan. Tumutukoy sa isang variable na naglalaman ng batayan ng sistema sa paglalarawan ng system_id (system_id ).

Ang kasalukuyan ay palaging itinatag na walang laman ang parametro na ito.

system_id 必需。规定包含外部实体的系统标识符的变量。
public_id 必需。规定包含外部实体的公共标识符的变量。

说明

handler 参数也可以是一个数组,其中包含对象引用和方法名。

实例

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