in java/src/org/apache/qetest/xalanj2/ProgrammaticDOMTest.java [134:234]
public boolean testCase1()
{
reporter.testCaseInit("Pass various forms of XML DOM's to a transform");
try
{
// Startup a factory and docbuilder, create some nodes/DOMs
DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
dfactory.setNamespaceAware(true);
DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
reporter.logTraceMsg("parsing xml, xsl files");
Document xslDoc = docBuilder.parse(new InputSource(testFileInfo.inputName));
Document xmlDoc = docBuilder.parse(new InputSource(testFileInfo.xmlName));
TransformerFactory factory = TransformerFactory.newInstance();
// Try a transform with XSL Document and XML Document (common usage)
Templates templates = factory.newTemplates(new DOMSource(xslDoc));
Transformer transformer = templates.newTransformer();
reporter.logInfoMsg("About to transform(xmlDoc, StreamResult(" + outNames.nextName() + "))");
transformer.transform(new DOMSource(xmlDoc), new StreamResult(outNames.currentName()));
fileChecker.check(reporter,
new File(outNames.currentName()),
new File(testFileInfo.goldName),
"transform(xmlDoc,...) into " + outNames.currentName());
// Programmatically build the XML file into a Document and transform
Document xmlBuiltDoc = docBuilder.newDocument();
appendIdentityDOMXML(xmlBuiltDoc, xmlBuiltDoc, true);
transformer = templates.newTransformer();
reporter.logInfoMsg("About to transform(xmlBuiltDoc, StreamResult(" + outNames.nextName() + "))");
transformer.transform(new DOMSource(xmlBuiltDoc), new StreamResult(outNames.currentName()));
fileChecker.check(reporter,
new File(outNames.currentName()),
new File(testFileInfo.goldName),
"transform(xmlBuiltDoc,...) into " + outNames.currentName());
// Again, with identity transformer
transformer = factory.newTransformer();
reporter.logInfoMsg("About to identityTransform(xmlBuiltDoc, StreamResult(" + outNames.nextName() + "))");
transformer.transform(new DOMSource(xmlBuiltDoc), new StreamResult(outNames.currentName()));
fileChecker.check(reporter,
new File(outNames.currentName()),
new File(testFileInfo.goldName),
"identityTransform(xmlBuiltDoc,...) into " + outNames.currentName());
// Programmatically build the XML file into a DocFrag and transform
xmlBuiltDoc = docBuilder.newDocument();
DocumentFragment xmlBuiltDocFrag = xmlBuiltDoc.createDocumentFragment();
appendIdentityDOMXML(xmlBuiltDocFrag, xmlBuiltDoc, true);
transformer = templates.newTransformer();
reporter.logInfoMsg("About to transform(xmlBuiltDocFrag, StreamResult(" + outNames.nextName() + "))");
transformer.transform(new DOMSource(xmlBuiltDocFrag), new StreamResult(outNames.currentName()));
fileChecker.check(reporter,
new File(outNames.currentName()),
new File(testFileInfo.goldName),
"transform(xmlBuiltDocFrag,...) into " + outNames.currentName());
// Again, with identity transformer
transformer = factory.newTransformer();
reporter.logInfoMsg("About to identityTransform(xmlBuiltDocFrag, StreamResult(" + outNames.nextName() + "))");
transformer.transform(new DOMSource(xmlBuiltDocFrag), new StreamResult(outNames.currentName()));
fileChecker.check(reporter,
new File(outNames.currentName()),
new File(testFileInfo.goldName),
"identityTransform(xmlBuiltDocFrag,...) into " + outNames.currentName());
// Programmatically build the XML file into an Element and transform
xmlBuiltDoc = docBuilder.newDocument();
// Note: Here, we implicitly already have the outer list
// element, so ensure the worker method doesn't add again
Element xmlBuiltElem = xmlBuiltDoc.createElement("list");
appendIdentityDOMXML(xmlBuiltElem, xmlBuiltDoc, false);
transformer = templates.newTransformer();
reporter.logInfoMsg("About to transform(xmlBuiltElem, StreamResult(" + outNames.nextName() + "))");
transformer.transform(new DOMSource(xmlBuiltElem), new StreamResult(outNames.currentName()));
fileChecker.check(reporter,
new File(outNames.currentName()),
new File(testFileInfo.goldName),
"transform(xmlBuiltElem,...) into " + outNames.currentName());
// Again, with identity transformer
transformer = factory.newTransformer();
reporter.logInfoMsg("About to identityTransform(xmlBuiltElem, StreamResult(" + outNames.nextName() + "))");
transformer.transform(new DOMSource(xmlBuiltElem), new StreamResult(outNames.currentName()));
fileChecker.check(reporter,
new File(outNames.currentName()),
new File(testFileInfo.goldName),
"identityTransform(xmlBuiltElem,...) into " + outNames.currentName());
}
catch (Throwable t)
{
reporter.checkFail("Problem with various XML elems/documents");
reporter.logThrowable(reporter.ERRORMSG, t, "Problem with various XML elems/documents");
}
reporter.testCaseClose();
return true;
}