OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

XML to XML Transformation using XSL and XALAN



Hi
 
I am using XALAN to transform my XML file to another XML file using XSL. I have a small JAVA program which does this. Does anyone knows How to validate an XML file against the DTD using JAVA ? Is there any methods available in XALAN to implement this ? If yes, could you please send me a sample example of how to it, please ?
 
For your information, my JAVA program that I use to do the transformation is listed below:
 
Your help will be very much appreciated.
 
Thanks a lot
 
Thushara
 
 
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerConfigurationException;
 
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
 
public class XmlToXmlConvertor
{
   private TransformerFactory tFactory;
   private Transformer transformer;
  public static void main(String[] args) throws TransformerException, TransformerConfigurationException, FileNotFoundException, IOException
  {
    // Use the static TransformerFactory.newInstance() method to instantiate a TransformerFactory. The javax.xml.transform.TransformerFactory
    // system property setting determines the actual class to instantiate -- org.apache.xalan.transformer.TransformerImpl.
 
    XmlToXmlConvertor xmlToXmlConversion = new XmlToXmlConvertor();
 
    xmlToXmlConversion.performTransformation();
  }
 
  public void performTransformation() throws TransformerException, TransformerConfigurationException, FileNotFoundException, IOException
  {
    tFactory = TransformerFactory.newInstance();
 
    // Use the TransformerFactory to instantiate a Transformer that will work with the stylesheet you specify. This method call also processes the stylesheet into
   // a compiled Templates object.
 
    transformer = tFactory.newTransformer(new StreamSource("classes/XslIn.xsl"));
 
    // Use the Transformer to apply the associated Templates object to an XML document (foo.xml) and write the output to a file (foo.out).
 
    transformer.transform(new StreamSource("classes/semicolon.xml"), new StreamResult(new FileOutputStream("classes/foo.xml")));
 
    System.out.println("************* The result is in foo.out *************");
  }
 
}