DefaultElementLocatorProvider
Implementation
The DefaultElementLocatorProvider
implementation offers support for the
most common types of links:
-
Links based on ID attribute values.
-
XPointer element() scheme.
The method getElementLocator
determines what
ElementLocator
should be used. In the default implementation, it checks
if the link is an XPointer element() scheme. Otherwise, it assumes it is an ID. A
non-null
IDTypeVerifier
will always be provided if a schema is associated with the
document type.
The link
string argument is the "anchor" part of the of the URL that is
composed from the value of the link property specified for the link element in the
CSS.
public ElementLocator getElementLocator(IDTypeVerifier idVerifier, String link) { ElementLocator elementLocator = null; try { if(link.startsWith("element(")){ // xpointer element() scheme elementLocator = new XPointerElementLocator(idVerifier, link); } else { // Locate link element by ID elementLocator = new IDElementLocator(idVerifier, link); } } catch (ElementLocatorException e) { logger.warn("Exception when create element locator for link: " + link + ". Cause: " + e, e); } return elementLocator; }