XML documents can either be input to XML Parser or generate Java or C++ Classes by JAXB or C++ Class Generator. The Java application can output XML. XML Schema Validator can be optionally applied to the XML Parser output. XML Schema can also be input to XML Schema Validator. The output classes as well as the XML Schema Validator output are input to SAX, or DOM, or XML Compressor. The DOM tree output is input to XSLT Processor, which also receives input from an XSL Stylesheet. The XSLT Processor outputs a transformed XML document. The compressed XML is another output from the XML Compressor.