Repository: tapestry-5 Updated Branches: refs/heads/master 19b396090 -> 1acd9d22e
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1acd9d22/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/asm-xml.dtd ---------------------------------------------------------------------- diff --git a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/asm-xml.dtd b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/asm-xml.dtd new file mode 100644 index 0000000..b862085 --- /dev/null +++ b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/asm-xml.dtd @@ -0,0 +1,349 @@ +<!-- + ASM XML Adapter + Copyright (c) 2004-2011, Eugene Kuleshov + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE. +--> + +<!-- + This DTD must be used to create XML documents to be processed by + org.objectweb.asm.xml.ASMContentHandler +--> + +<!-- + Root element used to aggregate multiple classes into single document. +--> +<!ELEMENT classes ( class+ )> + +<!-- + Root element for a single class. +--> +<!ELEMENT class ( interfaces, ( field | innerclass | method )*)> +<!ATTLIST class access CDATA #REQUIRED> +<!ATTLIST class name CDATA #REQUIRED> +<!ATTLIST class parent CDATA #REQUIRED> +<!ATTLIST class major CDATA #REQUIRED> +<!ATTLIST class minor CDATA #REQUIRED> +<!ATTLIST class source CDATA #IMPLIED> + +<!ELEMENT interfaces ( interface* )> +<!ELEMENT interface EMPTY> +<!ATTLIST interface name CDATA #REQUIRED> + +<!ELEMENT field EMPTY> +<!ATTLIST field access CDATA #REQUIRED> +<!ATTLIST field desc CDATA #REQUIRED> +<!ATTLIST field name CDATA #REQUIRED> +<!-- + All characters out of interval 0x20 to 0x7f (inclusive) must + be encoded (\uXXXX) and character '\' must be replaced by "\\" +--> +<!ATTLIST field value CDATA #IMPLIED> + +<!ELEMENT innerclass EMPTY> +<!ATTLIST innerclass access CDATA #REQUIRED> +<!ATTLIST innerclass innerName CDATA #IMPLIED> +<!ATTLIST innerclass name CDATA #REQUIRED> +<!ATTLIST innerclass outerName CDATA #IMPLIED> + +<!-- + Root element for method definition. +--> +<!ELEMENT method ( exceptions, code? )> +<!ATTLIST method access CDATA #REQUIRED> +<!ATTLIST method desc CDATA #REQUIRED> +<!ATTLIST method name CDATA #REQUIRED> + +<!ELEMENT exceptions ( exception* )> +<!ELEMENT exception EMPTY> +<!ATTLIST exception name CDATA #REQUIRED> + +<!-- + code element contains bytecode instructions and definitions for labels, line numbers, try/catch and max +--> +<!ELEMENT code (( AALOAD | AASTORE | ACONST_NULL | ALOAD | ANEWARRAY | ARETURN | ARRAYLENGTH | ASTORE | ATHROW | BALOAD | BASTORE | BIPUSH | CALOAD | CASTORE | CHECKCAST | D2F | D2I | D2L | DADD | DALOAD | DASTORE | DCMPG | DCMPL | DCONST_0 | DCONST_1 | DDIV | DLOAD | DMUL | DNEG | DREM | DRETURN | DSTORE | DSUB | DUP | DUP2 | DUP2_X1 | DUP2_X2 | DUP_X1 | DUP_X2 | SWAP | F2D | F2I | F2L | FADD | FALOAD | FASTORE | FCMPG | FCMPL | FCONST_0 | FCONST_1 | FCONST_2 | FDIV | FLOAD | FMUL | FNEG | FREM | FRETURN | FSTORE | FSUB | GETFIELD | GETSTATIC | GOTO | I2B | I2C | I2D | I2F | I2L | I2S | IADD | IALOAD | IAND | IASTORE | ICONST_0 | ICONST_1 | ICONST_2 | ICONST_3 | ICONST_4 | ICONST_5 | ICONST_M1 | IDIV | IFEQ | IFGE | IFGT | IFLE | IFLT | IFNE | IFNONNULL | IFNULL | IF_ACMPEQ | IF_ACMPNE | IF_ICMPEQ | IF_ICMPGE | IF_ICMPGT | IF_ICMPLE | IF_ICMPLT | IF_ICMPNE | IINC | ILOAD | IMUL | INEG | INSTANCEOF | INVOKEINTERFACE | INVOKESPECIAL | INVOKESTATIC | INVOKEVIRTUAL | IOR | IREM | IRETU RN | ISHL | ISHR | ISTORE | ISUB | IUSHR | IXOR | JSR | L2D | L2F | L2I | LADD | LALOAD | LAND | LASTORE | LCMP | LCONST_0 | LCONST_1 | LDC | LDIV | LLOAD | LMUL | LNEG | LOOKUPSWITCH | LOR | LREM | LRETURN | LSHL | LSHR | LSTORE | LSUB | LUSHR | LXOR | MONITORENTER | MONITOREXIT | MULTIANEWARRAY | NEW | NEWARRAY | NOP | POP | POP2 | PUTFIELD | PUTSTATIC | RET | RETURN | SALOAD | SASTORE | SIPUSH | TABLESWITCH | Label | LineNumber | TryCatch )*, Max)> + +<!ELEMENT Label EMPTY> +<!ATTLIST Label name CDATA #REQUIRED> + +<!ELEMENT TryCatch EMPTY> +<!ATTLIST TryCatch end CDATA #REQUIRED> +<!ATTLIST TryCatch handler CDATA #REQUIRED> +<!ATTLIST TryCatch start CDATA #REQUIRED> +<!ATTLIST TryCatch type CDATA #IMPLIED> + +<!ELEMENT LineNumber EMPTY> +<!ATTLIST LineNumber line CDATA #REQUIRED> +<!ATTLIST LineNumber start CDATA #REQUIRED> + +<!ELEMENT Max EMPTY> +<!ATTLIST Max maxLocals CDATA #REQUIRED> +<!ATTLIST Max maxStack CDATA #REQUIRED> + +<!ELEMENT AALOAD EMPTY> +<!ELEMENT AASTORE EMPTY> +<!ELEMENT ACONST_NULL EMPTY> +<!ELEMENT ALOAD EMPTY> +<!ATTLIST ALOAD var CDATA #REQUIRED> +<!ELEMENT ANEWARRAY EMPTY> +<!ATTLIST ANEWARRAY desc CDATA #REQUIRED> +<!ELEMENT ARETURN EMPTY> +<!ELEMENT ARRAYLENGTH EMPTY> +<!ELEMENT ASTORE EMPTY> +<!ATTLIST ASTORE var CDATA #REQUIRED> +<!ELEMENT ATHROW EMPTY> +<!ELEMENT BALOAD EMPTY> +<!ELEMENT BASTORE EMPTY> +<!ELEMENT BIPUSH EMPTY> +<!ATTLIST BIPUSH value CDATA #REQUIRED> +<!ELEMENT CALOAD EMPTY> +<!ELEMENT CASTORE EMPTY> +<!ELEMENT CHECKCAST EMPTY> +<!ATTLIST CHECKCAST desc CDATA #REQUIRED> +<!ELEMENT D2F EMPTY> +<!ELEMENT D2I EMPTY> +<!ELEMENT D2L EMPTY> +<!ELEMENT DADD EMPTY> +<!ELEMENT DALOAD EMPTY> +<!ELEMENT DASTORE EMPTY> +<!ELEMENT DCMPG EMPTY> +<!ELEMENT DCMPL EMPTY> +<!ELEMENT DCONST_0 EMPTY> +<!ELEMENT DCONST_1 EMPTY> +<!ELEMENT DDIV EMPTY> +<!ELEMENT DLOAD EMPTY> +<!ATTLIST DLOAD var CDATA #REQUIRED> +<!ELEMENT DMUL EMPTY> +<!ELEMENT DNEG EMPTY> +<!ELEMENT DREM EMPTY> +<!ELEMENT DRETURN EMPTY> +<!ELEMENT DSTORE EMPTY> +<!ATTLIST DSTORE var CDATA #REQUIRED> +<!ELEMENT DSUB EMPTY> +<!ELEMENT DUP EMPTY> +<!ELEMENT DUP2 EMPTY> +<!ELEMENT DUP2_X1 EMPTY> +<!ELEMENT DUP2_X2 EMPTY> +<!ELEMENT DUP_X1 EMPTY> +<!ELEMENT DUP_X2 EMPTY> +<!ELEMENT SWAP EMPTY> +<!ELEMENT F2D EMPTY> +<!ELEMENT F2I EMPTY> +<!ELEMENT F2L EMPTY> +<!ELEMENT FADD EMPTY> +<!ELEMENT FALOAD EMPTY> +<!ELEMENT FASTORE EMPTY> +<!ELEMENT FCMPG EMPTY> +<!ELEMENT FCMPL EMPTY> +<!ELEMENT FCONST_0 EMPTY> +<!ELEMENT FCONST_1 EMPTY> +<!ELEMENT FCONST_2 EMPTY> +<!ELEMENT FDIV EMPTY> +<!ELEMENT FLOAD EMPTY> +<!ATTLIST FLOAD var CDATA #REQUIRED> +<!ELEMENT FMUL EMPTY> +<!ELEMENT FNEG EMPTY> +<!ELEMENT FREM EMPTY> +<!ELEMENT FRETURN EMPTY> +<!ELEMENT FSTORE EMPTY> +<!ATTLIST FSTORE var CDATA #REQUIRED> +<!ELEMENT FSUB EMPTY> +<!ELEMENT GETFIELD EMPTY> +<!ATTLIST GETFIELD desc CDATA #REQUIRED> +<!ATTLIST GETFIELD name CDATA #REQUIRED> +<!ATTLIST GETFIELD owner CDATA #REQUIRED> +<!ELEMENT GETSTATIC EMPTY> +<!ATTLIST GETSTATIC desc CDATA #REQUIRED> +<!ATTLIST GETSTATIC name CDATA #REQUIRED> +<!ATTLIST GETSTATIC owner CDATA #REQUIRED> +<!ELEMENT GOTO EMPTY> +<!ATTLIST GOTO label CDATA #REQUIRED> +<!ELEMENT I2B EMPTY> +<!ELEMENT I2C EMPTY> +<!ELEMENT I2D EMPTY> +<!ELEMENT I2F EMPTY> +<!ELEMENT I2L EMPTY> +<!ELEMENT I2S EMPTY> +<!ELEMENT IADD EMPTY> +<!ELEMENT IALOAD EMPTY> +<!ELEMENT IAND EMPTY> +<!ELEMENT IASTORE EMPTY> +<!ELEMENT ICONST_0 EMPTY> +<!ELEMENT ICONST_1 EMPTY> +<!ELEMENT ICONST_2 EMPTY> +<!ELEMENT ICONST_3 EMPTY> +<!ELEMENT ICONST_4 EMPTY> +<!ELEMENT ICONST_5 EMPTY> +<!ELEMENT ICONST_M1 EMPTY> +<!ELEMENT IDIV EMPTY> +<!ELEMENT IFEQ EMPTY> +<!ATTLIST IFEQ label CDATA #REQUIRED> +<!ELEMENT IFGE EMPTY> +<!ATTLIST IFGE label CDATA #REQUIRED> +<!ELEMENT IFGT EMPTY> +<!ATTLIST IFGT label CDATA #REQUIRED> +<!ELEMENT IFLE EMPTY> +<!ATTLIST IFLE label CDATA #REQUIRED> +<!ELEMENT IFLT EMPTY> +<!ATTLIST IFLT label CDATA #REQUIRED> +<!ELEMENT IFNE EMPTY> +<!ATTLIST IFNE label CDATA #REQUIRED> +<!ELEMENT IFNONNULL EMPTY> +<!ATTLIST IFNONNULL label CDATA #REQUIRED> +<!ELEMENT IFNULL EMPTY> +<!ATTLIST IFNULL label CDATA #REQUIRED> +<!ELEMENT IF_ACMPEQ EMPTY> +<!ATTLIST IF_ACMPEQ label CDATA #REQUIRED> +<!ELEMENT IF_ACMPNE EMPTY> +<!ATTLIST IF_ACMPNE label CDATA #REQUIRED> +<!ELEMENT IF_ICMPEQ EMPTY> +<!ATTLIST IF_ICMPEQ label CDATA #REQUIRED> +<!ELEMENT IF_ICMPGE EMPTY> +<!ATTLIST IF_ICMPGE label CDATA #REQUIRED> +<!ELEMENT IF_ICMPGT EMPTY> +<!ATTLIST IF_ICMPGT label CDATA #REQUIRED> +<!ELEMENT IF_ICMPLE EMPTY> +<!ATTLIST IF_ICMPLE label CDATA #REQUIRED> +<!ELEMENT IF_ICMPLT EMPTY> +<!ATTLIST IF_ICMPLT label CDATA #REQUIRED> +<!ELEMENT IF_ICMPNE EMPTY> +<!ATTLIST IF_ICMPNE label CDATA #REQUIRED> +<!ELEMENT IINC EMPTY> +<!ATTLIST IINC inc CDATA #REQUIRED> +<!ATTLIST IINC var CDATA #REQUIRED> +<!ELEMENT ILOAD EMPTY> +<!ATTLIST ILOAD var CDATA #REQUIRED> +<!ELEMENT IMUL EMPTY> +<!ELEMENT INEG EMPTY> +<!ELEMENT INSTANCEOF EMPTY> +<!ATTLIST INSTANCEOF desc CDATA #REQUIRED> +<!ELEMENT INVOKEINTERFACE EMPTY> +<!ATTLIST INVOKEINTERFACE desc CDATA #REQUIRED> +<!ATTLIST INVOKEINTERFACE name CDATA #REQUIRED> +<!ATTLIST INVOKEINTERFACE owner CDATA #REQUIRED> +<!ELEMENT INVOKESPECIAL EMPTY> +<!ATTLIST INVOKESPECIAL desc CDATA #REQUIRED> +<!ATTLIST INVOKESPECIAL name CDATA #REQUIRED> +<!ATTLIST INVOKESPECIAL owner CDATA #REQUIRED> +<!ELEMENT INVOKESTATIC EMPTY> +<!ATTLIST INVOKESTATIC desc CDATA #REQUIRED> +<!ATTLIST INVOKESTATIC name CDATA #REQUIRED> +<!ATTLIST INVOKESTATIC owner CDATA #REQUIRED> +<!ELEMENT INVOKEVIRTUAL EMPTY> +<!ATTLIST INVOKEVIRTUAL desc CDATA #REQUIRED> +<!ATTLIST INVOKEVIRTUAL name CDATA #REQUIRED> +<!ATTLIST INVOKEVIRTUAL owner CDATA #REQUIRED> +<!ELEMENT INVOKEDYNAMIC ( bsmArgs+ )> +<!ATTLIST INVOKEDYNAMIC desc CDATA #REQUIRED> +<!ATTLIST INVOKEDYNAMIC name CDATA #REQUIRED> +<!ATTLIST INVOKEDYNAMIC bsm CDATA #REQUIRED> +<!ELEMENT bsmArgs EMPTY> +<!ATTLIST bsmArgs cst CDATA #REQUIRED> +<!ATTLIST bsmArgs desc CDATA #REQUIRED> +<!ELEMENT IOR EMPTY> +<!ELEMENT IREM EMPTY> +<!ELEMENT IRETURN EMPTY> +<!ELEMENT ISHL EMPTY> +<!ELEMENT ISHR EMPTY> +<!ELEMENT ISTORE EMPTY> +<!ATTLIST ISTORE var CDATA #REQUIRED> +<!ELEMENT ISUB EMPTY> +<!ELEMENT IUSHR EMPTY> +<!ELEMENT IXOR EMPTY> +<!ELEMENT JSR EMPTY> +<!ATTLIST JSR label CDATA #REQUIRED> +<!ELEMENT L2D EMPTY> +<!ELEMENT L2F EMPTY> +<!ELEMENT L2I EMPTY> +<!ELEMENT LADD EMPTY> +<!ELEMENT LALOAD EMPTY> +<!ELEMENT LAND EMPTY> +<!ELEMENT LASTORE EMPTY> +<!ELEMENT LCMP EMPTY> +<!ELEMENT LCONST_0 EMPTY> +<!ELEMENT LCONST_1 EMPTY> +<!ELEMENT LDC EMPTY> +<!-- + All characters out of interval 0x20 to 0x7f (inclusive) must + be encoded (\uXXXX) and character '\' must be replaced by "\\" +--> +<!ATTLIST LDC cst CDATA #REQUIRED> +<!ATTLIST LDC desc CDATA #REQUIRED> +<!ELEMENT LDIV EMPTY> +<!ELEMENT LLOAD EMPTY> +<!ATTLIST LLOAD var CDATA #REQUIRED> +<!ELEMENT LMUL EMPTY> +<!ELEMENT LNEG EMPTY> +<!ELEMENT LOR EMPTY> +<!ELEMENT LREM EMPTY> +<!ELEMENT LRETURN EMPTY> +<!ELEMENT LSHL EMPTY> +<!ELEMENT LSHR EMPTY> +<!ELEMENT LSTORE EMPTY> +<!ATTLIST LSTORE var CDATA #REQUIRED> +<!ELEMENT LSUB EMPTY> +<!ELEMENT LUSHR EMPTY> +<!ELEMENT LXOR EMPTY> +<!ELEMENT MONITORENTER EMPTY> +<!ELEMENT MONITOREXIT EMPTY> +<!ELEMENT MULTIANEWARRAY EMPTY> +<!ATTLIST MULTIANEWARRAY desc CDATA #REQUIRED> +<!ATTLIST MULTIANEWARRAY dims CDATA #REQUIRED> +<!ELEMENT NEW EMPTY> +<!ATTLIST NEW desc CDATA #REQUIRED> +<!ELEMENT NEWARRAY EMPTY> +<!ATTLIST NEWARRAY value CDATA #REQUIRED> +<!ELEMENT NOP EMPTY> +<!ELEMENT POP EMPTY> +<!ELEMENT POP2 EMPTY> +<!ELEMENT PUTFIELD EMPTY> +<!ATTLIST PUTFIELD desc CDATA #REQUIRED> +<!ATTLIST PUTFIELD name CDATA #REQUIRED> +<!ATTLIST PUTFIELD owner CDATA #REQUIRED> +<!ELEMENT PUTSTATIC EMPTY> +<!ATTLIST PUTSTATIC desc CDATA #REQUIRED> +<!ATTLIST PUTSTATIC name CDATA #REQUIRED> +<!ATTLIST PUTSTATIC owner CDATA #REQUIRED> +<!ELEMENT RET EMPTY> +<!ATTLIST RET var CDATA #REQUIRED> +<!ELEMENT RETURN EMPTY> +<!ELEMENT SALOAD EMPTY> +<!ELEMENT SASTORE EMPTY> +<!ELEMENT SIPUSH EMPTY> +<!ATTLIST SIPUSH value CDATA #REQUIRED> + +<!ELEMENT LOOKUPSWITCH ( label+ )> +<!ATTLIST LOOKUPSWITCH dflt CDATA #REQUIRED> + +<!ELEMENT TABLESWITCH ( label+ )> +<!ATTLIST TABLESWITCH dflt CDATA #REQUIRED> +<!ATTLIST TABLESWITCH max CDATA #REQUIRED> +<!ATTLIST TABLESWITCH min CDATA #REQUIRED> + +<!ELEMENT label EMPTY> +<!ATTLIST label key CDATA #IMPLIED> +<!ATTLIST label name CDATA #REQUIRED> + http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1acd9d22/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/package.html ---------------------------------------------------------------------- diff --git a/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/package.html b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/package.html new file mode 100644 index 0000000..d7bbe66 --- /dev/null +++ b/plastic/src/external/java/org/apache/tapestry5/internal/plastic/asm/xml/package.html @@ -0,0 +1,96 @@ +<html> +<!-- + * ASM XML Adapter + * Copyright (c) 2004-2011, Eugene Kuleshov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. +--> +<body> +Provides <a href="http://sax.sourceforge.net/">SAX 2.0</a> 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 <tt>asm-xml.jar</tt> library and requires <tt>asm.jar</tt>. +<p> +<tt>ASMContentHandler</tt> and <tt>SAXClassAdapter/SAXCodeAdapter</tt> +are using <a href="asm-xml.dtd">asm-xml.dtd</a>. +Here is the example of bytecode to bytecode XSLT transformation. + +<pre> + 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); +</pre> + +See JAXP and SAX documentation for more detils. + +<p> +There are few illustrations of the bytecode transformation with XSLT in +examples directory. The following XSLT procesors has been tested. + +<blockquote> +<table border="1" cellspacing="0" cellpadding="3"> +<tr> +<th>Engine</td> +<th>javax.xml.transform.TransformerFactory property</td> +</tr> + +<tr> +<td>jd.xslt</td> +<td>jd.xml.xslt.trax.TransformerFactoryImpl</td> +</tr> + +<tr> +<td>Saxon</td> +<td>net.sf.saxon.TransformerFactoryImpl</td> +</tr> + +<tr> +<td>Caucho</td> +<td>com.caucho.xsl.Xsl</td> +</tr> + +<tr> +<td>Xalan interpeter</td> +<td>org.apache.xalan.processor.TransformerFactory</td> +</tr> + +<tr> +<td>Xalan xsltc</td> +<td>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</td> +</tr> +</table> +</blockquote> + +@since ASM 1.4.3 + +</body> +</html>