Xinq [Xml INQuiry]
Search and browse tool for accessing an XML database
Xinq is tool which creates a web-application completely from only an application-specification file written in XML. The created web-application accesses data from an XML database and currently provides search and browse functionality. Update functionality is being developed under the umbrella of another open source project, Xedit, which is based on the Xinq architecture.
Xinq is implemented using standards-based and open-source technologies including XSLT, XQuery, JSP and Java Servlet technologies. The XML:DB API is used for accessing the XML data repository. Any database that supports XQuery and the XML:DB API can be used. Throughout development we have been trialling eXist, an open-source native-XML database.
- Generates a functional web-application completely and only from a specification file.
- The application will run in any Java-compliant web container and has been tested using Tomcat and Jetty.
- Search parameters, browse and detailed display options are fully customisable. Direct access to any element can be provided from the search page. Any database element can be exposed through a browse page which is useful for directories or for providing browse paths for web-crawlers.
- All configuration information is contained within a single specification file. Datamodel and display information is easily added and updated from within this file.
- Accesses the XML database using the vendor-independent XML:DB API so a range of backends are available with only a change in the specification file.
- Built using standards-based and open-source technologies.
Xinq has been developed by the National Library of Australia as the lead member of the Deep Web working group of the International Internet Preservation Consortium (IIPC). The IIPC has as its objective to identify strategies and produce tools for archiving web content which is inaccessible to crawlers.
One of the deliverables for this working group was a web-based access tool to search and navigate structured data archives (which are stored as XML) which are the long-term preservation copies of deposited databases and document archives.
The outcome of an analysis of the requirements for this tool is documented in the following specification "Specifications for Database Archive Access Tool", which is now known as XinQ. Although developed for the IIPC, the functionality provided by XinQ can be used for the automatic creation of a search/browse interface to any xml content..
In particular we have found it a useful tool in the following areas:
- archiving legacy databases eg when old systems are replaced it is often a requirement to provide access to the old data, particularly data that was not migrated to the new system
- early prototyping - during the requirements analysis phase of building a new system, the data/object domain is often difficult to interpret from client requirements. By describing the object domain using the Xinq data archive specification format, a working system can be generated immediately, albeit only with search/browse/view capability. Test data can be authored using any XML content editor, as Xinq also generates an XSD schema, and loaded into the database.
An example Xinq instance is accessible, with its accompanying application specification file, from the link below.