ホーム > タグ > xhtml

xhtml

国内主要3キャリア対応のxhtmlモバイル向けページを作成

この記事は「国内主要3キャリア対応のxhtmlモバイル向けページを作成」に引っ越しました。

i モードHTMLとiモードXHTMLを切り替える

iモードHTMLとiモードXHTMLを正しく切り替える方法より引用。

『ちなみに、ドコモ向け端末において、XHTMLモード(iモードXHTML)で表示させる場合、
拡張子は「xhtml」でなければならないという解説をしているところもありますが、それは間違いです。
Webサーバーにおいては拡張子はそれほど重要ではなく、
問題はその拡張子がどのようなコンテンツMIMEタイプであり、どんなHTTPヘッダが出力されるか
ということのほうが重要です。

上記例(htaccess)では、「.html」という拡張子においてはHTTPヘッダ
は「application/xhtml+xml」にせよ、という明示なので、この設定がなされていれば、Webサーバーは拡張子htmlで、「application/xhtml+xml」というHTTPヘッダを出力するようになるので、
ドコモの機種はXHTMLモードに切り替わります。』

3キャリア対応のモバイル向けサイトを作るにあたって

自分のような初心者には丁度よくまとまっている blog エントリがあったので、これを元に自分用にさらにまとめ、整理してメモ。

ちょっと詳しいモバイルサイトの作り方
お世話になりました。ありがとうございました。
続きを読む

モバイル端末におけるXHTMLについて

携帯端末におけるXHTML仕様

XHTMLの仕様はW3Cによって標準化されているが、携帯端末の世界ではキャリアごとに異なっていて統一されていない。

DoCoMo
XHTML Mobile Profileをベースにしてiモード対応HTMLとの互換性を意識して策定。

au
XHTML Basicをベースにして、独自の拡張機能を追加したものを策定。

SoftBank
XHTML Mobile Profileをベースに、独自の拡張機能を追加したものを策定。

上記のように、携帯の世界ではW3CによるXHTML Basicと、WAPフォーラム(現在のOMA)によるXHTML Mobile Profileが主な仕様となっているのが現状。

各キャリアにおけるXTMLへの対応状況

DoCoMo
FOMA機種(2002年頃発売の2001/2002/2101Vは除く)

au
WAP2.0ブラウザ搭載機種(2002年以降発売)

SoftBank
W型、3GC型(2003年以降発売)

らしい。

XHTMLでモバイルサイトを制作する際の注意とtips

とくに、PHP での開発において、ざっとメモ。
PHP×携帯サイト デベロッパーズバイブルを参考に)

1. XML 宣言が必要

<?xml version=”1.0″ encoding=”Shift_JIS” ?>

2. キャリア、端末によって DOCTYPE 宣言を書き換える必要がある

Docomo / iモードXHTML1.0
<!DOCTYPE html PUBLIC “-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.0) 1.0//EN” “i-xhtml_4ja_10.dtd”>

Docomo / iモードXHTML1.1
<!DOCTYPE html PUBLIC “-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.1) 1.0//EN” “i-xhtml_4ja_10.dtd”>

Docomo / iモードXHTML2.0
<!DOCTYPE html PUBLIC “-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.0) 1.0//EN” “i-xhtml_4ja_10.dtd”>

Docomo / iモードXHTML2.1
<!DOCTYPE html PUBLIC “-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.1) 1.0//EN” “i-xhtml_4ja_10.dtd”>

Docomo / iモードXHTML2.2
<!DOCTYPE html PUBLIC “-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.2) 1.0//EN” “i-xhtml_4ja_10.dtd”>

Docomo / iモードXHTML2.3
<!DOCTYPE html PUBLIC “-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.3) 1.0//EN” “i-xhtml_4ja_10.dtd”>

au
<!DOCTYPE html PUBLIC “-//OPENWAVE//DTD XHTML 1.0//EN” “http://www.openwave.com/DTD/xhtml-basic.dtd”>

SoftBank
<!DOCTYPE html PUBLIC “-//JPHONE//DTD XHTML Basic 1.0 plus//EN” “xhtml-basic10-plus.dtd”>

3. Content-Type の書き換えも必要

通常(デフォルト)では、Content-Type は text/html になる。
XHTML を使用する場合はこれを application/xhtml+xml としないといけない。
対応する部分は以下の二箇所。

  • meta タグによる Content-Type の指定
  • HTTP レスポンスの Content-Type フィールドにおける指定

具体的には、

meta タグでは以下を記述

HTTP レスポンスヘッダーに以下のような Content-Type を指定(これは PHP の場合)

