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

Function xmlValidGetValidElements

ThirdParty/libxml2/vtklibxml2/valid.c:6835–6938  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6833 */
6834
6835int
6836xmlValidGetValidElements(xmlNode *prev, xmlNode *next, const xmlChar **names,
6837 int max) {
6838 xmlValidCtxt vctxt;
6839 int nb_valid_elements = 0;
6840 const xmlChar *elements[256]={0};
6841 int nb_elements = 0, i;
6842 const xmlChar *name;
6843
6844 xmlNode *ref_node;
6845 xmlNode *parent;
6846 xmlNode *test_node;
6847
6848 xmlNode *prev_next;
6849 xmlNode *next_prev;
6850 xmlNode *parent_childs;
6851 xmlNode *parent_last;
6852
6853 xmlElement *element_desc;
6854
6855 if (prev == NULL && next == NULL)
6856 return(-1);
6857
6858 if (names == NULL) return(-1);
6859 if (max <= 0) return(-1);
6860
6861 memset(&vctxt, 0, sizeof (xmlValidCtxt));
6862 vctxt.error = xmlNoValidityErr; /* this suppresses err/warn output */
6863
6864 nb_valid_elements = 0;
6865 ref_node = prev ? prev : next;
6866 parent = ref_node->parent;
6867
6868 /*
6869 * Retrieves the parent element declaration
6870 */
6871 element_desc = xmlGetDtdElementDesc(parent->doc->intSubset,
6872 parent->name);
6873 if ((element_desc == NULL) && (parent->doc->extSubset != NULL))
6874 element_desc = xmlGetDtdElementDesc(parent->doc->extSubset,
6875 parent->name);
6876 if (element_desc == NULL) return(-1);
6877
6878 /*
6879 * Do a backup of the current tree structure
6880 */
6881 prev_next = prev ? prev->next : NULL;
6882 next_prev = next ? next->prev : NULL;
6883 parent_childs = parent->children;
6884 parent_last = parent->last;
6885
6886 /*
6887 * Creates a dummy node and insert it into the tree
6888 */
6889 test_node = xmlNewDocNode (ref_node->doc, NULL, BAD_CAST "<!dummy?>", NULL);
6890 if (test_node == NULL)
6891 return(-1);
6892

Callers 1

parseAndPrintFileFunction · 0.85

Calls 6

xmlGetDtdElementDescFunction · 0.85
xmlNewDocNodeFunction · 0.85
xmlValidateOneElementFunction · 0.85
xmlStrEqualFunction · 0.85
xmlFreeNodeFunction · 0.85

Tested by

no test coverage detected