Hàm PHP xml_set_unparsed_entity_decl_handler()

Định nghĩa và cách sử dụng

Hàm xml_set_unparsed_entity_decl_handler() quy định hàm được gọi khi gặp tên thực thể không thể giải mã (NDATA) được.

Nếu bộ xử lý được thành công, hàm này sẽ trả về true; ngược lại trả về false.

Ngữ pháp

xml_set_unparsed_entity_decl_handler(parser,处理器)
Tham số Mô tả
parser Bắt buộc. Định nghĩa bộ giải mã XML cần sử dụng.
处理器 Bắt buộc. Định nghĩa một hàm.

Bởi 处理器 Tham số quy định hàm phải có sáu tham số:

Tham số Mô tả
parser Bắt buộc. Định nghĩa một biến, chứa bộ giải mã XML của bộ xử lý.
name Bắt buộc. Định nghĩa biến chứa tên của thực thể.
base

Bắt buộc. Định nghĩa một biến, chứa cơ sở của chỉ số hệ thống (system_id) của thực thể.

Hiện tại tham số này thường được đặt là chuỗi rỗng.

system_id Bắt buộc. Định nghĩa biến chứa chỉ số hệ thống của thực thể.
public_id Bắt buộc. Định nghĩa biến chứa chỉ số công cộng của thực thể.
notation Bắt buộc. Định nghĩa một biến, chứa ký hiệu标识实体数据类型的符号。

Mô tả

处理器 Tham số cũng có thể là một mảng, trong đó chứa tham chiếu đối tượng và tên phương thức.

Mẫu

<?php
$parser=xml_parser_create();
function char($parser,$data)
  {
  
  }
function unparsed_ent_handler($parser,$entname,
$base,$sysID,$pubID,$notname)
  {
  print "$entname";
  print "$sysID";
  print "$pubID";
  print "$notname";
  }

xml_set_unparsed_entity_decl_handler($parser,
"unparsed_ent_handler");
$fp=fopen("test.xml","r");
while ($data=fread($fp,4096))
  {
  xml_parse($parser,$data,feof($fp)) or 
  die (sprintf("Lỗi XML: %s tại dòng %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>