ShreX: A Generic Middleware for Shredding and Querying XML in Relational Databases


XML is becoming the predominant data exchange format in a variety of application domains ( supply-chain, scientific data processing, telecommunication infrastructure).  By relying on relational storage, XML developers can benefit from a complete set of data management services and from the highly optimized relational query processors.  In order to store XML data in a RDBMS, it is necessary first that an XML-to-relational mapping be defined.  Once a mapping is selected, XML documents must be appropriately shredded and loaded into the database.  Finally, queries over the XML documents must be translated into SQL queries over the mapped relations.

ShreX provides a generic mechanism for specifying mappings, shredding and querying XML documents.  The shredding component accepts as inputs an annotated XML Schema and XML documents, and outputs CREATE TABLE statements, and tuples to populate the tables.  The system provides a point-and-click (Java-based) GUI to help users perform storage operations and define mappings.  The GUI  shows visually the correspondence between the XML schema elements and their counterparts in generated relational schema.

ShreX can be used with virtually any relational database.  The system was written in Java.  Xerces is used to parse and shred XML documents.  Shrex has been tested with DB2 and MySQL.



  1. Download
  2. Enter your install directory (cd $install_dir$), and expand the zip file (unzip
  3. Follow the Readme file in the expanded directory.


This project is currently funded by the National Science Foundation grant number IIS-0534628.

Last modified: Feb 7, 2007