توابع PHP xml_set_unparsed_entity_decl_handler()

تعریف و استفاده

توابع xml_set_unparsed_entity_decl_handler() تعریف می‌کنند که در مواجهه با نام‌های موجودیت غیرقابل درک (NDATA) فراخوانی شوند.

اگر پردازنده با موفقیت ایجاد شود، این تابع true را برمی‌گرداند؛ در غیر این صورت false را برمی‌گرداند.

نحوه استفاده

xml_set_unparsed_entity_decl_handler(parser,handler)
پارامترها توضیحات
parser ضروری است. تعریف XML parser مورد استفاده.
handler ضروری است. تعریف یک تابع.

از handler توابع تعریف شده توسط پارامترها باید شش پارامتر داشته باشند:

پارامترها توضیحات
parser ضروری است. تعریف یک متغیر، شامل XML parser برای فراخوانی پردازنده.
name ضروری است. تعریف یک متغیر، شامل نام موجودیت.
base

ضروری است. تعریف یک متغیر، شامل پایه‌ای برای شناسه سیستم موجودیت (system_id).

در حال حاضر، این پارامتر معمولاً به یک رشته خالی تنظیم می‌شود.

system_id ضروری است. تعریف یک متغیر، شامل شناسه سیستم موجودیت.
public_id ضروری است. تعریف یک متغیر، شامل شناسه عمومی موجودیت.
notation ضروری است. تعریف یک متغیر، شامل نشانه‌ای برای داده‌های نوع موجودیت.

Description

handler The parameter can also be an array containing object references and method names.

Example

<?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("XML Error: %s at line %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>