XML 解析器函数
PHP Manual

xml_set_unparsed_entity_decl_handler

(PHP 4, PHP 5)

xml_set_unparsed_entity_decl_handler 建立未解析实体定义声明处理器

说明

bool xml_set_unparsed_entity_decl_handler ( resource $parser , callback $handler )

parser 参数指定的 XML 解析器建立未解析实体定义声明处理器函数。参数 start_element_handlerend_element_handler 为表示函数名称的字符串,这些函数必须在为 parser 指定的解析器调用 xml_parse() 函数时已存在。

当 XML 解析器遇到如下含有 NDATA 声明的外部实体定义声明时,该处理器将被调用:

<!ENTITY <parameter>name</parameter> {<parameter>publicId</parameter> | <parameter>systemId</parameter>} 
        NDATA <parameter>notationName</parameter>

请参阅 » XML 1.0 参考的第 4.2.2 节以获取有关已声明外部实体注释定义的信息。

handler 参数命名的函数名必须接受六个参数:

handler ( resource $parser , string $entity_name , string $base , string $system_id , string $public_id , string $notation_name )
parser
第一个参数 parser 为指向要调用处理器的 XML 解析器的指针。
entity_name
将被定义的实体名。
base
这个参数是解析外部实体的系统标识符(system_id)的基础。当前该参数通常都被设置为空字符串。
system_id
外部实体的系统标识符。
public_id
外部实体的公共标识符。
notation_name
该实体的注释名(请参阅 xml_set_notation_decl_handler())。

如果处理器函数名被设置为空字符串或者 FALSE,则该有问题的处理器将被屏蔽。

如果处理器被成功的建立,该函数将返回 TRUE;如果 parser 指向的不是合法的解析器,函数该函数将返回 FALSE

Note: 除了函数名,含有对象引用的数组和方法名也可以作为参数。

参数

parser

A reference to the XML parser to set up unparsed entity declaration handler function.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept six parameters:

handler ( resource $parser , string $entity_name , string $base , string $system_id , string $public_id , string $notation_name )
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
entity_name
The name of the entity that is about to be defined.
base
This is the base for resolving the system identifier (systemId) of the external entity.Currently this parameter will always be set to an empty string.
system_id
System identifier for the external entity.
public_id
Public identifier for the external entity.
notation_name
Name of the notation of this entity (see xml_set_notation_decl_handler()).

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Note: 除了函数名,含有对象引用的数组和方法名也可以作为参数。

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE.


XML 解析器函数
PHP Manual