8

HTMLレンダラーの適合性を少し向上させるために、この定義を探しています。現在、どの空白を保持し、どの空白を折りたたんで、何をスローするかを推測しています。SGML標準を見つけるのは難しく、HTML標準は私のニーズに必要な深さで主題を扱っていないようです。

現在、私のレンダラーはHTMLをツリーに解析してから、再帰的なレイアウトパスを実行して、すべての要素とそのコンテンツを配置します。私は、解析段階で空白を破棄することを試みています。つまり、特定の状況では空白のみをテキストチャンクに出力しません。これはほとんどの場合に機能しますが、対処が困難になっているエッジケースはかなり少数です。

(私はHTMLコントロールのエディターサブクラスにも取り組んでおり、レイアウト時間のソリューションはエディターで少し問題があることがわかっているため、それらを解析段階に入れることに取り組んでいます。レイアウト情報はリフローまで利用できません。時間。ドキュメントを編集してからしばらく経ちます。)

リンケージ/炎で発射します。

4

4 に答える 4

10

HTML4仕様のセクション9.1空白はあなたが探しているものだと思います。

于 2009-09-15T08:23:24.287 に答える
5

したがって、これに関する回答に最も近いのは次のとおりだと思います: http://www.w3.org/TR/CSS2/text.html#white-space-model

于 2012-11-01T00:48:59.877 に答える
2

独自の HTML パーサーを作成している場合は、HTML 5 仕様の解析アルゴリズムを使用することを強くお勧めします。http://www.whatwg.org/html5多数のエッジ ケースとコーナー ケース、および一般的なブラウザーの奇妙な点をカバーしています。ブラウザーは SGML の規則には従いませんが、HTML 5 仕様に記載されていること、またはそれと同等の機能を実行することに専念しています。このアルゴリズムを実装するオープンソースのパーサーがいくつかあるので、必要なものはすべて揃っているはずです。

于 2009-09-15T08:59:18.307 に答える