
org.objectweb.asm.xml.package.html Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of asm-util Show documentation
Show all versions of asm-util Show documentation
Utilities for ASM, a very small and fast Java bytecode manipulation framework
Provides SAX 2.0 adapters for ASM
visitors to convert classes to and from XML.
These adapters can be chained with other SAX compliant content handlers and
filters, eg. XSLT or XQuery engines. This package is bundled as
a separate asm-xml.jar library and requires asm.jar.
ASMContentHandler and SAXClassAdapter/SAXCodeAdapter
are using asm-xml.dtd.
Here is the example of bytecode to bytecode XSLT transformation.
SAXTransformerFactory saxtf = ( SAXTransformerFactory) TransformerFactory.newInstance();
Templates templates = saxtf.newTemplates( xsltSource);
TransformerHandler handler = saxtf.newTransformerHandler( templates);
handler.setResult( new SAXResult( new ASMContentHandler( outputStream, computeMax)));
ClassReader cr = new ClassReader( bytecode);
cr.accept( new SAXClassAdapter( handler, cr.getVersion(), false), false);
See JAXP and SAX documentation for more detils.
There are few illustrations of the bytecode transformation with XSLT in
examples directory. The following XSLT procesors has been tested.
Engine
javax.xml.transform.TransformerFactory property
jd.xslt jd.xml.xslt.trax.TransformerFactoryImpl Saxon net.sf.saxon.TransformerFactoryImpl Caucho com.caucho.xsl.Xsl Xalan interpeter org.apache.xalan.processor.TransformerFactory Xalan xsltc org.apache.xalan.xsltc.trax.TransformerFactoryImpl
@since ASM 1.4.3