* xmlTextReaderStartElement: * @ctx: the user data (XML parser context) * @fullname: The element name, including namespace prefix * @atts: An array of name/value attributes pairs, NULL terminated * * called when an opening tag has been processed. */
| 619 | * called when an opening tag has been processed. |
| 620 | */ |
| 621 | static void |
| 622 | xmlTextReaderStartElement(void *ctx, const xmlChar *fullname, |
| 623 | const xmlChar **atts) { |
| 624 | xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; |
| 625 | xmlTextReaderPtr reader = ctxt->_private; |
| 626 | |
| 627 | #ifdef DEBUG_CALLBACKS |
| 628 | printf("xmlTextReaderStartElement(%s)\n", fullname); |
| 629 | #endif |
| 630 | if ((reader != NULL) && (reader->startElement != NULL)) { |
| 631 | reader->startElement(ctx, fullname, atts); |
| 632 | if ((ctxt->node != NULL) && (ctxt->input != NULL) && |
| 633 | (ctxt->input->cur != NULL) && (ctxt->input->cur[0] == '/') && |
| 634 | (ctxt->input->cur[1] == '>')) |
| 635 | ctxt->node->extra = NODE_IS_EMPTY; |
| 636 | } |
| 637 | if (reader != NULL) |
| 638 | reader->state = XML_TEXTREADER_ELEMENT; |
| 639 | } |
| 640 | |
| 641 | /** |
| 642 | * xmlTextReaderEndElement: |
nothing calls this directly
no test coverage detected