tutoriais mais recente desenvolvimento web
 

PHP xml_set_unparsed_entity_decl_handler() Function


<Referência Completa XML PHP

Definição e Uso

O xml_set_unparsed_entity_decl_handler() função especifica uma função a ser chamada quando o analisador uma entidade não analisada no documento XML.

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

Sintaxe

xml_set_unparsed_entity_decl_handler(parser,handler)

Parâmetro Descrição
parser Requeridos. Especifica parser XML para usar
handler Requeridos. Especifica uma função a ser quando o analisador encontra uma declaração de notação

A função especificada pelo "handler" parâmetro deve ter seis 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 que contém o nome da entidade
base Requeridos. Especifica uma variável que contém a base para resolver o identificador do sistema (system_id) da entidade. Atualmente, este é sempre NULL
system_id Requeridos. Especifica uma variável que contém o identificador do sistema para a entidade
public_id Requeridos. Especifica uma variável que contém o identificador público para a entidade
notation Requeridos. Especifica uma variável que contém a notação que identifica o tipo de dados da entidade

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 unparsed_ent_handler($parser,$entname,
$base,$sysID,$pubID,$notname)
  {
  print "$entname<br />";
  print "$sysID<br />";
  print "$pubID<br />";
  print "$notname<br />";
  }

xml_set_character_data_handler($parser,"char");
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);
?>

<Referência Completa XML PHP