MCPcopy Create free account
hub / github.com/Kitware/VTK / xmlTextReaderValidatePush

Function xmlTextReaderValidatePush

ThirdParty/libxml2/vtklibxml2/xmlreader.c:882–942  ·  view source on GitHub ↗

* xmlTextReaderValidatePush: * @reader: the xmlTextReaderPtr used * * Push the current node for validation */

Source from the content-addressed store, hash-verified

880 * Push the current node for validation
881 */
882static int
883xmlTextReaderValidatePush(xmlTextReaderPtr reader) {
884 xmlNodePtr node = reader->node;
885
886#ifdef LIBXML_VALID_ENABLED
887 if ((reader->validate == XML_TEXTREADER_VALIDATE_DTD) &&
888 (reader->ctxt != NULL) && (reader->ctxt->validate == 1)) {
889 if ((node->ns == NULL) || (node->ns->prefix == NULL)) {
890 reader->ctxt->valid &= xmlValidatePushElement(&reader->ctxt->vctxt,
891 reader->ctxt->myDoc, node, node->name);
892 } else {
893 xmlChar buf[50];
894 xmlChar *qname;
895
896 qname = xmlBuildQName(node->name, node->ns->prefix, buf, 50);
897 if (qname == NULL) {
898 xmlTextReaderErrMemory(reader);
899 return(-1);
900 }
901 reader->ctxt->valid &= xmlValidatePushElement(&reader->ctxt->vctxt,
902 reader->ctxt->myDoc, node, qname);
903 if (qname != buf)
904 xmlFree(qname);
905 }
906 /*if (reader->ctxt->errNo == XML_ERR_NO_MEMORY) {
907 reader->mode = XML_TEXTREADER_MODE_ERROR;
908 reader->state = XML_TEXTREADER_ERROR;
909 return(-1);
910 }*/
911 }
912#endif /* LIBXML_VALID_ENABLED */
913#ifdef LIBXML_SCHEMAS_ENABLED
914 if ((reader->validate == XML_TEXTREADER_VALIDATE_RNG) &&
915 (reader->rngValidCtxt != NULL)) {
916 int ret;
917
918 if (reader->rngFullNode != NULL) return(0);
919 ret = xmlRelaxNGValidatePushElement(reader->rngValidCtxt,
920 reader->ctxt->myDoc,
921 node);
922 if (ret == 0) {
923 /*
924 * this element requires a full tree
925 */
926 node = xmlTextReaderExpand(reader);
927 if (node == NULL) {
928 ret = -1;
929 } else {
930 ret = xmlRelaxNGValidateFullElement(reader->rngValidCtxt,
931 reader->ctxt->myDoc,
932 node);
933 reader->rngFullNode = node;
934 }
935 }
936 if (ret != 1)
937 reader->rngValidErrors++;
938 }
939#endif

Callers 2

xmlTextReaderReadFunction · 0.85

Calls 6

xmlValidatePushElementFunction · 0.85
xmlBuildQNameFunction · 0.85
xmlTextReaderErrMemoryFunction · 0.85
xmlTextReaderExpandFunction · 0.85

Tested by

no test coverage detected