定義リストで説明文を空にするとブロックが終了する

  • ページ: BugTrack
  • 投稿者: とおが?
  • 優先順位: 低
  • 状態: 完了
  • カテゴリー: 本体バグ
  • 投稿日: 2003-12-02 (火) 08:34:32
  • バージョン:

メッセージ

定義リストの説明文中には後続するブロック要素が含まれるが、説明文を空にすると定義リストブロック自体が終了してしまう。

:HOGE|hoge
::FOO|foo
::BAR|bar

と記述すると

<dl>
  <dt>HOGE</dt><dd>hoge
  <dl>
    <dt>FOO</dt><dd>foo</dd>
    <dt>BAR</dt><dd>bar</dd>
  </dl>
  </dd>
</dl>

に展開されるが、

:HOGE|
::FOO|foo
::BAR|bar

では

<dl>
  <dt>HOGE</dt>
</dl>
<dl>
  <dt>FOO</dt><dd>foo</dd>
  <dt>BAR</dt><dd>bar</dd>
</dl>

となり、第一階層が終了してしまう。この場合も

<dl>
  <dt>HOGE</dt><dd>
  <dl>
    <dt>FOO</dt><dd>foo</dd>
    <dt>BAR</dt><dd>bar</dd>
  </dl>
  </dd>
</dl>

となるべきでは ?


  • 取り敢えず無理やりタグを出力させるようにしてみたのですが、邪道でしょうか。 -- とおが? 2003-12-02 (火) 08:36:24
    convert_html.php:314
      if (count($out) < 2) {
          $this = new Inline($text);
          return;
      }
    + else if (empty($out[1])) {
    +     $out[1] = ' ';
    + }
      parent::ListContainer('dl','dd',$level,$out[1]);
    • 当面はそれでしのいでください。このあたり非常にややこしいことになってますんで、ちょっと考え直してきます。 -- ぱんだ 2003-12-02 (火) 23:57:29
  • ところで、<dd>hogeで<dd>が閉じられて無いのも問題では? -- Ratbeta? 2003-12-02 (火) 18:29:32
    • よく見てください。第1階層の<dd>の閉じタグ</dd>は第2階層から脱出した後(</dl>の後)にちゃんと正しく出力されています。

      W3CのHTML・XHTMLのDTDでは、第2階層の<dl>は第1階層の<dd>の子要素にしないといけないことになっているため、そのような出力になっています。 -- reimy 2003-12-02 (火) 19:12:11

    • 失礼致しました。つい早とちりで…。 -- Ratbeta? 2003-12-03 (水) 18:23:37
  • CVS投入されてたんですね、で完了にします。 -- とおが? 2003-12-17 (水) 21:52:16

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2003-12-17 (水) 21:52:16
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.178 sec.

OSDN