توابع 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); ?>