void (Map<String, Integer> result, PsiFile file) { if (file instanceof HtmlCompatibleFile) { new XmlRecursiveElementWalkingVisitor() { @Override public void visitXmlAttribute(@NotNull XmlAttribute attribute) { super.visitXmlAttribute(attribute); if ("id".equals(attribute.getName())) { String value = attribute.getValue(); XmlAttributeValue valueElement = attribute.getValueElement(); if (valueElement != null && StringUtil.isNotEmpty(value)) { result.put(value, valueElement.getTextRange().getStartOffset() + attribute.getValueTextRange().getStartOffset()); } } } }.visitFile(file); } }