Hallo Christoph,
Doch, ich habe XMLHttpRequest ein "GET" mitgegeben, und sonst nichts.
Nebenbei gesagt: Ich halte Operas Verhalten hier für logisch.
die DOM-HTML-Methode getElementsByName
Das sowas nicht funktioniert habe ich mittlerweile auch festgestellt, aber das es in XML verboten ist, war mir neu. Warum ueberhaupt? Wo ist das dokumentiert? Kann man da irgendwo mehr drueber lesen?
Im Zweifelsfall im entsprechenden Standard die Definition von getElementsByName als Methode des Interfaces HTMLDocument. In dem in DOM 2 Core definierten Interface Interface Document gibt es diese Methode nicht, schließlich bezieht sie sich nur auf HTML-Dokumente.
Der Hintergrund sollte einem bei etwas Vertrautheit mit XML auch klar sein. Außer den querverweisenden Attributtypen definiert der XML-Standard eigentlich nur zwei vordefinierte Attributtypen von Belang, CDATA („String“) und ID (und in Zukunft gibt es wohl xml:id). Weitere Attributtypen gibt es nicht, auch keiner für die Werte von name-Attributen. Die Methode getElementsByName() wird nur im HTML-Kontext auf Elemente mit name-Attribute wirksam, auch wenn dort die name-Attribute vom Typ CDATA sind. Das hatte sich eben mit dem für HTML-Kontext gedachten DOM Level 1 Standard so eingeführt, die generischeren DOM Level 2 Standards sollen dann universaler sein.
Und können deswegen getElementsByName() nicht haben. Weil sie dann ebenso für mein XML 1.1 Dokument mit dem Fragment <sketch heinzelmännchen="ede"> dann bitte ebenso eine Methode getElementsByHeinzelmaennchen() vorhalten sollten, wenn sie gerecht sein wollen.
Nebenbei: In SELFHTML ist der Unterschied naturgemäß nicht so stark herausgearbeitet, trotzdem steht selbst dort: „Die Methode getElementsByName() regelt lediglich den Zugriff auf HTML-Elemente.“ Ja, das könnte klarer formuliert sein, allerdings geschieht das eher in der Form einer für SELFHTML 9 geplanten Umstrukturierung des JS/DOM-Kapitels.
Tim