HDMLについて(参考資料)。

HDMLとは。

EZウェブの旧世代機(KDDI旧世代機と旧ツーカー)では、WAP 1.0(ワイヤレス・アプリケーション・プロトコル…無線端末向けのインターネット規格)を採用しておりました。

WAP 1.0では、標準記述言語にHDMLまたはWMLを用いる事になっており、EZウェブ旧世代機ではHDMLを標準言語として採用しております。

  • もちろん、WMLでの記述も可能です。個人的にはWMLで記述する方が寧ろ便利だと思います。

HDMLとは「ハンドヘルド・デヴァイス・マークアップランゲージ」の略で、「携帯端末専用の記述言語」の意味です。

HDMLには、HTMLに無い様々な特徴もあります。しかしながら、HTMLとは全く別の言語なので、改めて学習する必要もあります。

今日ではEZウェブ側のサーヴァにより、HTMLで書かれたコンテンツをHDMLに変換される機能も提供されました。しかもこの機能を用いると、容量制限に引っ掛かるHTMLでもファイル分割によって制限を回避してくれます。

ですから、今日ではわざわざHDMLを学習する必要は無いと思いますが、参考事項としてHDMLについて必要最小限の解説をしておきます。

KDDI社は平成20年 3月末日までに旧世代携帯電話のサーヴィスを全て終了しており、WAP 1.0端末は全てこれに該当します。

従って、今日では既にHDMLを学習する必要は全くと言って良いほどありません。

  • 但し、SSLを利用する場合、少し前のWAP 2.0端末ではHDMLで記述しないと表示さえ出来ない場合があります。

HDMLの主な要素。

<hdml>要素 - HDML文書本体を表わす。

HDMLでは、文書全体を<hdml>要素としなければなりません。

  • HDMLには文書型宣言はありません。

<hdml>要素の書式は以下のようになります。

<hdml version="3.0" markable="TURE"></hdml>

属性については詳しくは説明しませんが、version属性及びmarkable属性共にこの値で記述して下さい。

<display>要素…表示するカードを表わす。

カードとデッキの概念。

HDMLではHTMLと異なり、カードデッキと言う概念があります。

HTMLでは 1ページ 1ファイルの対応関係がありますが、HDMLでは複数ページが 1ファイルに対応出来ます。

個々のページをカードと呼び、カードを纏めたファイルをデッキと呼びます。

すなわち、HDMLでは「複数カードが 1デッキに対応している」というのが正しい言い方になります。

ディスプレイカード。

カードには幾つかの種類がありますが、ここではディスプレイカードのみを説明します。

  • この他のカードは入力フォームの機能を実現する場合などに利用されます。

ディスプレイカードは普通に画面に表示されるカードで、マークアップ上は<display>要素となります。

<display>要素の書式は以下のようになります。

<display title="表題" name="カード名"></display>

title属性は表題を表わします。一応、カードに対する表題となっており、必須では無いのですが、HTMLでの<title>要素に対応する要素が無いため、一番初めのカードのtitle属性にデッキの題名を付けるといいでしょう。

name属性はカードの名前を表わします。必須ではありませんが、一つのデッキに複数のカードが入っている時にはカードを選ぶのに名前が必要になります。

  • 尚、カード名は半角英数字と「-」「_」のみが使えます。

最も簡単なHDMLデッキは以下の様になります。すなわち、一枚のディスプレイカードのみを収めたデッキとなります。

<hdml version="3.0" markable="TRUE">
				    <display title="デッキの表題"></display>
				    </hdml>

尚、同一ファイル内の連続する二つのカード間の移動には、後述の<a>要素に依るハイパーリンクを用います。通常のカーソル移動で連続するカード間を移動する事は出来ません。

<a>要素 - ハイパーリンク。

HDMLでもハイパーリンクの為の起点アンカーに<a>要素を用います。

但し、HDMLでの<a>要素の属性はHTMLでの<a>要素と全く異なっておりますので注意して下さい。

  • HDMLでは終点アンカーには<a>要素は使えません。

HDMLでの<a>要素の書式は以下のようになります。

<a task="処理方法" dest="URI" accesskey="アクセスボタン">アンカーとなる文字列</a>

task属性はリンクの処理方法を指定します(必須)。幾つかありますが、通常のハイパーリンクであれば"GO"を値にします。

一方のdest属性はリンク先のURI(URLまたはメールアドレス)を記述します。dest属性の書式はHTMLのhref属性の値と全く同じです。

<a>要素のaccesskey属性。

また、accesskey属性はリンクをダイヤルボタンを押すだけで指定出来る機能を提供します。

