* comparing between files
*/
fPrefixValueRegionToDocumentRegionMap.clear();
fTaglibPrefixesInUse.clear();
IRegionComparible comparer = null;
if (sDoc instanceof IRegionComparible)
comparer = (IRegionComparible) sDoc;
// iterate all document regions
IStructuredDocumentRegion region = sDoc.getFirstStructuredDocumentRegion();
while (region != null && !reporter.isCancelled()) {
// only checking directives
if (region.getType() == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) {
processDirective(reporter, f, sDoc, region);
}
// requires tag name, attribute, equals, and value
else if (comparer != null && region.getNumberOfRegions() > 4) {
ITextRegion nameRegion = region.getRegions().get(1);
if (comparer.regionMatches(region.getStartOffset(nameRegion), nameRegion.getTextLength(), "jsp:include")) { //$NON-NLS-1$
processInclude(reporter, f, sDoc, region, JSP11Namespace.ATTR_NAME_PAGE);
}
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=295950
else if (comparer.regionMatches(region.getStartOffset(nameRegion), 14, "jsp:directive.")) { //$NON-NLS-1$
processDirective(reporter, f, sDoc, region);
}
}
region = region.getNext();