HDML

HDML 解説

HDML 解説

履歴
2000年10月   新規
2000年11月   リンク追加「pochiにもできたHDMLでCGI」リンク追加
2001年04月   一部修正及び、リンク追加

2019年06月  サイト再構築に伴い記事の保存化(当時リンク削除、CGI削除)

はじめに

当時(2000年)、HP掲示板の運用をしていましたが、パソコン持っていない人からも、掲示板に投稿したい!との声が・・・。
iモード電話だとC-HTMLで、通常のPC手法で投稿可能です、ところが
ez・・・「非対応」で不可能です。HDMLをまとめてみました。

このページは、当時「pochiにもできたHDML」として、「どーやって?」との情報を個人的に記述たページです。

「現在では、使われなくなった手法ではありますが、当時の記事を情報として保存しています。」

HDMLとは

HDML(Handheld Device Markup Language)はWAP(Wireless
Application又はWireless Access Protocol)携帯端末通信プロトコル用の記述言語で、最初から携帯端末(携帯電話)用に作られたコンテンツで・・・・っとまぁ簡単に言うと
ez等の携帯電話はHDMLで、しかもHTML互換ではない(別もの)と言う事です。

プロバイダー(サーバー)

HDML運用可能は、プロバイダー又はサーバーによって、そのままでOKの所もあれば、設定にて可、まったくダメ?の所があります。
これは、MIMEタイプと言うものがあり、通常HTTPで送られてくるファイルはこのMIMEタイプによって(その拡張子)どのような種類のファイルかを判断し、それを送信します、標準(現状)ではHDMLという拡張子のファイルがどのような種類かが登録されていません。・・・
っとまあ、「自分の契約しているプロバイダー又はサーバー窓口に聞いて見ましょう」1番早いです。(私も最初TELして聞きました)

(補足)HDMLのMIMEタイプは text/x-hdml;charset=Shift_JIS
です。
通常、実際にMIMEタイプを設定するには、該当ディレクリに.htaccessファイルを作成し,その中に
AddTypeText/x-hdml;charset=Shift_JIS.hdml
と定義しておきます。
(注).htaccessが使えるサーバーに限る

HDMLの構成

特徴

HTML=1ファイルに1ページ表現
HDML=1ファイルに複数ページで、HDML流に表現すると、1デッキに複数カードという形になっています。

「デッキ」定義

<HDML>~</HDML>:この~部分が、「デッキ」と呼ばれ、。なお以下のように定義します。

<HDML VERSION=”3.0” MARKABLE=”TRUE” PUBLIC=”TRUE”>

なお、VERSION=”3.0”記述はお約束事として必修となっています。(現状)
MARKABLE=”TRUE”はお気に入り登録可能
PUBLIC=”TRUE”は他のサーバーからリンク可能
他のパラメタなど、HDMLポケットリファレンスを作りましたので参照してください。

「カード」定義

以下の種類の「カード」があります。

<DISPLAY>   : 画面表示用の「カード」
<CHOICE>    : ユーザにいくつかの選択肢を持たせた画面表示用「カード」
<ENTRY>     : ユーザに文字などを入力させるようなインタフェースを持った画面表示用「カード」
<NODISPLAY> : 画面表示を必要としない「カード」

その他の定義は、HDMLポケットリファレンスを参照してください。

キャッシュ

携帯電話には、キャッシュ(ブラウザ領域)と呼ばれるメモリーがあります。実はこのキャッシュの中に、作成された情報がロードされ実行さ れます。その情報がクリアされない限り再び繰り返し実行可能となります。

  1. HDMLでは、<HDML>タグ中のTTLパラメタでキャッシュ内での有効期限を指定できます。
    (保持ではない、キャッシュ域がいっぱいになったら破棄)
  2. 最新データ(修正したHDMLデータ)は、キャッシュ域をクリアして、ローディングをしないと、おや?直っていないと勘違いします。

画像

