docs: @Override
      public void startElement(final String uri, final String localName, final String qName, final Attributes atts)
              throws SAXException {
          String d = atts.getValue(ATTRIBUTE_NAME_DOMAINS);
          if (d != null) {
              domains.addFirst(StringUtils.getExtProps(d));
          } else {
              domains.addFirst(domains.peekFirst());
          }
          AttributesImpl modified;
          modified = validateLang(atts, null);
          modified = validateId(localName, atts, modified);
          modified = validateReference(ATTRIBUTE_NAME_HREF, atts, modified);
          modified = validateReference(ATTRIBUTE_NAME_CONREF, atts, modified);
          modified = validateScope(atts, modified);
          modified = processFormatDitamap(atts, modified);
          validateKeys(atts);
          validateKeyscope(atts);
          validateAttributeValues(qName, atts);
          validateAttributeGeneralization(atts);
  
          super.startElement(uri, localName, qName, modified != null ? modified : atts);
      }