/*
 * XMLBench.java
 *
 * Created on February 20, 2003, 7:09 PM
 */

package XMLBench;

import java.io.*;
import java.util.*;
import nanoxml.*;               // nanoxml (modified for j2me)

/**
 *
 * @author  Tienshiao Ma
 */
public class XMLBenchNanoXMLsoap {
    
    /** Creates a new instance of XMLBench */
    public XMLBenchNanoXMLsoap() {
    }
        
    private static void testNanoXML(String s) throws IOException {
        ByteArrayInputStream bin = 
            new ByteArrayInputStream(s.getBytes());
        kXMLElement root = new kXMLElement();
        root.parseFromReader(new InputStreamReader(bin));
    }
            
    public static void runTests(String testString) throws IOException {
        int iterations = 5000;
        long start;
        long stop;
        
        System.out.println("Test String is " + testString.length() + " chars.");
                
        testNanoXML(testString);
        System.out.println("TestNanoXML start ...");
        System.gc();
        start = System.currentTimeMillis();
        for (int i = 0; i < iterations; i++) {
            testNanoXML(testString);
        }
        stop = System.currentTimeMillis();
        System.out.println("... TestNanoXML end: " + (stop - start));

    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {
        // SOAP example
        runTests("<SOAP-ENV:Envelope\n" +
                 "  xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"\n" +
                 "  SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">\n" +
                 "   <SOAP-ENV:Header>\n" +
                 "       <t:Transaction\n" +
                 "         xmlns:t=\"some-URI\"\n" +
                 "         xsi:type=\"xsd:int\" mustUnderstand=\"1\">\n" +
                 "           5\n" +
                 "       </t:Transaction>\n" +
                 "   </SOAP-ENV:Header>\n" +
                 "   <SOAP-ENV:Body>\n" +
                 "       <m:GetLastTradePriceResponse\n" +
                 "         xmlns:m=\"Some-URI\">\n" +
                 "           <Price>34.5</Price>\n" +
                 "       </m:GetLastTradePriceResponse>\n" +
                 "   </SOAP-ENV:Body>\n" +
                 "</SOAP-ENV:Envelope>\n");

    }

}
