tutoriais mais recente desenvolvimento web
 

PHP xml_set_external_entity_ref_handler() Function


<Referência Completa XML PHP

Definição e Uso

O xml_set_external_entity_ref_handler() função especifica uma função a ser chamada quando o analisador encontra uma entidade externa no documento XML.

Esta função retorna TRUE em caso de sucesso, ou FALSE em caso de falha.

Sintaxe

xml_set_external_entity_ref_handler(parser,handler)

Parâmetro Descrição
parser Requeridos. Especifica parser XML para usar
handler Requeridos. Especifica uma função a ser chamada quando o analisador encontra uma entidade externa

A função especificada pelo "handler" parâmetro deve ter cinco parâmetros:

Parâmetro Descrição
parser Requeridos. Especifica uma variável que contém o analisador XML chamando o manipulador
name Requeridos. Especifica uma variável contendo o nome da entidade externa
base Requeridos. Especifica a base para resolver o identificador do sistema (system_id) da entidade externa. Atualmente, este é sempre NULL
system_id Requeridos. Especifica o identificador do sistema para a entidade externa
public_id Requeridos. Especifica o identificador público para a entidade externa

Dicas e Notas

Note: O parâmetro manipulador também pode ser uma matriz que contém uma referência de objecto e um nome de método.


Exemplo

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

<Referência Completa XML PHP