Package org.xmldb.api.modules

Examples of org.xmldb.api.modules.XQueryService


        testCollection = null;
    }

    @Test
    public void pathExpression() throws XMLDBException {
        final XQueryService service =
                storeXMLStringAndGetQueryService("numbers.xml", numbers);

        //Invalid path expression left operand (not a node set).
        String message = "";
        try {
View Full Code Here


    /** test simple queries involving attributes */
    @Test
    public void attributes() throws XMLDBException {
        final String testDocument = "numbers.xml";

        final XQueryService service = storeXMLStringAndGetQueryService(
                testDocument, numbers);

        String query = "/test/item[ @id='1' ]";
        ResourceSet result = service.queryResource(testDocument, query);
        System.out.println("testAttributes 1: ========");
        printResult(result);
        assertEquals("XPath: " + query, 1, result.getSize());

        XMLResource resource = (XMLResource)result.getResource(0);
        Node node = resource.getContentAsDOM();
        if (node.getNodeType() == Node.DOCUMENT_NODE)
            node = node.getFirstChild();
        assertEquals("XPath: " + query, "item", node.getNodeName());

        query = "/test/item [ @type='alphanum' ]";
        result = service.queryResource(testDocument, query);
        System.out.println("testAttributes 2: ========");
        printResult(result);
        assertEquals("XPath: " + query, 1, result.getSize());
    }
View Full Code Here

        assertEquals("XPath: " + query, 1, result.getSize());
    }

    @Test
    public void starAxis() throws XMLDBException {
        final XQueryService service =
                storeXMLStringAndGetQueryService("numbers.xml", numbers);

        ResourceSet result = service.queryResource("numbers.xml", "/*/item");
        System.out.println("testStarAxis 1: ========");
        printResult(result);
        assertEquals("XPath: /*/item", 4, result.getSize());

        result = service.queryResource("numbers.xml", "/test/*");
        System.out.println("testStarAxis  2: ========");
        printResult(result);
        assertEquals("XPath: /test/*", 4, result.getSize());

        result = service.queryResource("numbers.xml", "/test/descendant-or-self::*");
        System.out.println("testStarAxis  3: ========");
        printResult(result);
        assertEquals("XPath: /test/descendant-or-self::*", 13, result.getSize());

        result = service.queryResource("numbers.xml", "/*/*");
        System.out.println("testStarAxis 4: ========" );
        printResult(result);
        //Strange !!! Should be 8
        assertEquals("XPath: /*/*", 4, result.getSize());
    }
View Full Code Here

        assertEquals("XPath: /*/*", 4, result.getSize());
    }

    @Test
    public void starAxisConstraints() throws XMLDBException {
        final XQueryService service =
                storeXMLStringAndGetQueryService("namespaces.xml", namespaces);
        service.setNamespace("t", "http://www.foo.com");
        System.out.println("testStarAxisConstraints : ========");

        String query = "// t:title/text() [ . != 'aaaa' ]";
        ResourceSet result = service.queryResource( "namespaces.xml", query);
        printResult(result);
        assertEquals("XPath: " + query, 1, result.getSize() );
        System.out.println("testStarAxisConstraints : ========");

        query = "/t:test/*:section[contains(., 'comment')]";
        result = service.queryResource("namespaces.xml", query);
        printResult(result);
        assertEquals("XPath: " + query, 1, result.getSize());
        System.out.println("testStarAxisConstraints : ========");

        query = "/t:test/t:*[contains(., 'comment')]";
        result = service.queryResource("namespaces.xml", query);
        printResult(result);
        assertEquals("XPath: " + query, 1, result.getSize());
        System.out.println("testStarAxisConstraints : ========");

        query = "/t:test/t:section[contains(., 'comment')]";
        result = service.queryResource("namespaces.xml", query);
        printResult(result);
        assertEquals("XPath: " + query, 1, result.getSize());
        System.out.println("testStarAxisConstraints : ========");

        query = "/t:test/t:section/*[contains(., 'comment')]";
        result = service.queryResource("namespaces.xml", query);
        printResult(result);
        assertEquals("XPath: " + query, 1, result.getSize());
        System.out.println("testStarAxisConstraints : ========");

        query = "/ * / * [ t:title ]";
        result = service.queryResource( "namespaces.xml", query);
        printResult(result);
        assertEquals("XPath: " + query, 1, result.getSize() );
        System.out.println("testStarAxisConstraints : ========");

        query = "/ t:test / t:section [ t:title ]";
        result = service.queryResource( "namespaces.xml", query);
        printResult(result);
        System.out.println("g) 1 / " +  result.getSize());
        assertEquals("XPath: " + query, 1, result.getSize() );
        System.out.println("testStarAxisConstraints : ========");

        query = "/ t:test / t:section";
        result = service.queryResource( "namespaces.xml", query);
        printResult(result);
        System.out.println("h) 1 / " +  result.getSize());
        assertEquals("XPath: " + query, 1, result.getSize() );
        System.out.println("testStarAxisConstraints : ========");
    }