当時の基本では、白黒画像(ez携帯電話は白黒が主流のため?)ビットマップ形式です。
大きな画像はすぐ1デッキの制限を超えてしまいます。
携帯電話の一画面は横120ドット×縦60ドットぐらいが妥当かと思います。
私は、白黒携帯電話ですので、カラーの情報はあまり詳しくありませんが、PNG形式での表示は可能なようです。

 

簡単なサンプル

簡単な「画像ライブラリー」選択肢を表示させて、入力された番号(タイトル)に対応した画像を表示します。
同一ファイル上に作成したBMPデータを用意します。
下記例では、「ポチ画像1、2、3」をそれぞれ「pgazou1,2,3」BMP形式で用意します。

サンプル HDML本文 解説 画像表示
選択肢を表示させて、入力された番号(タイトル)に対応した画像を表示します。 <HDML VERSION=”3.0″ MARKABLE=”TRUE”
PUBLIC=”TRUE”><CHOICE NAME=”POCHI-LIB” ><LINE>画像ライブラリー<BR>
<CE TASK=”GO” DEST=”#L1″
LABEL=”表示”>ポチ画像1
<CE TASK=”GO” DEST=”#L2″
LABEL=”表示”>ポチ画像2
<CE TASK=”GO” DEST=”#L3″
LABEL=”表示”>ポチ画像3
</CHOICE><DISPLAY NAME=”L1″>
<LINE>ポチ画像1<BR>
<IMG SRC=”pgazou1.bmp” ALT=”IMG
POCHI-1″>
</DISPLAY><DISPLAY NAME=”L2″>
<LINE>ポチ画像2<BR>
<IMG SRC=”pgazou2.bmp” ALT=”IMG
POCHI-2″>
</DISPLAY><DISPLAY NAME=”L3″>
<LINE>ポチ画像3<BR>
<IMG SRC=”pgazou3.bmp” ALT=”IMG
POCHI-3″>
</DISPLAY>
</HDML>
<HDML>デッキの宣言(お気に入り宣言あり)

<CHOICE >カードで選択表示宣言>
<LINE>タグで「画像ライブラリー」表示(改行あり)
<CE>タグで選択、ポチ画像1(この行なら)”L1″へ
<CE>タグで選択、ポチ画像2(この行なら)”L2″へ
<CE>タグで選択、ポチ画像3(この行なら)”L3″へ
</CHOICE>カードの終了

<DISPLAY>ガード「NAME=”L1″処理」
<LINE>タグで「ポチ画像1」表示(改行あり)
<IMG >タグで、pgazou1表示、できないときIMG POCHI-1と表示
</DISPLAY>カードの終了

<DISPLAY>ガード「NAME=”L2″処理」
<LINE>タグで「ポチ画像2」表示(改行あり)
<IMG >タグで、pgazou2表示、できないときIMG POCHI-2と表示
</DISPLAY>カードの終了

<DISPLAY>ガード「NAME=”L3″処理」
<LINE>タグで「ポチ画像3」表示(改行あり)
<IMG >タグで、pgazou3表示、できないときIMG POCHI-3と表示
</DISPLAY>カードの終了
</HDML>デッキの終了

HDML 画面モデル pochiweb.comカーソルで移動後
表示キーを押すと
HDML  画面モデル pochiweb.com

 

HDMLポケットリファレンス

ちょっと大雑把ですけど、別ページにHDMLポケットリファレンスを作ってみました。

ツール

 

現在は、かなり色々な所からHDML作成ツールが発表されておりますが、代表的な物をご紹介いたします。(2001年現在)

「SDK」 携帯電話向けアプリケーション開発に関する情報とツールを提供があります。
「マイデッキエディター」 電脳隊。標準版とPro版があります。個人的にはPro版がおすすめです。

リンク

 

「pochiにもできたHDMLでCGI」 HDML関連CGIサンプル集です。




Copyright (C) pochiweb  All Rights Reserved