Links
UJML Language Reference
UJML ファイルのレイアウト

UJMLは明確に定義された構造をもつXMLベースのプログラミング言語です。

備考: XMLに関する初歩的な情報はXML タグXML エンティティを参照。 XMLに関しては、本マニュアル以外にもインターネットの検索や書籍などを通じて広く入手することが可能です。 XMLに関する知識は優れたUJMLコードを書くに不可欠です。 XMLの仕様はWorld-Wide-Web Consortiumによって管理されています。

UJML言語はXMLタグと手続き型のスクリプティング言語から構成されています。 またXMLタグだけを使用したスクリプティング言語も用意されています。 関連項目: UJML タグスクリプティング言語。 これらのタグは、UJMLファイルのレイアウトを決定づける、明確な定義の構造をもっています。 全てのUJMLファイルは「ウェルフォームド」なXML文書でなければなりません。

UJMLファイルの例

プログラミング言語を紹介するもっとも古典的な手法は、画面に"Hello World!"と表示する方法です。 "Hello World!"は、言語のシンタックスを可能な限り小さな例で紹介し、 言語の実在を明確化します。 本マニュアルには、それぞれ複雑さが異なる"Hello World!"サンプルが幾つか含まれています。 これらのソースコードは閲覧可能であり、UJML開発環境で実行することも可能です。 関連項目: Hello World サンプルコード

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.5//EN"
"http://www.uievolution.com/dtd/ujml-1.5.dtd">
<ujml>
    <application>
        <display>
            <!-- Say Hello on the screen. -->
            <label>
                <text>Hello World!</text>
            </label>
        </display>
    </application>
</ujml>

 

備考: 本マニュアルには、簡単なものから手の込んだものまで、多数のUJMLアプリケーションのサンプルコードが含まれています。 それぞれのサンプルでは言語の各要素やプログラミングテクニックを紹介しています。 関連項目: サンプルコード

XML処理命令

全てのUJMLファイルには、冒頭にXMLのバージョンと文字エンコーディングを指示するXML処理命令を記述します。 UJMLファイルはXMLバージョン1.0に準拠しなければなりません。 エンコーディングには任意のエンコーディングを指定できますが、'UTF-8'が推奨のエンコーディングです。

<?xml version="1.0" encoding="UTF-8"?>
DOCTYPE ディレクティブ

使用するUJMLのバージョンと、そのバージョンに対応したDTDを指定する DOCTYPE ディレクティブの記述は必須です。

<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.5//EN"
"http://www.uievolution.com/dtd/ujml-1.5.dtd">

 

DOCTYPEには、任意の項目として独自エンティティの宣言を記述することができます。

<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.5//EN"
"http://www.uievolution.com/dtd/ujml-1.5.dtd" [
    <!ENTITY SALUTATION "Hello World!">
    <!ENTITY SPACING "4">
    <!ENTITY MOVEMENT "4">
]>
UJML 要素

UJML 要素は、ファイル中の全UJMLプログラムを含む一対の(開始タグと終了タグ)ujmlタグです。 関連項目: ujml

<ujml>
    ...
</ujml>
アプリケーションとパーティション要素

ujmlタグには、UJMLファイルの本文(宣言要素と論理要素)を記述したapplicationpartitionタグのどちらかを記述します。 関連項目: applicationpartitionapplication要素は、そのファイルが独立して(あるいは他のパーティションと共に)実行可能なUJMLアプリケーションであることを意味しています。

<ujml>
    <application>
        ...
    </application>
</ujml>

 

partition要素は、そのファイルがランタイム時にリンクされるか、他のファイルによってインクルードされるUJMLモジュールであることを意味しています。

<ujml>
    <partition>
        ...
    </partition>
</ujml>
extension と uses 要素

extensionsuses 要素は アプリケーション内でUJMLエクステンションを定義し、利用するための特殊な構文です。 関連項目: エクステンションextensionsuses。 UJMLエクステンションの宣言は ujmlextensions 要素を記述した特殊なファイルで行います。

<ujml>
    <extensions>
        ...
    </extensions>
</ujml>

 

uses 要素は、UJMLアプリケーションファイル/パーティションファイルから使用する 特殊用途のエクステンションファイルの指定に使用します。

<ujml>
    <uses>
        ...
    </uses>
    <application>
        ...
    </application>
</ujml>
UJML 「本体」

UJMLファイルの「本体」はなんらかの処理を行う宣言要素と論理要素から構成されています。 これらの要素は application または partition 要素の中に特定の順番で記述します。 依存関係と階層構造の情報が含まれている、全要素の一覧はUJML タグを参照してください。 

最上位層の要素(partition または application の直接の子要素として記述可能な要素)と、その記述順は次の通りです:

要素 
用途 
一番低い z-order を持つステートマシンを定義する。 関連項目: ステートマシン。 
アプリケーションまたはパーティションのスコープ内のステート変数を宣言する。 関連項目: ステート変数。 
アプリケーションまたはパーティションのスコープ内の変数を宣言する。 関連項目: 変数。 
アプリケーションまたはパーティションのスコープ内において使用可能な関数を宣言する。 関連項目: ユーザー定義関数。 
アプリケーションまたはパーティションのスコープ内において使用可能なテンプレートを宣言する。 関連項目: ビジュアル要素テンプレート。 
アプリケーションまたはパーティションがメモリに読み込また初回時に実行されるスクリプトを定義する(XMLスクリプティング、またはスクリプティング言語) 関連項目: スクリプティング。 
アプリケーションまたはパーティションがメモリに読み込また初回時に表示するビジュアル要素や イベントハンドラを定義する。この要素は、アプリケーションまはたパーティションがメモリからアンロードされるまで有効。 関連項目: ビジュアル要素。 
アプリケーションまたはパーティションのステートトランジションを定義する。 関連項目: ステートトランジション。 
一番高い z-order を持つステートマシンを定義する。 関連項目: ステートマシン。 

備考: 最上位階層の要素の使用は全て任意ですが、state-machines 以外の要素を 複数回記述することはできません。state-machines 要素はコード本体の 一番最初と一番最後の二箇所に記述できます。

項目 
説明 
XMLタグは、UJML要素を構成する文や記号です。 
XMLエンティティは、XMLファイルの解釈時になんらかの値に変換される記号のことを指します。 
Copyright (c) 2000-2005 by UIEvolution, Inc. All rights reserved.
この項目に関するフィードバックをお寄せください。 Send feedback!