دالة PHP xml_set_notation_decl_handler()

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

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

إذا تم إنشاء المعالج بنجاح، فإن هذه الدالة ستعود صحيحة؛ وإلا ستعود خطأ.

ملاحظة:بيان التسمية، باللغة الإنجليزية notation declaration، ويُترجم أيضًا في بعض الأحيان بـ 'بيان التعليقات'.

النحو

xml_set_notation_decl_handler(parser,المعالج)
المعامل الوصف
parser الضروري. يحدد معالج XML الذي سيتم استخدامه.
المعالج الضروري. يحدد الدالة التي يتم استدعاؤها عند العثور على بيانات التسمية.

من المعالج المعامل الذي يحدده الم参数 يجب أن يكون له ستة معاملات:

المعامل الوصف
parser الضروري. يحدد متغير يحتوي على معالج XML المطلوب للاستخدام.
name الضروري. يحدد المتغير الذي يحتوي على اسم الكيان.
base

الضروري. يحدد متغير يحتوي على أساس معرف النظام للكيان (system_id ).

عادة ما يتم تعيين هذا المعامل فارغًا حاليًا.

system_id الضروري. يحدد المتغير الذي يحتوي على معرف النظام للكيان.
public_id الضروري. يحدد المتغير الذي يحتوي على معرف الجمهور للكيان.
notation مطلوب. يحدد متغير يحتوي على رمز يحدد نوع بيانات الكيان.

شرح

المعالج يمكن أن يكون المعامل أيضًا مصفوفة تحتوي على استدلالات للكائنات ونام الطريقة.

مثال

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