Package org.xmldb.api.modules

Examples of org.xmldb.api.modules.XPathQueryService


        ResourceSet result;
        String query;
        @SuppressWarnings("unused")
    XMLResource resu;
        try {
            XPathQueryService service =
                    storeXMLStringAndGetQueryService(NUMBERS_XML, numbers);

            //Non null context sequence
            System.out.println("testLet 1: ========");
            query = "/test/item[let $id := ./@id return $id]";
            result = service.queryResource(NUMBERS_XML, query);
            printResult(result);
            assertEquals("XQuery: " + query, 4, result.getSize());

            System.out.println("testLet 2: ========");
            query = "/test/item[let $id := ./@id return not(/test/set[@id=$id])]";
            result = service.queryResource(NUMBERS_XML, query);
            printResult(result);
            assertEquals("XQuery: " + query, 4, result.getSize());

            System.out.println("testLet 3: ========");
            query = "let $test := <test><a> a </a><a>a</a></test> " +
                    "return distinct-values($test/a/normalize-space(.))";
            result = service.queryResource(NUMBERS_XML, query);
            printResult(result);
            assertEquals("XQuery: " + query, 1, result.getSize());

            //Ordered value sequence
            System.out.println("testLet 4: ========");
            query = "let $unordset := (for $val in reverse(1 to 100) return " +
                    "<value>{$val}</value>)" +
                    "let $ordset := (for $newval in $unordset " +
                    "where $newval mod 2 eq 1 " +
                    "order by $newval " +
                    "return $newval/text()) " +
                    "return $ordset/ancestor::node()";

            result = service.queryResource(NUMBERS_XML, query);
            printResult(result);
            assertEquals("XQuery: " + query, 50, result.getSize());

            //WARNING : the return order CHANGES !!!!!!!!!!!!!!!!!!
View Full Code Here


    public void testFor() {
        ResourceSet result;
        String query;
        XMLResource resu;
        try {
            XPathQueryService service =
                    storeXMLStringAndGetQueryService(NUMBERS_XML, numbers);

            System.out.println("testFor 1: ========");
            query = "for $f in /*/item return $f";
            result = service.queryResource(NUMBERS_XML, query);
            printResult(result);
            assertEquals("XQuery: " + query, 4, result.getSize());

            System.out.println("testFor 2: ========");
            query = "for $f in /*/item  order by $f ascending  return $f";
            result = service.queryResource(NUMBERS_XML, query);
            printResult(result);
            resu = (XMLResource) result.getResource(0);
            assertEquals("XQuery: " + query, "3", ((Element) resu.getContentAsDOM()).getAttribute("id"));

            System.out.println("testFor 3: ========");
            query = "for $f in /*/item  order by $f descending  return $f";
            result = service.queryResource(NUMBERS_XML, query);
            printResult(result);
            resu = (XMLResource) result.getResource(0);
            assertEquals("XQuery: " + query, "2", ((Element) resu.getContentAsDOM()).getAttribute("id"));

            System.out.println("testFor 4: ========");
            query = "for $f in /*/item  order by xs:double($f/price) descending  return $f";
            result = service.queryResource(NUMBERS_XML, query);
            printResult(result);
            resu = (XMLResource) result.getResource(0);
            assertEquals("XQuery: " + query, "4", ((Element) resu.getContentAsDOM()).getAttribute("id"));

            System.out.println("testFor 5: ========");
            query = "for $f in //item where $f/@id = '3' return $f";
            result = service.queryResource(NUMBERS_XML, query);
            printResult(result);
            resu = (XMLResource) result.getResource(0);
            assertEquals("XQuery: " + query, "3", ((Element) resu.getContentAsDOM()).getAttribute("id"));

            //Non null context sequence
            System.out.println("testFor 6: ========");
            query = "/test/item[for $id in ./@id return $id]";
            result = service.queryResource(NUMBERS_XML, query);
            printResult(result);
            resu = (XMLResource) result.getResource(0);
            assertEquals("XQuery: " + query, 4, result.getSize());

            //Ordered value sequence
            System.out.println("testFor 7: ========");
            query = "let $doc := <doc><value>Z</value><value>Y</value><value>X</value></doc> " +
                    "return " +
                    "let $ordered_values := " +
                    "  for $value in $doc/value order by $value ascending " +
                    "  return $value " +
                    "for $value in $doc/value " +
                    "  return $value[. = $ordered_values[position() = 1]]";

            result = service.queryResource(NUMBERS_XML, query);
            printResult(result);
            resu = (XMLResource) result.getResource(0);
            assertEquals("XQuery: " + query, "<value>X</value>", resu.getContent());

            //Ordered value sequence
            System.out.println("testFor 8: ========");
            query = "for $e in (1) order by $e return $e";
            result = service.queryResource(NUMBERS_XML, query);
            printResult(result);
            resu = (XMLResource) result.getResource(0);
            assertEquals("XQuery: " + query, "1", resu.getContent());

        } catch (XMLDBException e) {
View Full Code Here

        @Override
        public void run() {
            try {
                // Collection collection =
                DatabaseManager.getCollection(properties.getProperty("uri") + path, properties.getProperty("user"), properties.getProperty("password"));
                final XPathQueryService service = (XPathQueryService) current.getService("XPathQueryService", "1.0");
                service.setProperty(OutputKeys.INDENT, "yes");
                service.setProperty(OutputKeys.ENCODING, properties.getProperty("encoding"));
                final Random r = new Random(System.currentTimeMillis());
                for (int i = 0; i < 10; i++) {
                    final String query = queries.get(r.nextInt(queries.size()));
                    System.out.println(getName() + " query: " + query);
                    final ResourceSet result = service.query(query);
                    System.out.println(getName() + " found: " + result.getSize());
                }
            } catch (final XMLDBException e) {
                System.err.println("ERROR: " + e.getMessage());
            }
View Full Code Here

                    "       local:append(($head, $i), $i + 1)\n" +
                    "   else\n" +
                    "       $head\n" +
                    "};\n" +
                    "local:append((), 0)";
            XPathQueryService service =
                    (XPathQueryService) getTestCollection().getService(
                    "XPathQueryService",
                    "1.0");
            ResourceSet result = service.query(q1);
            assertEquals(result.getSize(), 5000);
        } catch (Exception e) {
            e.printStackTrace();
            fail(e.getMessage());
        }
View Full Code Here

    public void testConstructedNode1() {
        try {
            String q1 =
                    "let $a := <A/> for $b in $a//B/string() return \"Oops!\"";
            XPathQueryService service =
                    (XPathQueryService) getTestCollection().getService(
                    "XPathQueryService",
                    "1.0");
            ResourceSet result = service.query(q1);
            assertEquals(0, result.getSize());
        } catch (Exception e) {
            e.printStackTrace();
            fail(e.getMessage());
        }
View Full Code Here

    public void testCombiningNodeSequences() {
        ResourceSet result;
        String query;

        try {
            XPathQueryService service =
                    (XPathQueryService) getTestCollection().getService(
                    "XPathQueryService",
                    "1.0");

            System.out.println("testCombiningNodeSequences 1: ========");
            query = "let $a := <a/> \n" +
                    "let $aa := ($a, $a) \n" +
                    "for $b in ($aa intersect $aa \n)" +
                    "return $b";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, 1, result.getSize());
            assertEquals("XQuery: " + query, "<a/>", ((XMLResource) result.getResource(0)).getContent());

            System.out.println("testCombiningNodeSequences 2: ========");
            query = "let $a := <a/> \n" +
                    "let $aa := ($a, $a) \n" +
                    "for $b in ($aa union $aa \n)" +
                    "return $b";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, 1, result.getSize());
            assertEquals("XQuery: " + query, "<a/>", ((XMLResource) result.getResource(0)).getContent());

            System.out.println("testCombiningNodeSequences 3: ========");
            query = "let $a := <a/> \n" +
                    "let $aa := ($a, $a) \n" +
                    "for $b in ($aa except $aa \n)" +
                    "return $b";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, 0, result.getSize());


        } catch (XMLDBException e) {
View Full Code Here

    public void bugtestInMemoryNodeSequences() {
        ResourceSet result;
        String query;

        try {
            XPathQueryService service =
                    (XPathQueryService) getTestCollection().getService(
                    "XPathQueryService",
                    "1.0");

            System.out.println("testInMemoryNodeSequences 1: ========");
            query = "let $c := (<a/>,<b/>) return <t>text{$c[1]}</t>";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, "<t>text<a/></t>", result.getResource(0).getContent());

            System.out.println("testInMemoryNodeSequences 2: ========");
            query = "let $c := (<a/>,<b/>) return <t><text/>{$c[1]}</t>";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, "<t><text/><a/></t>", result.getResource(0).getContent());

            System.out.println("testInMemoryNodeSequences 3: ========");
            query = "let $c := (<a/>,<b/>) return <t>{\"text\"}{$c[1]}</t>";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, "<t>text<a/></t>", result.getResource(0).getContent());

            System.out.println("testInMemoryNodeSequences 4: ========");
            query = "let $c := (<a/>,\"b\") return <t>text{$c[1]}</t>";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, "<t>text<a/></t>", result.getResource(0).getContent());

            System.out.println("testInMemoryNodeSequences 5: ========");
            query = "let $c := (<a/>,\"b\") return <t><text/>{$c[1]}</t>";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, "<t><text/><a/></t>", result.getResource(0).getContent());

            System.out.println("testInMemoryNodeSequences 6: ========");
            query = "let $c := (<a/>,\"b\") return <t>{\"text\"}{$c[1]}</t>";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, "<t>text<a/></t>", result.getResource(0).getContent());

            System.out.println("testInMemoryNodeSequences 7: ========");
            query = "let $c := (<a/>,<b/>) return <t>{<text/>,$c[1]}</t>";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, "<t>text<a/></t>", result.getResource(0).getContent());

            System.out.println("testInMemoryNodeSequences 8: ========");
            query = "let $c := (<a/>,<b/>) return <t>{\"text\",$c[1]}</t>";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, "<t>text<a/></t>", result.getResource(0).getContent());

            System.out.println("testInMemoryNodeSequences 9: ========");
            query = "let $c := (<a/>,\"b\") return <t>{<text/>,$c[1]}</t>";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, "<t>text<a/></t>", result.getResource(0).getContent());

            System.out.println("testInMemoryNodeSequences 10: ========");
            query = "let $c := (<a/>,\"b\") return <t>{\"text\",$c[1]}</t>";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, "<t>text<a/></t>", result.getResource(0).getContent());

        } catch (XMLDBException e) {
            System.out.println("testInMemoryNodeSequences(): XMLDBException: " + e);
View Full Code Here

        XMLResource resu;
        @SuppressWarnings("unused")
    boolean exceptionThrown;
        String message;
        try {
            XPathQueryService service =
                    storeXMLStringAndGetQueryService(NUMBERS_XML, numbers);

            System.out.println("testVariable 1: ========");
            query = "xquery version \"1.0\";\n" + "declare namespace param=\"param\";\n" + "declare variable $param:a {\"a\"};\n" + "declare function param:a() {$param:a};\n" + "let $param:a := \"b\" \n" + "return ($param:a, $param:a)";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, 2, result.getSize());
            assertEquals("XQuery: " + query, "b", ((XMLResource) result.getResource(0)).getContent());
            assertEquals("XQuery: " + query, "b", ((XMLResource) result.getResource(1)).getContent());

            System.out.println("testVariable 2: ========");
            query = "xquery version \"1.0\";\n" + "declare namespace param=\"param\";\n" + "declare variable $param:a {\"a\"};\n" + "declare function param:a() {$param:a};\n" + "let $param:a := \"b\" \n" + "return param:a(), param:a()";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, 2, result.getSize());
            assertEquals("XQuery: " + query, "a", ((XMLResource) result.getResource(0)).getContent());
            assertEquals("XQuery: " + query, "a", ((XMLResource) result.getResource(1)).getContent());

            System.out.println("testVariable 3: ========");
            query = "declare variable $foo {\"foo1\"};\n" + "let $foo := \"foo2\" \n" + "for $bar in (1 to 1) \n" + "  let $foo := \"foo3\" \n" + "  return $foo";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, 1, result.getSize());
            assertEquals("XQuery: " + query, "foo3", ((XMLResource) result.getResource(0)).getContent());

            try {
                message = "";
                System.out.println("testVariable 4 ========");
                query = "xquery version \"1.0\";\n" + "declare variable $a {\"1st instance\"};\n" + "declare variable $a {\"2nd instance\"};\n" + "$a";
                result = service.query(query);
            } catch (XMLDBException e) {
                message = e.getMessage();
            }
            assertTrue(message.indexOf("XQST0049") > -1);

            System.out.println("testVariable 5: ========");
            query = "xquery version \"1.0\";\n" + "declare namespace param=\"param\";\n" + "declare function param:f() { $param:a };\n" + "declare variable $param:a {\"a\"};\n" + "param:f()";
            result = service.query(query);
            printResult(result);
            assertEquals("XQuery: " + query, 1, result.getSize());
            assertEquals("XQuery: " + query, "a", ((XMLResource) result.getResource(0)).getContent());

            System.out.println("testVariable 6: ========");
            query = "let $a := <root> " +
                    "<b name='1'>" +
                    "  <c name='x'> " +
                    "    <bar name='2'/> " +
                    "    <bar name='3'> " +
                    "      <bar name='4'/> " +
                    "    </bar> " +
                    "  </c> " +
                    "</b> " +
                    "</root> " +
                    "let $b := for $bar in $a/b/c/bar " +
                    "where ($bar/../@name = 'x') " +
                    "return $bar " +
                    "return $b";
            result = service.queryResource(NUMBERS_XML, query);
            assertEquals("XQuery: " + query, 2, result.getSize());
            printResult(result);
            resu = (XMLResource) result.getResource(0);
            assertEquals("XQuery: " + query, "2", ((Element) resu.getContentAsDOM()).getAttribute("name"));
            resu = (XMLResource) result.getResource(1);
