HTMLをXHTMLに変換するスクリプトを作っています。作成方針は下記のとおり。
<sPAn TitlE='Foo'>baR</SpAn>
<span title='Foo'>baR</span>
<h1 left>
<h1 align="left">
<br>
<br/>
<html> <title>Hello</title> <body> ...
<html> <head> <title>Hello</title> </head> <body> ...
<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01//EN'>
<?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en-US">
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
<span/ほげほげ/
<span>ほげほげ</span>
<q<em>ほえ</></q>
<q><em>ほえ</em></q>
文法的には一応正しいけど何だかインチキくさい下記のようなHTMLでも、なんとか変換可能。
<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01//EN'> <title>Tiny Sample</TITLE> <p LTR><!>Hello <!-- <BR> <^o^>/~ -- >world.
<?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Tiny Sample</title> </head> <body> <p dir="ltr"><!---->Hello <!-- <BR> <^o^>/~ -->world. </p> </body> </html>
アレに挑戦してみました。去年話題を呼んだ、朝日新聞のアレです。
<?xml version="1.0" encoding="Shift_JIS" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml:lang="ja-jp" lang="ja-jp" xmlns="http://www.w3.org/1999/xhtml"> <body> <font color="blue"> </font> <h1></h1> <center>ホームページ講座3回のスケジュール </center> <font size="5"></font> <center> 7月19日号 まず文字だけのページから <br /> 7月26日号 画像を張ってみます <br /> 8月2日号 </center> </body> </html>
<?xml version="1.0" encoding="Shift_JIS" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml:lang="ja-jp" lang="ja-jp" xmlns="http://www.w3.org/1999/xhtml"> <head> <title>画像張りつけ例</title> </head> <body bgcolor="aqua"> <font color="blue"> </font> <h1></h1> <center>be各面のメーン記事</center> b2<br /> <img src="fr.gif" /><br /><br /> b3<br /> <img src="repo.gif" /><br /><br /> b4<br /> <img src="ichi.gif" /><br /><br /> b5<br /> <img src="okane.gif" /><br /><br /> b6<br /> <img src="manu.gif" /><br /><br /> b7<br /> <img src="between.gif" /><br /> </body> </html>
<?xml version="1.0" encoding="Shift_JIS" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml:lang="ja-jp" lang="ja-jp" xmlns="http://www.w3.org/1999/xhtml"> <head> <title>トップページ</title> </head> <body> <img src="title_b.gif"width="200" height="180" /><br /><br /> <a href="http://homepage3.nifty.com/****/moji.html"> シリーズ3回のスケジュール</a> <br /> <a href="http://homepage3.nifty.com/****/nikki.html"> 画像張り付け例</a> <br /> <s>beのホームページは <a href="http://www.be.asahi.com/"> こちらです</a></s> <br /> beへのお便りは <a href="mailto:be@asahi.com">こちらへ</a> </body> </html>
それなりに正しいXHTMLに近づいてはいるようですが…
意味不明なタグ(<size>
とか<color="Blue">
など)や、文法に違反した属性記述(ALT=beのロゴ
など)は削除されてしまいますが、この辺は仕方がありません。元がおかしいのですから。
参考までに、HTML Tidyを使ってXHTML変換してみました。Tidyの場合、変換後のソースに余計な改行が入ったり、勝手に整形されたりと、親切というよりはおせっかいなことをしてくれます。
それはさておき、例のアレ(何)
<?xml version="1.0" encoding="shift_jis"?> <!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"> <head> <meta name="generator" content="HTML Tidy for Windows (vers 1st July 2003), see www.w3.org" /> <title></title> </head> <body> <center> <h1>ホームページ講座3回のスケジュール</h1> </center> <center> <font size="5">7月19日号 まず文字だけのページから<br /> 7月26日号 画像を張ってみます<br /> 8月2日号</font> </center> </body> </html>
CENTERとH1の親子関係が修正されています。すごいです。
<?xml version="1.0" encoding="shift_jis"?> <!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"> <head> <meta name="generator" content="HTML Tidy for Windows (vers 1st July 2003), see www.w3.org" /> <title>画像張りつけ例</title> </head> <body bgcolor="aqua"> <center> <h1>be各面のメーン記事</h1> </center>b2<br /> <img src="fr.gif" alt="フロントランナー" /><br /> <br /> b3<br /> <img src="repo.gif" alt="リポート" /><br /> <br /> b4<br /> <img src="ichi.gif" alt="一流を育てる" /><br /> <br /> b5<br /> <img src="okane.gif" alt="お金の悩み" /><br /> <br /> b6<br /> <img src="manu.gif" alt="マニュアル不要" /><br /> <br /> b7<br /> <img src="between.gif" alt="ビットイン" /><br /> </body> </html>
ALT属性値に引用符が付加されました。親切ですね。私が作ったやつは、おかしな記述は有無を言わさず切り捨ててます。冷たいですね。
line 3 column 1 - Error: <color> is not recognized!
…冷たいですね。
THE地球防衛軍の、ゲーム中の誤植。
どうやらEDF最後の戦いの時がきたようです。たとえ、この場で倒れることになろうとも、最後の瞬間まで勇敢に戦い抜きましょう。各員の検討を祈ります。
検討してる暇はないと思います。
FreeBSDのデフォルトシェルであるtcshのカタログを萌えなものバージョンを6.12.02にしようとしたのですが、なぜかmakeできない罠。
> make gcc -c -g -O2 -I. -I. -D_PATH_TCSHELL='"/usr/local/bin/tcsh"' sh.func.c sh.func.c: In function `dologin': sh.func.c:350: syntax error before `char' sh.func.c:354: `p' undeclared (first use in this function) sh.func.c:354: (Each undeclared identifier is reported only once sh.func.c:354: for each function it appears in.) *** Error code 1
はあ、なんだかなあ。
void dologin(v, c) { USE(c); #ifdef WINNT_NATIVE USE(v); #else /* !WINNT_NATIVE */ char **p = short2blk(v); islogin();
void dologin(v, c) { char **p = short2blk(v); USE(c); #ifdef WINNT_NATIVE USE(v); #else /* !WINNT_NATIVE */ islogin();
C言語って、変数宣言をブロックの先頭でやらなきゃいけないんですよね、たしか。
普段当たり前のように存在していたものが突然なくなってしまうのはとても悲しいことです。GUIが凶悪なまでに使いにくいとか、スピーカ端子がバナナプラグ対応じゃないとか、リモコンがかっこ悪い上に使いづらいとか、不満点はありましたが、柔らかい音色や充実した背面パネルは気に入ってました。
夜、Windows上で某ムービーを再生していたら、突然ヘッドホンから音が途切れました。Windowsのことだからサウンドドライバがイカれたかなと思い、再起動してみましたが全く音は出ず。入力を切り替えてみたところ、CDプレイヤーの音もプレステ2の音も鳴りません。ヘッドホンからもスピーカからも、全く音が出なくなりました。映像は出力されているので、どうやら音声出力系統か音声アンプ部だけがおかしくなったようです。故障…か…
そんなわけで、6年以上使い続けてきたAVアンプが死亡しました。ガクッ。
急遽、AVアンプを購入せねばならなくなりました。生活には支障は出ないのですが、アンプが無いとゲームの音が出なくて寂しい限りです。
さて、どれを買いましょうかね。
とりあえず、このあたりを狙ってます。ってDENONだけかよ。