Durian

iモードXHTML変換仕様

※iモードXHTMLは、Durian 4.2以降で対応しています。

iモードXHTMLの構文

iモードXHTMLのバージョン

基準マークアップ言語として使用するiモードXHTMLは、iモードXHTML 1.0が使用できます。

記述ルール

iモードXHTMLの仕様に従い、コンテンツは次のように記述します。

  • Content-Typeヘッダを application/xhtml+xml で出力する(※1)
  • 1行目にXML宣言を記述する
  • iモードXHTMLのDOCTYPE宣言を記述する

以下にサンプルを示します。

iモードXHTMLサンプル(sample.html)

<?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">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
  <head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" />
    <title>iモードXHTMLサンプル</title>
  </head>
  <body>
    <p><span style="color:blue">iモードXHTMLのサンプルページです。</span></p>
  </body>
</html>

キャラクタエンコーディング

キャラクタエンコーディングは、XML宣言のencoding属性で指定します。Shift_JISやEUC-JP、UTF-8が使用できます。

絵文字

絵文字を記述する場合は、通常のiモード絵文字の指定方法(&#*****;/&#x*****;/Shift_JIS 2バイトコード)が使用できます。

DoCoMoの絵文字「晴れ」の記述例

&amp;#63647;

絵文字一覧はNTTドコモの技術情報サイトを参照してください。


変換仕様

変換先マークアップ言語

アクセスした端末種別により、変換後のマークアップ言語が次のように決定されます。

端末種別 変換後のマークアップ言語
docomo XHTML対応機種 iモードXHTML
docomo XHTML非対応機種 CHTML
au XHTML対応機種 au向けXHTMLBasic
SoftBank XHTML対応機種 SoftBank向けXHTML
SoftBank XHTML非対応機種 SoftBank向けHTML
PC HTML

変換ルール

XHTML対応機種の場合、次の項目が各キャリアの対応形式に変換されます。

  • DOCTYPE宣言
  • style属性で指定された-wap-input-formatプロパティ
  • style属性で指定された-wap-marquee-loopプロパティ

XHTML非対応機種の場合、次の項目が各キャリアの対応形式に変換されます。

  • style属性で指定された-wap-input-formatプロパティ

また、次のような共通変換が行われます。

  • エンコーディング変換
  • metaタグ変換
  • 絵文字変換
  • リソースセレクト
  • 相対URL変換
  • セッション情報付加
  • オプションパラメータ付加
  • キャッシュ制御
  • ホワイトスペース除去
  • 画像変換
  • 端末情報プロパティの設定
  • ユーザ情報プロパティの設定

留意点と制限事項

キャラクタエンコーディングの判別

iモードXHTMLのキャラクタエンコーディングは次のルールに従って判別されます。文字化けを防ぐためにも正しく設定を行ってください。

キャラクタエンコーディング判別を[自動判別]に設定している場合 もしくは Durian 4.4以前

  1. HTTPレスポンスヘッダContent-Typeにcharsetパラメータがあれば、charsetパラメータで指定されたキャラクタエンコーディングを使用します
  2. iモードXHTMLの先頭にUTF-8のBOMがあれば、UTF-8をキャラクタエンコーディングとして使用します
  3. バイト列の並びからShift_JIS・EUC-JP・ISO-2022-JPを自動判別します

キャラクタエンコーディング判別を[手動設定]に設定している場合

  1. 管理ツールでキャラクタエンコーディング名に指定したキャラクタエンコーディングを使用します

CSS

iモードXHTMLでは、外部CSSには対応していません。色設定やアライメント設定は、style属性で指定します。

ホワイトスペース

タグの属性内に含まれるホワイトスペース(半角スペース、タブ、改行文字)が削除されたり、半角スペースに変換されます。inputタグのvalue属性にホワイトスペースを使用している場合などは注意が必要です

POST変換

Yahoo!ケータイ C2型端末は、POSTに対応していないため、formタグのmethod属性は常にgetに変換されます。

JSP

Durianには、URLへのセッションID自動付加機能があるため、リンクやフォームの送信先URLをURLエンコードする必要はありません。リダイレクトする場合でもURLエンコードは不要です。

JSPからインクルードアクション()やフォワードアクション()を行うと、インクルード先やフォワード先のページがリソースセレクトされます。JSPディレクティブで指定したJSPエラーページもコンテンツ変換されます。

JSPの制限・注意事項

  • リクエストおよびセッションの属性で、"durian." から始まる名前はDurianで予約されています(Filterのみ)
  • JSPのエラーページはリソースセレクトされません(Filterのみ)
  • ユーザ情報プロパティを使用している場合、HttpServletRequestクラスのgetInputStreamメソッドやgetContentLengthメソッドは使用できません(Filterのみ)
  • インクルード先やフォワード先のページに対してリソースセレクトは行われません(Proxyのみ)

Servlet

ServletからJSPへフォワードした場合は、そのフォワード先ページがコンテンツ変換されます。

Servletの制限・注意事項

  • リクエストおよびセッションの属性で、"durian." から始まる名前はDurianで予約されています(Filterのみ)
  • ServletからHTMLのインクルードが正しく行えません(Filterのみ)
  • ユーザ情報プロパティを使用している場合、HttpServletRequestクラスのgetInputStreamメソッドやgetContentLengthメソッドは使用できません(Filterのみ)

絵文字

iモードXHTMLで絵文字を記述する場合は、通常のiモード絵文字の指定方法(&#*****;/&#x*****;/Shift_JIS 2バイトコード)が使用できます。




コメント・ホワイトスペース・改行の削除

端末に送信されるデータを圧縮するため、コメントや連続するホワイトスペース(CR LF タブ スペース)を次のルールで統合及び削除します。

※Durian 4.3以降では、コメントを削除しない設定が可能です

  • preやscript、style要素内のホワイトスペースは削除しない
  • 1つ以上のホワイトスペースは、1つの半角スペースに変換する
  • 日本語文字間に改行(CRおよびLFおよびCRLF)が1つある場合は、改行を削除する(この場合に限り、半角スペースを入れない)
  • 日本語文字間に改行以外のホワイトスペースや2つ以上のホワイトスペースがある場合は、1つの半角スペースに変換する

変換前

<-- Javaのソースコード -->
<pre>
public class DurianFilter implements Filter {
	public DurianFilter() {}
}
</pre>

<p>
	<a href="next.html" accesskey="1">次へ</a>
</p>

変換後

<pre>
public class DurianFilter implements Filter {
	public DurianFilter() {}
}
</pre><p><a href="next.html" accesskey="1">次へ</a></p>


Durian® is a registered trademark of Symmetric Co., Ltd.

© 2006- All Rights Reserved Symmetric Co., Ltd.