title: Apache Camel Xpath 2.0 with Saxon does not look to work in RouteBuilder / Predicates
body: <p>I am using ServiceMix 4.5.3 which includes Camel 2.10.7 and I am able to make XSLT 2.0 transformations with the Saxon library using the option endpoint like this:</p>
  
  <pre><code>...
  to("xslt:stylesheet.xsl?transformerFactoryClass=net.sf.saxon.TransformerFactoryImpl")
  ...
  </code></pre>
  
  <p>However when I try to use the xpath function like this:</p>
  
  <pre><code>private Namespaces ourNS = new Namespaces("myns",
          "urn:com:company:domain:namespace:myns/1");
  
  // ... some code ...
  
  // Make a predicate to filter according a header : 
  // The code attribute looks like: urn:phone:apple:iphone:4s
  Predicate isNotSamePhoneBrand = PredicateBuilder.isNotEqualTo(
          xpath("tokenize(/myns:Phone/@code, ':')[3]").namespaces(ourNS),
          header("PhoneBrand"));
  </code></pre>
  
  <p>If I execute the above code it says the tokenize() function is unknown. I guess it is because it still uses xalan (xpath 1.0) instead Saxon.</p>
  
  <p>I also tried as well to append the .saxon() as in the Camel documentation</p>
  
  <pre><code>Predicate isNotSamePhoneBrand = PredicateBuilder.isNotEqualTo(
          xpath("tokenize(/myns:Phone/@code, ':')[3]").namespaces(ourNS).saxon(),
          header("PhoneBrand"));
  </code></pre>
  
  <p>But it makes an error that he cannot find the Saxon implementation factory:</p>
  
  <pre><code>Caused by: javax.xml.xpath.XPathFactoryConfigurationException: No XPathFctory implementation found for the object model: http://saxon.sf.net/jaxp/xpath/om
  </code></pre>
  
  <p>In my OSGI context I verified that both <code>camel-saxon</code> and <code>Apache ServiceMix :: Bundles :: saxon9he (9.3.0.11_2)</code> are deployed.</p>
  
  <p>We are planning to upgrade to ServiceMix 5 soon but I do not know if this problem is still there or not, a solution for the version 4.5.3 would be better for me.</p>