Test results for messing with Attr.prefix

Hi,

  <foo xmlns="http://xmlns.example.org"
       xmlns:bar="http://bar.example.org" />

Then, in all tested implementations, foo has two attributes with

  xmlns.name         = xmlns
  xmlns.value        = http://xmlns.example.org
  xmlns.nodeName     = xmlns
  xmlns.nodeValue    = http://xmlns.example.org
  xmlns.namespaceURI = http://www.w3.org/2000/xmlns/
  xmlns.prefix       = null
  xmlns.localName    = xmlns

and

  nsbar.name         = xmlns:bar
  nsbar.value        = http://bar.example.org
  nsbar.nodeName     = xmlns:bar
  nsbar.nodeValue    = http://bar.example.org
  nsbar.namespaceURI = http://www.w3.org/2000/xmlns/
  nsbar.prefix       = xmlns
  nsbar.localName    = bar

after setting prefix to "x" you get (in FireFox, Batik, SVG#)

  nsbar.name         = x:bar
  nsbar.value        = http://bar.example.org
  nsbar.nodeName     = x:bar
  nsbar.nodeValue    = http://bar.example.org
  nsbar.namespaceURI = http://www.w3.org/2000/xmlns/
  nsbar.prefix       = x
  nsbar.localName    = bar

after setting prefix to null you get (in FireFox)

  nsbar.name         = bar
  nsbar.value        = http://bar.example.org
  nsbar.nodeName     = bar
  nsbar.nodeValue    = http://bar.example.org
  nsbar.namespaceURI = http://www.w3.org/2000/xmlns/
  nsbar.prefix       = null
  nsbar.localName    = bar

In Opera9 you get

  nsbar.name         = xmlns:bar
  nsbar.value        = http://bar.example.org
  nsbar.nodeName     = xmlns:bar
  nsbar.nodeValue    = http://bar.example.org
  nsbar.namespaceURI = http://www.w3.org/2000/xmlns/
  nsbar.prefix       = xmlns
  nsbar.localName    = bar

in both cases.

Setting prefix to null causes Batik and SVG# to throw an Exception.

In ASV6, setting prefix to x yields in

  nsbar.name         = xmlns:bar
  nsbar.value        = http://bar.example.org
  nsbar.nodeName     = xmlns:bar
  nsbar.nodeValue    = http://bar.example.org
  nsbar.namespaceURI = http://www.w3.org/2000/xmlns/
  nsbar.prefix       = x
  nsbar.localName    = bar

and setting to null in

  nsbar.name         = xmlns:bar
  nsbar.value        = http://bar.example.org
  nsbar.nodeName     = xmlns:bar
  nsbar.nodeValue    = http://bar.example.org
  nsbar.namespaceURI = http://www.w3.org/2000/xmlns/
  nsbar.prefix       = null
  nsbar.localName    = bar

regards,
-- 
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ 

Received on Sunday, 18 December 2005 17:07:28 UTC