XPathTest.java :  » Database-DBMS » Ozone-1.1 » org » infozone » tools » xml » queries » test » Java Open Source

Java Open Source » Database DBMS » Ozone 1.1 
Ozone 1.1 » org » infozone » tools » xml » queries » test » XPathTest.java
// You can redistribute this software and/or modify it under the terms of
// the Infozone Software License version 2 published by the Infozone Group
// (http://www.infozone-group.org).
//
// Copyright (C) @year@ by The Infozone Group. All rights reserved.
//
// $Id: XPathTest.java,v 1.1 2002/05/10 08:59:12 per_nyfelt Exp $

package org.infozone.tools.xml.queries.test;

import org.w3c.dom.Document;
import org.w3c.dom.DocumentFragment;
import org.w3c.dom.NodeList;

import org.infozone.tools.xml.queries.*;

import javax.xml.parsers.*;


/**
 * @version $Revision: 1.1 $ $Date: 2002/05/10 08:59:12 $
 * @author <a href="http://www.softwarebuero.de">SMB</a>
 */
public class XPathTest {
    
    public static void main( String[] args ) throws Exception {
    
//        System.getProperties().put( "org.infozone.tools.xml.queries.XPathQueryFactory",
//                                    "org.infozone.tools.xml.queries.xt.XPathQueryFactoryImpl");
        
        XPathQueryFactory factory = XPathQueryFactory.newInstance();

        DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = builderFactory.newDocumentBuilder();
        Document doc = docBuilder.parse( args[0] );
                
        long start = System.currentTimeMillis();
        XPathQuery query = factory.newXPathQuery();
        System.out.println( query.getClass().getName() );
        query.setQString( "/*" );
        System.out.println( "init: " + (System.currentTimeMillis()-start) );
        
        start = System.currentTimeMillis();
        XObject result = query.execute( doc );
        System.out.println( "execute: " + (System.currentTimeMillis()-start) );

        printResult( result );

        result = query.execute( doc );
        printResult( result );
    }


    protected static void printResult( XObject result ) throws Exception {
        if (result == null) {
            System.out.println( "XPath query: result: null" );
        } 
        else {
            System.out.print( "XPATH query: result: " );
            // cast the query result to
            switch (result.getType()) {
            case XObject.CLASS_BOOLEAN:
                System.out.println( "(Boolean): " + result.bool() );
                break;
            case XObject.CLASS_NUMBER:
                System.out.println( "(Number): " + result.num() );
                break;
            case XObject.CLASS_STRING:
                System.out.println( "(String): " + result.str() );
                break;
            case XObject.CLASS_RTREEFRAG:
                System.out.println( "(DocumentFragment): -" );
                break;
            case XObject.CLASS_NODESET:
                NodeList nodeList = result.nodeset();
                System.out.println( "(NodeList): " + nodeList.getLength() + " Entries" );

                for (int i = 0; i < nodeList.getLength(); i++) {
                    System.out.print( i + 1 + " Entry: " );
                    System.out.println( "        value=" + nodeList.item( i ).getNodeName() );
                } 
                break;
            default:
                System.out.println( "(Unknown): -" );
                break;
            }
        } 
    }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.