xml_set_element_handler

xml_set_element_handler -- set up start and end element handlers

Description

int xml_set_element_handler (int parser, string startElementHandler, string endElementHandler);

Sets the element handler functions for the XML parser parser . startElementHandler and endElementHandler are strings containing the names of functions that must exist when xml_parse() is called for parser .

The function named by startElementHandler must accept three parameters:

startElementHandler (int parser, string name, string attribs);

parser

The first parameter, parser , is a reference to the XML parser calling the handler.

name

The second parameter, name , contains the name of the element for which this handler is called. If case-folding is in effect for this parser, the element name will be in uppercase letters.

attribs

The third parameter, attribs , contains an associative array with the element's attributes (if any). The keys of this array are the attribute names, the values are the attribute values. Attribute names are case-folded on the same criteria as element names. Attribute values are not case-folded.

The original order of the attributes can be retrieved by walking through attribs the normal way, using each() . The first key in the array was the first attribute, and so on.

The function named by endElementHandler must accept two parameters:

endElementHandler (int parser, string name);

parser

The first parameter, parser , is a reference to the XML parser calling the handler.

name

The second parameter, name , contains the name of the element for which this handler is called. If case-folding is in effect for this parser, the element name will be in uppercase letters.

If a handler function is set to an empty string, or false , the handler in question is disabled.

True is returned if the handlers are set up, false if parser is not a parser.

There is currently no support for object/method handlers.