Modified: xmlbeans/trunk/test/src/xmlcursor/xpath/complex/detailed/XPathTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/test/src/xmlcursor/xpath/complex/detailed/XPathTest.java?rev=1877931&r1=1877930&r2=1877931&view=diff ============================================================================== --- xmlbeans/trunk/test/src/xmlcursor/xpath/complex/detailed/XPathTest.java (original) +++ xmlbeans/trunk/test/src/xmlcursor/xpath/complex/detailed/XPathTest.java Tue May 19 20:10:55 2020 @@ -16,1180 +16,206 @@ package xmlcursor.xpath.complex.detailed; import org.apache.xmlbeans.XmlCursor; +import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.XmlObject; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameter; import tools.util.JarUtil; import xmlcursor.common.BasicCursorTestCase; import xmlcursor.xpath.common.XPathCommon; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + /** * Verifies XPath impl using examples from * http://www.zvon.org/xxl/XPathTutorial/Output/example1.html * includes expanded notations as well * */ +@RunWith(Parameterized.class) public class XPathTest extends BasicCursorTestCase { - static String fixPath(String path) - { - // return "$this" + path; - return path; - } - - @Test - public void testZvonExample1() throws Exception { - System.out.println("====== Example-1 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon1.xml")); - - String ex1Simple = "/AAA"; - String ex1Expanded = ""; - - String ex1R1 = "<AAA><BBB/><CCC/><BBB/><BBB/><DDD><BBB/></DDD><CCC/></AAA>"; - XmlObject[] exXml1 = new XmlObject[]{XmlObject.Factory.parse(ex1R1)}; - - String ex2Simple = "/AAA/CCC"; - String ex2Expanded = ""; - - String ex2R1 = "<CCC/>"; - - XmlObject[] exXml2 = new XmlObject[]{XmlObject.Factory.parse(ex2R1), - XmlObject.Factory.parse(ex2R1)}; - - - String ex3Simple = "/AAA/DDD/BBB"; - String ex3Expanded = ""; - - //<BBB/><CCC/></AAA> - String ex3R1 = "<BBB/>"; - XmlObject[] exXml3 = new XmlObject[]{XmlObject.Factory.parse(ex3R1)}; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - XPathCommon.compare(x1, exXml1); - x1.dispose(); - - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - XPathCommon.compare(x2, exXml2); - x2.dispose(); - - - System.out.println("Test 3: " + ex3Simple); - XmlCursor x3 = xDoc.newCursor(); - x3.selectPath(fixPath(ex3Simple)); - XPathCommon.compare(x3, exXml3); - x3.dispose(); - } - - @Test - public void testZvonExample2() throws Exception { - System.out.println("====== Example-2 =========="); - - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon2.xml")); - String ex1Simple = "//BBB"; - String ex1Expanded = ""; - - String ex1R1 = "<BBB/>"; // * 5 - XmlObject[] exXml1 = new XmlObject[]{XmlObject.Factory.parse(ex1R1), - XmlObject.Factory.parse(ex1R1), - XmlObject.Factory.parse(ex1R1), - XmlObject.Factory.parse(ex1R1), - XmlObject.Factory.parse(ex1R1)}; - - String ex2Simple = "//DDD/BBB"; - String ex2Expanded = ""; - XmlObject[] exXml2 = new XmlObject[]{XmlObject.Factory.parse(ex1R1), - XmlObject.Factory.parse(ex1R1), - XmlObject.Factory.parse(ex1R1)}; + @Parameter + public int dataset; + @Parameter(value = 1) + public String xpath; + @Parameter(value = 2) + public String[] expected = null; + + @Parameterized.Parameters(name = "{index}: zvon{0}.xml {1}") + public static Collection<Object[]> data() { + final List<Object[]> data = new ArrayList<>(); + add(data, 1, "/AAA", "<AAA><BBB/><CCC/><BBB/><BBB/><DDD><BBB/></DDD><CCC/></AAA>"); + add(data, 1, "/AAA/CCC", "<CCC/>", "<CCC/>"); + add(data, 1, "/AAA/DDD/BBB", "<BBB/>"); + add(data, 2, "//BBB", "<BBB/>", "<BBB/>", "<BBB/>", "<BBB/>", "<BBB/>"); + add(data, 2, "//DDD/BBB", "<BBB/>", "<BBB/>", "<BBB/>"); - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - XPathCommon.compare(x1, exXml1); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - XPathCommon.compare(x2, exXml2); - x2.dispose(); - } + add(data, 3, "/AAA/CCC/DDD/*", "<BBB/>", "<BBB/>", "<EEE/>", "<FFF/>"); + add(data, 3, "/*/*/*/BBB", "<BBB/>", "<BBB/>", "<BBB/>", "<BBB/>", "<BBB><BBB/></BBB>"); - @Test - public void testZvonExample3() throws Exception { - System.out.println("====== Example-3 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon3.xml")); - String ex1Simple = "/AAA/CCC/DDD/*"; - String ex1R1 = "<BBB/>"; // * 5 - String ex1R2 = "<EEE/>"; - String ex1R3 = "<FFF/>"; - - XmlObject[] exXml1 = new XmlObject[]{XmlObject.Factory.parse(ex1R1), - XmlObject.Factory.parse(ex1R1), - XmlObject.Factory.parse(ex1R2), - XmlObject.Factory.parse(ex1R3)}; - String ex2Simple = "/*/*/*/BBB"; - String ex2R1 = "<BBB/>"; // * 5 - String ex2R2 = "<BBB><BBB/></BBB>"; - XmlObject[] exXml2 = new XmlObject[]{XmlObject.Factory.parse(ex2R1), - XmlObject.Factory.parse(ex2R1), - XmlObject.Factory.parse(ex2R1), - XmlObject.Factory.parse(ex2R1), - XmlObject.Factory.parse(ex2R2)}; - String ex3Simple = "//*"; - /* String ex3R0 = "<AAA><XXX><DDD><BBB/><BBB/><EEE/><FFF/></DDD></XXX><CCC><DDD><BBB/><BBB/><EEE/><FFF/></DDD></CCC><CCC><BBB><BBB><BBB/></BBB></BBB></CCC></AAA>"; - String ex3R1 = "<XXX><DDD><BBB/><BBB/><EEE/><FFF/></DDD></XXX>"; - String ex3R2 = "<CCC><DDD><BBB/><BBB/><EEE/><FFF/></DDD></CCC>"; - String ex3R3 = "<CCC><BBB><BBB><BBB/></BBB></BBB></CCC>"; - String ex3R4 = "<DDD><BBB/><BBB/><EEE/><FFF/></DDD>"; - String ex3R5 = "<DDD><BBB/><BBB/><EEE/><FFF/></DDD>"; - String ex3R6 = "<BBB><BBB><BBB/></BBB></BBB>"; - String ex3R7 = "<BBB/>"; - String ex3R8 = "<BBB/>"; - String ex3R9 = "<EEE/>"; - String ex3R10 = "<FFF/>"; - String ex3R11 = "<BBB/>"; - String ex3R12 = "<BBB/>"; - String ex3R13 = "<EEE/>"; - String ex3R14 = "<FFF/>"; - String ex3R15 = "<BBB><BBB/></BBB>"; - String ex3R16 = "<BBB/>"; - */ //according to Galax the document order is : - String ex3R0 = "<AAA><XXX><DDD><BBB/><BBB/><EEE/><FFF/></DDD></XXX><CCC><DDD><BBB/><BBB/><EEE/><FFF/></DDD></CCC><CCC><BBB><BBB><BBB/></BBB></BBB></CCC></AAA>"; - String ex3R1 = "<XXX><DDD><BBB/><BBB/><EEE/><FFF/></DDD></XXX>"; - - String ex3R2 = "<DDD><BBB/><BBB/><EEE/><FFF/></DDD>"; - String ex3R3 = "<BBB/>"; - String ex3R4 = "<BBB/>"; - String ex3R5 = "<EEE/>"; - String ex3R6 = "<FFF/>"; - String ex3R7 = "<CCC><DDD><BBB/><BBB/><EEE/><FFF/></DDD></CCC>"; - - String ex3R8 = "<DDD><BBB/><BBB/><EEE/><FFF/></DDD>"; - - String ex3R9 = "<BBB/>"; - String ex3R10 = "<BBB/>"; - String ex3R11 = "<EEE/>"; - String ex3R12 = "<FFF/>"; - String ex3R13 = "<CCC><BBB><BBB><BBB/></BBB></BBB></CCC>"; - String ex3R14 = "<BBB><BBB><BBB/></BBB></BBB>"; - String ex3R15 = "<BBB><BBB/></BBB>"; - String ex3R16 = "<BBB/>"; - XmlObject[] exXml3 = new XmlObject[]{XmlObject.Factory.parse(ex3R0), - XmlObject.Factory.parse(ex3R1), - XmlObject.Factory.parse(ex3R2), - XmlObject.Factory.parse(ex3R3), - XmlObject.Factory.parse(ex3R4), - XmlObject.Factory.parse(ex3R5), - XmlObject.Factory.parse(ex3R6), - XmlObject.Factory.parse(ex3R7), - XmlObject.Factory.parse(ex3R8), - XmlObject.Factory.parse(ex3R9), - XmlObject.Factory.parse(ex3R10), - XmlObject.Factory.parse(ex3R11), - XmlObject.Factory.parse(ex3R12), - XmlObject.Factory.parse(ex3R13), - XmlObject.Factory.parse(ex3R14), - XmlObject.Factory.parse(ex3R15), - XmlObject.Factory.parse(ex3R16)}; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, exXml1); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, exXml2); - x2.dispose(); - - System.out.println("Test 3: " + ex3Simple); - - XmlCursor x3 = xDoc.newCursor(); - x3.selectPath(fixPath(ex3Simple)); - //XPathCommon.display(x3); - System.out.println(x3.xmlText()); - XPathCommon.compare(x3, exXml3); - x3.dispose(); - - } - - @Test - public void testZvonExample4() throws Exception { - System.out.println("====== Example-4 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon4.xml")); - XmlCursor xc = xDoc.newCursor(); - String ex1Simple = "/AAA/BBB[1]"; - String ex2Simple = "/AAA/BBB[last()]"; - String exR = "<BBB/>"; - XmlObject[] exXml = new XmlObject[]{XmlObject.Factory.parse(exR)}; - - - System.out.println("Test 1: " + fixPath(ex1Simple)); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, exXml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, exXml); - x2.dispose(); - } - - @Test - public void testZvonExample5() throws Exception { - System.out.println("====== Example-5 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon5.xml")); - XmlCursor xc = xDoc.newCursor(); - - String ex1Simple = "//@id"; - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse("<xml-fragment id=\"b1\"/>"), - XmlObject.Factory.parse("<xml-fragment id=\"b2\"/>")}; - - String ex2Simple = "//BBB[@id]"; - XmlObject[] ex2Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BBB id = \"b1\"/>"), - XmlObject.Factory.parse("<BBB id = \"b2\"/>")}; - - String ex3Simple = "//BBB[@name]"; - XmlObject[] ex3Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BBB name=\"bbb\"/>")}; - - String ex4Simple = "//BBB[@*]"; - XmlObject[] ex4Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BBB id = \"b1\"/>"), - XmlObject.Factory.parse("<BBB id = \"b2\"/>"), - XmlObject.Factory.parse("<BBB name=\"bbb\"/>")}; - - String ex5Simple = "//BBB[not(@*)]"; - XmlObject[] ex5Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BBB/>") - }; + add(data, 3, "//*", + "<AAA><XXX><DDD><BBB/><BBB/><EEE/><FFF/></DDD></XXX><CCC><DDD><BBB/><BBB/><EEE/><FFF/></DDD></CCC><CCC><BBB><BBB><BBB/></BBB></BBB></CCC></AAA>", + "<XXX><DDD><BBB/><BBB/><EEE/><FFF/></DDD></XXX>", "<DDD><BBB/><BBB/><EEE/><FFF/></DDD>", "<BBB/>", "<BBB/>", + "<EEE/>", "<FFF/>", "<CCC><DDD><BBB/><BBB/><EEE/><FFF/></DDD></CCC>", "<DDD><BBB/><BBB/><EEE/><FFF/></DDD>", + "<BBB/>", "<BBB/>", "<EEE/>", "<FFF/>", "<CCC><BBB><BBB><BBB/></BBB></BBB></CCC>", + "<BBB><BBB><BBB/></BBB></BBB>", "<BBB><BBB/></BBB>", "<BBB/>"); + + add(data, 4, "/AAA/BBB[1]", "<BBB/>"); + add(data, 4, "/AAA/BBB[last()]", "<BBB/>"); + + add(data, 5, "//@id", "<xml-fragment id=\"b1\"/>", "<xml-fragment id=\"b2\"/>"); + add(data, 5, "//BBB[@id]", "<BBB id = \"b1\"/>", "<BBB id = \"b2\"/>"); + add(data, 5, "//BBB[@name]", "<BBB name=\"bbb\"/>"); + add(data, 5, "//BBB[@*]", "<BBB id = \"b1\"/>", "<BBB id = \"b2\"/>", "<BBB name=\"bbb\"/>"); + add(data, 5, "//BBB[not(@*)]", "<BBB/>"); + + add(data, 6, "//BBB[@id='b1']", "<BBB id = \"b1\"/>"); + add(data, 6, "//BBB[@name='bbb']", "<BBB name=\"bbb\"/>"); + add(data, 6, "//BBB[normalize-space(@name)='bbb']", "<BBB name=\" bbb \"/>", "<BBB name=\"bbb\"/>"); + + add(data, 7, "//*[count(BBB)=2]", "<DDD><BBB/><BBB/></DDD>"); + add(data, 7, "//*[count(*)=2]", "<DDD><BBB/><BBB/></DDD>", "<EEE><CCC/><DDD/></EEE>"); + add(data, 7, "//*[count(*)=3]", + "<AAA><CCC><BBB/><BBB/><BBB/></CCC><DDD><BBB/><BBB/></DDD><EEE><CCC/><DDD/></EEE></AAA>", "<CCC><BBB/><BBB/><BBB/></CCC>"); + + add(data, 8, "//*[name()='BBB']", "<BBB/>", "<BBB/>", "<BBB/>", "<BBB/>", "<BBB/>"); + add(data, 8, "//*[starts-with(name(),'B')]", "<BCC><BBB/><BBB/><BBB/></BCC>", + "<BBB/>", "<BBB/>", "<BBB/>", "<BBB/>", "<BBB/>", "<BEC><CCC/><DBD/></BEC>"); + + // ykadiysk: Jaxen prints in BF left-to-right order but XPath wants doc order + // add(data, "zvon8.xml", "//*[starts-with(name(),'B')]", "<BCC><BBB/><BBB/><BBB/></BCC>", + // "<BBB/>", "<BBB/>", "<BEC><CCC/><DBD/></BEC>", "<BBB/>", "<BBB/>", "<BBB/>"); + + add(data, 8, "//*[contains(name(),'C')]", "<BCC><BBB/><BBB/><BBB/></BCC>", "<BEC><CCC/><DBD/></BEC>", "<CCC/>"); + + add(data, 9, "//*[string-length(name()) = 3]", "<AAA><Q/><SSSS/><BB/><CCC/><DDDDDDDD/><EEEE/></AAA>", "<CCC/>"); + add(data, 9, "//*[string-length(name()) < 3]", "<Q/>", "<BB/>"); + add(data, 9, "//*[string-length(name()) > 3]", "<SSSS/>", "<DDDDDDDD/>", "<EEEE/>"); - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - System.out.println("Test 3: " + ex3Simple); - XmlCursor x3 = xDoc.newCursor(); - x3.selectPath(fixPath(ex3Simple)); - //XPathCommon.display(x3); - XPathCommon.compare(x3, ex3Xml); - x3.dispose(); - - System.out.println("Test 4: " + ex4Simple); - XmlCursor x4 = xDoc.newCursor(); - x4.selectPath(fixPath(ex4Simple)); - //XPathCommon.display(x4); - XPathCommon.compare(x4, ex4Xml); - x4.dispose(); - - System.out.println("Test 5: " + ex5Simple); - XmlCursor x5 = xDoc.newCursor(); - x5.selectPath(fixPath(ex5Simple)); - //XPathCommon.display(x5); - XPathCommon.compare(x5, ex5Xml); - - x5.dispose(); - } - - @Test - public void testZvonExample6() throws Exception { - System.out.println("====== Example-16 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon6.xml")); - XmlCursor xc = xDoc.newCursor(); - - String ex1Simple = "//BBB[@id='b1']"; - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BBB id = \"b1\"/>")}; - - String ex2Simple = "//BBB[@name='bbb']"; - XmlObject[] ex2Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BBB name=\"bbb\"/>")}; - String ex3Simple = "//BBB[normalize-space(@name)='bbb']"; - XmlObject[] ex3Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BBB name=\" bbb \"/>") - , - XmlObject.Factory.parse("<BBB name=\"bbb\"/>")}; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - System.out.println("Test 3: " + ex3Simple); - XmlCursor x3 = xDoc.newCursor(); - x3.selectPath(fixPath(ex3Simple)); - //XPathCommon.display(x3); - XPathCommon.compare(x3, ex3Xml); - x3.dispose(); - } - - @Test - public void testZvonExample7() throws Exception { - System.out.println("====== Example-7 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon7.xml")); - XmlCursor xc = xDoc.newCursor(); - - String ex1Simple = "//*[count(BBB)=2]"; - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse("<DDD><BBB/><BBB/></DDD>")}; - String ex2Simple = "//*[count(*)=2]"; - XmlObject[] ex2Xml = new XmlObject[]{ - XmlObject.Factory.parse("<DDD><BBB/><BBB/></DDD>"), - XmlObject.Factory.parse("<EEE><CCC/><DDD/></EEE>")}; - String ex3Simple = "//*[count(*)=3]"; - XmlObject[] ex3Xml = new XmlObject[]{ - XmlObject.Factory.parse( - "<AAA><CCC><BBB/><BBB/><BBB/></CCC><DDD><BBB/><BBB/></DDD><EEE><CCC/><DDD/></EEE></AAA>"), - XmlObject.Factory.parse("<CCC><BBB/><BBB/><BBB/></CCC>")}; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - System.out.println("Test 3: " + ex3Simple); - XmlCursor x3 = xDoc.newCursor(); - x3.selectPath(fixPath(ex3Simple)); - //XPathCommon.display(x3); - XPathCommon.compare(x3, ex3Xml); - x3.dispose(); - } - - @Test - public void testZvonExample8() throws Exception { - System.out.println("====== Example-8 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon8.xml")); - XmlCursor xc = xDoc.newCursor(); - String ex1Simple = "//*[name()='BBB']"; - XmlObject[] ex1Xml = new XmlObject[]{XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>"), - }; - String ex2Simple = "//*[starts-with(name(),'B')]"; - XmlObject[] ex2Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BCC><BBB/><BBB/><BBB/></BCC>"), - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BEC><CCC/><DBD/></BEC>")}; - - /**ykadiysk: Jaxen prints in BF left-to-right order - * but XPath wants doc order - XmlObject[] ex2Xml = new XmlObject[]{XmlObject.Factory.parse("<BCC><BBB/><BBB/><BBB/></BCC>"), - - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BEC><CCC/><DBD/></BEC>"), - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>")}; - */ - - String ex3Simple = "//*[contains(name(),'C')]"; - XmlObject[] ex3Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BCC><BBB/><BBB/><BBB/></BCC>"), - XmlObject.Factory.parse("<BEC><CCC/><DBD/></BEC>"), - XmlObject.Factory.parse("<CCC/>")}; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - System.out.println("Zvon8 Test 2"); - XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - System.out.println("Test 3: " + ex3Simple); - XmlCursor x3 = xDoc.newCursor(); - x3.selectPath(fixPath(ex3Simple)); - //XPathCommon.display(x3); - XPathCommon.compare(x3, ex3Xml); - x3.dispose(); - } - - @Test - public void testZvonExample9() throws Exception { - System.out.println("====== Example-9 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon9.xml")); - XmlCursor xc = xDoc.newCursor(); - String ex1Simple = "//*[string-length(name()) = 3]"; - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse( - "<AAA><Q/><SSSS/><BB/><CCC/><DDDDDDDD/><EEEE/></AAA>"), - XmlObject.Factory.parse("<CCC/>")}; - String ex2Simple = "//*[string-length(name()) < 3]"; - XmlObject[] ex2Xml = new XmlObject[]{XmlObject.Factory.parse("<Q/>"), - XmlObject.Factory.parse("<BB/>")}; - String ex3Simple = "//*[string-length(name()) > 3]"; - XmlObject[] ex3Xml = new XmlObject[]{ - XmlObject.Factory.parse("<SSSS/>"), - XmlObject.Factory.parse("<DDDDDDDD/>"), - XmlObject.Factory.parse("<EEEE/>")}; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - System.out.println("Test 3: " + ex3Simple); - XmlCursor x3 = xDoc.newCursor(); - x3.selectPath(fixPath(ex3Simple)); - //XPathCommon.display(x3); - XPathCommon.compare(x3, ex3Xml); - x3.dispose(); - } - - @Test - public void testZvonExample10() throws Exception { - System.out.println("====== Example-10 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon10.xml")); - XmlCursor xc = xDoc.newCursor(); - String ex1Simple = "$this//CCC | $this//BBB"; - //document order - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<CCC/>"), - XmlObject.Factory.parse("<CCC/>") - - }; + add(data, 10, "$this//CCC | $this//BBB", "<BBB/>", "<CCC/>", "<CCC/>"); // Nodes are returned in document order - String ex2Simple = "$this/AAA/EEE | $this//BBB"; - - XmlObject[] ex2Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<EEE/>") - - }; - - String ex3Simple = "./AAA/EEE |.//DDD/CCC | ./AAA | .//BBB"; - XmlObject[] ex3Xml = new XmlObject[]{ - XmlObject.Factory.parse( - "<AAA><BBB/><CCC/><DDD><CCC/></DDD><EEE/></AAA>"), - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<CCC/>"), - XmlObject.Factory.parse("<EEE/>") - }; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(ex1Simple); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(ex2Simple); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - System.out.println("Test 3: " + ex3Simple); - XmlCursor x3 = xDoc.newCursor(); - x3.selectPath(fixPath(ex3Simple)); - //XPathCommon.display(x3); - XPathCommon.compare(x3, ex3Xml); - x3.dispose(); - } - - @Test - public void testZvonExample11() throws Exception { - System.out.println("====== Example-11 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon11.xml")); - XmlCursor xc = xDoc.newCursor(); - String ex1Simple = "/AAA"; - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse("<AAA><BBB/><CCC/></AAA>")}; - - String ex2Simple = "/child::AAA"; - XmlObject[] ex2Xml = new XmlObject[]{ - XmlObject.Factory.parse("<AAA><BBB/><CCC/></AAA>")}; - - String ex3Simple = "/AAA/BBB"; - XmlObject[] ex3Xml = new XmlObject[]{XmlObject.Factory.parse("<BBB/>")}; - - String ex4Simple = "/child::AAA/child::BBB"; - XmlObject[] ex4Xml = new XmlObject[]{XmlObject.Factory.parse("<BBB/>")}; - - String ex5Simple = "/child::AAA/BBB"; - XmlObject[] ex5Xml = new XmlObject[]{XmlObject.Factory.parse("<BBB/>")}; - - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - System.out.println("Test 3: " + ex3Simple); - XmlCursor x3 = xDoc.newCursor(); - x3.selectPath(fixPath(ex3Simple)); - //XPathCommon.display(x3); - XPathCommon.compare(x3, ex3Xml); - x3.dispose(); - - System.out.println("Test 4: " + ex4Simple); - XmlCursor x4 = xDoc.newCursor(); - x4.selectPath(fixPath(ex4Simple)); - XPathCommon.display(x4); - XPathCommon.display(ex4Xml); - XPathCommon.compare(x4, ex4Xml); - x4.dispose(); - - System.out.println("Test 5: " + ex5Simple); - XmlCursor x5 = xDoc.newCursor(); - x5.selectPath(fixPath(ex5Simple)); - //XPathCommon.display(x5); - XPathCommon.compare(x5, ex5Xml); - x5.dispose(); - } - - @Test - public void testZvonExample12() throws Exception { - System.out.println("====== Example-12 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon12.xml")); - XmlCursor xc = xDoc.newCursor(); - String ex1Simple = "/descendant::*"; - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse( - "<AAA><BBB><DDD><CCC><DDD/><EEE/></CCC></DDD></BBB><CCC><DDD><EEE><DDD><FFF/></DDD></EEE></DDD></CCC></AAA>"), - XmlObject.Factory.parse( - "<BBB><DDD><CCC><DDD/><EEE/></CCC></DDD></BBB>"), - - XmlObject.Factory.parse("<DDD><CCC><DDD/><EEE/></CCC></DDD>"), - - XmlObject.Factory.parse("<CCC><DDD/><EEE/></CCC>"), - - - XmlObject.Factory.parse("<DDD/>"), - - - XmlObject.Factory.parse("<EEE/>"), - XmlObject.Factory.parse( - "<CCC><DDD><EEE><DDD><FFF/></DDD></EEE></DDD></CCC>"), - XmlObject.Factory.parse("<DDD><EEE><DDD><FFF/></DDD></EEE></DDD>"), - XmlObject.Factory.parse("<EEE><DDD><FFF/></DDD></EEE>"), - XmlObject.Factory.parse("<DDD><FFF/></DDD>"), - XmlObject.Factory.parse("<FFF/>")}; - - String ex2Simple = "/AAA/BBB/descendant::*"; - XmlObject[] ex2Xml = new XmlObject[]{ - XmlObject.Factory.parse("<DDD><CCC><DDD/><EEE/></CCC></DDD>"), - XmlObject.Factory.parse("<CCC><DDD/><EEE/></CCC>"), - XmlObject.Factory.parse("<DDD/>"), - XmlObject.Factory.parse("<EEE/>")}; - - String ex3Simple = "//CCC/descendant::*"; - XmlObject[] ex3Xml = new XmlObject[]{ - XmlObject.Factory.parse("<DDD/>"), - XmlObject.Factory.parse("<EEE/>"), - XmlObject.Factory.parse("<DDD><EEE><DDD><FFF/></DDD></EEE></DDD>"), - XmlObject.Factory.parse("<EEE><DDD><FFF/></DDD></EEE>"), - XmlObject.Factory.parse("<DDD><FFF/></DDD>"), - XmlObject.Factory.parse("<FFF/>") - - }; - String ex4Simple = "//CCC/descendant::DDD"; - XmlObject[] ex4Xml = new XmlObject[]{ - XmlObject.Factory.parse("<DDD/>"), - XmlObject.Factory.parse("<DDD><EEE><DDD><FFF/></DDD></EEE></DDD>"), - XmlObject.Factory.parse("<DDD><FFF/></DDD>"), - }; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - System.out.println("Test 3: " + ex3Simple); - XmlCursor x3 = xDoc.newCursor(); - x3.selectPath(fixPath(ex3Simple)); - //XPathCommon.display(x3); - XPathCommon.compare(x3, ex3Xml); - x3.dispose(); - - System.out.println("Test 4: " + ex4Simple); - XmlCursor x4 = xDoc.newCursor(); - x4.selectPath(fixPath(ex4Simple)); - //XPathCommon.display(x4); - XPathCommon.compare(x4, ex4Xml); - x4.dispose(); - } - - @Test - public void testZvonExample13() throws Exception { - System.out.println("====== Example-13 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon13.xml")); - XmlCursor xc = xDoc.newCursor(); - String ex1Simple = "//DDD/parent::*"; - - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse( - "<BBB><DDD><CCC><DDD/><EEE/></CCC></DDD></BBB>"), - - XmlObject.Factory.parse("<CCC><DDD/><EEE/></CCC>"), - XmlObject.Factory.parse( - "<CCC><DDD><EEE><DDD><FFF/></DDD></EEE></DDD></CCC>"), - XmlObject.Factory.parse("<EEE><DDD><FFF/></DDD></EEE>")}; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - } - - @Test - public void testZvonExample14() throws Exception { - System.out.println("====== Example-14 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon14.xml")); - XmlCursor xc = xDoc.newCursor(); - String ex1Simple = "/AAA/BBB/DDD/CCC/EEE/ancestor::*"; - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse( - "<AAA><BBB><DDD><CCC><DDD/><EEE/></CCC></DDD></BBB><CCC><DDD><EEE><DDD><FFF/></DDD></EEE></DDD></CCC></AAA>"), - XmlObject.Factory.parse( - "<BBB><DDD><CCC><DDD/><EEE/></CCC></DDD></BBB>"), - XmlObject.Factory.parse("<DDD><CCC><DDD/><EEE/></CCC></DDD>"), - XmlObject.Factory.parse("<CCC><DDD/><EEE/></CCC>") - }; - - String ex2Simple = "//FFF/ancestor::*"; - XmlObject[] ex2Xml = new XmlObject[]{ - XmlObject.Factory.parse( - "<AAA><BBB><DDD><CCC><DDD/><EEE/></CCC></DDD></BBB><CCC><DDD><EEE><DDD><FFF/></DDD></EEE></DDD></CCC></AAA>"), - XmlObject.Factory.parse( - "<CCC><DDD><EEE><DDD><FFF/></DDD></EEE></DDD></CCC>"), - XmlObject.Factory.parse("<DDD><EEE><DDD><FFF/></DDD></EEE></DDD>"), - XmlObject.Factory.parse("<EEE><DDD><FFF/></DDD></EEE>"), - XmlObject.Factory.parse("<DDD><FFF/></DDD>") - }; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - } - - @Test - public void testZvonExample15() throws Exception { - System.out.println("====== Example-15 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon15.xml")); - XmlCursor xc = xDoc.newCursor(); - String ex1Simple = "/AAA/BBB/following-sibling::*"; - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse( - "<XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX>"), - XmlObject.Factory.parse("<CCC><DDD/></CCC>")}; - String ex2Simple = "//CCC/following-sibling::*"; - XmlObject[] ex2Xml = new XmlObject[]{XmlObject.Factory.parse("<DDD/>"), - XmlObject.Factory.parse("<FFF/>"), - XmlObject.Factory.parse( - "<FFF><GGG/></FFF>")}; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - } - - @Test - public void testZvonExample16() throws Exception { - System.out.println("====== Example-16 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon16.xml")); - XmlCursor xc = xDoc.newCursor(); - String ex1Simple = "/AAA/XXX/preceding-sibling::*"; - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BBB><CCC/><DDD/></BBB>")}; - String ex2Simple = "//CCC/preceding-sibling::*"; - XmlObject[] ex2Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BBB><CCC/><DDD/></BBB>"), - XmlObject.Factory.parse( - "<XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX>"), - XmlObject.Factory.parse("<EEE/>"), - XmlObject.Factory.parse("<DDD/>")}; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - } - - @Test - public void testZvonExample17() throws Exception { - System.out.println("====== Example-17 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon17.xml")); - XmlCursor xc = xDoc.newCursor(); - String ex1Simple = "/AAA/XXX/following::*"; - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse("<CCC><DDD/></CCC>"), - XmlObject.Factory.parse("<DDD/>")}; - String ex2Simple = "//ZZZ/following::*"; - XmlObject[] ex2Xml = new XmlObject[]{ - XmlObject.Factory.parse("<FFF><GGG/></FFF>"), - XmlObject.Factory.parse("<GGG/>"), - XmlObject.Factory.parse( - "<XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX>"), - XmlObject.Factory.parse( - "<DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD>"), - XmlObject.Factory.parse("<EEE/>"), - XmlObject.Factory.parse("<DDD/>"), - XmlObject.Factory.parse("<CCC/>"), - XmlObject.Factory.parse("<FFF/>"), - XmlObject.Factory.parse("<FFF><GGG/></FFF>"), - XmlObject.Factory.parse("<GGG/>"), - XmlObject.Factory.parse("<CCC><DDD/></CCC>"), - XmlObject.Factory.parse("<DDD/>")}; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - } - - /** - * the preceding axis contains all nodes that are descendants of the root - * of the tree in which the context node is found, are not ancestors of - * the context node, and occur before the context node in document order - */ - @Test - public void testZvonExample18() throws Exception { - System.out.println("====== Example-18 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon18.xml")); - XmlCursor xc = xDoc.newCursor(); - String ex1Simple = "/AAA/XXX/preceding::*"; - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BBB><CCC/><ZZZ><DDD/></ZZZ></BBB>"), - XmlObject.Factory.parse("<CCC/>"), - XmlObject.Factory.parse("<ZZZ><DDD/></ZZZ>"), - XmlObject.Factory.parse("<DDD/>") - }; - - String ex2Simple = "//GGG/preceding::*"; - XmlObject[] ex2Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BBB><CCC/><ZZZ><DDD/></ZZZ></BBB>"), - XmlObject.Factory.parse("<CCC/>"), - XmlObject.Factory.parse("<ZZZ><DDD/></ZZZ>"), - XmlObject.Factory.parse("<DDD/>"), - - XmlObject.Factory.parse("<EEE/>"), - XmlObject.Factory.parse("<DDD/>"), - XmlObject.Factory.parse("<CCC/>"), - XmlObject.Factory.parse("<FFF/>") - - /*XmlObject.Factory.parse( - "<DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD>"), - XmlObject.Factory.parse( - "<CCC><DDD/></CCC>"), - XmlObject.Factory.parse( - "<XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX>"), - XmlObject.Factory.parse("<DDD/>"), - */ - }; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - } - - @Test - public void testZvonExample19() throws Exception { - System.out.println("====== Example-19 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon19.xml")); - XmlCursor xc = xDoc.newCursor(); - String ex1Simple = "/AAA/XXX/descendant-or-self::*"; - - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse( - "<XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX>"), - XmlObject.Factory.parse( - "<DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD>"), - XmlObject.Factory.parse("<EEE/>"), - XmlObject.Factory.parse("<DDD/>"), - XmlObject.Factory.parse("<CCC/>"), - XmlObject.Factory.parse("<FFF/>"), - XmlObject.Factory.parse("<FFF><GGG/></FFF>"), - XmlObject.Factory.parse("<GGG/>")}; - String ex2Simple = "//CCC/descendant-or-self::*"; - - XmlObject[] ex2Xml = new XmlObject[]{ - XmlObject.Factory.parse("<CCC/>"), - XmlObject.Factory.parse("<CCC/>"), - XmlObject.Factory.parse("<CCC><DDD/></CCC>"), - XmlObject.Factory.parse("<DDD/>"), - }; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - } - - @Test - public void testZvonExample20() throws Exception { - System.out.println("====== Example-20 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon20.xml")); - XmlCursor xc = xDoc.newCursor(); - - String ex1Simple = "/AAA/XXX/DDD/EEE/ancestor-or-self::*"; - XmlObject[] ex1Xml = new XmlObject[]{ - XmlObject.Factory.parse( - "<AAA><BBB><CCC/><ZZZ><DDD/></ZZZ></BBB><XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX><CCC><DDD/></CCC></AAA>"), - XmlObject.Factory.parse( - "<XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX>"), - XmlObject.Factory.parse( - "<DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD>"), - XmlObject.Factory.parse("<EEE/>"), - }; - String ex2Simple = "//GGG/ancestor-or-self::*"; - XmlObject[] ex2Xml = new XmlObject[]{ - XmlObject.Factory.parse( - "<AAA><BBB><CCC/><ZZZ><DDD/></ZZZ></BBB><XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX><CCC><DDD/></CCC></AAA>"), - XmlObject.Factory.parse( - "<XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX>"), - XmlObject.Factory.parse( - "<DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD>"), - XmlObject.Factory.parse("<FFF><GGG/></FFF>"), - XmlObject.Factory.parse("<GGG/>"), - }; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - } - - @Test - public void testZvonExample21() throws Exception { - System.out.println("====== Example-21 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon21.xml")); - XmlCursor xc = xDoc.newCursor(); - String ex1Simple = "//GGG/ancestor::*"; - XmlObject[] ex1Xml = new XmlObject[]{ - - XmlObject.Factory.parse( - "<AAA><BBB><CCC/><ZZZ/></BBB><XXX><DDD><EEE/><FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF></DDD></XXX><CCC><DDD/></CCC></AAA>"), - XmlObject.Factory.parse( - "<XXX><DDD><EEE/><FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF></DDD></XXX>"), - XmlObject.Factory.parse( - "<DDD><EEE/><FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF></DDD>"), - XmlObject.Factory.parse( - "<FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF>"), - }; - String ex2Simple = "//GGG/descendant::*"; - XmlObject[] ex2Xml = new XmlObject[]{ - XmlObject.Factory.parse("<JJJ><QQQ/></JJJ>"), - XmlObject.Factory.parse("<QQQ/>"), - XmlObject.Factory.parse("<JJJ/>")}; - String ex3Simple = "//GGG/following::*"; - XmlObject[] ex3Xml = new XmlObject[]{XmlObject.Factory.parse("<HHH/>"), - XmlObject.Factory.parse( - "<CCC><DDD/></CCC>"), - XmlObject.Factory.parse("<DDD/>")}; - String ex4Simple = "//GGG/preceding::*"; - XmlObject[] ex4Xml = new XmlObject[]{ - XmlObject.Factory.parse("<BBB><CCC/><ZZZ/></BBB>"), - XmlObject.Factory.parse("<CCC/>"), - XmlObject.Factory.parse("<ZZZ/>"), - XmlObject.Factory.parse("<EEE/>"), - XmlObject.Factory.parse("<HHH/>"), - }; - String ex5Simple = "//GGG/self::*"; - XmlObject[] ex5Xml = new XmlObject[]{ - XmlObject.Factory.parse("<GGG><JJJ><QQQ/></JJJ><JJJ/></GGG>")}; - - String ex6Simple = "//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*"; - XmlObject[] ex6Xml = new XmlObject[]{ - XmlObject.Factory.parse( - "<AAA><BBB><CCC/><ZZZ/></BBB><XXX><DDD><EEE/><FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF></DDD></XXX><CCC><DDD/></CCC></AAA>"), - XmlObject.Factory.parse("<BBB><CCC/><ZZZ/></BBB>"), - XmlObject.Factory.parse("<CCC/>"), - XmlObject.Factory.parse("<ZZZ/>"), - XmlObject.Factory.parse( - "<XXX><DDD><EEE/><FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF></DDD></XXX>"), - XmlObject.Factory.parse( - "<DDD><EEE/><FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF></DDD>"), - XmlObject.Factory.parse("<EEE/>"), - XmlObject.Factory.parse( - "<FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF>"), - XmlObject.Factory.parse("<HHH/>"), - XmlObject.Factory.parse("<GGG><JJJ><QQQ/></JJJ><JJJ/></GGG>"), - XmlObject.Factory.parse("<JJJ><QQQ/></JJJ>"), - XmlObject.Factory.parse("<QQQ/>"), - XmlObject.Factory.parse("<JJJ/>"), - XmlObject.Factory.parse("<HHH/>"), - XmlObject.Factory.parse("<CCC><DDD/></CCC>"), - XmlObject.Factory.parse("<DDD/>"), - }; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - System.out.println("Test 3: " + ex3Simple); - XmlCursor x3 = xDoc.newCursor(); - x3.selectPath(fixPath(ex3Simple)); - //XPathCommon.display(x3); - XPathCommon.compare(x3, ex3Xml); - x3.dispose(); - - System.out.println("Test 4: " + ex4Simple); - XmlCursor x4 = xDoc.newCursor(); - x4.selectPath(fixPath(ex4Simple)); - int i = 0; - /* System.out.println("****************HERE"); - - while (i < x4.getSelectionCount()) - { - x4.toSelection(i++); - System.out.println(x4.getName() + ((i - 1) + "")); - } - - System.out.println("****************SETS"); - XPathCommon.display(x4); - //XPathCommon.display(ex4Xml); - System.out.println("**************END SETS"); - */ - XPathCommon.compare(x4, ex4Xml); - x4.dispose(); - - - System.out.println("Test 5: " + ex5Simple); - XmlCursor x5 = xDoc.newCursor(); - x5.selectPath(fixPath(ex5Simple)); - //XPathCommon.display(x5); - XPathCommon.compare(x5, ex5Xml); - x5.dispose(); - - System.out.println("Test 6: " + ex6Simple); - XmlCursor x6 = xDoc.newCursor(); - x6.selectPath(fixPath(ex6Simple)); - //XPathCommon.display(x6); - XPathCommon.compare(x6, ex6Xml); - x6.dispose(); - } - - @Test - public void testZvonExample22() throws Exception { - System.out.println("====== Example-22 =========="); - XmlObject xDoc = XmlObject.Factory.parse( - JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon22.xml")); - XmlCursor xc = xDoc.newCursor(); - - String ex1Simple = "//BBB[position() mod 2 = 0 ]"; - XmlObject[] ex1Xml = new XmlObject[]{XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>")}; - - String ex2Simple = "//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]"; - XmlObject[] ex2Xml = new XmlObject[]{XmlObject.Factory.parse("<BBB/>"), - XmlObject.Factory.parse("<BBB/>")}; - - String ex3Simple = "//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]"; - XmlObject[] ex3Xml = new XmlObject[]{XmlObject.Factory.parse("<CCC/>")}; - - System.out.println("Test 1: " + ex1Simple); - XmlCursor x1 = xDoc.newCursor(); - x1.selectPath(fixPath(ex1Simple)); - //XPathCommon.display(x1); - XPathCommon.compare(x1, ex1Xml); - x1.dispose(); - System.out.println("Test 2: " + ex2Simple); - XmlCursor x2 = xDoc.newCursor(); - x2.selectPath(fixPath(ex2Simple)); - //XPathCommon.display(x2); - XPathCommon.compare(x2, ex2Xml); - x2.dispose(); - - System.out.println("Test 3: " + ex3Simple); - XmlCursor x3 = xDoc.newCursor(); - x3.selectPath(fixPath(ex3Simple)); - //XPathCommon.display(x3); - XPathCommon.compare(x3, ex3Xml); - x3.dispose(); + add(data, 10, "$this/AAA/EEE | $this//BBB", "<BBB/>", "<EEE/>"); + add(data, 10, "./AAA/EEE |.//DDD/CCC | ./AAA | .//BBB", "<AAA><BBB/><CCC/><DDD><CCC/></DDD><EEE/></AAA>", + "<BBB/>", "<CCC/>", "<EEE/>"); + + add(data, 11, "/AAA", "<AAA><BBB/><CCC/></AAA>"); + add(data, 11, "/child::AAA", "<AAA><BBB/><CCC/></AAA>"); + add(data, 11, "/AAA/BBB", "<BBB/>"); + add(data, 11, "/child::AAA/child::BBB", "<BBB/>"); + add(data, 11, "/child::AAA/BBB", "<BBB/>"); + + add(data, 12, "/descendant::*", + "<AAA><BBB><DDD><CCC><DDD/><EEE/></CCC></DDD></BBB><CCC><DDD><EEE><DDD><FFF/></DDD></EEE></DDD></CCC></AAA>", + "<BBB><DDD><CCC><DDD/><EEE/></CCC></DDD></BBB>", "<DDD><CCC><DDD/><EEE/></CCC></DDD>", + "<CCC><DDD/><EEE/></CCC>", "<DDD/>", "<EEE/>", "<CCC><DDD><EEE><DDD><FFF/></DDD></EEE></DDD></CCC>", + "<DDD><EEE><DDD><FFF/></DDD></EEE></DDD>", "<EEE><DDD><FFF/></DDD></EEE>", "<DDD><FFF/></DDD>", "<FFF/>"); + add(data, 12, "/AAA/BBB/descendant::*", "<DDD><CCC><DDD/><EEE/></CCC></DDD>", + "<CCC><DDD/><EEE/></CCC>", "<DDD/>", "<EEE/>"); + add(data, 12, "//CCC/descendant::*", "<DDD/>", "<EEE/>", "<DDD><EEE><DDD><FFF/></DDD></EEE></DDD>", + "<EEE><DDD><FFF/></DDD></EEE>", "<DDD><FFF/></DDD>", "<FFF/>"); + add(data, 12, "//CCC/descendant::DDD", "<DDD/>", "<DDD><EEE><DDD><FFF/></DDD></EEE></DDD>", "<DDD><FFF/></DDD>"); + + add(data, 13, "//DDD/parent::*", "<BBB><DDD><CCC><DDD/><EEE/></CCC></DDD></BBB>", + "<CCC><DDD/><EEE/></CCC>", "<CCC><DDD><EEE><DDD><FFF/></DDD></EEE></DDD></CCC>", "<EEE><DDD><FFF/></DDD></EEE>"); + + add(data, 14, "/AAA/BBB/DDD/CCC/EEE/ancestor::*", + "<AAA><BBB><DDD><CCC><DDD/><EEE/></CCC></DDD></BBB><CCC><DDD><EEE><DDD><FFF/></DDD></EEE></DDD></CCC></AAA>", + "<BBB><DDD><CCC><DDD/><EEE/></CCC></DDD></BBB>", "<DDD><CCC><DDD/><EEE/></CCC></DDD>", "<CCC><DDD/><EEE/></CCC>"); + add(data, 14, "//FFF/ancestor::*", + "<AAA><BBB><DDD><CCC><DDD/><EEE/></CCC></DDD></BBB><CCC><DDD><EEE><DDD><FFF/></DDD></EEE></DDD></CCC></AAA>", + "<CCC><DDD><EEE><DDD><FFF/></DDD></EEE></DDD></CCC>", "<DDD><EEE><DDD><FFF/></DDD></EEE></DDD>", + "<EEE><DDD><FFF/></DDD></EEE>", "<DDD><FFF/></DDD>"); + + add(data, 15, "/AAA/BBB/following-sibling::*", + "<XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX>", "<CCC><DDD/></CCC>"); + add(data, 15, "//CCC/following-sibling::*", "<DDD/>", "<FFF/>", "<FFF><GGG/></FFF>"); + + add(data, 16, "/AAA/XXX/preceding-sibling::*", "<BBB><CCC/><DDD/></BBB>"); + add(data, 16, "//CCC/preceding-sibling::*", "<BBB><CCC/><DDD/></BBB>", + "<XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX>", "<EEE/>", "<DDD/>"); + + add(data, 17, "/AAA/XXX/following::*", "<CCC><DDD/></CCC>", "<DDD/>"); + add(data, 17, "//ZZZ/following::*", "<FFF><GGG/></FFF>", "<GGG/>", + "<XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX>", + "<DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD>", "<EEE/>", "<DDD/>", "<CCC/>", "<FFF/>", + "<FFF><GGG/></FFF>", "<GGG/>", "<CCC><DDD/></CCC>", "<DDD/>"); + + + // the preceding axis contains all nodes that are descendants of the root of the tree in which the context + // node is found, are not ancestors of the context node, and occur before the context node in document order + add(data, 18, "/AAA/XXX/preceding::*", "<BBB><CCC/><ZZZ><DDD/></ZZZ></BBB>", "<CCC/>", + "<ZZZ><DDD/></ZZZ>", "<DDD/>"); + add(data, 18, "//GGG/preceding::*", "<BBB><CCC/><ZZZ><DDD/></ZZZ></BBB>", "<CCC/>", + "<ZZZ><DDD/></ZZZ>", "<DDD/>", "<EEE/>", "<DDD/>", "<CCC/>", "<FFF/>"); + + + add(data, 19, "/AAA/XXX/descendant-or-self::*", "<XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX>", + "<DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD>", "<EEE/>", "<DDD/>", "<CCC/>", "<FFF/>", "<FFF><GGG/></FFF>", "<GGG/>"); + add(data, 19, "//CCC/descendant-or-self::*", "<CCC/>", "<CCC/>", "<CCC><DDD/></CCC>", "<DDD/>"); + + + add(data, 20, "/AAA/XXX/DDD/EEE/ancestor-or-self::*", + "<AAA><BBB><CCC/><ZZZ><DDD/></ZZZ></BBB><XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX><CCC><DDD/></CCC></AAA>", + "<XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX>", + "<DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD>", "<EEE/>"); + add(data, 20, "//GGG/ancestor-or-self::*", + "<AAA><BBB><CCC/><ZZZ><DDD/></ZZZ></BBB><XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX><CCC><DDD/></CCC></AAA>", + "<XXX><DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD></XXX>", + "<DDD><EEE/><DDD/><CCC/><FFF/><FFF><GGG/></FFF></DDD>", "<FFF><GGG/></FFF>", "<GGG/>"); + + add(data, 21, "//GGG/ancestor::*", + "<AAA><BBB><CCC/><ZZZ/></BBB><XXX><DDD><EEE/><FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF></DDD></XXX><CCC><DDD/></CCC></AAA>", + "<XXX><DDD><EEE/><FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF></DDD></XXX>", + "<DDD><EEE/><FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF></DDD>", + "<FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF>"); + add(data, 21, "//GGG/descendant::*", "<JJJ><QQQ/></JJJ>", "<QQQ/>", "<JJJ/>"); + add(data, 21, "//GGG/following::*", "<HHH/>", "<CCC><DDD/></CCC>", "<DDD/>"); + add(data, 21, "//GGG/preceding::*", "<BBB><CCC/><ZZZ/></BBB>", "<CCC/>", "<ZZZ/>", "<EEE/>", "<HHH/>"); + add(data, 21, "//GGG/self::*", "<GGG><JJJ><QQQ/></JJJ><JJJ/></GGG>"); + add(data, 21, "//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*", + "<AAA><BBB><CCC/><ZZZ/></BBB><XXX><DDD><EEE/><FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF></DDD></XXX><CCC><DDD/></CCC></AAA>", + "<BBB><CCC/><ZZZ/></BBB>", "<CCC/>", "<ZZZ/>", "<XXX><DDD><EEE/><FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF></DDD></XXX>", + "<DDD><EEE/><FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF></DDD>", "<EEE/>", + "<FFF><HHH/><GGG><JJJ><QQQ/></JJJ><JJJ/></GGG><HHH/></FFF>", "<HHH/>", "<GGG><JJJ><QQQ/></JJJ><JJJ/></GGG>", + "<JJJ><QQQ/></JJJ>", "<QQQ/>", "<JJJ/>", "<HHH/>", "<CCC><DDD/></CCC>", "<DDD/>"); + + add(data, 22, "//BBB[position() mod 2 = 0 ]", "<BBB/>", "<BBB/>", "<BBB/>", "<BBB/>"); + add(data, 22, "//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]", + "<BBB/>", "<BBB/>"); + add(data, 22, "//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]", + "<CCC/>"); + + return data; + } + + private static void add(List<Object[]> data, int dataset, String xpath, String... expected) { + data.add(new Object[]{dataset, xpath, expected}); + } + + + @Test + public void zvonExample() throws IOException, XmlException { + XmlObject xDoc = XmlObject.Factory.parse(JarUtil.getResourceFromJar("xbean/xmlcursor/xpath/zvon"+dataset+".xml")); + XmlCursor x1 = xDoc.newCursor(); + try { + x1.selectPath(xpath); + + XmlObject[] exp = new XmlObject[expected.length]; + for (int i = 0; i < expected.length; i++) { + exp[i] = XmlObject.Factory.parse(expected[i]); + } + + XPathCommon.compare(x1, exp); + } finally { + x1.dispose(); + } } }
Modified: xmlbeans/trunk/test/src/xmlcursor/xpath/xbean_xpath/detailed/AxesTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/test/src/xmlcursor/xpath/xbean_xpath/detailed/AxesTest.java?rev=1877931&r1=1877930&r2=1877931&view=diff ============================================================================== --- xmlbeans/trunk/test/src/xmlcursor/xpath/xbean_xpath/detailed/AxesTest.java (original) +++ xmlbeans/trunk/test/src/xmlcursor/xpath/xbean_xpath/detailed/AxesTest.java Tue May 19 20:10:55 2020 @@ -35,13 +35,13 @@ import static org.junit.Assert.assertEqu * namespace */ public class AxesTest { - private String sXmlChild = + private final String sXmlChild = "<foo> <bar xmlns:pre=\"http://uri.com\" at0='val0'>" + "<pre:baz xmlns:baz='http://uri' baz:at0='val1'/>txt child</bar></foo>"; - private XmlOptions options = new XmlOptions(); + private final XmlOptions options = new XmlOptions(); - private String sXmlDesc = + private final String sXmlDesc = "<foo> <foo xmlns:pre=\"http://uri.com\" at0='val0'>" + "<pre:baz xmlns:baz='http://uri' baz:at0='val1'/>txt child</foo></foo>"; @@ -98,6 +98,7 @@ public class AxesTest { assertEquals(sExpected, c.xmlText()); } + @Test public void testChildAxisDNE() throws XmlException { String sQuery1 = "$this/foo/./baz"; XmlCursor c = XmlObject.Factory.parse(sXmlChild).newCursor(); Modified: xmlbeans/trunk/test/src/xmlcursor/xquery/detailed/XQueryVariableBindingTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/test/src/xmlcursor/xquery/detailed/XQueryVariableBindingTest.java?rev=1877931&r1=1877930&r2=1877931&view=diff ============================================================================== --- xmlbeans/trunk/test/src/xmlcursor/xquery/detailed/XQueryVariableBindingTest.java (original) +++ xmlbeans/trunk/test/src/xmlcursor/xquery/detailed/XQueryVariableBindingTest.java Tue May 19 20:10:55 2020 @@ -33,8 +33,7 @@ public class XQueryVariableBindingTest e XBEAN_CASE_ROOT + P + "xmlcursor" + P + "xquery"; public static File dir = new File(XQUERY_CASE_DIR); - private XmlCursor _testDocCursor1() throws Exception - { + private XmlCursor _testDocCursor1() throws Exception { String xml = "<elem1>" + "<elem11 id=\"123\">text11</elem11>" + @@ -63,8 +62,7 @@ public class XQueryVariableBindingTest e /** test the automatic binding of $this to the current node: selectPath() */ @Test - public void testThisVariable1() throws Exception - { + public void testThisVariable1() throws Exception { XmlCursor xc = _testDocCursor1(); xc.toFirstChild(); //<elem1> xc.toFirstChild(); //<elem11> @@ -77,8 +75,7 @@ public class XQueryVariableBindingTest e // this fails: see JIRA issue XMLBEANS-276 /** test the binding of a variable to the current node: selectPath() */ @Test - public void testCurrentNodeVariable1() throws Exception - { + public void testCurrentNodeVariable1() throws Exception { XmlCursor xc = _testDocCursor1(); xc.toFirstChild(); xc.toFirstChild(); @@ -92,23 +89,18 @@ public class XQueryVariableBindingTest e xc.dispose(); } - private XmlCursor _testDocCursor2() throws Exception - { + private XmlCursor _testDocCursor2() throws Exception { File f = new File(dir, "employees.xml"); XmlObject doc = XmlObject.Factory.parse(f); - XmlCursor xc = doc.newCursor(); - return xc; + return doc.newCursor(); } - public void _verifyQueryResult(XmlCursor qc) - { + public void _verifyQueryResult(XmlCursor qc) { System.out.println(qc.xmlText()); assertTrue(qc.toFirstChild()); - assertEquals("<phone location=\"work\">(425)555-5665</phone>", - qc.xmlText()); + assertEquals("<phone location=\"work\">(425)555-5665</phone>", qc.xmlText()); assertTrue(qc.toNextSibling()); - assertEquals("<phone location=\"work\">(425)555-6897</phone>", - qc.xmlText()); + assertEquals("<phone location=\"work\">(425)555-6897</phone>", qc.xmlText()); assertFalse(qc.toNextSibling()); } @@ -117,7 +109,7 @@ public class XQueryVariableBindingTest e public void testThisVariable2() throws Exception { XmlCursor xc = _testDocCursor2(); - xc.toNextToken(); + // xc.toNextToken(); String q = "for $e in $this/employees/employee " + "let $s := $e/address/state " + @@ -131,10 +123,9 @@ public class XQueryVariableBindingTest e /** test the binding of a variable to the current node: execQuery() */ @Test - public void testCurrentNodeVariable2() throws Exception - { + public void testCurrentNodeVariable2() throws Exception { XmlCursor xc = _testDocCursor2(); - xc.toNextToken(); + // xc.toNextToken(); String q = "for $e in $cur/employees/employee " + "let $s := $e/address/state " + @@ -150,18 +141,15 @@ public class XQueryVariableBindingTest e qc.dispose(); } - private XmlObject[] _execute(XmlObject xo, Map m, String q) - { + private XmlObject[] _execute(XmlObject xo, Map m, String q) { XmlOptions opts = new XmlOptions(); opts.setXqueryVariables(m); - XmlObject[] results = xo.execQuery(q, opts); - return results; + return xo.execQuery(q, opts); } /** test the binding of a variable to an XmlTokenSource using a map */ @Test - public void testOneVariable() throws Exception - { + public void testOneVariable() throws Exception { File f = new File(dir, "bookstore.xml"); XmlObject doc = XmlObject.Factory.parse(f); String q = @@ -169,23 +157,20 @@ public class XQueryVariableBindingTest e "for $x in $rt/book " + "where $x/price > 30 " + "return $x/title"; - Map m = new HashMap(); + Map<String,Object> m = new HashMap<>(); m.put("rt", doc.selectChildren("", "bookstore")[0]); XmlObject[] results = _execute(doc, m, q); assertNotNull(results); assertEquals(2, results.length); - assertEquals("<title lang=\"en\">XQuery Kick Start</title>", - results[0].xmlText()); - assertEquals("<title lang=\"en\">Learning XML</title>", - results[1].xmlText()); + assertEquals("<title lang=\"en\">XQuery Kick Start</title>", results[0].xmlText()); + assertEquals("<title lang=\"en\">Learning XML</title>", results[1].xmlText()); } - + /** test the binding of multiple variables using a map; at the same time, test the binding of a variable to a String */ @Test - public void testMultipleVariables() throws Exception - { + public void testMultipleVariables() throws Exception { File f = new File(dir, "bookstore.xml"); XmlObject doc = XmlObject.Factory.parse(f); String q = @@ -194,14 +179,13 @@ public class XQueryVariableBindingTest e "for $x in $rt/book " + "where $x[@category=$c] " + "return $x/title"; - Map m = new HashMap(); + Map<String,Object> m = new HashMap<>(); m.put("rt", doc.selectChildren("", "bookstore")[0]); m.put("c", "CHILDREN"); XmlObject[] results = _execute(doc, m, q); assertNotNull(results); assertEquals(1, results.length); - assertEquals("<title lang=\"en\">Harry Potter</title>", - results[0].xmlText()); + assertEquals("<title lang=\"en\">Harry Potter</title>", results[0].xmlText()); } } Modified: xmlbeans/trunk/test/src/xmlobject/detailed/CopyTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/test/src/xmlobject/detailed/CopyTest.java?rev=1877931&r1=1877930&r2=1877931&view=diff ============================================================================== --- xmlbeans/trunk/test/src/xmlobject/detailed/CopyTest.java (original) +++ xmlbeans/trunk/test/src/xmlobject/detailed/CopyTest.java Tue May 19 20:10:55 2020 @@ -25,7 +25,7 @@ public class CopyTest { @Test public void testXobjTypeOnDomNodeCopy() throws Exception { XmlObject o = XmlObject.Factory.parse("<foo><a/></foo>"); - String xobjOrgClassName = "org.apache.xmlbeans.impl.store.Xobj$DocumentXobj"; + String xobjOrgClassName = "org.apache.xmlbeans.impl.store.DocumentXobj"; assertEquals("Invalid Type!", o.getDomNode().getClass().getName(), xobjOrgClassName); XmlObject o2 = o.copy(); @@ -33,8 +33,8 @@ public class CopyTest { System.out.println("DocXobj:" + xobjCopyClassName); // check for the expected type - assertEquals("Invalid Type!", "org.apache.xmlbeans.impl.store.Xobj$DocumentXobj", xobjOrgClassName); - assertEquals("Invalid Type!", "org.apache.xmlbeans.impl.store.Xobj$DocumentXobj", xobjCopyClassName); + assertEquals("Invalid Type!", "org.apache.xmlbeans.impl.store.DocumentXobj", xobjOrgClassName); + assertEquals("Invalid Type!", "org.apache.xmlbeans.impl.store.DocumentXobj", xobjCopyClassName); } // Test the same for a simple untyped XmlObject copy @@ -46,7 +46,6 @@ public class CopyTest { assertEquals("Invalid Type!", untypedXobjClass, o.getClass().getName()); XmlObject o2 = o.copy(); - String xobjClass = o2.getClass().getName(); // type should be unchanged after the copy assertEquals("Invalid Type!", untypedXobjClass, o2.getClass().getName()); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
