package com.apple.test;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import java.util.List;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.apache.xalan.serialize.DOMSerializer;
import org.apache.xml.serialize.DOMSerializerImpl;
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.bootstrap.DOMImplementationRegistry;
import org.w3c.dom.ls.DOMImplementationLS;
import org.w3c.dom.ls.LSInput;
import org.w3c.dom.ls.LSOutput;
import org.w3c.dom.ls.LSParser;
import org.w3c.dom.ls.LSSerializer;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

import com.apple.ist.hilo.server.TxnProcessor;
//import org.jdom.output.XMLOutputter;
public class serail {
static Document outXmlDocument;
private static byte content[] = null;
	/**
	 * @param args
	 * @throws ParserConfigurationException 
	 */
	public static void main(String[] args) 
		// TODO Auto-generated method stub
	{
        	DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder documentBuilder = null;
		try {
			documentBuilder = documentBuilderFactory.newDocumentBuilder();
		} catch (ParserConfigurationException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
        outXmlDocument = documentBuilder.newDocument();
        
        StringBuffer commentsStr = new StringBuffer();
     //   Element element = outXmlDocument.createElement(TxnProcessor.TXN_ELEMENT);
      //  element.setAttribute(TxnProcessor.CODE_ATTRIBUTE, "XmlTxnPR");
       // element.setAttribute(TxnProcessor.TYPE_ATTRIBUTE, "custom_jade");
        //outXmlDocument.appendChild(element);
        
        
        Element sql = outXmlDocument.createElement("SQL");
        
        commentsStr.append("LL\r<<<");
        System.out.println("The value of buffer bfore creating the text node is "+commentsStr.toString());
       
        sql.setAttribute("QID", "0");
        sql.setAttribute("ROWSINCACHE", "0");
        sql.setAttribute("ROWSTART", "1");
        sql.setAttribute("ROWSRETURNED", "1");
        sql.setAttribute("ACTIVECACHE", "N");
        outXmlDocument.appendChild(sql);
        
        Element dataset = outXmlDocument.createElement("DATASET");

        dataset.setAttribute("NAME", "PR_Main_DS");
        dataset.setAttribute("DATASETTYPE", "PR_Main_DST");
        sql.appendChild(dataset);
        
        Element row = outXmlDocument.createElement("ROW");
        
        row.setAttribute("PROTECTION", "");
        dataset.appendChild(row);

        Element cell = outXmlDocument.createElement("CELL");

        cell.appendChild(outXmlDocument.createTextNode("E"));
        row.appendChild(cell);

        Element cell1 = outXmlDocument.createElement("CELL");

        cell1.appendChild(outXmlDocument.createTextNode(String.valueOf(commentsStr)));
        row.appendChild(cell1);
        
      
        DOMImplementationRegistry registry = null;
		try {
			registry = DOMImplementationRegistry.newInstance();
		} catch (ClassCastException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InstantiationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

        DOMImplementationLS impl = 
            (DOMImplementationLS)registry.getDOMImplementation("LS");
                   
        LSSerializer writer = impl.createLSSerializer();
       
              
        LSOutput output = impl.createLSOutput();
        
        output.setEncoding("UTF-8");
        output.setByteStream(System.out);
        writer.write(outXmlDocument, output);
              
	}
}

