public static String shortToLong( String name, Map<String,String> nsAbbreviations ) throws XMLParseException {
		int lo = name.indexOf(':');
		String nsShort, subName;
		if( lo == -1 ) {
			nsShort = "";
			subName = name;
		} else if( lo < 1 || lo == name.length()-1 ) {
			throw new XMLParseException("Can't parse '" + name + "' as namespace name + postfix");
		} else {
			nsShort = name.substring(0,lo);
			subName = name.substring(lo+1);
		}
		String nsLong = (String)nsAbbreviations.get(nsShort);
		if( nsLong == null ) {
			if( "".equals(nsShort) ) {
				throw new XMLParseException("No default namespace for '" + name + "'");
			} else {
				throw new XMLParseException("Unknown namespace name '" + nsShort + "'");
			}
		}
		return nsLong + subName;
	}