Hàm PHP xml_set_notation_decl_handler()

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

Hàm xml_set_notation_decl_handler() quy định hàm được gọi khi bộ phân tích tìm thấy biểu thị trong tài liệu XML.

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.

Chú thích:“Biểu thị”, tiếng Anh là notation declaration, cũng có một số tài liệu dịch là “biểu thị chú thích”.

Ngữ pháp

xml_set_notation_decl_handler(parser,handler)
Tham số Mô tả
parser Bắt buộc. Quy định bộ phân tích XML cần sử dụng.
handler Bắt buộc. Quy định hàm được gọi khi bộ phân tích tìm thấy biểu thị.

Bởi handler Hàm được quy định bởi tham số phải có sáu tham số:

Tham số Mô tả
parser Bắt buộc. Quy định một biến chứa bộ phân tích XML gọi xử lý.
name Bắt buộc. Quy định biến chứa tên của thực thể.
base

Bắt buộc. Quy định một biến chứa cơ sở của标识符 của hệ thống được phân tích (system_id ).

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

system_id Bắt buộc. Quy định biến chứa标识符 của hệ thống của thực thể.
public_id Bắt buộc. Quy định biến chứa标识符 của thực thể.
notation Bắt buộc. Định nghĩa một biến chứa ký hiệu xác định loại dữ liệu của thực thể.

Mô tả

handler Các tham số cũng có thể là một mảng 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)
  {
  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("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);
?>