* xmlTextReaderLocalName: * @reader: the xmlTextReaderPtr used * * The local name of the node. * * Returns the local name or NULL if not available, * if non NULL it need to be freed by the caller. */
| 3114 | * if non NULL it need to be freed by the caller. |
| 3115 | */ |
| 3116 | xmlChar * |
| 3117 | xmlTextReaderLocalName(xmlTextReaderPtr reader) { |
| 3118 | xmlNodePtr node; |
| 3119 | if ((reader == NULL) || (reader->node == NULL)) |
| 3120 | return(NULL); |
| 3121 | if (reader->curnode != NULL) |
| 3122 | node = reader->curnode; |
| 3123 | else |
| 3124 | node = reader->node; |
| 3125 | if (node->type == XML_NAMESPACE_DECL) { |
| 3126 | xmlNsPtr ns = (xmlNsPtr) node; |
| 3127 | if (ns->prefix == NULL) |
| 3128 | return(readerStrdup(reader, BAD_CAST "xmlns")); |
| 3129 | else |
| 3130 | return(readerStrdup(reader, ns->prefix)); |
| 3131 | } |
| 3132 | if ((node->type != XML_ELEMENT_NODE) && |
| 3133 | (node->type != XML_ATTRIBUTE_NODE)) |
| 3134 | return(xmlTextReaderName(reader)); |
| 3135 | return(readerStrdup(reader, node->name)); |
| 3136 | } |
| 3137 | |
| 3138 | /** |
| 3139 | * xmlTextReaderConstLocalName: |
no test coverage detected