[ http://issues.apache.org/jira/browse/XERCESJ-1050?page=comments#action_61710 ] Manos Batsis commented on XERCESJ-1050: ---------------------------------------
Many thanks Michael, that helps a lot. > XMLSerializer outputs unqualified attributes when NS URI is same as parent > element's NS URI > ------------------------------------------------------------------------------------------- > > Key: XERCESJ-1050 > URL: http://issues.apache.org/jira/browse/XERCESJ-1050 > Project: Xerces2-J > Type: Bug > Components: Serialization, SAX > Environment: Linux 2.6.8-24.10-default > java version 1.4.2_06 > Reporter: Manos Batsis > > XMLSerializer creates unqualified attributes when those have the same > namespace URI as their parent element. A workaround is to also provide a > QName, but that should not be neccessary (plus it's error prone). The > following produces three attributes; the second one should be qualified but > is not. > OutputFormat format = new OutputFormat("xml", "UTF-8", true); > format.setIndenting(true); > XMLSerializer xmlserializer = new XMLSerializer(); > xmlserializer.setOutputFormat(format); > xmlserializer.setNamespaces(true); > xmlserializer.setOutputByteStream(System.out); > xmlserializer.startDocument(); > xmlserializer.startPrefixMapping("test1", "http://geekologue.com/test1"); > xmlserializer.startPrefixMapping("test2", "http://geekologue.com/test2"); > > AttributesImpl resourceRefAtts = new AttributesImpl(); > resourceRefAtts.addAttribute("http://geekologue.com/test1", "qualified", "", > "CDATA", "this attribute is qualified as it's NS URI is different from the > parent element NS URI"); > resourceRefAtts.addAttribute("http://geekologue.com/test2", "unqualified", > "", "CDATA", "this attribute is unqualified (Bug?) as it's NS URI is the > same as the parent element NS URI"); > resourceRefAtts.addAttribute("http://geekologue.com/test2", > "unqualified-qualified", "test2:unqualified-qualified", "CDATA", "this > attribute is qualified although it's NS URI is the same as the parent element > NS URI, because we also provide a QName (but we shouldn't)"); > > > xmlserializer.startElement("http://geekologue.com/test2", "element", null, > resourceRefAtts); > xmlserializer.endElement("http://geekologue.com/test2", "element", null); > > xmlserializer.endPrefixMapping("test1"); > xmlserializer.endPrefixMapping("test2"); > > xmlserializer.endDocument(); -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
