{-------------------------------------------------------------------------------------
-
- The XQuery Compiler and Interpreter
- Programmer: Leonidas Fegaras
- Email: fegaras@cse.uta.edu
- Web: http://lambda.uta.edu/
- Creation: 03/22/08, last update: 05/30/08
- 
- Copyright (c) 2008 by Leonidas Fegaras, the University of Texas at Arlington. All rights reserved.
- This material is provided as is, with absolutely no warranty expressed or implied.
- Any use is at your own risk. Permission is hereby granted to use or copy this program
- for any purpose, provided the above notices are retained on all copies.
-
--------------------------------------------------------------------------------------}


-- | HXQ is a fast and space-efficient compiler from XQuery (the standard
-- query language for XML) to embedded Haskell code. The translation is
-- based on Haskell templates. It also provides an interpreter for
-- evaluating ad-hoc XQueries read from input or from files and database connectivity using HDBC.
-- For more information, look at <http://lambda.uta.edu/HXQ/>.
module XML.HXQ.XQuery (
       -- * The XML Data Representation
       XTree(..), XSeq, Tag, AttList, putXSeq,
       -- * The XQuery Compiler
       xq, xe,
       -- * The XQuery Interpreter
       xquery, xfile,
       -- * The XQuery Compiler with Database Connectivity
       xqdb, connect, disconnect, prepareSQL, executeSQL,
       -- * The XQuery Interpreter with Database Connectivity
       xqueryDB, xfileDB,
       -- * Shredding and Publishing XML Documents Using a Relational Database
       shred, createIndex
    ) where

import HXML(AttList)
import XML.HXQ.XTree
import XML.HXQ.Compiler
import XML.HXQ.Interpreter
import XML.HXQ.DB
import XML.HXQ.DBConnect
import Database.HDBC(disconnect)