新生鳩丸掲示板♯

bakera.jp > 新生鳩丸掲示板♯ > スレッド内全記事表示 (記事 1094 からのスレッド)

スレッド内全記事表示 (記事 1094 からのスレッド)

[1094] Q:箇条書きの入れ子とパラメタつきhrefでstrict不合格

fukushi (2003年10月15日 10時16分)

こんにちは。さいきん自ページのstrict化に手を染めていますが、

以下のことをすると、意図どおりに表示されるもののW3Cバリデーターに

怒られます。

・箇条書きの入れ子

 <ul><li>1段目</li><ul><li>2段目</li></ul></ul>

 とすると、2個目の<ul>で

 「<li>を期待していたのに<ul>が来たと怒られます。

・パラメタつきhref

 <a href="site.cgi?parm1=value1&parm2=value2">リンク</a>

 とすると、&parm2を実体参照として解釈しようとして怒られます。

これらのエラーを解消する方法はあるでしょうか。

よろしくお願いいたします。

以下にhtml全文を挙げます。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd">

<html lang="ja" dir="ltr">

<head>

<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">

<meta name="author" content="ふくし">

<link rev="made" href="mailto:fukushi@culture.club.ne.jp">

<title>strict valid にならない</title>

</head>

<body>

<h1>strict valid にならない</h1>

<h2>箇条書きの入れ子</h2>

<ul>

<li>1段目</li>

<ul>

<li>2段目</li>

</ul>

</li>

</ul>

<h2>パラメタつき href</h2>

<p><a href="http://dictionary.goo.ne.jp/search.php?MT=dictionary&kind=ej">goo の辞書</a>を引いてみる</p>

<p class="valid" lang="en"><a href="http://validator.w3.org/check/referer"><img src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" height="31" width="88"></a></p>

</body>

</html>

[1095] A:箇条書きの入れ子とパラメタつきhrefでstrict不合格

義珍 (2003年10月15日 11時2分)

> <ul><li>1段目</li><ul><li>2段目</li></ul></ul>

> とすると、2個目の<ul>で

> 「<li>を期待していたのに<ul>が来たと怒られます。

ul直下にはliしか書けないので、

<ul>

<li>1段目</li>

<li>

<ul>

<li>2段目</li>

</ul>

</li>

</ul>

とすればよいと思います。

> <a href="site.cgi?parm1=value1&parm2=value2">リンク</a>

> とすると、&parm2を実体参照として解釈しようとして怒られます。

<a href="site.cgi?parm1=value1&amp;parm2=value2">リンク</a>

という風に、&を実態参照で書いてやれば大丈夫だったと思います。

[1097] Re: Q:箇条書きの入れ子とパラメタつきhrefでstrict不合格

ばけら (2003年10月15日 11時58分)

>・箇条書きの入れ子

> <ul><li>1段目</li><ul><li>2段目</li></ul></ul>

 こんな感じですね。

<ul>

<li>1段目

<ul>

<li>2段目</li>

</ul>

</li>

</ul>

>・パラメタつきhref

 FAQ と化している感がありますが、属性リテラルは RCDATA としてパースされるので文字参照が解釈されます。& が書かれていると CRO(文字参照開始区切り子) とみなされるので、URL の文字列の一部として & を書きたい場合は &amp; あるいは &#38; などと書く必要があります。

 これについては HTML4.01 B.2.2 に注意書きがありますので参考にしてください。

[1098] Re: Q:箇条書きの入れ子とパラメタつきhrefでstrict不合格

えむけい (2003年10月15日 12時4分)

> FAQ と化している感がありますが、属性リテラルは RCDATA としてパースされるので文字参照が解釈されます。& が書かれていると CRO(文字参照開始区切り子) とみなされるので、

ERO(実体参照開始区切り子)では? &#でないとCROにはなり得ません。

http://www1.u-netsurf.ne.jp/~7l1rll/SGMLtab3.html

[1099] Re: Q:箇条書きの入れ子とパラメタつきhrefでstrict不合格

ばけら (2003年10月15日 12時32分)

>ERO(実体参照開始区切り子)では? &#でないとCROにはなり得ません。

>http://www1.u-netsurf.ne.jp/~7l1rll/SGMLtab3.html

 おお、そうですね。ちょっと勘違いしてました。

[1104] Re: Q:箇条書きの入れ子とパラメタつきhrefでstrict不合格

ふくし (2003年10月15日 17時40分)

ありがとうございます。どちらも解決しました。

<ul>

 <li>1段目</li>

 <ul>

  <li>2段目</li>

 </ul>

</ul>

が間違いで、

<ul>

 <li>1段目

 <ul>

  <li>2段目</li>

 </ul></li>

</ul>

が正しいというのは論理的にも納得できます。

通常は

●第1章 あさごはん

 ○第1節 おみそしる

のように2段目の箇条書きは直前の1段目の項目に従属する関係にあるからですね。

アンパサンドも実体参照にしたら怒られませんでした。

まだstrict1年生で戸惑うこともありますが、上のように自分の文章の論理構造(あるいは、その欠如)が分かって面白いです。

今後もよろしくお願いします。

最近の日記

関わった本など