To test your TrAX application without involving your live business processes, simply build an identical transformation. You can do this using the newTransformer() method—without any arguments. The following code is a full example that applies an identical transformation to a DOM tree:
//the XML file for this example is named book.xml
import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import javax.xml.transform.dom.*;
class DOM{
DocumentBuilderFactory DBF=null;
DocumentBuilder DB=null;
Document D=null;
Document DR=null;
Transformer tXML=null;
public DOM(){}
public void identicalTransf(String XMLdoc)
{
try{
//create a DocumentBuilderFactory
DBF=DocumentBuilderFactory.newInstance();
//set namesapce aware
DBF.setNamespaceAware(true);
//create a DocumentBuilder
DB=DBF.newDocumentBuilder();
//get the DOM tree for your XML
D=DB.parse(new File(XMLdoc));
//create an empty document for storing the result
DR=DB.newDocument();
//get a TransformerFactory
TransformerFactory tfXML=TransformerFactory.newInstance();
//get a Transformer for identical transformation
try{
tXML=tfXML.newTransformer();
}catch(javax.xml.transform.TransformerConfigurationException e)
{System.out.println(e.getMessage());}
//define the Source
Source sXML=new DOMSource(D);
//define the Result
Result rXML=new DOMResult(DR);
//do the transformation
try{
tXML.transform(sXML,rXML);
}catch(javax.xml.transform.TransformerException e)
{System.out.println(e.getMessage());}
//verify the result
try{
tXML.transform(new DOMSource(DR),
new StreamResult(System.out));
}catch(javax.xml.transform.TransformerException e)
{System.out.println(e.getMessage());}
}catch(javax.xml.parsers.ParserConfigurationException e)
{System.out.println(e.getMessage());
}catch(org.xml.sax.SAXException e)
{System.out.println(e.getMessage());
}catch(java.io.IOException e)
{System.out.println(e.getMessage());}
}
}
public class IdenticalTransformation{
public static void main(String[] args)
{
DOM t=new DOM();
t.identicalTransf("C://Data_local//xml//docs//Carte.xml");
}
}
No comments:
Post a Comment