2016-10-13 6 views
0

XML DOM Element.getAttribute(name)は、属性が存在しない場合は常に空の文字列を返すように指定されていました。しかし、私はちょうどMozilla's docsを読んで、ブラウザはnullを返すと言っています。 WhatWG specを参照していますが、実際にはnullが返されるはずです。しかし、私はW3CのDOM Level 3仕様に戻って、メソッドは空の文字列を返すべきだと言います。不足している属性のElement.getAttribute()の話は何ですか?

実際の話は何ですか?本当の仕様は何ですか? WhatWG仕様はDOMのW3C仕様を実際に置き換えていますか?私は数年後にこのようなものに触れていないので、時代の後ろにいるのですか?

答えて

1

実際の仕様は何ですか?

https://dom.spec.whatwg.org/は、標準DOM仕様です。これは実際にはまだ維持管理され更新されており、バグの修正を受ける唯一のDOM仕様です。以前のすべてのDOM仕様に取って代わるものです。これは、ブラウザエンジン実装者が実装している仕様です。したがって、特定のブラウザの動作がhttps://dom.spec.whatwg.org/の要件と一致しない場合は、仕様に準拠するようにブラウザを更新するようにブラウザのバグを報告する必要があります。

+1

sidenote:ブラウザだけがDOM実装ではなく、彼はそれらに興味があるかどうかを指定していません – the8472

+0

Java XMLパーサーの実装はWhatWG仕様またはW3C仕様に従っていますか?アクティビティはいつW3Cから移行されたのですか?この仕様の所有権の変更について記述した規範文書がありますか? –

+0

Java XML DOMツールが何をするのか分かりません。彼らがずっと前に書かれていれば、現在の仕様では最新のものではないかもしれません。もしそうなら、私は彼らの作者がおそらくそれらを更新するつもりはないと思うでしょう。ここでのコンテキストはhttps://dom.spec.whatwgです。orgは実際にどのブラウザエンジンが実装しているかを文書化しています。したがって、ブラウザ以外の実装を使用している場合は、ブラウザと同じように動作します。しかし、ブラウザとの相互運用性が重要でない場合、そうしないでください。おそらく、Java XML DOMツールがブラウザのDOM実装と同じように動作することは重要ではないでしょう。 – sideshowbarker

1

現在のW3C DOM仕様のバージョンはDOM4です。 の動作はDOM4で変更されているため、W3CはWHATWGに追いついたようです。 Wikipediaによると:DOMの

主な標準化が最後WHATWGは、文書生きとしてそれを公開、標準の開発を引き継いだ2004年に勧告を開発したW3Cによって処理されていました。 W3Cは現在、WHATWG標準の安定したスナップショットを公開しています。

DOM Level 1DOM Level 2DOM Level 3

戻り値

文字列としてAttr値、または空の文字列その属性が指定するか、デフォルト値を持っていない場合。

W3C DOM4

戻り名、およびヌルそうであるコンテキスト・オブジェクトの属性リストの最初の属性の値。

+0

したがって、DOMレベル2に準拠しているXMLパーサーは、空の文字列を返すと予想されます。 –

+0

@GarretWilson DOM Level 2に準拠していると主張する場合はyesです。 – nwellnhof

+1

上記はすべて正確であるが、副次的な注釈である。引用したステートメントまで「W3CはWHATWG標準の**安定版スナップショット**を公開している」と述べているが、それは2014年末までしばらくは当てはまるが、もはや真実ではない。 https://www.w3.org/TR/dom/はもはや維持されておらず、上流のhttps://dom.spec.whatwg.org/の仕様からの変更は、2014年以降にhttps:// github .com/w3c/dom /コミット/ gh-pages – sideshowbarker

関連する問題