docs: public static void collectIdAttributes(final DocBookVersion docBookVersion, final SpecTopic topic, final Node node,
              final Map<SpecTopic, Set<String>> usedIdAttributes) {
          final NamedNodeMap attributes = node.getAttributes();
          if (attributes != null) {
              final Node idAttribute;
              if (docBookVersion == DocBookVersion.DOCBOOK_50) {
                  idAttribute = attributes.getNamedItem("xml:id");
              } else {
                  idAttribute = attributes.getNamedItem("id");
              }
              if (idAttribute != null) {
                  final String idAttributeValue = idAttribute.getNodeValue();
                  if (!usedIdAttributes.containsKey(topic)) {
                      usedIdAttributes.put(topic, new HashSet<String>());
                  }
                  usedIdAttributes.get(topic).add(idAttributeValue);
              }
          }
  
          final NodeList elements = node.getChildNodes();
          for (int i = 0; i < elements.getLength(); ++i) {
              collectIdAttributes(docBookVersion, topic, elements.item(i), usedIdAttributes);
          }
      }