else if (namespace != EMPTYSTRING) {
else {
    public void parseContents(Parser parser) {	final SymbolTable stable = parser.getSymbolTable();	// Get the "name" attribute of the <xsl:element> element	String name = getAttribute("name");	if ((name == null) || (name.equals(EMPTYSTRING))) {	    ErrorMsg msg = new ErrorMsg(ErrorMsg.ILLEGAL_ELEM_NAME_ERR,					name, this);	    parser.reportError(WARNING, msg);	    _ignore = true; // Ignore the element if the QName is invalid	    return;	}	// Try to construct a QName and then get the prefix and local part	QName  qname  = parser.getQNameSafe(name);	String prefix = qname.getPrefix();	String local  = qname.getLocalPart();	// First try to get the namespace URI from the "namespace" attribute	String namespace = getAttribute("namespace");	// Then try to get it from the "name" attribute QName prefix	if ((namespace == null) || (namespace.equals(EMPTYSTRING))) {	    // We are supposed to use the default namespace URI if the QName	    // from the "name" attribute is not prefixed, so check that first	    if (prefix == null) prefix = EMPTYSTRING;	    // Then look up the URI that is in scope for the prefix	    namespace = lookupNamespace(prefix); 	    // Signal error if the prefix does not map to any namespace URI 	    if (namespace == null) {		ErrorMsg err = new ErrorMsg(ErrorMsg.NAMESPACE_UNDEF_ERR,					    prefix, this);		parser.reportError(WARNING, err);		parseChildren(parser);		_ignore = true; // Ignore the element if prefix is undeclared		return;	    }	    _namespace = new AttributeValueTemplate(namespace, parser);	    _prefix = prefix;	}	// Check if this element belongs in a specific namespace	else if (namespace != EMPTYSTRING) {	    // Get the namespace requested by the xsl:element	    _namespace = new AttributeValueTemplate(namespace, parser);	    // Get the current prefix for that namespace (if any)	    _prefix = lookupPrefix(namespace);	    // Is it the default namespace?	    if ((_prefix = prefix) == null) _prefix = EMPTYSTRING;	    // Construct final element QName	    if (_prefix == EMPTYSTRING)		name = qname.getLocalPart();	    else		name = _prefix+":"+qname.getLocalPart();	}	_name = AttributeValue.create(this, name, parser);	// Next check that the local part of the QName is legal (no whitespace)	if (_name instanceof SimpleAttributeValue) {	    if (local.equals(EMPTYSTRING) || (local.indexOf(' ') > -1)) {		ErrorMsg err = new ErrorMsg(ErrorMsg.ILLEGAL_ELEM_NAME_ERR,					    local, this);		parser.reportError(WARNING, err);		parseChildren(parser);		_ignore = true; // Ignore the element if local part is invalid		return;	    }	}	// Handle the 'use-attribute-sets' attribute	final String useSets = getAttribute("use-attribute-sets");	if (useSets.length() > 0) {	    setFirstElement(new UseAttributeSets(useSets, parser));	}	parseChildren(parser);    }