Gunnar Bittersmann: Namensräume

Beitrag lesen

Hello out there!

Komisch fand ich, dass da scheinbar der gleiche URI 2x vergeben ist:
xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"

Der Namensraum, der mit dem Präfix 'ss' verbunden ist, ist mit dem voreingestellten Namensraum identisch.

Das heißt, man kann die Elemente 'foo' dieses Namensraumes 'urn:schemas-microsoft-com:office:spreadsheet' mit Präfix 'ss' oder ohne notieren: <foo>bar</foo> oder <ss:foo>bar</ss:foo>.

(Dennoch dürfte <foo>bar</ss:foo> ungültiges XML sein.)

Anders bei Attributen: Diese gehören ohne Präfix nicht zum voreingestellten Namensraum. “Default namespace declarations do not apply directly to attribute names; the interpretation of unprefixed attributes is determined by the element on which they appear.” [XML-NAMES §6.2] Whatever that means: determined by the element on which they appear. (??)

Offenbar nicht, dass sie zum Namensraum ihres Elements gehören, denn weiter unten heißt es: “the default namespace does not apply to attribute names” [XML-NAMES §6.3]

Deshalb wurde bei Attributen der Präfix 'ss' verwendet; bei Elementen wurde er weggelassen – Geiz ist geil. ;-)

See ya up the road,
Gunnar

--
„Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)