code: private void setXPathCharacteristics(IdentifierImpl identifier)
      throws InvalidXPathSyntaxException
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        tc.entry(cclass,
                 "setXPathCharacteristics",
                 "identifier: " + identifier);
      
      // Need to set the domain to XPATH1.0
      identifier.setSelectorDomain(2);
  
      // Set the locationStep also
      identifier.setStep(locationStep);
      
      // Call XPath to compile the XPath1.0 expression and store the
      // resultant XPathExpression in the Identifier.
      XPathExpression xpexp = null;
      
      try
      {
        // Parse an expression up-front
        Node node = null;
        NodeList ns = null;
        XPath xpath0 = XPathFactory.newInstance().newXPath();
        
        // If a namespace context has been set then set it into the XPath env
        if(namespaceContext != null)
          xpath0.setNamespaceContext(namespaceContext);
        
        xpexp = xpath0.compile(identifier.getName());
      }
      catch (Exception ex)
      {
        // No FFDC Code Needed.
        // We don't FFDC because we'll catch this exception and then attempt
        // to parse the entire expression. If that fails, then we FFDC.
   
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          tc.exit(this,cclass, "setXPathCharacteristics", ex);   
       
        throw new InvalidXPathSyntaxException(identifier.getName());
      }
  
      // Store xpexp in the Identifier    
      identifier.setCompiledExpression(xpexp);
      
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        tc.exit(this,cclass, "setXPathCharacteristics");     
    }
docs: Configure the Identifier with appropriate XPath parameters.
  
  @param identifier
  @throws InvalidXPathSyntaxException