作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
据我了解,所有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()]');
end()
语言中定义的
the XSLPattern
function,因此只要选择语言是XSLPattern,它就可以正常工作,但是由于XPath 1.0中没有这样的功能,因此在最后一行抛出异常,您将其写为
root/item[position() = last()]
。
var doc = new ActiveXObject('Msxml2.DOMDocument.3.0');
doc.loadXML('<root><item>1</item><item>2</item><item>12</item></root>');
var expression = 'root/item[. > "10"]';
var item = doc.selectSingleNode(expression);
WScript.Echo(item.xml);
doc.setProperty('SelectionLanguage', 'XPath');
item = doc.selectSingleNode(expression);
WScript.echo(item.xml);
<item>2</item>
<item>12</item>
>
大于比较,而XPath 1.0仅支持数字比较并自动将参数转换为该类型。
关于c++ - XPATH与XSLPattern向后兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26847922/
我是一名优秀的程序员,十分优秀!