docs: @Override
      public void startElement(final String uri, final String localName, final String name,
              final Attributes atts) throws SAXException {
          if (TOPIC_IMAGE.matches(atts) || SVG_D_SVGREF.matches(atts)) {
              final XMLUtils.AttributesBuilder a = new XMLUtils.AttributesBuilder(atts);
              final URI href = toURI(atts.getValue(ATTRIBUTE_NAME_HREF));
              if (href != null) {
                  final URI imgInput = getImageFile(href);
                  if (imgInput != null) {
                      Attributes m = cache.computeIfAbsent(imgInput, this::readMetadata);
                      a.addAll(m);
                  } else {
                      logger.error("Image file " + href + " not found");
                  }
              }
              depth = 1;
              super.startPrefixMapping(DITA_OT_NS_PREFIX, DITA_OT_NS);
              super.startElement(uri, localName, name, a.build());
          } else {
              if (depth > 0) {
                  depth++;
              }
              super.startElement(uri, localName, name, atts);
          }
      }