Συνάρτηση PHP xml_set_notation_decl_handler()
Ορισμός και χρήση
Η συνάρτηση xml_set_notation_decl_handler() ορίζει τη συνάρτηση που καλείται όταν ο αναλυτής βρίσκει την ανακοίνωση συμβολής στο έγγραφο XML.
Αν ο επεξεργαστής δημιουργηθεί επιτυχώς, η συνάρτηση θα επιστρέψει true; αλλιώς θα επιστρέψει 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 identifying 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); ?>