@SuppressWarnings("deprecation")
    @Override
    public void startElement(String uri, String localName, String qName,
            Attributes atts) throws SAXException {
        flush();
        if (startsWithComposingChar(localName)) {
            warn("Element name \u201C " + localName
                    + "\u201D starts with a composing character.");
        }

        int len = atts.getLength();
        for (int i = 0; i < len; i++) {
            String name = atts.getLocalName(i);
            if (startsWithComposingChar(name)) {
                warn("Attribute name \u201C " + localName
                        + "\u201D starts with a composing character.");
            }

            String value = atts.getValue(i);
            if (!"".equals(value)) {
                if (startsWithComposingChar(value)) {
                    warn("The value of attribute \u201C"
                            + atts.getLocalName(i)
                            + "\u201D"
                            + ("".equals(atts.getURI(i)) ? ""
                                    : " in namespace \u201C" + atts.getURI(i)
                                            + "\u201D") + " on element \u201C"
                            + localName + "\u201D from namespace \u201C" + uri
                            + "\u201D starts with a composing character.");
                } else if (!Normalizer.isNormalized(value, Normalizer.NFC, 0)) {
                    warn("The value of attribute \u201C"
                            + atts.getLocalName(i)
                            + "\u201D"
                            + ("".equals(atts.getURI(i)) ? ""
                                    : " in namespace \u201C" + atts.getURI(i)
                                            + "\u201D") + " on element \u201C"
                            + localName + "\u201D from namespace \u201C" + uri
                            + "\u201D is not in Unicode Normalization Form C.");
                }
            }
        }
    }
@see nu.validator.checker.Checker#startElement(java.lang.String,
     java.lang.String, java.lang.String, org.xml.sax.Attributes)
src/nu/validator/checker/NormalizationChecker.java