private static String newAsciiUpperCaseStringFromString(String str) {
        if (str == null) {
            return null;
        }
        char[] buf = new char[str.length()];
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (c >= 'a' && c <= 'z') {
                c -= 0x20;
            }
            buf[i] = c;
        }
        return new String(buf);
    }
Collect a set of attribues and values from the data part of a PI.

<p>
The bulk of this method and associated methods that follow it here are
copied from the nu.validator.htmlparser.impl.Tokenizer class, with
appropriate modifications.
</p>

@see nu.validator.htmlparser.impl.Tokenizer
@see nu.validator.htmlparser.impl.ErrorReportingTokenizer
src/nu/validator/checker/XmlPiChecker.java