public static final AttributeType getAttributeType(String typeName) {
		if (typeName == null) {
			return UNDECLARED;
		}
		
		try {
			return valueOf(typeName);
		} catch (IllegalArgumentException iae) {
			if (typeName.length() > 0 &&
					typeName.trim().charAt(0) == '(') {
				// Xerces 1.4.X reports attributes of enumerated type with
				// a type string equals to the enumeration definition, i.e.
				// starting with a parenthesis.
				return ENUMERATION;
			}
			return UNDECLARED;
		}
		
	}