電話機のダイヤルボタンのうち、 1から 9までが指定出来ます(0と「*」「#」は正常に機能しません)。

  • accesskey属性でダイヤルボタンを指定した場合、当該番号がリンクの左に自動的に表示されます。
  • 同一デッキの複数のリンクに同じボタンを指定すると正常に機能しない可能性があります。

カードへのリンク。

デッキ内の特定のカードを撰ぶ場合は、URIの後ろに「#カード名」を続けます。カード名はカード要素(<display>要素など)に与えたname属性の値です。

カード名を指定していない場合(URIのみを指定している場合)はURIで指定されたデッキの一番始めのカードを指定したものと見なします。

従って、デッキ内で二番目以降のカード要素(<display>要素など)には必ずname属性を与える必要があります。さもないとそのカードへは一切アクセス出来ない事になるからです。

尚、同一デッキ内の別のカードを指定する場合はURIを省略して「#カード名」だけを指定します。

<img>要素 - 画像の埋め込み。

HDMLでも画像の埋め込みには<img>要素を用いる事になっております。

属性もHTMLの<img>要素と同じで、src属性でリンクする画像を指定し、alt属性で代替文字列を指定します。

  • その他の属性(width,height及びlongdesc各属性など)は一切使えません。

<img>要素の書式は以下のようになります。

<img alt="代替文字列" src="URI">

<br>要素 - 改行。

HDMLには論理要素の概念がありません。文章は改行したいところで<br>要素を入れるという形になります。

HDMLでの<br>要素の書式は以下の通りです。

<br>

<center>要素 - 中央寄せ。

中央に寄せる場合は、中央に寄せたいテキストの先頭に<center>要素タグを付けます。この要素には終了タグは無く、<br>要素などで終了します

<center>要素の書式は以下の通りです。

<center>中央寄せしたいテキストまたは<img>要素<br>

<right>要素 - 右寄せ。

右に寄せる場合は、右に寄せたいテキストの先頭に<right>要素タグを付けます。この要素には終了タグは無く、<br>要素などで終了します

<right>要素の書式は以下の通りです。

<right>右寄せしたいテキストまたは<img>要素<br>

<b>要素 - 太字表示。

HDMLでは、<b>要素に依り太字表示させる事が出来ます。

  • <b>要素はHDMLの規格としては非公式なものです。

HDMLでの<b>要素の書式は以下の通りです。

<b>太字表示したいテキスト</b>

<i>要素 - 斜体表示。

HDMLでは、<i>要素に依り斜体表示させる事が出来ます。

  • <i>要素はHDMLの規格としては非公式なものです。

HDMLでの<i>要素の書式は以下の通りです。

<i>斜体表示したいテキスト</i>

実際のHDML文書の作成に当たって。

HDML文書もテキストですのでエディタで作る事が出来ます。

問題は文法の確認です。HTMLと違ってHDMLではエラーを厳しく判定します。間違った文書は端末には全く表示されません。

このため、文法のチェックは欠かせません。

しかしながら、HDMLの文法チェッカは今のところ存在しないようです。結局、専用ブラウザで表示させてみる必要があります。

専用ブラウザはオープンウェーブ社(EZウェブ向けにブラウザを供給している会社)が提供している「UP.SDK」または「オープンウェーヴSDK・ユニヴァーサルエディション1.1」を利用しますが、対応しているOSが限られていると言う問題もあります。

HDMLに関する注意事項。

  • HDMLを取扱う設定になっていないサーヴァに置いたHDML文書は、端末で表示させる事は出来ません。ですから、必ずHDML対応か否かを確認する必要があります。
  • ファイル容量制限はテキストだけで白黒専用機では1.4キロ以内(1.2キロ以内が望ましい)、カラー対応機では 8キロ以内(7.5キロ以内が望ましい)とします。尚、この値はテキストの容量ではなく、端末側のサーヴァがテキストを処理したあとのサイズを指します(実際にはソースファイルより必ず小さくなりますので、ソースファイルの容量がこの値に引っ掛からなければ問題無い事になります)。
  • 画像は白黒専用機はBMPファイルで1.4キロ以内(1.2キロ以内が望ましい)、カラー対応機では256色以内のPNGファイルで 8キロ以内(7.5キロ以内が望ましい)となります。
  • カラー対応機でも文字や背景の色を指定する事は出来ません。この事はHTMLで書いても同じです(HTMLでの<font>要素などは端末側のHDML変換では全て無視されます)。
  • HDMLでは本文中に「<」「>」「&」「$」を記述する事は出来ません。それぞれ実体参照として「&lt;」「&gt;」「&amp;」「&dol;」で記述します。

しらぎくのウェブサイト作成入門サイトマップ