[スレッド全体]

2008/8/15 (金) 04:15:30 あろか  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
[5405] HTMLアウトライン解析の段落処理
HTMLのルールでは<p>(段落)は省略可能で、ほかのブロック要素が現れたときは自動的に終了することになっているようです。ところがサクラエディタのアウトライン解析は、<p>を</p>で明示的に終了しないで<p>を繰り返したり<pre>や<div>を続けたとき、トピックツリーがだんだん深くなってしまいます。
アウトラインを見るのに都合が悪かったので変更して、SFにパッチを用意しました。
見出しの深さ調整処理や、文字修飾タグ(boldやitalic)をツリーに入れない処理なども追加したため否定意見もあると思います。ご意見ください。

2008/8/23 (土) 17:18:59 なすこじ  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 2.0.50727)
[5407] Re:HTMLアウトライン解析の段落処理
▼ あろかさん
パッチを試してみようと思ったのですが、「パッチを適用」にて MakeHTMLTopic.diff を選択すると「未知の改行コードが、行 180 で見つかりました!」のエラーとなってしまいます。

パッチの中を見てみるとコード部分にCRLFのところが2箇所あったのでLFに直してみましたが現象は変わりませんでした。

Windows2000 SP4 + TortoiseSVN 1.4.5 build 10425 にて試しました。

2008/8/24 (日) 19:00:03 あろか  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
[5408] Re2:HTMLアウトライン解析の段落処理
▼ なすこじさん
お手数かけました。こちらでも失敗していましたのでdiffファイルを作り直しました。
SF.netは失敗したのでWikiのDevelop/8にアップロードしました。

PS.「<p>(段落)は省略可能で」は「<p>(段落)は</p>が省略可能で」の誤りです。

2008/8/25 (月) 04:40:46 なすこじ  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 2.0.50727)
[5409] Re3:HTMLアウトライン解析の段落処理
パッチの最後の方に Patches #2028628 が混入してませんか?

その部分を削除して試してみました。
タグを小文字で書くとOKですが、大文字で書くとおかしくなる
みたいです。

metaをMETAと書くとツリーを形成してしまいます。
同様に<P>や<BR>でも発生します。
タグを<p><br>の様に小文字で書くと大丈夫です。

<html>
<head>
<title>アウトライン解析テスト用1</title>
<META NAME=GENERATOR CONTENT="HANDMADE">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
</head>
<body>
<P>パラグラフ1
<P>パラグラフ2<BR>
<BR>
<P>パラグラフ3<BR></P>
<P>パラグラフ4
<P>パラグラフ5</P>
</body>
</html>


番号付きのリストでツリーになりません。
これも<OL>を<ol>とするとツリーとなります。
パラグラフ1の<p>が関係しているようです。<P>にすると<OL>は
ツリーとなります。

<html>
<head>
<title>アウトライン解析テスト用2</title>
<META NAME=GENERATOR CONTENT="HANDMADE">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
</head>
<body>
<p>パラグラフ1</p>
<OL>
<li>
階層1A
</li>
<li>
階層1B
</li>
<OL>
<li>
階層2A
</li>
<li>
階層2B
</li>
</OL>
</OL>
</body>
</html>

とりあえず動作だけ見てみました。
コードはまだ見れていないです。

ではでは。

2008/8/25 (月) 09:29:00 あろか  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
[5410] Re4:HTMLアウトライン解析の段落処理
▼ なすこじさん
確認ありがとうございます。

> パッチの最後の方に Patches #2028628 が混入してませんか?
はい。すみません。

> タグを小文字で書くとOKですが、大文字で書くとおかしくなる
> みたいです。
ラベルを szLabel にコピーしたとき、strlwr のつもりで tolower になっていました。
このため、大文字がまったくおかしな振る舞いになっていました。

2008/8/25 (月) 18:44:41 なすこじ  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 2.0.50727)
[5411] Re5:HTMLアウトライン解析の段落処理
▼ あろかさん
大文字の件は_tolowerをstrlwrに変更することで解決しました。
他に気づいた点をば。

1) Pエレメント内にAエレメントがあった場合
 インラインエレメントに関しては、パッチ適用前と同様にPに
 ぶら下がる形になるべきではないでしょうか?

2) P以外で終了タグが省略可能なもの
 HEAD,BODY,LI,DT,DD,TR,TH,TD,OPTIONなどが終了タグ省略
 可能なようですが、対処漏れがあると思います。

3) TDエレメント内にPエレメントがあった場合
 次のTRエレメントのアウトラインがおかしくなるようです。

<html>
<head>
<title>アウトライン解析テスト用3</title>
  <meta NAME=GENERATOR CONTENT="HANDMADE">
  <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
</head>
<body>
<p>パラグラフ1 <a href="http://sourceforge.net/">リンク1</a></p>
<ol>
<li>
階層1A
<li>
階層1B
</li>
</ol>
<table border=1>
<tr><th>ヘッダ1</th><th>ヘッダ2</th></tr>
<tr><td>データ1A <p><a href="http://sourceforge.net/">リンク2</a></td><td>データ1B</td></tr>
<tr><td>データ2A</td><td>データ2B</td></tr>
</table>
</body>
</html>

2010/1/5 (火) 12:52:51 -  
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 GTB6
[5649] 管理者削除
-

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81
[ut:0.010][st:0.000]