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 ---

Reply via email to