C++ XPATH与XSLPattern的向后兼容性

C++ XPATH与XSLPattern的向后兼容性,c++,xml,xpath,msxml,C++,Xml,Xpath,Msxml,我的理解是,所有XSLPattern查询的工作方式都与XPath查询相同,但不一定相反。是否有人可以确认这一点,或者是否有人链接到某些Microsoft文档来确认这一点 在我管理的一些代码的不同部分中,我将MSXML文档的选择语言更改为XPath,我只是想确保我不会破坏最初作为XSLPattern查询编写的查询。据我所知,有一些表达式作为XSLPattern有效,可以通过selectNodes/selectSingleNode执行,但作为XPath执行时会抛出错误1.0表达式。比如这个例子 va

我的理解是,所有XSLPattern查询的工作方式都与XPath查询相同,但不一定相反。是否有人可以确认这一点,或者是否有人链接到某些Microsoft文档来确认这一点


在我管理的一些代码的不同部分中,我将MSXML文档的选择语言更改为XPath,我只是想确保我不会破坏最初作为XSLPattern查询编写的查询。

据我所知,有一些表达式作为
XSLPattern
有效,可以通过
selectNodes/selectSingleNode
执行,但作为
XPath执行时会抛出错误1.0
表达式。比如这个例子

var doc = new ActiveXObject('Msxml2.DOMDocument.3.0');
doc.loadXML('<root><item>1</item><item>2</item></root>');
var item = doc.selectSingleNode('root/item[end()]');
WScript.Echo(item.xml);

doc.setProperty('SelectionLanguage', 'XPath');
item = doc.selectSingleNode('root/item[end()]');
哪个输出

<item>2</item>
<item>12</item>
2
12
XSLPattern似乎使基于字符串的
大于比较,而XPath 1.0只支持数字比较,并自动将参数转换为该类型

<item>2</item>
<item>12</item>