توابع PHP xml_set_notation_decl_handler()

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

توابع xml_set_notation_decl_handler() تعریف می‌کند که تابعی که هنگام یافتن نشان‌دهنده در مستند XML توسط پارسر فراخوانی می‌شود.

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

توضیحات:علامت نشان‌دهنده، در انگلیسی notation declaration نامیده می‌شود و برخی از منابع آن را به عنوان “نشان‌دهنده توضیحات” نیز ترجمه می‌کنند.

زبان نوشتاری

xml_set_notation_decl_handler(parser,handler)
پارامترها توضیحات
parser لازم است. تعریف پارسر XML مورد استفاده.
handler لازم است. تعریف تابعی که هنگام یافتن تابع نشان‌دهنده توسط پارسر فراخوانی می‌شود.

از handler پارامتر تعریف شده باید شش پارامتر داشته باشد:

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

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

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

system_id لازم است. تعریف متغیری که شناسه سیستم موجودیت را شامل می‌شود.
public_id لازم است. تعریف متغیری که شناسه عمومی موجودیت را شامل می‌شود.
notation Required. Specifies a variable that contains the symbol indicating the entity data type.

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