1

「受け入れるものは寛大に、送るものは保守的にしてください。」-ジョン・ポステル

現在、Chromeブラウザを使用していますが、過去にFirefoxで同じことを経験しました。

次のようなJSコード...

(new DOMParser).parseFromString("<doc attr=\"foo\" attr=\"foo\" />","text/xml")

有用なものではなく、pukeyparsererrorページを返します。

現在、私は表面的にはこの問題を抱えているXMLドキュメントのように見えるものを消費しています。つまり、一部の要素は同じ属性を2回持っています。

上記の原則に従って、私のプログラム(ブラウザーのDOMParserオブジェクトに基づいて構築されたもの)は、このような入力に直面するだけで手を上げるよりもうまく機能するようにしたいと思います。

属性の最初、最後、またはその他の値が使用されるかどうかは、実際には気にしません。

質問:パーサーの厳密さを緩和する方法はありますか?

4

1 に答える 1

3

XMLの哲学は、常にPostelの法則とは正反対でした。受け入れるものに寛大である場合、これにより、コンテンツ作成者は作成するものを怠ることになります。あなたが受け入れるものに厳格であるならば、コンテンツクリエーターは彼らが作り出すものに厳格であるように強制されるでしょう、さもなければ彼らが作り出すものは役に立たないでしょう。この非XMLファイルを生成したプロセスを修正します。(そして、そのようなオブジェクトを「XMLドキュメント」と呼ぶのを間違えないでください。それがXMLであれば、問題はありません。)

于 2012-01-25T08:50:12.710 に答える