void (final XmlTag rootTag, Processor<? super XmlTag> processor) { if ("definitions".equals(rootTag.getLocalName())) { final String nsPrefix = rootTag.getNamespacePrefix(); final String types = nsPrefix.isEmpty() ? "types" : nsPrefix + ":types"; final XmlTag subTag = rootTag.findFirstSubTag(types); if (subTag != null) { for (int i = 0; i < XmlUtil.SCHEMA_URIS.length; i++) { final XmlTag[] tags = subTag.findSubTags("schema", XmlUtil.SCHEMA_URIS[i]); for (XmlTag t : tags) { if (!processor.process(t)) return; } } } } }