PLEASE DO NOT REPLY TO THIS MESSAGE. TO FURTHER COMMENT ON THE STATUS OF THIS BUG PLEASE FOLLOW THE LINK BELOW AND USE THE ON-LINE APPLICATION. REPLYING TO THIS MESSAGE DOES NOT UPDATE THE DATABASE, AND SO YOUR COMMENT WILL BE LOST SOMEWHERE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3500 *** shadow/3500 Fri Sep 7 11:27:04 2001 --- shadow/3500.tmp.43 Fri Sep 7 11:27:04 2001 *************** *** 0 **** --- 1,32 ---- + +============================================================================+ + | Attributes do not work when using DOM2Sax and Trax | + +----------------------------------------------------------------------------+ + | Bug #: 3500 Product: XalanJ2 | + | Status: NEW Version: 2.2.x | + | Resolution: Platform: All | + | Severity: Normal OS/Version: All | + | Priority: Other Component: org.apache.xalan.xsltc | + +----------------------------------------------------------------------------+ + | Assigned To: [EMAIL PROTECTED] | + | Reported By: [EMAIL PROTECTED] | + | CC list: Cc: | + +----------------------------------------------------------------------------+ + | URL: | + +============================================================================+ + | DESCRIPTION | + Problem: + + The problem that I am encountering is very similary to bug #2465. What is happening +is that I start out with a org.w3c.dom.Node and I want to use it in a translet. To +do this I use the org.apache.xalan.xsltc.trax.DOM2SAX class and a +org.apache.xalan.xsltc.dom.DOMImp. The problem that I was encountering was that when +an attribute was being parsed by a translet, the translet would not match the +@attribute tag in an xsl sheet. For some reason the name of the id's where all null. + + Solution: + + The solution turned out to be that when using a Node if the local name and the node +name are the same for an attribute then the local name is null for that attribute. +This was not being accounted for in DOMImpl. I think that this can be easily fixed +with the following patch: + At line 2824 in DOMImpl replace the code: + namebuf.append(localname); + With + if( localname != null ) + namebuf.append(localname); + else + namebuf.append(qname); + + This fixed all of my problems