#!/usr/bin/perl use strict; my @create_target; for my $uri ( [null => 'null'], [absuri => '"http://test/"'], [xmluri => '"http://www.w3.org/XML/1998/namespace"'], [xmlnsuri => '"http://www.w3.org/2000/xmlns/"'], ) { for my $prefix ( [null => '"localName"', 'null', '"localName"'], [xml10ncname => '"originalPrefix:localName"', '"originalPrefix"', '"localName"'], [xml => '"xml:lang"', '"xml"', '"lang"'], [xmlns => '"xmlns"', 'null', '"xmlns"'], [xmlnsprefix => '"xmlns:declaredPrefix"', '"xmlns"', '"declaredPrefix"'], ) { push @create_target, ['Attr', $uri->[0], $prefix->[0], qq[ var el; try { el = document.createAttributeNS ($uri->[1], $prefix->[1]); } catch (e) { } if (!el) { try { el = document.createAttributeNS ($uri->[1], $prefix->[3]); el.prefix = $prefix->[2]; } catch (e) { } } var ok = (el && el.prefix == $prefix->[2] && el.namespaceURI == $uri->[1]); ]]; push @create_target, ['Element', $uri->[0], $prefix->[0], qq[ var el; try { el = document.createAttributeNS ($uri->[1], $prefix->[1]); } catch (e) { } if (!el) { try { el = document.createAttributeNS ($uri->[1], $prefix->[3]); el.prefix = $prefix->[2]; } catch (e) { } } var ok = (el && el.prefix == $prefix->[2] && el.namespaceURI == $uri->[1]); ]]; } } my @set_value = ( ['null', 'null'], ['undefined', 'undefined'], ['empty', '""'], ['nonxmlname', '"12345"'], ['xml10name', '"new:Prefix"'], ['xml10ncname', '"newPrefix"'], ['xml', '"xml"'], ['xmlns', '"xmlns"'], ); my $table = q[
]; my @items; for my $create_target (@create_target) { $table .= qq[FAIL (not executed)