/* Created on 30 mai 2005 $Id$ */ package org.exist.xquery; import org.xmldb.api.modules.XPathQueryService; /** * @author Jean-Marc Vanel http://jmvanel.free.fr/ */ public class ValueIndexByQNameTest extends ValueIndexTest { private String config = "<collection xmlns=\"http://exist-db.org/collection-config/1.0\">" + " <index xmlns:x=\"http://www.foo.com\" xmlns:xx=\"http://test.com\">" + " <fulltext default=\"none\">" + " <include path=\"//item/name\"/>" + " <include path=\"//item/mixed\"/>" + " </fulltext>" + " <create qname=\"itemno\" type=\"xs:integer\"/>" + // " <create-by-qname qname=\"//item/name\" type=\"xs:string\"/>" + " <create qname=\"name\" type=\"xs:string\"/>" + // " <create path=\"//item/stock\" type=\"xs:integer\"/>" + // " <create path=\"//item/price\" type=\"xs:double\"/>" + // " <create path=\"//item/price/@specialprice\" type=\"xs:boolean\"/>" + // " <create path=\"//item/x:rating\" type=\"xs:double\"/>" + " <create qname='@xx:test' type='xs:integer' />" + " <create qname='mixed' type='xs:string' />" + " </index>" + "</collection>"; public void testStrings() throws Exception { configureCollection(config); XPathQueryService service = storeXMLFileAndGetQueryService("items.xml", "test/src/org/exist/xquery/items.xml"); // queryResource(service, "items.xml", "//item[name > 'Racing Bicycle']", 4 ); queryResource(service, "items.xml", "util:qname-index-lookup( xs:QName('name'), 'Racing Bicycle' ) / parent::item" , 1 ); queryResource(service, "items.xml", "util:qname-index-lookup( xs:QName('itemno'), 3) / parent::item", 1); queryResource(service, "items.xml", "declare namespace xx='http://test.com'; " + "util:qname-index-lookup( xs:QName('xx:test'), 123) ", 1); // queryResource(service, "items.xml", "//item[name &= 'Racing Bicycle']", 1); // queryResource(service, "items.xml", "//item[mixed = 'uneven']", 1); queryResource(service, "items.xml", "util:qname-index-lookup( xs:QName('mixed'), 'external' )", 1); // queryResource(service, "items.xml", "//item[fn:matches(mixed, 'un.*')]", 2); } protected String getCollectionConfig() { return config; } public static void main(String[] args) { junit.textui.TestRunner.run(ValueIndexByQNameTest.class); } }