def getElementDeclaration(cls, namespaceURI, name, isref=False, lazy=False):
key = (namespaceURI, name)<EOL>if isref:<EOL><INDENT>klass = cls.elements.get(key,None)<EOL>if klass is not None and lazy is True:<EOL><INDENT>return _Mirage(klass)<EOL><DEDENT>return klass<EOL><DEDENT>typecode = cls.element_typecode_cache.get(key, None)<EOL>if typecode is None:<EOL><INDENT>tcls = cls.elements.get(key,None)<EOL>if tcls is not None:<EOL><INDENT>typecode = cls.element_typecode_cache[key] = tcls()<EOL>typecode.typed = False<EOL><DEDENT><DEDENT>return typecode<EOL>
Grab an element declaration, returns a typecode instance
        representation or a typecode class definition.  An element 
        reference has its own facets, and is local so it will not be
        cached.

        Parameters:
            namespaceURI -- 
            name -- 
            isref -- if element reference, return class definition.