دالة PHP xml_set_notation_decl_handler()

التعريف والاستخدام

يحدد دالة xml_set_notation_decl_handler() الدالة التي يتم استدعاؤها عند العثور على بيان تعريف الرمز في وثيقة XML.

إذا تم إنشاء معالج النظام بنجاح، فإن هذه الدالة ستعود true؛ وإلا ستعود false.

التعليق:بيان الرمز، ويُقال أيضًا بيان التصنيف، ويُترجم أيضًا في بعض الأحيان بيان التعليق.

النحو

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 containing the symbol that identifies 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);
?>