[
https://issues.apache.org/jira/browse/CAMEL-14155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Luigi De Masi updated CAMEL-14155:
----------------------------------
Description:
despite [XPath API
spec|https://docs.oracle.com/javase/8/docs/api/javax/xml/xpath/XPathExpression.html#evaluate-java.lang.Object-javax.xml.namespace.QName-]
states:
{quote}If a null value is provided for item, an empty document will be used for
the context
{quote}
saxon, starting from 9.6, they decided to ignore it and throw NPE if the node
is null, from [saxon
javadoc|https://www.saxonica.com/html/documentation9.8/javadoc/net/sf/saxon/xpath/XPathExpressionImpl.html#evaluate-java.lang.Object-javax.xml.namespace.QName-]:
{quote}Contrary to the interface specification, Saxon does not supply an empty
document when the value is null. This is because XPath 2.0 allows the context
item to be "absent" (null). So Saxon executes the XPath expression with the
context item undefined.
{quote}
So in case of xpath expression is executed against a null body or header,
saxon throws an NPE
was:
despite [XPath API
spec|https://docs.oracle.com/javase/8/docs/api/javax/xml/xpath/XPathExpression.html#evaluate-java.lang.Object-javax.xml.namespace.QName-]
states:
{quote}If a null value is provided for item, an empty document will be used for
the context
{quote}
saxon, starting from 9.6, they decided to ignore it and throw NPE if the node
is null, from [saxon
javadoc|https://www.saxonica.com/html/documentation9.8/javadoc/net/sf/saxon/xpath/XPathExpressionImpl.html#evaluate-java.lang.Object-javax.xml.namespace.QName-]:
{quote}Contrary to the interface specification, Saxon does not supply an empty
document when the value is null. This is because XPath 2.0 allows the context
item to be "absent" (null). So Saxon executes the XPath expression with the
context item undefined.
{quote}
So in case of xpath expression is executed against a null body or header, it
throws an NPE
> xpath throws NPE if body is null when saxon is used as JAXP implementation
> --------------------------------------------------------------------------
>
> Key: CAMEL-14155
> URL: https://issues.apache.org/jira/browse/CAMEL-14155
> Project: Camel
> Issue Type: Bug
> Components: came-core
> Reporter: Luigi De Masi
> Priority: Major
>
> despite [XPath API
> spec|https://docs.oracle.com/javase/8/docs/api/javax/xml/xpath/XPathExpression.html#evaluate-java.lang.Object-javax.xml.namespace.QName-]
> states:
>
> {quote}If a null value is provided for item, an empty document will be used
> for the context
> {quote}
> saxon, starting from 9.6, they decided to ignore it and throw NPE if the node
> is null, from [saxon
> javadoc|https://www.saxonica.com/html/documentation9.8/javadoc/net/sf/saxon/xpath/XPathExpressionImpl.html#evaluate-java.lang.Object-javax.xml.namespace.QName-]:
>
> {quote}Contrary to the interface specification, Saxon does not supply an
> empty document when the value is null. This is because XPath 2.0 allows the
> context item to be "absent" (null). So Saxon executes the XPath expression
> with the context item undefined.
> {quote}
>
> So in case of xpath expression is executed against a null body or header,
> saxon throws an NPE
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)