PHP
XML

xml_set_unparsed_entity_decl_handler

xml_set_unparsed_entity_decl_handler

(PHP 4, PHP 5, PHP 7)

xml_set_unparsed_entity_decl_handler - 设置未解析的实体声明处理程序

描述

bool xml_set_unparsed_entity_decl_handler ( resource $parser , callable $handler )

为XML解析器设置未解析的实体声明处理函数parser

如果XML解析器遇到具有NDATA声明的外部实体声明,则会调用该处理程序,如下所示:

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

请参阅XML 1.0规范的第4.2.2节,了解有关标注声明外部实体的定义。

参数

parser

引用XML解析器来设置未解析的实体声明处理函数。

handler

handler是一个字符串,它包含为解析器调用xml_parse()时必须存在的函数的名称。

由处理程序命名的函数必须接受六个参数:

handler ( resource $parser , string $entity_name , string $base , string $system_id , string $public_id , string $notation_name )

解析器第一个参数parser是对调用处理程序的XML解析器的引用。 entity_name是将要定义的实体的名称。 base是解析外部实体的系统标识符(systemId)的基础。目前此参数将始终设置为空字符串。 system_id是外部实体的系统标识符。 public_id是外部实体的公共标识符。 notation_name是此实体的表示法的名称(请参阅xml_set_notation_decl_handler())。

如果一个处理函数被设置为一个空字符串,或者返回FALSE,则该处理程序被禁用。

注意:也可以提供包含对象引用和方法名称的数组,而不是函数名称。

返回值

成功时返回TRUE或失败时返回FALSE

← xml_set_start_namespace_decl_handler

XMLReader →