Plan-X

Bøgebjerg XML Store

This page gives links to information about the XML Store implementation by Kasper Bøgebjerg Pedersen (based on work done by Kasper and Jesper Teilgaard Pedersen).

Please send any comments, requests, or bug reports to Henning Niss.

Software

If you need XML Store for application programming, you may wish to only download the binary jar containing all the relevant pre-compiled class files.

If you are interested in the source code---for example, if you wish to experiment with changes to the implementation---then download the source distribution containing everything needed to build the binary distribution yourself.

Refer to the JavaDoc for initial advice about the use of the classes. It is included in the binary distribution.

Binary jar:bogebjerg-xmlstore-1.1.jar
Binary distribution:bogebjerg-xmlstore-1.1.tar.gz
Binary distribution:bogebjerg-xmlstore-1.1.zip
Source distribution:bogebjerg-xmlstore-1.1-src.tar.gz
Source distribution:bogebjerg-xmlstore-1.1-src.zip

Dependencies

This release of XML Store requires the following jars:

JLex-1.2.6.jarwww.cs.princeton.edu/~appel/modern/java/JLex/
java_cup-0.10.jarwww.cs.princeton.edu/~appel/modern/java/CUP/
xml-writer-0.2.jarwww.megginson.com/Software/

To build the source distribution we recommend the Apache Ant tool.

Getting started: an example

TBA: give a short example here

import org.planx.xmlstore.*;
import org.planx.xmlstore.stores.*;
import org.planx.xmlstore.input.*;
import java.io.*;

public class XMLStoreExample {
  public static void main(String[] args)
      throws XMLStoreException, XMLStoreXMLException, UnknownValueReferenceException, IOException
  {
    if(args.length < 1){
      System.err.println("Usage: java XMLStoreExample <xml file>");
      return;
    }

    // Create XML Store
    XMLStore xmlstore = new WriteBufferXMLStore("myxmlstore.disk");

    // Use SAX parser to construct a representation of the file
    Node n = SAXBuilder.build(args[0]);

    // ... and save it to disk
    ValueReference vref = xmlstore.save(n);

    // Load the first child
    Node c = xmlstore.load(vref).getChildNodes().getNode(0);

    // ... and print it's tag
    System.out.println(c.getNodeValue());

    xmlstore.close();
  }
}

Changes

Release date
Feature
Description
2004/02/17 Major new release Added Thomas Ambus' XPath and Peer-to-Peer Routing implementations. Major clean-ups. Many bug-fixes. HN
2003/04/18 Added DocNode Added Thomas Ambus' navigation infrastructure (called DocNode). HN
2003/04/14 Bug fix Fixed the bug that would make the XML Store throw an exception on startup if the store was already in use. HN
2003/04/14 New package names Renamed all packages to org.planx.* instead of edu.it.*. HN

Resources

Last updated: 21th October, 2004 (Thomas Ambus)