質問

事業 ランダムなHTMLファイルを使用して、できる限りXHTMLに変換し、XML MetDataでラップします。 Doctypeは、結果のXMLファイルがXHTMLドキュメントではないため、剥奪されます。ただし、XMLファイルからラップされたXHTMLを取得するときは、Doctypeを再挿入する必要があります。

これらはランダムなHTMLファイルであるため、コンテンツを含めることができますが、元のDTDを保存または決定する必要はありません。遷移DTDの単なるスーパーセットであり、すべてのコンテンツに有効であるため、フレームセットDTDが必要であると考えました。ただし、を使用する場合 W3C XHTMLバリデーター 同じドキュメントを使用すると、トランジショナルDTDパスを使用しますが、フレームセットDTDを使用すると失敗します。

問題を再現できる最小限にドキュメントを剥ぎ取りました。これがフレームセットバージョンです:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Make The Move</title>
</head>

<body style="background: none;">
    <h3 id="why">Why should I move to Linux?</h3>
</body>

</html>


そして、これが移行バージョンです:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Make The Move</title>
</head>

<body style="background: none;">
    <h3 id="why">Why should I move to Linux?</h3>
</body>

</html>


なぜこれが起こっているのか、どのように進めるべきかを説明してください。

役に立ちましたか?

解決

フレームセットDTDは、移行の「スーパーセット」ではありません。それは、内部を除く、コンテンツではなく、フレームのレイアウトにのみ使用される特別なDTDです <noframes> 鬼ごっこ)。それは許可されます <head><frameset> の子供として <html> 鬼ごっこ。

ここ 仕様です。

ページにフレームがあることがわからない限り、移行または厳格なDTDに固執してください。

他のヒント

Chetanが指摘したように、フレームセットDTDはフレームが必要な場合にのみ使用する必要があります。それでも、代わりにTransitionalを使用することをお勧めします。フレームに頼らない場合は、厳格です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top