DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9358>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9358 Attributes set in returned Element objects are discarded Summary: Attributes set in returned Element objects are discarded Product: XalanJ2 Version: 2.2.0 Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Major Priority: Other Component: org.apache.xalan.extensions AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] CC: [EMAIL PROTECTED] When attributes are set on a org.w3c.dom.Element that is returned from an extension element they are discarded. See example below. --- JAVA CODE --- public class XalanAttributeTest { public org.w3c.dom.Element test( org.apache.xalan.extensions.XSLProcessorContext context, org.apache.xalan.templates.ElemExtensionCall element) throws javax.xml.transform.TransformerException { try { javax.xml.parsers.DocumentBuilderFactory factory = javax.xml.parsers.DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); org.w3c.dom.Document document = factory.newDocumentBuilder().newDocument(); org.w3c.dom.Element retval = document.createElementNS(element.getNamespace(), element.getPrefix() + ":testresult"); retval.setAttribute("Attr1", "This is attr1"); retval.setAttribute("Attr2", "This is attr2"); retval.setAttribute("Attr3", "This is attr3"); System.out.println("test() attribute values: Attr1=[" + retval.getAttribute("Attr1") + "] Attr2=[" + retval.getAttribute("Attr2") + "] Attr3=[" + retval.getAttribute("Attr3") + "]"); java.io.StringWriter w = new java.io.StringWriter(); java.io.PrintWriter out = new java.io.PrintWriter(w); new org.apache.xalan.xslt.EnvironmentCheck(). checkEnvironment(out); out.flush(); retval.appendChild(document.createCDATASection(w.toString())); return retval; } catch (Exception e) { throw new javax.xml.transform.TransformerException(e); } } } --- END OF JAVA CODE --- --- XML --- <?xml version="1.0" ?> <doit/> --- END OF XML --- --- XSL --- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xtest="xalan://XalanAttributeTest" xmlns:imago="org.xenei.imago.extensions" extension-element-prefixes="xtest" > <xsl:template match="doit"> <xtest:test/> </xsl:template> </xsl:stylesheet> --- END OF XSL --- --- OUTPUT --- <?xml version="1.0" encoding="UTF-8"?> <xtest:testresult xmlns:xtest="xalan://XalanAttributeTest"><![CDATA[#---- BEGIN writeEnvironmentReport($Revision: 1.9 $): Useful stuff found: ---- version.DOM.draftlevel=2.0fd java.class.path=c:\jdk1.3.1_02\jre\lib\rt.jar;c:\jdk1.3.1_02\jre\lib\i18n.jar.jar;c:\jdk1.3.1_02\jre\lib\sunrsasign.jar;c:\xenei\lib\xalan.jar;c:\xenei\lib\xerces.jar;c:\xenei\lib\xml-apis.jar;. version.JAXP=1.1 java.ext.dirs=c:\jdk1.3.1_02\jre\lib\ext version.xerces2=not-present version.xerces1=Xerces 1.4.4 version.xalan2_2=Xalan Java 2.2.0 version.xalan1=not-present version.ant=not-present java.version=1.3.1_02 version.DOM=2.0 version.crimson=not-present sun.boot.class.path=c:\jdk1.3.1_02\jre\lib\rt.jar;c:\jdk1.3.1_02\jre\lib\i18n.jar;c:\jdk1.3.1_02\jre\lib\sunrsasign.jar;c:\jdk1.3.1_02\jre\classes #---- BEGIN Listing XML-related jars in: foundclasses.java.class.path ---- xalan.jar-apparent.version=xalan.jar WARNING.present-unknown-version xalan.jar-path=c:\xenei\lib\xalan.jar xerces.jar-path=c:\xenei\lib\xerces.jar xerces.jar-apparent.version=xerces.jar WARNING.present-unknown-version xml-apis.jar-apparent.version=xml-apis.jar present-unknown-version xml-apis.jar-path=c:\xenei\lib\xml-apis.jar #----- END Listing XML-related jars in: foundclasses.java.class.path ----- version.SAX=2.0 version.xalan2x=Xalan Java 2.2.0 #----- END writeEnvironmentReport: Useful properties found: ----- # YAHOO! Your environment seems to be OK. ]]></xtest:testresult> --- END OF OUTPUT ---
