[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Re: [Sax-devel] Showstopper issue with new Attributetext
David Megginson wrote: > OK, people, what do we do here? Here are my opinions: > > 1. Anyone who writes an application that actually cares about the > Namespace assigned to xmlns attributes is f#@$%@#$ed in the head and > deserves whatever happens. > > 2. That said, we still have a responsibility to try to do the right > thing. If we get it wrong, though, it doesn't matter all that much (see > #1). One may indeed be fuxored in the head but one may simply be implementing a SAX handler that produces a DOM. In that case, well, you just need to know (and I suspect that would translate equally to other representations of the Infoset, depending on which parts they decide to stick to and which they ditch). Head-fuxoring is transitive. > So, bearing all that in mind, what should we report for the following > Namespace declaration? > > <foo xmlns="http://www.example.org/ns#"/> > > a) an attribute with no Namespace URI and the local name "xmlns"; > > b) an attribute with the Namespace URI "http://www.w3.org/2000/xmlns/" > and no local name; or > > c) an attribute with the Namespace URI "http://www.w3.org/2000/xmlns/" > and the local name "xmlns". > > Note that none of these is a clean solution, probably because Namespaces > 1.1 is a bit broken. Then again, I doubt it matters much. If no one > presents a convincing argument, I'll just pick one of the three at random. Is consistency accross SAXes a convincing argument? PerlSAX settled this to be a) a while ago, on the grounds that ok it might not be the spec but having an attribute with no prefix have a namespace was taking it too far to our taste. Quickly throwing together something: use XML::SAX::ParserFactory; use Data::Dumper; XML::SAX::ParserFactory->parser(Handler=>bless[])->parse_string('<foo xmlns="hhh"/>'); sub start_element { print Dumper($_[1]->{Attributes}); } produces: $VAR1 = { '{}xmlns' => { 'LocalName' => 'xmlns', 'Prefix' => '', 'Value' => 'hhh', 'Name' => 'xmlns', 'NamespaceURI' => '' } }; -- Robin Berjon
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|