private static boolean canAttributeValueBeUnquoted(
            final char[] buffer,
            final int valueContentOffset, final int valueContentLen,
            final int valueOuterOffset, final int valueOuterLen) {

        if (valueContentLen == 0 || valueOuterLen == valueContentLen) {
            // Cannot be unquoted -- value is empty or already has no quotes!
            return false;
        }

        char c;

        int i = valueContentOffset;
        int n = valueContentLen;

        while (n-- != 0) {

            c = buffer[i];

            if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9'))) {
                return false;
            }

            i++;

        }

        return true;

    }