header(‘Content-Type: application/xhtml+xml;’);

この PHP の header 関数は、全ての出力の「前」に呼び出される必要がある。

4. mb_output_handler に注意(文字化け)

PHP での開発において mb_output_handler(出力時の文字コードの変換を行ってくれる関数)を使うことが出来ない。
HTTP レスポンスヘッダーの Content-Type に application/xhtml+xml が記述されているときは、この関数は機能しないので使うことが出来ないので注意。(ようするに、XHTML を使おうとするときは、この関数は使えないということ)

5. mb_output_handler を利用せずに文字コード変換

以下のスクリプトを使用して、内部文字コードを出力文字コードに一括変換する。

詳しい実例は初めてのXHTMLによるモバイル向けページの作成を参照。

*この際、mb_output_handler を無効にしておくこと。
(php.ini の mbstring.http_output = pass にしておく)

*プログラム内で一時的に mb_output_handler を無効にするには
ini_set(‘mbstring.http_output’, ‘pass’);

// 出力バッファリングを有効に
ob_start();

// バッファにためた出力データを取得する
$str = ob_get_contents();

// 文字コードを出力文字コードに変換する
$output_str = mb_convert_encoding($str, 'SJIS-win', mb_internal_encoding());

// バッファリングをクリア
ob_end_clean();

// 内容を出力する
echo $output_str;

ドコモ向け端末におけるiモードXHTMLについて

  • 投稿者: admin
  • 2009年4月25日 11:12 AM
  • Mobile

モバイルユーザビリティ・デザイン Web制作者が身につけておくべき新・100の法則。 によると、iモードXTML で作成したページをドコモ向け端末で表示させるには、拡張子が「.xthml」でないといけないらしい。(au と SoftBank では .html)

でも、以下のような記事を見つけた。拡張子にとくに問題があるわけではないみたい。

ちなみに、ドコモ向け端末において、XHTMLモード(iモードXHTML)で表示させる場合、
拡張子は「xhtml」でなければならないという解説をしているところもありますが、それは間違いです。
Webサーバーにおいては拡張子はそれほど重要ではなく、
問題はその拡張子がどのようなコンテンツMIMEタイプであり、どんなHTTPヘッダが出力されるか
ということのほうが重要です。

上記例(htaccess)では、「.html」という拡張子においてはHTTPヘッダ
は「application/xhtml+xml」にせよ、という明示なので、この設定がなされていれば、Webサーバーは拡張子htmlで、「application/xhtml+xml」というHTTPヘッダを出力するようになるので、
ドコモの機種はXHTMLモードに切り替わります。

iモードHTMLとiモードXHTMLを正しく切り替える方法

ドコモ向け携帯端末において
iモードXHTMLを表示させるのに必要なポイントは
拡張子云々ではなくて、以下の二点らしい。

  • DOCTYPE宣言が正しく行われていること。
  • コンテンツのMIMEタイプが「application/xhtml+xml」であること。

(かつサーバー側においても正しいHTTPヘッダが出力されている必要がある)

XHTMLによるモバイル向けページの作成

PHP×携帯サイト デベロッパーズバイブルを参考書に、初めてのXHTMLによるモバイル向けページの作成について。(PEARライブラリの「Net_UserAgent_Mobile」を使用)

いろいろつまづいたのでメモ。(文字化けで苦しんだ)
続きを読む

XHMLの正しいマークアップ

文書構造を表現するXHTMLタグの正しいマークアップ

文書構造を表現するXHTMLタグを大まかに分類し、分類したタグをXHTMLの“要素”として、1つずつ紹介していきます。

 これらの要素類はXHTMLの骨格(枠)となる部分を形成していくために使われる、XHTMLタグの記述(=マークアップ)を行ううえで基礎となる要素類です。

DOMでの参照例も書いてくれてる。

リンクを別ウィンドウで開く

そういえば、リンク先を別ウィンドウで開く際によく使われる「target」指定は、標準では非推奨となっているからよろしくないっていうような記事を読んだなぁと、ふと思い出して調べてみました。ざっとですが。
続きを読む

各DTDにおけるDOCTYPE宣言

HTML 4.01 Strict DTD (厳密な)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

HTML 4.01 Transitional DTD (移行期)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

HTML 4.01 Frameset DTD (フレームセット用)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

XHTML 1.0 Strict DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

XHTML 1.0 Transitional DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

XHTML 1.0 Frameset DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML 1.1 Strict DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

XHTML Basic 1.0 DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

ホーム > タグ > xhtml

検索
フィード

ページの上部に戻る