| 
     
   
import javax.xml.transform.ErrorListener; 
import javax.xml.transform.Transformer; 
import javax.xml.transform.TransformerConfigurationException; 
import javax.xml.transform.TransformerException; 
import javax.xml.transform.TransformerFactory; 
import javax.xml.transform.stream.StreamResult; 
import javax.xml.transform.stream.StreamSource; 
 
public class SimpleXMLTransform { 
    static public void main(String[] arg) { 
        if(arg.length != 3) { 
            System.err.println("Usage: SimpleXMLTransform " + 
                "<input.xml> <input.xsl> <output>"); 
            System.exit(1); 
        } 
        String inXML = arg[0]; 
        String inXSL = arg[1]; 
        String outTXT = arg[2]; 
 
        SimpleXMLTransform st = new SimpleXMLTransform(); 
        try { 
            st.transform(inXML,inXSL,outTXT); 
        } catch(TransformerConfigurationException e) { 
            System.err.println("Invalid factory configuration"); 
            System.err.println(e); 
        } catch(TransformerException e) { 
            System.err.println("Error during transformation"); 
            System.err.println(e); 
        } 
    } 
    public void transform(String inXML,String inXSL,String outTXT) 
                throws TransformerConfigurationException, 
                    TransformerException { 
 
        TransformerFactory factory = TransformerFactory.newInstance(); 
 
        StreamSource xslStream = new StreamSource(inXSL); 
        Transformer transformer = factory.newTransformer(xslStream); 
        transformer.setErrorListener(new MyErrorListener()); 
 
        StreamSource in = new StreamSource(inXML); 
        StreamResult out = new StreamResult(outTXT); 
        transformer.transform(in,out); 
    } 
} 
class MyErrorListener implements ErrorListener { 
    public void warning(TransformerException e) 
                throws TransformerException { 
        show("Warning",e); 
        throw(e); 
    } 
    public void error(TransformerException e) 
                throws TransformerException { 
        show("Error",e); 
        throw(e); 
    } 
    public void fatalError(TransformerException e) 
                throws TransformerException { 
        show("Fatal Error",e); 
        throw(e); 
    } 
    private void show(String type,TransformerException e) { 
        System.out.println(type + ": " + e.getMessage()); 
        if(e.getLocationAsString() != null) 
            System.out.println(e.getLocationAsString()); 
    } 
} 
 
/* 
 The Basic Form of an XSL Stylesheet Document 
 
<?xml version="1.0"?>  
<xsl:stylesheet 
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
       version="1.0"> 
  <xsl:template match="/"> 
    Ignore the input and output this line. 
  </xsl:template> 
</xsl:stylesheet> 
 
 
<!-- XML document--> 
 
 
<folks> 
    <person> 
        <name>Jack Lee</name> 
        <phone>555-3333</phone> 
    </person> 
</folks> 
 
 
*/ 
 
 
            
          
     
   
    
    |