@Override
    public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
        if ("http://www.w3.org/1999/xhtml" == uri) {
            int index = atts.getIndex("", "id");
            if (index != -1 && "ID" != atts.getType(index)) {
                AttributesImpl ai = new AttributesImpl(atts);
                ai.setType(index, "ID");
                super.startElement(uri, localName, qName, ai);
            } else {
                super.startElement(uri, localName, qName, atts);                
            }
        } else {
            super.startElement(uri, localName, qName, atts);
        }
    }
@see org.xml.sax.helpers.XMLFilterImpl#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
src/nu/validator/xml/XhtmlIdFilter.java