All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.glassfish.pfl.objectweb.asm.xml.package.html Maven / Gradle / Ivy

There is a newer version: 4.1.0
Show newest version



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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy