xml_set_unparsed_entity_decl_handler

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

xml_set_unparsed_entity_decl_handler 建立未解析實體定義聲明處理器

說明

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

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

當 XML 解析器遇到如下含有 NDATA 聲明的外部實體定義聲明時,該 handler 處理器將被調用:

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

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

參數

parser

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

handler

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

handler 參數命名的函數名必須接受六個參數:

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

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

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

返回值

成功時返回 true, 或者在失敗時返回 false。