xml_set_unparsed_entity_decl_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_unparsed_entity_decl_handler 建立未解析實(shí)體定義聲明處理器

說(shuō)明

xml_set_unparsed_entity_decl_handler(resource $parser, callable $handler): bool

parser 參數(shù)指定的 XML 解析器建立未解析實(shí)體定義聲明處理器函數(shù)。

當(dāng) XML 解析器遇到如下含有 NDATA 聲明的外部實(shí)體定義聲明時(shí),該 handler 處理器將被調(diào)用:

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

請(qǐng)參閱 ? XML 1.0 參考的第 4.2.2 節(jié)以獲取有關(guān)已聲明外部實(shí)體注釋定義的信息。

參數(shù)

parser

XML 解析器的引用,用于建立未解析實(shí)體定義聲明處理器。

handler

參數(shù)handler 為表示函數(shù)名稱的字符串,這個(gè)函數(shù)必須在為 parser 指定的解析器調(diào)用 xml_parse() 函數(shù)時(shí)已存在。

handler 參數(shù)命名的函數(shù)名必須接受六個(gè)參數(shù):

handler(
    resource $parser,
    string $entity_name,
    string $base,
    string $system_id,
    string $public_id,
    string $notation_name
)
parser
第一個(gè)參數(shù) parser 為指向要調(diào)用處理器的 XML 解析器的指針。
entity_name
將被定義的實(shí)體名。
base
這個(gè)參數(shù)是解析外部實(shí)體的系統(tǒng)標(biāo)識(shí)符(system_id)的基礎(chǔ)。當(dāng)前該參數(shù)通常都被設(shè)置為空字符串。
system_id
外部實(shí)體的系統(tǒng)標(biāo)識(shí)符。
public_id
外部實(shí)體的公共標(biāo)識(shí)符。
notation_name
該實(shí)體的注釋名(請(qǐng)參閱 xml_set_notation_decl_handler())。

如果處理器函數(shù)名被設(shè)置為空字符串或者 false,則該有問(wèn)題的處理器將被屏蔽。

注意: 除了函數(shù)名,含有對(duì)象引用的數(shù)組和方法名也可以作為參數(shù)。

返回值

成功時(shí)返回 true, 或者在失敗時(shí)返回 false。