PHP xml_set_notation_decl_handler() 函数

定义和用法

xml_set_notation_decl_handler() 函数规定当解析器在 XML 文档中找到符号声明时被调用的函数。

如果处理器被成功的建立,该函数将返回 true;否则返回 false。

注释:“符号声明”,英文为 notation declaration,也有部分文献译为“注释声明”。

语法

xml_set_notation_decl_handler(parser,Msaada)
参数 描述
parser 必需。规定要使用的 XML 解析器。
Msaada 必需。规定当解析器找到符号声明时被调用的函数。

Msaada 参数规定的函数必须有六个参数:

参数 描述
parser 必需。规定一个变量,包含调用处理器的 XML 解析器。
name Injili. Mwenyesha kifaa cha kina kidhibiti cha jina cha kina cha kitumiaji.
base

Injili. Mwenyesha kifaa cha kina kidhibiti cha jina cha sistema cha kuzalisha (system_id ).

Hivi karibuni imesababishwa kwa kufikirika kama string ya huzuni.

system_id Injili. Mwenyesha muhimu wa kifaa cha kina kidhibiti cha jina cha sistema.
public_id Injili. Mwenyesha muhimu wa kifaa cha kina kidhibiti cha jina kwa sababu ya ujumbe.
notation Inayotarajiwa. Inaainisha kiwango kwa muhimu.

Inayotarajiwa. Inaainisha kiwango kwa muhimu.

Msaada Wakati wa kusoma, jina la muhimu kinahusiana na mawili.

Mfano

<?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);
?>