This is some text
var de = ds.getPointer().xpathQuery("a/");
assertEquals("object", typeof de);
assertEquals("a1", de.getAttr('name'));
var de = ds.getPointer().xpathQuery("a/text()");
assertEquals("string", typeof de);
assertEquals("This is some text", de);
var de = ds.getPointer().xpathQuery("a/@name");
assertEquals("string", typeof de);
assertEquals("a1", de);
this.addTest("testPath");
this.addTest("testText");
this.addTest("testAttr");
var de = ds.getPointer().xpathQuery("a/");
assertEquals("object", typeof de);
assertEquals(3, de.length);
assertEquals("a1", de[0].getAttr('name'));
assertEquals("a2", de[1].getAttr('name'));
assertEquals("a3", de[2].getAttr('name'));
var de = ds.getPointer().xpathQuery("a[2]/");
assertEquals("object", typeof de);
assertEquals("a2", de.getAttr('name'));
var de = ds.getPointer().xpathQuery("a[2-3]/");
assertEquals("object", typeof de);
assertEquals(2, de.length);
assertEquals("a2", de[0].getAttr('name'));
assertEquals("a3", de[1].getAttr('name'));
var de = ds.getPointer().xpathQuery("a[2-]/");
assertEquals("object", typeof de);
assertEquals(2, de.length);
assertEquals("a2", de[0].getAttr('name'));
assertEquals("a3", de[1].getAttr('name'));
var de = ds.getPointer().xpathQuery("a[-2]/");
assertEquals("object", typeof de);
assertEquals(2, de.length);
assertEquals("a1", de[0].getAttr('name'));
assertEquals("a2", de[1].getAttr('name'));
var de = ds.getPointer().xpathQuery("a[@show]/");
assertEquals("object", typeof de);
assertEquals(2, de.length);
assertEquals("a2", de[0].getAttr('name'));
assertEquals("a3", de[1].getAttr('name'));
var de = ds.getPointer().xpathQuery("a[@name='a2']/");
assertEquals("object", typeof de);
assertEquals("a2", de.getAttr('name'));
this.addTest("testMulti");
this.addTest("testIndexSelect");
this.addTest("testRangeSelect");
this.addTest("testRangeSelectOpenEnd");
this.addTest("testRangeSelectOpenStart");
this.addTest("testAttrSelect");
this.addTest("testAttrValueSelect");
var de = ds.getPointer().xpathQuery("a/*/c/");
assertEquals("object", typeof de);
assertEquals("c3", de.getAttr('name'));
var de = ds.getPointer().xpathQuery("a/last()");
assertEquals("number", typeof de);
assertEquals(2, de);
this.addTest("testWildcardSelect");
this.addTest("testLastAttr");