View Full Code Here

        @SuppressWarnings("unused")
    boolean exceptionThrown;
        @SuppressWarnings("unused")
    String message;
        try {
            XPathQueryService service =
                    storeXMLStringAndGetQueryService(NUMBERS_XML, numbers);
            service.setProperty(OutputKeys.INDENT, "no");

            query = "let $node := (<c id='OK'><b id='cool'/></c>)/descendant::*/attribute::id " +
                    "return <a>{$node}</a>";
            result = service.queryResource(NUMBERS_XML, query);
            assertEquals("XQuery: " + query, 1, result.getSize());
            assertXMLEqual("<a id='cool'/>", ((XMLResource) result.getResource(0)).getContent().toString());

            query = "let $node := (<c id='OK'><b id='cool'/></c>)/descendant-or-self::*/child::b " +
                    "return <a>{$node}</a>";
            result = service.queryResource(NUMBERS_XML, query);
            assertEquals("XQuery: " + query, 1, result.getSize());
            assertXMLEqual("<a><b id='cool'/></a>", ((XMLResource) result.getResource(0)).getContent().toString());

            query = "let $node := (<c id='OK'><b id='cool'/></c>)/descendant-or-self::*/descendant::b " +
                    "return <a>{$node}</a>";
            result = service.queryResource(NUMBERS_XML, query);
            assertEquals("XQuery: " + query, 1, result.getSize());
            assertXMLEqual("<a><b id='cool'/></a>", ((XMLResource) result.getResource(0)).getContent().toString());

            query = "let $doc := <a id='a'><b id='b'/></a> " +
                    "return $doc/*/(<id>{@id}</id>)";
            result = service.queryResource(NUMBERS_XML, query);
            assertEquals("XQuery: " + query, 1, result.getSize());
            assertXMLEqual("<id id='b' />", ((XMLResource) result.getResource(0)).getContent().toString());

        } catch (Exception e) {
            System.out.println("testVirtualNodesets : XMLDBException: " + e);
View Full Code Here

        @SuppressWarnings("unused")
    boolean exceptionThrown;
        @SuppressWarnings("unused")
    String message;
        try {
            XPathQueryService service =
                    storeXMLStringAndGetQueryService(NUMBERS_XML, numbers);
            service.setProperty(OutputKeys.INDENT, "no");

            query = "let $a := element node1 { " +
                    "attribute id {'id'}, " +
                    "element node1 {'1'}, " +
                    "element node2 {'2'} " +
                    "} " +
                    "for $x in $a " +
                    "where $x/@id eq 'id' " +
                    "return $x";
            result = service.queryResource(NUMBERS_XML, query);
            assertEquals("XQuery: " + query, 1, result.getSize());
            assertXMLEqual("<node1 id='id'><node1>1</node1><node2>2</node2></node1>",
                    ((XMLResource) result.getResource(0)).getContent().toString());

        } catch (Exception e) {
View Full Code Here

TOP

Related Classes of org.xmldb.api.modules.XPathQueryService

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.