52 lines
1.8 KiB
HTML
52 lines
1.8 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../../resources/js-test-pre.js"></script>
|
|
<script src="../xpath-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
var doc = (new DOMParser).parseFromString(
|
|
'<doc id="0">' +
|
|
'<item id="1" />' +
|
|
'<group id="g1">' +
|
|
'<item id="2" />' +
|
|
'<group id="g2">' +
|
|
'<item id="3" />' +
|
|
'</group>' +
|
|
'<item id="4" />' +
|
|
'<item id="5" />' +
|
|
'</group>' +
|
|
'<item id="6" />' +
|
|
'<choice index="2" />' +
|
|
'</doc>',
|
|
'application/xml');
|
|
|
|
var ROOT = doc.documentElement;
|
|
var I1 = ROOT.firstChild;
|
|
var G1 = I1.nextSibling;
|
|
var I2 = G1.firstChild;
|
|
var G2 = I2.nextSibling;
|
|
var I3 = G2.firstChild;
|
|
var I4 = G2.nextSibling;
|
|
var I5 = I4.nextSibling;
|
|
var I6 = G1.nextSibling;
|
|
|
|
test(doc, doc.documentElement, '//item[@id >= 2 and @id <= 4]', [I2, I3, I4]);
|
|
test(doc, doc.documentElement, '/doc/child::item[1]', [I1]);
|
|
test(doc, doc.documentElement, '//group[@id="g2"]/ancestor::*[1]', [G1]);
|
|
test(doc, doc.documentElement, '//item[@id="2"]/following-sibling::item[1]', [I4]);
|
|
test(doc, doc.documentElement, '//item[@id="5"]/preceding-sibling::item[1]', [I4]);
|
|
test(doc, doc.documentElement, '//group[@id="g2"]/following::item[1]', [I4]);
|
|
test(doc, doc.documentElement, '//group[@id="g2"]/preceding::item[1]', [I2]);
|
|
test(doc, doc.documentElement, '//group[@id="g1"]/descendant-or-self::item[1]', [I2]);
|
|
test(doc, doc.documentElement, '//group[@id="g2"]/ancestor-or-self::*[1]', [G2]);
|
|
test(doc, doc.documentElement, '//group/descendant::item[number(//choice/@index)*2]', [I5]);
|
|
test(doc, doc.documentElement, '(//item[@id="5"]/preceding-sibling::item)[1]', [I2]);
|
|
|
|
</script>
|
|
<script src="../../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|