@classmethod
    def validate_xml_node(cls,node):
        if node.nodeType != node.ELEMENT_NODE:
            err = "Class '%s' got a non-element node"
            err = err % (cls.__name__,)
            raise ParseError(err)
        if cls.meta.case_sensitive:
            if node.localName != cls.meta.tagname:
                err = "Class '%s' got tag '%s' (expected '%s')"
                err = err % (cls.__name__,node.localName,
                             cls.meta.tagname)
                raise ParseError(err)
        else:
            if node.localName.lower() != cls.meta.tagname.lower():
                err = "Class '%s' got tag '%s' (expected '%s')"
                err = err % (cls.__name__,node.localName,
                             cls.meta.tagname)
                raise ParseError(err)
        if cls.meta.namespace:
            if node.namespaceURI != cls.meta.namespace:
                err = "Class '%s' got namespace '%s' (expected '%s')"
                err = err % (cls.__name__,node.namespaceURI,
                             cls.meta.namespace)
                raise ParseError(err)
        else:
            if node.namespaceURI:
                err = "Class '%s' got namespace '%s' (expected no namespace)"
                err = err % (cls.__name__,node.namespaceURI,)
                raise ParseError(err)
Unblind the messages to recover the raw outputs of the POUF
dataset/ETHPy150Open rfk/dexml/dexml/__init__.py/Model.validate_xml_node--crossover with--dataset/ETHPy150Open gdanezis/petlib/examples/pouf.py/POUF_unblind