if ( n1.getLiteralDatatype() != null )
{
// n1 is an xsd string by checkAndGetString
if ( XSDDatatype.XSDstring.equals(n2.getLiteralDatatypeURI()) ) return ;
if ( n2.getLiteralLanguage().equals("") ) return ;
throw new ExprEvalException(label+": Incompatible: "+arg1+" and "+arg2) ;
}
// Incompatible?
// arg1 simple or xsd:string, arg2 has a lang.
if ( lang1.equals("") && ! lang2.equals("") )
throw new ExprEvalException(label+": Incompatible: "+arg1+" and "+arg2) ;
// arg1 with lang, arg2 has a different lang.
if ( ! lang1.equals("") && (!lang2.equals("") && ! lang1.equals(lang2) ) )
throw new ExprEvalException(label+": Incompatible: "+arg1+" and "+arg2) ;
}