PHP xml_set_notation_decl_handler()Funciones
Manual de referencia completo de PHP XML
Definición y uso
La función xml_set_notation_decl_handler() especifica la función que se llamará cuando el analizador encuentre una declaración de notación en un documento XML.
Si tiene éxito, la función devuelve TRUE. Si falla, devuelve FALSE.
Sintaxis
xml_set_notation_decl_handler(parser,handler)
| Parámetros | Descripción |
|---|---|
| parser | Requerido. Especifica el analizador XML a utilizar. |
| handler | Requerido. Especifica la función que se llamará cuando el analizador encuentre una declaración de notación. |
La función especificada por el parámetro "handler" debe tener cinco parámetros:
| Parámetros | Descripción |
|---|---|
| parser | Requerido. Especifica una variable que contiene el analizador XML que llama al controlador. |
| name | Requerido. Especifica una variable que contiene el nombre de la declaración de notación. |
| base | Requerido. Especifica la base para resolver el identificador de sistema (system_id) de la declaración de notación. Actualmente, este parámetro normalmente se establece en NULL. |
| system_id | Requerido. Especifica una variable que contiene el identificador de sistema de la declaración de notación. |
| public_id | Requerido. Especifica una variable que contiene el identificador público de la declaración de notación. |
Consejos y notas
Nota:El parámetro handler también puede ser un array que contenga una referencia a un objeto y el nombre del método.
Ejemplo
<?php
$parser=xml_parser_create();
function char($parser,$data)
{
echo $data;
}
function not_decl_handler($parser,$not,$base,$sysID,$pubID)
{
echo "$not<br />";
echo "$sysID<br />";
echo "$pubID<BR />";
}
xml_set_character_data_handler($parser,"char");
xml_set_notation_decl_handler($parser, "not_decl_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);
?>
$parser=xml_parser_create();
function char($parser,$data)
{
echo $data;
}
function not_decl_handler($parser,$not,$base,$sysID,$pubID)
{
echo "$not<br />";
echo "$sysID<br />";
echo "$pubID<BR />";
}
xml_set_character_data_handler($parser,"char");
xml_set_notation_decl_handler($parser, "not_decl_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);
?>
Manual de referencia completo de PHP XML Otras extensiones