ErrorMsg msg = new ErrorMsg(ErrorMsg.UNSUPPORTED_XSL_ERR, _locator.getLineNumber(),local); element.setErrorMessage(msg); }
reportError(UNSUPPORTED,msg); }
    public SyntaxTreeNode makeInstance(String uri, String prefix, 	String local, Attributes attributes)    {	SyntaxTreeNode node = null;	QName  qname = getQName(uri, prefix, local);	String className = (String)_instructionClasses.get(qname);	if (className != null) {	    try {		final Class clazz = ObjectFactory.findProviderClass(                    className, ObjectFactory.findClassLoader(), true);		node = (SyntaxTreeNode)clazz.newInstance();		node.setQName(qname);		node.setParser(this);		if (_locator != null) {		    node.setLineNumber(_locator.getLineNumber());		}		if (node instanceof Stylesheet) {		    _xsltc.setStylesheet((Stylesheet)node);		}		checkForSuperfluousAttributes(node, attributes);	    }	    catch (ClassNotFoundException e) {		ErrorMsg err = new ErrorMsg(ErrorMsg.CLASS_NOT_FOUND_ERR, node);		reportError(ERROR, err);	    }	    catch (Exception e) {		ErrorMsg err = new ErrorMsg(ErrorMsg.INTERNAL_ERR,					    e.getMessage(), node);		reportError(FATAL, err);	    }	}	else {	    if (uri != null) {		// Check if the element belongs in our namespace		if (uri.equals(XSLT_URI)) {		    node = new UnsupportedElement(uri, prefix, local);		    UnsupportedElement element = (UnsupportedElement)node;		    if (versionIsOne) {		    	ErrorMsg msg = new ErrorMsg(ErrorMsg.UNSUPPORTED_XSL_ERR,						_locator.getLineNumber(),local);		    	element.setErrorMessage(msg);		    }		}		// Check if this is an XSLTC extension element		else if (uri.equals(TRANSLET_URI)) {		    node = new UnsupportedElement(uri, prefix, local);		    UnsupportedElement element = (UnsupportedElement)node;		    ErrorMsg msg = new ErrorMsg(ErrorMsg.UNSUPPORTED_EXT_ERR,						_locator.getLineNumber(),local);		    element.setErrorMessage(msg);		}		// Check if this is an extension of some other XSLT processor		else {		    Stylesheet sheet = _xsltc.getStylesheet();		    if ((sheet != null) && (sheet.isExtension(uri))) {			if (sheet != (SyntaxTreeNode)_parentStack.peek()) {			    node = new UnsupportedElement(uri, prefix, local);			    UnsupportedElement elem = (UnsupportedElement)node;			    ErrorMsg msg =				new ErrorMsg(ErrorMsg.UNSUPPORTED_EXT_ERR,					     _locator.getLineNumber(),					     prefix+":"+local);			    elem.setErrorMessage(msg);			}		    }		}	    }	    if (node == null) node = new LiteralElement();	}	if ((node != null) && (node instanceof LiteralElement)) {	    ((LiteralElement)node).setQName(qname);	}	return(node);    }