携帯の機種によってDOCTYPEを自動出力するようなプログラム(関数)
を作ろうかなって思ったので、ここで今一度覚え書き程度にまとめてみます。
3回にわたって各キャリア別に書いていきます。
まずはドコモから。
○iモードHTML
通称:Compact HTML(CHTML)。W3Cで正式な勧告がなされている。<!DOCTYPE HTML PUBLIC "-//W3C//DTD Compact HTML 1.0 Draft//EN">
以前、携帯メーカー各社がこの「Compact HTML」をW3Cに逆提案したいきさつがある。
現在バージョンは7.0まであり、バージョンアップを重ねるごとに
ドコモの新機能に対応した形でリリースされる。基本的にはHTMLと同様。
このDOCTYPEは省略可能か公式サイトには明言されていませんが、
省略しても動作はするようです。
○iモードXHTML(バージョン共通)
基本はこの共通系で動作しますが、通常はiモードXHTMLのバージョンによってDOCTYPEが用意されているので、そちらに合わせた方が良いでしょう。<?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" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" />...
バージョンによるDOCTYPEは以下。
iモードXHTML1.0
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.0) 1.0//EN" "i-xhtml_4ja_10.dtd">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" />...
iモードXHTML1.1
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.1) 1.0//EN" "i-xhtml_4ja_10.dtd">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" />...
iモードXHTML2.0
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.0) 1.0//EN" "i-xhtml_4ja_10.dtd">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" />...
iモードXHTML2.1
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.1) 1.0//EN" "i-xhtml_4ja_10.dtd">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" />...
たぶん分かると思いますが、iモードXHTMLの場合は、
DOCTYPEの以下の部分がバージョンに合わせて変わるだけです。
<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.1) 1.0//EN" "i-xhtml_4ja_10.dtd">
文字コードはiモードXHTMLの場合に限り、UTF-8も可能です。
この場合は、「Shift_JIS」を「UTF-8」に変えて、HTMLをUTF-8で保存し直せばOKでしょう。
ただし、3キャリア対応サイトを作るなら、Shift_JISにするほうが良いです。
これは前の記事でふれました。
なお、iモードXHTMLのDOCTYPEは省略不可。これは前回の記事で詳しく解説しました。
DOCTYPEを省略したり、記述を間違うと、ブラウザがXHTMLモードにならないので、
いじらない方が無難です。
