IssueRaiser

System.Xml.XPath to support XPath 2, XPath 3 and their XSLT variants

#### Motivation `System.Xml.XPath` currently conforms with XPath 1.0 [<sup>[W3C-xpath-1]</sup>](http://www.w3.org/TR/xpath/) and XSLT 1.0 [<sup>[W3C-xslt-1]</sup>](http://www.w3.org/TR/xslt/) standards, but not XPath 2.0 [<sup>[W3C-xpath-2]</sup>](http://www.w3.org/TR/xpath20/), XPath 3.0 [<sup>[W3C-xpath-3]</sup>](http://www.w3.org/TR/xpath-30/), XPath 3.1 [<sup>[W3C-xpath-3.1]</sup>](http://www.w3.org/TR/xpath-31/), XSLT 2.0 [<sup>[W3C-xslt-2]</sup>](http://www.w3.org/TR/xslt20/) and XSLT 3.0 [<sup>[W3C-xslt-3]</sup>](http://www.w3.org/TR/xslt-30/). The missing standard implementations in BCL are required by many consumer scenarios, for which .NET applications rely on [third party libraries](http://stackoverflow.com/a/1533114/863980). One of the chief scenario is Content Query Web Part (CQWP) in SharePoint, where the users' XSLT code can be drastically minimized if v2 is supported by `System.Xml.XPath`. As for most parts, there are backward compatibility fallbacks available, that is; the code written in XSLT 2 precisely, can be expressed verbosely in XSLT 1 and since so forth. ### Pitfalls Unfortunately, (besides the existing third-party libraries' APIs) I do not have an off-hand -- concrete -- method list to propose, as it requires further brain-storming on whether to auto-select processor based on the input or to explicitly separate the namespaces (`System.Xml.XPath2` and `System.Xml.XPath3`). The point to ponder being; since the sub-languages XPath 2 and XPath 3 in

Posted by am11 on Jul 9, 2015, 11:22 PM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.5,500 issues0 comments

support (Other)

System.Xml.XPath to support XPath 2, XPath 3 and their XSLT variants

am11Jul 9, 2015, 11:22 PM

#### Motivation `System.Xml.XPath` currently conforms with XPath 1.0 [<sup>[W3C-xpath-1]</sup>](http://www.w3.org/TR/xpath/) and XSLT 1.0 [<sup>[W3C-xslt-1]</sup>](http://www.w3.org/TR/xslt/) standards, but not XPath 2.0 [<sup>[W3C-xpath-2]</sup>](http://www.w3.org/TR/xpath20/), XPath 3.0 [<sup>[W3C-xpath-3]</sup>](http://www.w3.org/TR/xpath-30/), XPath 3.1 [<sup>[W3C-xpath-3.1]</sup>](http://www.w3.org/TR/xpath-31/), XSLT 2.0 [<sup>[W3C-xslt-2]</sup>](http://www.w3.org/TR/xslt20/) and XSLT 3.0 [<sup>[W3C-xslt-3]</sup>](http://www.w3.org/TR/xslt-30/). The missing standard implementations in BCL are required by many consumer scenarios, for which .NET applications rely on [third party libraries](http://stackoverflow.com/a/1533114/863980). One of the chief scenario is Content Query Web Part (CQWP) in SharePoint, where the users' XSLT code can be drastically minimized if v2 is supported by `System.Xml.XPath`. As for most parts, there are backward compatibility fallbacks available, that is; the code written in XSLT 2 precisely, can be expressed verbosely in XSLT 1 and since so forth. ### Pitfalls Unfortunately, (besides the existing third-party libraries' APIs) I do not have an off-hand -- concrete -- method list to propose, as it requires further brain-storming on whether to auto-select processor based on the input or to explicitly separate the namespaces (`System.Xml.XPath2` and `System.Xml.XPath3`). The point to ponder being; since the sub-languages XPath 2 and XPath 3 in

Comments (0)

No comments yet. Start the discussion.

Comment on this issue