View Full Code Here

        System.out.println("testStarAxisConstraints : ========");
    }

    @Test
    public void starAxisConstraints2() throws XMLDBException {
        final XQueryService service =
                storeXMLStringAndGetQueryService("namespaces.xml", namespaces);
        service.setNamespace("t", "http://www.foo.com");

        String query =  "/ * [ ./ * / t:title ]";
        ResourceSet result = service.queryResource( "namespaces.xml", query);
        System.out.println("testStarAxisConstraints2 : ========");
        printResult(result);
        assertEquals("XPath: " + query, 1, result.getSize());

        query =  "/ * [ * / t:title ]";
        result = service.queryResource( "namespaces.xml", query);
        System.out.println("testStarAxisConstraints2 : ========");
        printResult(result);
        assertEquals("XPath: " + query, 1, result.getSize());
    }
View Full Code Here

        assertEquals("XPath: " + query, 1, result.getSize());
    }

    @Test
    public void starAxisConstraints3() throws XMLDBException {
        final XQueryService service =
                storeXMLStringAndGetQueryService("namespaces.xml", namespaces);
        service.setNamespace("t", "http://www.foo.com");

        final String query =  "// * [ . = 'Test Document' ]";
        final ResourceSet result = service.queryResource("namespaces.xml", query);
        System.out.println("testStarAxisConstraints3 : ========");
        printResult(result);
        assertEquals("XPath: " + query, 1, result.getSize());
    }
View Full Code Here

    }

    @Test
    public void root() throws XMLDBException {
        storeXMLStringAndGetQueryService("nested2.xml", nested2);
        final XQueryService service = storeXMLStringAndGetQueryService("numbers.xml", numbers);
        String query = "let $doc := <a><b/></a> return root($doc)";
        ResourceSet result = service.queryResource("numbers.xml", query);
        assertEquals("XPath: " + query, 1, result.getSize());
        final XMLResource resource = (XMLResource)result.getResource(0);
        Node node = resource.getContentAsDOM();
        //Oh dear ! Don't tell me that *I* have written this :'( -pb
        if (node.getNodeType() == Node.DOCUMENT_NODE) {
            node = node.getFirstChild();
        }
        assertEquals("XPath: " + query, "a", node.getLocalName());

        query = "let $c := (<a/>,<b/>,<c/>,<d/>,<e/>) return count($c/root())";
        result = service.queryResource("numbers.xml", query);
        assertEquals("5", result.getResource(0).getContent().toString());
    }
View Full Code Here

        assertEquals("5", result.getResource(0).getContent().toString());
    }

    @Test
    public void name() throws XMLDBException {
        final XQueryService service =
                storeXMLStringAndGetQueryService("nested2.xml", nested2);

        final String query = "(<a/>,<b/>)/name()";
        final ResourceSet result = service.queryResource("nested2.xml", query);

        assertEquals("XPath: " + query, 2, result.getSize());
        assertEquals("a", result.getResource(0).getContent().toString());
        assertEquals("b", result.getResource(1).getContent().toString());
    }
View Full Code Here

        assertEquals("b", result.getResource(1).getContent().toString());
    }

    @Test
    public void parentAxis() throws XMLDBException {
        XQueryService service =
                storeXMLStringAndGetQueryService("nested2.xml", nested2);

        queryResource(service, "nested2.xml", "(<a/>, <b/>, <c/>)/parent::*", 0);
        queryResource(service, "nested2.xml", "/RootElement//ChildB/parent::*", 1);
        queryResource(service, "nested2.xml", "/RootElement//ChildB/parent::*/ChildB", 1);
        queryResource(service, "nested2.xml", "/RootElement/ChildA/parent::*/ChildA/ChildB", 1);

        service =
                storeXMLStringAndGetQueryService("numbers2.xml", numbers2);
        service.setNamespace("n", "http://numbers.org");
        queryResource(service, "numbers2.xml", "//n:price[. = 18.4]/parent::*[@id = '3']", 1);
        queryResource(service, "numbers2.xml", "//n:price[. = 18.4]/parent::n:item[@id = '3']", 1);
        queryResource(service, "numbers2.xml", "//n:price/parent::n:item[@id = '3']", 1);
        ResourceSet result =
                queryResource(service, "numbers2.xml", "//n:price[. = 18.4]/parent::n:*/string(@id)", 1);
View Full Code Here

            "for $price in //n:price where $price/parent::*[@id = '3']/n:stock = '5' return $price", 1);
    }

    @Test
    public void parentSelfAxis() throws XMLDBException {
        final XQueryService service =
                storeXMLStringAndGetQueryService("nested2.xml", nested2);
        storeXMLStringAndGetQueryService("numbers.xml", numbers);
        queryResource(service, "nested2.xml", "/RootElement/descendant::*/parent::ChildA", 1);
        queryResource(service, "nested2.xml", "/RootElement/descendant::*[self::ChildB]/parent::RootElement", 0);
        queryResource(service, "nested2.xml", "/RootElement/descendant::*[self::ChildA]/parent::RootElement", 1);
        queryResource(service, "nested2.xml", "let $a := ('', 'b', '', '') for $b in $a[.] return <blah>{$b}</blah>", 1);

        final String query = "let $doc := <root><page><a>a</a><b>b</b></page></root>" +
                "return " +
                "for $element in $doc/page/* " +
                "return " +
                "if($element[self::a] or $element[self::b]) then (<found/>) else (<notfound/>)";
        final ResourceSet result = service.queryResource("numbers.xml", query);
        assertEquals(2, result.getSize());
    }
View Full Code Here

TOP

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

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.