import java.io.FileInputStream;
import java.io.InputStreamReader;

import javax.xml.stream.XMLEventFactory;
import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLEventWriter;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.StartDocument;
import javax.xml.stream.events.XMLEvent;

// JI-9025085
public class TestXMLDocumentEncoding {

	public static void main(String[] args) {
		XMLInputFactory factory_in = null; 
		XMLOutputFactory factory_out = null; 
		XMLEventReader eventReader = null; 
		XMLEventFactory eventFactory = null; 
		XMLEventWriter eventWriter = null; 
		XMLEvent event_out = null; 
		XMLEvent event_in = null; 

		try { 
			factory_in = XMLInputFactory.newInstance(); 
			FileInputStream in = new FileInputStream("D:\\Java7Workspace\\TestCases\\src\\testFile.xml"); 
			InputStreamReader r = new InputStreamReader(in); 
			eventReader = factory_in.createXMLEventReader (r); 
		} catch (XMLStreamException e) { 
			e.printStackTrace(); 
			return; 
		} catch (Exception e) { 
			//UnsupportedEncodingException or FileNotFoundException 
			e.printStackTrace(); 
			return; 
		} 

		while(eventReader.hasNext()){ 

			try { 
				event_in = eventReader.nextEvent(); 
			} catch (XMLStreamException e) { 
				e.printStackTrace(); 
				continue; 
			} 

			if(event_in.getEventType() == XMLStreamConstants.START_DOCUMENT) { 
				StartDocument aSD = (StartDocument) event_in; 
				System.out.println("even.isStartDocumentt: " + event_in.isStartDocument()); 
				System.out.println("event.toString: " + event_in.toString()); 
				//************************************************************************* 
				// encoding is not read 
				//************************************************************************* 
				System.out.println("StartDocument: encoding = " + aSD.getCharacterEncodingScheme()); 
			} 
		} 

	}

}
