Project

nexacro platformで実行されるグループ単位をProjectといい、xprj拡張子を持ったファイルが生成され、管理されます。Projectは基本的にADL、TypeDefinition、Global Variables、FDLで管理され、本章では、各項目について説明します。

Project生成ウィザード

Project生成ウィザードを利用して新たなProjectを生成することができます。メニューFile[New – Project]でProject生成ウィザードをスタートします。

1段階 Location

生成されるプロジェクトのFrame Templateと生成されるパスおよびプロジェクト名を入力するステップです。プロジェクト名は必ず入力する必要がある必須項目であり、生成されるパスに同じプロジェクト名が存在する場合には生成することができません。

NewProject Wizard 1段階


属性

説明

1

Frame Template

• Default

Default Frameで生成

2

Project Template

既存のProject Templateを選択

3

Show List Icon

Project Iconの表示方法を決定

4

Project Information

現在、選択されたTemplateを表示

5


• Add to Current Project

現在、作業中のプロジェクトに追加

• Create a new Project

新たなプロジェクトを生成

6

Name

プロジェクト名

7

Location

プロジェクトのRootフォルダ

同じフォルダ内に同じ名前でプロジェクトを作成することができません。別のフォルダまたは別の名前でプロジェクトを作成する必要があります。

プロジェクト、フォーム、オブジェクトidなどの名前を指定する項目では、次の特殊文字を使用することができません。該当文字を入力して、次のステップに進んで行こうとすると、エラーメッセージが表示され、処理することができません。

tab new-line return \ / : ‘ * ? “ < > | ! @ # $ % ^ & ( ) - + = ~ [ ] { } , `

特殊文字のほか、以下の項目の文字も使用できません。該当文字は入力が制限されたり、入力時にエラーメッセージが表示されます。

Null文字列、.(Dot)、数字で始まる文字列、2バイト文字

Windows環境では、新しいフォルダーやファイルを作成する際に使用できない名前があります。nexacro platformでプロジェクト名を指定すると、その名前で新しいフォルダーが作成されるため、プロジェクト名にWindows環境で許容しない名前を使用することはできません。

使用できない名前は、下記のリンクを参照してください。


http://msdn.microsoft.com/en-us/library/aa365247.aspx#naming_conventions

2段階 Definition

プロジェクトのTypeDefinitionなどを設定します。

基本Character SetはUTF-8で指定されます。

New Project Wizard 2단계

New Project Wizard 2단계


属性

説明

1

TypeDefinition XML選択

• Create new TypeDefinition from default

Default TypeDefinitionで新たなTypeDefinition生成

• Existing TypeDefinition

既存のTypeDefinitionを適用

2

TypeDefinition XMLパス

TypeDefinition XMLのパス

3段階 Screen

プロジェクトのScreen Infoを設定します。スクリーンとは、アプリケーション起動時に必要な画面サイズなどと関連する情報の集まりです。


説明

1

Screen情報を編集します。

2

TemplateリストからScreen情報を取得します。

3

Screenを追加します。

4

Screenを削除します。

5

Screen情報が含まれたADLファイルを生成します。

New Project Wizard 3단계

Screenプロパティ

説明

name

Screen名(一意識別子)

type

使用装備タイプ

- 'desktop', 'phone', 'tablet'の中で複数の項目を選択することができます。

screenwidth

Screen幅(入力制限:0~65536)

sizeorientation

screenwidthプロパティを処理する方向を指定します。

- 'landscape', 'portrait'の中でいずれかの項目を選択します。

- デフォルト値:'landscape' (typeプロパティに'desktop'または'tablet'項目が含まれた場合)

- デフォルト値:'portrait' (typeプロパティが'phone'の場合)

autozoom

自動拡大、縮小機能を使用するかどうかを指定します。

- true、falseのいずれかの項目を選択します。(デフォルト値:false)

- typeプロパティ値が'desktop'の場合には、autozoom設定は適用しません。

zoommin

autozoom機能使用時の最小値情報を指定します。

- 負の指定時に無制限、デフォルト値は-1

zoommax

autozoom機能使用時の最大値情報を指定します。

- 負の指定時に無制限、デフォルト値は-1

systemos

Screenで使用するOS情報

- 'windows', 'android', 'ios'の複数の項目を選択することができます。

- デフォルトは全てのOSのプロパティ値が含まれます。

systemlocale

Screenで使用するLocale情報

- 'af_ZA' … "zh_TW"の中で複数の項目を選択することができます。

- デフォルトは全てのLocaleのプロパティ値が含まれます。

formlayoutwidth

Screenで使用するForm Layoutの幅を指定します。

formlayoutheight

Screenで使用するForm Layoutの高さを指定します。

themeidはScreenごとにApplicationプロパティでADLを作成した後、別のエディタで指定することができます。

Application Definition Language(ADL)

Projectに全般的に適用されるStyleやTheme、MainFrameなどを管理します。Launch Projectの際に活性化されたADLにProjectのStyle、Themeなどが適用されます。

ADL Item

ADL[Popup Menu]

メニュー

機能

Edit Source

選択されたADLのXMLを編集するSource編集ウィンドウに移動

Edit Script

選択されたADLのScriptを編集するScript編集ウィンドウに移動

Insert ADL Item

• Style - スタイルCSSファイルを追加

• Tray - Tray追加

• Theme - Xthemeファイル追加

• Screen - スクリーン情報追加

Set as Active ADL

選択されたADLを活性化

有効化されたADLで該当メニュー機能が無効化

Copy

ADLメニューではサポートされない機能

Cut

ADLメニューではサポートされない機能

Paste

ADLメニューではサポートされない機能

Collapse All

ADL下位Tree Itemを隠す

Expand All

ADL下位Tree Itemを表示

Screen Template

Screen Templateリスト編集

Copy Full Path

選択されたADLファイルが保存されたパスをクリップボードにコピー

Open Containing Folder

選択されたADLふぁおるのパスをWindowsエクスプローラで開いて表示

Close

ADLメニューではサポートされない機能

Save

選択されたADLの情報を保存

Save As…

選択されたADLの情報を別のファイル名で保存

Rename

選択されたADLのファイル名を変更

Generate

選択されたプロジェクトBuild

• Generate Application

• Generate Themes

• Generate File

Refresh

ADL XMLReload

Delete

選択されたADLを削除

MainFrame

nexacro platformアプリケーションの基本画面を構成する要素です。サブコンポーネントとしてChildFrameを持っており、プロジェクトと一緒にデフォルトで作成されます。

MainFrame[Popup Menu]

MainFrame[Popup Menu]

メニュー

アイコン

機能

Edit


MainFrameの下位Tree Item編集

Insert Frame


MainFrameの下位Tree Item追加

Copy

メインメニューではサポートされない機能

Cut

メインメニューではサポートされない機能

Paste

メインメニューではサポートされない機能

Collapse All


MainFrameの下位Tree Itemを隠す

Expand All


MainFrameの下位Tree Itemを表示

Copy Full Path


選択されたMainFrameファイルが保存されたパスをクリップボードにコピー

Open Containing Folder


選択されたMainFrameファイルのパスをWindowsエクスプローラで開いて表示

Close


メインメニューではサポートされない機能

Save

編集中のMainFrameを保存

Save As…


メインメニューではサポートされない機能

Rename


メインメニューではサポートされない機能

Generate


選択されたプロジェクトBuild

• Generate Application

• Generate Themes

Refresh


メインメニューではサポートされない機能

Delete


MainFrame削除

ChildFrameはMainFrameサブに来ることができるフレームでForm情報をUrl形で持っているため、該当Formを画面に表示します。Formがロードできる基本的な単位画面を意味します。

テーマ

ユーザーが制作したテーマを適用してプロジェクトのスタイルを容易に変更することができます。

Themes[Popup Menu]

Themes[Popup Menu]

メニュー

機能

Edit

Theme Editorを呼び出す

New Theme

新たなThemeを追加

Insert Theme

Themeを挿入

Copy

Themesメニューではサポートされない機能

Cut

Themesメニューではサポートされない機能

Paste

Themesメニューではサポートされない機能

Collapse All

Themesの下位Tree Itemを隠す

Expand All

Themesの下位Tree Itemを表示

Copy Full Path

有効化されたテーマファイルが保存されたパスをクリップボードにコピー

Open Containing Folder

有効化されたテーマファイルのパスをWindowsエクスプローラで開いて表示

Close

Themesメニューではサポートされない機能

Save

Themesメニューではサポートされない機能

Save As…

Themesメニューではサポートされない機能

Rename

Themesメニューではサポートされない機能

Generate

選択されたプロジェクトBuild

• Generate Application

• Generate Themes

Refresh

Themesメニューではサポートされない機能

Theme[Popup Menu]

Theme[Popup Menu]

メニュー

アイコン

機能

Edit


Theme Editorを呼び出す

Set as Active Theme


プロジェクトが実行されるとき選択されたテーマが適用されるように設定

選択されたテーマは無効化

Copy

Themeメニューではサポートされない機能

Cut

Themeメニューではサポートされない機能

Paste

Themeメニューではサポートされない機能

Collapse All


Themeメニューではサポートされない機能

Expand All


Themeメニューではサポートされない機能

Copy Full Path


テーマファイルが保存されたパスをクリップボードにコピー

Open Containing Folder


テーマファイルのパスをWindowsエクスプローラで開いて表示

Close


Theme Editorを閉じる

Save

編集中のThemeを保存

Save As…


編集中のThemeを別のファイル名で保存

Rename


テーマファイル名変更

Generate


選択されたプロジェクトBuild

• Generate Application

• Generate Themes

Refresh


Themeメニューではサポートされない機能

Delete


選択されたThemeを削除

画像ファイルを確認する場合には、画像のプレビューウィンドウの下に画像ファイルの関連情報がさらに表示されます。

Theme Editor

Theme Editor[Popup Menu]

Theme Editor[Popup Menu]

メニュー

機能

Edit

CSSが編集できるCSS Editorを呼び出す(CSSEditorの詳細な説明はStyleの説明を参照)

New Folder

テーマ内に新たなフォルダを生成

Insert File

イメージファイルまたはCSSファイル追加

Remove File

Treeで選択されたファイルをリストから削除

Rename

Treeで選択されたファイルの名前を修正

Set Extern

DeployTheme機能で Extern Fileとして保存される Imageを選択。チェックボックスが Uncheck状態に設定される。但し、default.xthemeなどのデフォルト提供 Theme選択時には表示されません。)

Unset Extern

上記の Set Externに設定された Extern Fileを解除。チェックボックスが Check状態に設定される。但し、default.xthemeなどのデフォルト提供 Theme選択時には表示されません。)

ScreenInfo

‘New Project Wizard’で入力したスクリーン情報を修正したり、新たなスクリーン情報を入力できるような Editor機能が追加されました。

‘Project Explorer’で、ADL Itemから提供されるポップアップメニューを使用して新たなスクリーン情報を追加したり、ADL Itemのサブ情報に表示される‘ScreenInfo’などを選択して編集することができます。

ScreenInfo[Popup Menu]

ScreenInfo[Popup Menu]

メニュー

機能

Edit

Screen Editorを呼出す

Insert Screen

新たなScreen情報追加

Copy

ScreenInfoメニューではサポートされない機能

Cut

ScreenInfoメニューではサポートされない機能

Paste

ScreenInfoメニューではサポートされない機能

Collapse All

ScreenInfo下位Tree Itemを隠す

Expand All

ScreenInfo下位Tree Itemを広げる

Copy Full Path

選択されたADLファイルが保存されたパスをクリップボードにコピー

(ScreenInfo情報はADLファイルに含まれています。)

Open Containing Folder

選択されたADLファイルのパスをWindowsエクスプローラで開いて表示

Close

ScreenInfoメニューではサポートされない機能

Save

編集中のScreenInfoを保存

Save As…

ScreenInfoメニューではサポートされない機能

Rename

ScreenInfoメニューではサポートされない機能

Generate

選択されたプロジェクトBuild

• Generate Application

• Generate Themes

Refresh

ScreenInfoメニューではサポートされない機能

‘ScreenInfo Editor’は、既存に提供された‘Variable Editor’と同じ方式で編集機能を提供します。

ScreenInfo Editor


属性

説明

1

Add

新たなスクリーン情報を追加するボタン

2

Del

ScreenInfoグリッドで選択されたスクリーン情報を削除するボタン

3

Screen情報グリッド

プロジェクトが使用するスクリーン情報を表示するグリッド

4

Property Window

ScreenInfoグリッドで選択されたスクリーン情報は、Propertis Windowsで同じように表示され、修正できます。

5

Add Application Property

Screen情報にアプリケーションプロパティ情報を追加するボタン

Add Application Property

プロパティウィンドウで、「Add Application Property」項目を選択時、アプリケーションプロパティ情報を追加するためのダイアログボックスが表示されます。

ScreenInfo Editor


プロパティ

説明

1

Screen name

選択されたScreen name表示

2

ソート方式

プロパティリストソート方式を選択します。

3

アプリケーションプロパティリスト

Screen情報に追加可能なアプリケーションプロパティ情報が表示されます。値を入力して「OK」ボタンをクリックするとプロパティウィンドウに「Applicationグループ」が生成され、指定したプロパティ項目が追加されます。

  • プロパティリストで値を削除するとプロパティウィンドウでも該当プロパティ項目が削除されます。

追加されたアプリケーションのプロパティ情報は、コンテキストメニューから削除することができます。

Tray

Windowsシステムトレイに1つ以上のアプリケーションアイコンを追加し、ポップアップメニューなどを使用してアプリケーションを制御することができます。

トレイ追加

ADLメニューから「Insert ADL Item」を選択し、「Tray」項目を選択すると、新しいトレイアイテムを追加することができます。トレイアイテムが追加されると、「Trays」というグループが生成され、追加されたトレイを確認することができます。新しいトレイ項目を追加するには、「Trays」グループメニューから「Insert Tray」項目を選択するか、トレイアイテム編集ウィンドウで [追加]ボタンを選択します。

複数のトレイを追加した場合には、アプリケーションが開始されながらシステムトレイに複数のアイコンを表示します。

アイテム追加

システムトレイで、アプリケーションアイコンをクリック時に一つの動作のみを処理するようにすることができます。ただし、より多くの機能を使用するには、ポップアップメニューの形で機能を表示し、ユーザーが必要とする機能を選択できるようにサポートします。

トレイを選択して、プロパティウィンドウから items項目を選択すると、トレイポップアップメニューアイテムを編集することができるウィンドウが表示されます。新しいアイテムを追加して、innerdatasetに必要な項目を追加します。

innerdatasetに項目を追加することは、Menuコンポーネントや PopupMenuコンポーネントで使用する形式と同じです。levelcolumn値は0から始まり、captioncolumnに'&'文字を追加すると、ショートカットキーとして使用することができます。

トレイ実行

ランタイムでアプリケーションの実行時に登録したトレイは自動的に実行され、システムトレイにアイコンとして表示されます。該当するトレイをマウスでクリックして登録したアイテムをポップアップメニューで実行するには、以下のようにイベントを追加します。

this.Tray0_onlbuttonup = function(obj:Tray, e:nexacro.MouseEventInfo)
{
	obj.items['item00'].trackPopup();
}

TypeDefinitionの編集

nexacro studioでは、Component、Service、UpdateをType Definitionに登録してPrefixとして使用することができます。Type Definitionに登録されたそれぞれの項目は、Edit TypeDefinitionで既存の項目の修正、削除および新規項目の追加ができます。

Project_Explorer_1

Project_Explorer_2

TypeDefinition[Popup Menu]

メニュー

機能

Edit

TypeDefinitionが編集できる編集ウィンドウを呼び出す

Insert Typedefinition Item

TypeDefinitionの Protocolsに新たにプロトコルを追加することができるプロトコル追加ウィザードを呼び出す

Copy

TypeDefinitionメニューではサポートされない機能

Cut

TypeDefinitionメニューではサポートされない機能

Paste

TypeDefinitionメニューではサポートされない機能

Collapse All

TypeDefinitionの下位Tree Itemを隠す

Expand All

TypeDefinitionの下位Tree Itemを表示

Copy Full Path

TypeDefinitionファイルが保存されたパスをクリップボードにコピー

Open Containing Folder

TypeDefinitionファイルのパスをWindowsエクスプローラで開いて表示

Close

TypeDefinitionメニューではサポートされない機能

Save

TypeDefinitionメニューではサポートされない機能

Save As…

TypeDefinitionメニューではサポートされない機能

Rename

TypeDefinitionメニューではサポートされない機能

Generate

選択されたプロジェクトBuild

• Generate Application

• Generate Themes

• Generate Service

• Generate File

Refresh

TypeDefinition XMLReload

Edit TypeDefinition

Edit TypeDefinitionはProject ExplorerウィンドウでTypeDefinition項目をダブルクリックするか、メニューの[編集]ウィンドウを呼び出して使用することができます。

Edit_TypeDefinition

Component Definition

Column

説明

Type

コンポーネントのType

ID

コンポーネントのID

ClassName

コンポーネントのClassName

Image

コンポーネントツールバーで使用されるイメージ

Default Width

コンポーネントの基本の幅

Default Height

コンポーネントの基本の高さ

Edit_TypeDefinition-Modules

Edit_TypeDefinition-Protocols_2

デバイス

タイプ

Column

説明

Runtime

ModuleName

バイナリモジュールの名前です。TargetPathのパスから [ModuleName].dllファイルを検索して登録します。

TargetPath

バイナリモジュールを受け取るパスです。

HTML5

Classname

HTML5環境で使用するプロトコルのクラス名です。

Android

Classname

Android環境で使用するプロトコルのクラス名です。

iOS

Classname

iOS環境で使用するプロトコルのクラス名です。

Edit_TypeDefinition_Services

Service Definition

Column

説明

PrefixID

ServiceのPrefixID

Type

ServiceのType

Url

Serviceのパス

CacheLevel

キャッシュ機能使用の設定

Codepage

Code Page名

Language

使用言語

Version

Serviceのバージョン情報

Communication

version

Communicationのバージョン情報

ServiceList

Service List呼び出しパス(Typeを「bs」、「metadata」に指定した場合に使用)

DatasetLayout

Model Service Layout呼び出しパス(Typeを「bs」、「metadata」に指定した場合に使用)

ExecuteUrl

Business Serviceが実行されるパス(Typeを「bs」に指定した場合に使用)

File Extension

サービスに管理する対象ファイルの拡張子リスト(Typeを「file」に指定した場合に使用)

セミコロン(;)で拡張子を区分して入力(例:js; txt; xfdl; xml)

Include

Sub-directory

サブディレクトリを含むかどうか (Typeを「file」に指定した場合に使用)

Search Column

Metadataエディタでデータの検索時に検索範囲の列を指定(Typeを「metadata」に指定した場合に使用)

セミコロン(;)で拡張子を区分して入力し、入力しない場合、全ての列を探索範囲として指定

PrefixID指定時の下記の項目は、使用しないでください。使用時にエラーが発生することがあります。


- 空の文字列

- 数字で始まる文字列

- 指定済みのPrefixIDと重複している文字列

- 特殊文字を含む文字列space(' ')、\t、\n、\r、\、/、:、;、*、?、'、"、<、>、|、!、@、#、$、%、^、&、(, )、-、+、=、~、[、]、{、}、`、comma(,)、dot(.)

選択したType値に応じて、[Project Explorer]の表示するファイル形式が制限されます。

Service Definition

Service Type

File extension

form

*.xfdl, *.xjs, *.js

js

*.js, *.xjs

file

制限なし

File Extensionに拡張子を指定した場合は、その拡張子に制限

css

*.css

JSP

PrefixIDでのみ使用し、[Project Explorer]に表示しません。

ASP

PrefixIDでのみ使用し、[Project Explorer]に表示しません。

SAP

PrefixIDでのみ使用し、[Project Explorer]に表示しません。

bs

business service dataset

metadata

metadata service dataset

各サービスは、Typeに応じて、許可された拡張子のファイルのみを管理します。許可されていないファイルは、[Project Explorer]に表示しません。

Generate、Deploy処理時に許容されたファイル形式外のファイルはコピーされません。例えば、Typeが「form」のサービスディレクトリに*.jsonファイルがある場合、そのファイルはコピーされません。

Typeが「JSP」、「ASP」、「SAP」のサービスは、ディレクトリ自体がコピーされません。

Typeが「JSP」、「ASP」、「SAP」の場合には、nexacro studioでファイルリストを表示しません。PrefixIDで使用する用途でのみ使用します。

Edit_TypeDefinition-Update_3

Update Definition

Column

説明

SystemType

システムタイプ選択(Windows、Android、iOS)

OS

OSタイプ選択

Device

機器タイプ選択

UpdateUrl

コンポーネントをアップデートするパス。

EngineUrl

EngineインストールURL

EngineSetupKey

Engineインストールキー

EngineVersion

Engineバージョン

Timeout

待ち時間(SystemTypeを「Android」、「iOS」に指定した場合に使用)

Retry

リドライ回数(SystemTypeを「Android」、「iOS」に指定した場合に使用)

AutoUpdate

auto, manualの中で選択 (SystemTypeを「Android」、「iOS」に指定した場合に使用)

Description

その他のメモ(システムの実行には影響を与えません。)

Resource

Type

リソースファイルタイプ(Object、Theme、File、Engine)

File

ファイル名(拡張子を含む)

TargetPath

アップデートパス(Destination)

Version

アップデートファイルのバージョン

UpdateUrlパスで指定されたドメインがXADLパスと一致しない場合にはアップデートしません。

XADLパスがローカルに指定された場合には、ドメイン情報と関係なく、アップデートします。

モバイルデバイスアプリ開発時に必要なオプションの説明は、Administrator Guideドキュメントを参照してください。

14.0.1.3200以降のバージョンにて、セキュリティ対策として下記のような制約事項を追加しました。


• TargetPathに指定したパスが変換を許可しているaliasパスである場合にのみアップデートするように制限されます。

• TargetPathパスがスタートメニューフォルダである場合、アップデートを許可しません。

• パスを迂回できないように、親フォルダを意味する「../」はTargetPathに挿入できなくなります。

Service Refactoring

Type Definitionで使用中のServiceのPrefixIDを変更する場合、使用中の部分を自動的に変更されたPrefixIDに変更するRefactoring機能が実行されます。

Service Rename

現在、Projectで使用中の変更前のPrefixIDを全てリストに表示し、‘Rename’をクリックするとチェックされている項目を自動的に変更します。

Metadata

Metadataシステムで管理するデータをnexacro studioで連動する機能です。処理されたMetadataはDatasetに使用するか、idやtextプロパティ値として取得して使用することができます。

Metadata登録

[TypeDefinition > Services]タブで登録します。

Metadataサービスは、一つのプロジェクトに一つのみ登録することができます。複数の項目を登録する場合は、次のようなメッセージが出力され、保存されません。

実際のサービスを処理するためには、デフォルト項目に加えて「Service List」、「Dataset Layout」項目を指定する必要があります。

Service List

サービスDatasetファイルを指定します。提供されるファイル形式は、以下の通りです。Metadata処理のために列のデータのうち「DOMAIN」、「MODEL」項目は、「metadata」で入力する必要があります。


Column ID

説明(固定値)

1

DOMAIN

metadata

2

MODEL

metadata

3

DESCRIPTION

説明

4

DATASOURCE

使用済みのデータソース

<?xml version="1.0" encoding="utf-8"?>
<Root xmlns='http://www.nexacroplatform.com/platform/Dataset' ver='4000'>
<Parameters>
	<Parameter id="ErrorCode" type="int">0</Parameter>
	<Parameter id="ErrorMsg" type="string">success</Parameter>
</Parameters>
<Dataset id="termService">
	<ColumnInfo>
		<Column id="DOMAIN" type="string" size="255"/>
		<Column id="MODEL" type="string" size="255"/>
		<Column id="DESCRIPTION" type="string" size="255"/>
		<Column id="DATASOURCE" type="string" size="255"/>
	</ColumnInfo>
<Rows> 
	<Row>
		<Col id="DOMAIN">metadata</Col>
		<Col id="MODEL">metadata</Col>
		<Col id="DESCRIPTION">description</Col>
		<Col id="DATASOURCE">DB</Col>
	</Row> 
</Rows>
</Dataset>
</Root>

DatasetLayout

Dataset Layoutに入れる情報を指定します。提供されるファイル形式は、以下の通りです。Dataset Layoutには、output Datasetとmetadata Dataset情報を記述します。output Datasetが提供するカラムの中で「name」項目は「metadata」に入力する必要があり、metadata Datasetのid項目も「metadata」に入力する必要があります。


Column ID

説明 (固定値)

1

name

metadata

2

type

dataset

3

description

データに関する説明

<?xml version='1.0' encoding='utf-8'?>
<Root xmlns='http://www.nexacroplatform.com/platform/Dataset' ver='4000'>
<Parameters>
	<Parameter id='svcid' type='string'></Parameter>
	<Parameter id='ErrorCode' type='int'>0</Parameter>
</Parameters>
<Dataset id='output'>
	<ColumnInfo>
		<Column id='name' type='STRING' size='50'/>
		<Column id='type' type='STRING' size='50'/>
		<Column id='description' type='STRING' size='256'/>
	</ColumnInfo>
	<Rows>
		<Row>
			<Col id='name'>metadata</Col>
			<Col id='type'>dataset</Col>
			<Col id='description'>Color code</Col>
		</Row>
	</Rows>
</Dataset>
<Dataset id='metadata'>
	<ColumnInfo>
		<Column id='CODE' type='STRING' size='50'/>
		<Column id='NAME' type='STRING' size='50'/>
	</ColumnInfo>
	<Rows>
		<Row>
			<Col id='CODE'>0048BA</Col>
			<Col id='NAME'>Absolute Zero</Col>
		</Row>
		<Row>
			<Col id='CODE'>4C2F27</Col>
			<Col id='NAME'>Acajou</Col>
		</Row>
		<Row>
			<Col id='CODE'>B0BF1A</Col>
			<Col id='NAME'>Acid green</Col>
		</Row>
		<Row>
			<Col id='CODE'>C9FFE5</Col>
			<Col id='NAME'>Aero</Col>
		</Row>
	</Rows>
</Dataset>
</Root>

DatasetLayoutサービス呼び出しは、以下のような形式で処理されます。

'サービスURL' + 'サービスリスト' + &domain=ドメイン名&model=モデル名


固定されたXMLファイルを作成してメタデータで使用する場合、以下のようにDataset Layout値を入力する必要があります。

ServiceModelData.xml?service=serviceInfo

オプション設定

Metadataをidまたはtextプロパティ値として取得して使用するには、オプションから別途設定が必要になります。メニューから[Tools > Options > Environment > Business Service]の「Use user-defined metadata」項目にチェックします。

該当オプションで「Load business service layout information on Startup」項目にチェックすると、プロジェクトをロードするときにMetadata情報も一緒に取得します。このオプションを使用しない場合、手作業でMetadataを選択し、「Refresh」メニューを選択して情報を取得することができます。

プロパティ値に適用

「Use user-defined metadata」項目にチェックした場合には、id、textプロパティウィンドウでMetadata情報を呼び出せるボタンが表示されます。該当ボタンをクリックして目的の項目を選択して、プロパティ値として適用することができます。

データが多い場合には、列の値をフィルタして選択することができます。フィルタリング対象の列は、サービス登録時に「Search Column」項目で指定することができます。

プロパティ値として適用した値は、実際のプロパティ値として適用されます。Metadataと結合されるわけではないので、Metadataが変更されても該当プロパティ値は変更されません。

Datasetに適用

[Project Explorer]からMetadataを選択し、「Invisible Objects」領域にマウスのドラッグ&ドロップで移動すると、Datasetとして作成されます。

Global Variables

GlobalVariablesでは、ADLやFormには含まれていませんが、Project全体に渡って使用される複数のGlobal項目が表示されます。また、それぞれのエディタを使用してGlobalVariablesに項目を追加したり修正することができます。

GlobalVariables ItemとしてDataset、Variable、Image項目が入力できます。

Global Variables Item

GlobalVariables[Popup Menu]

メニュー

機能

Edit Source

GlobalVariablesXML編集ウィンドウで直接修正

Insert Global Variables Item

• Dataset

Dataset Editorに新たなDatasetを追加

• Variable

Variable Editorに新たなVariableを追加

• Image

イメージを追加

Copy

GlobalVariablesメニューでサポートされない機能

Cut

GlobalVariablesメニューでサポートされない機能

Paste

GlobalVariablesメニューでサポートされない機能

Collapse All

GlobalVariablesの下位Tree Itemを隠す

Expand All

GlobalVariablesの下位Tree Itemを表示

Copy Full Path

GlobalVariablesファイルが保存されたパスをクリップボードにコピー

Open Containing Folder

GlobalVariablesファイルのパスをWindowsエクスプローラで開いて表示

Close

GlobalVariablesメニューでサポートされない機能

Save

編集中のGlobalVariablesを保存

Save As…

GlobalVariablesメニューでサポートされない機能

Rename

GlobalVariablesメニューでサポートされない機能

Generate

選択されたプロジェクトBuild

• Generate Application

• Generate Themes

• Generate File

Refresh

GlobalVariables XMLReload

Datasets

Datasetはデータを処理するためにテーブル形式で記憶する場所です。Presentation用のコンポーネントとDatasetがバインドされた場合、Data変更事項が該当のコンポーネントに自動的に同期化される機能も提供します。

Datasets[Popup Menu]

Datasets[Popup Menu]

メニュー

アイコン

機能

Edit


Dataset Editorを呼び出す

Insert Dataset


Dataset Editorに新たなDatasetを追加

Copy

Datasetメニューではサポートされない機能

Cut

Datasetメニューではサポートされない機能

Paste

Datasetメニューではサポートされない機能

Collapse All


Datasetsの下位Tree Itemを隠す

Expand All


Datasetsの下位Tree Itemを開く

Copy Full Path


GlobalVariablesファイルが保存されたパスをクリップボードにコピー

Open Containing Folder


GlobalVariablesファイルのパスをWindowsエクスプローラで開いて表示

Close


Datasetメニューではサポートされない機能

Save

編集中のDatasetを保存

Save As…


Datasetメニューではサポートされない機能

Rename


Datasetメニューではサポートされない機能

Generate


選択されたプロジェクトBuild

• Generate Application

• Generate Themes

Refresh


Datasetメニューではサポートされない機能

Dataset編集ウィンドウでDataset項目を追加、削除および構成の変更ができます。

Dataset Editor

Dataset Editor


属性

説明

1

Import Datasets

保存されたファイルからDatasetにロード

2

Export Datasets

現在のDatasetをファイルに保存

3

Add a New Dataset

Datasetを追加

4

Delete selected Datasets

Datasetを削除

5

Const

Constant DataColumnsを設定

6

Add a new Const Column

Constant変数を追加

7

Insert a new Const Column

カーソルが位置する上段にConstant変数を挿入

8

Delete selected Const Columns

Constant変数を削除

9

Columns

DatasetColumnsを設定

10

Add a new Column

DatasetColumnを追加

11

Insert a new Column

カーソルが位置する上段にColumnを挿入

12

Delete selected Columns

DatasetColumnを削除

13

Rows

DatasetRowを設定

14

Add a new Row

DatasetRowを追加

15

Insert a new Row

カーソルが位置する上段にRowを挿入

16

Delete selected Rows

DatasetRowを削除

Variables

VariablesはProject内で全域的に使用する変数です。

Variable[Popup Menu]

Variable[Popup Menu]

メニュー

機能

Edit

Variable Editorを呼び出す

Insert Variable

Variable Editorに新たなVariableを追加

Copy

Variablesメニューでサポートされない機能

Cut

Variablesメニューでサポートされない機能

Paste

Variablesメニューでサポートされない機能

Collapse All

Variablesの下位Tree Itemを隠す

Expand All

Variablesの下位Tree Itemを開く

Copy Full Path

GlobalVariablesファイルが保存されたパスをクリップボードにコピー

Open Containing Folder

GlobalVariablesファイルのパスをWindowsエクスプローラで開いて表示

Close

Variablesメニューでサポートされない機能

Save

編集中のVariableを保存

Save As…

Variablesメニューでサポートされない機能

Rename

Variablesメニューでサポートされない機能

Generate

選択されたプロジェクトBuild

• Generate Application

• Generate Themes

Refresh

Variablesメニューでサポートされない機能

Variable編集ウィンドウでVariable項目を追加、削除したり、構成を変更することができます。

Variable Editor

Variable Editor


属性

説明

1

ID

変数名

2

Initval

初期値

3

Usecookie

Cookieを使用するかを設定

4

Add Variable

変数を追加

5

Delete Variable

選択された変数を削除

Image

Project内で使用されるImageを新たに追加したり削除することができます。

Project ExplorerのImages項目では、Imageを追加できるポップアップメニューが呼び出され、Images項目の下位ItemであるImage項目では、選択されたImageを削除できるポップアップメニューが呼び出されます。

Images[Popup Menu]

Image[Popup Menu]

Images/Image[Popup Menu]

メニュー

機能

Edit

Imageメニューではサポートされない機能

Insert Image

Image Fileを追加できるFile Dialogを呼び出す

Copy

Imageメニューではサポートされない機能

Cut

Imageメニューではサポートされない機能

Paste

Imageメニューではサポートされない機能

Collapse All

Imagesの下位Tree Itemを隠す

Expand All

Imagesの下位Tree Itemを開く

Copy Full Path

GlobalVariablesファイルが保存されたパスをクリップボードにコピー

Open Containing Folder

GlobalVariablesファイルのパスをWindowsエクスプローラで開いて表示

Close

Imageメニューではサポートされない機能

Save

編集中のImageを保存

Save As…

Imageメニューではサポートされない機能

Rename

Imageメニューではサポートされない機能

Generate

選択されたプロジェクトBuild

• Generate Application

• Generate Themes

Refresh

Imageメニューではサポートされない機能

Delete

選択されたイメージファイルをImageグループから削除

(個々の画像ファイルを選択した場合)

Project ExplorerImage項目が選択された場合、Image Previewが自動的に呼び出されます。

Image Preview

プロジェクトを作成したドライブと違うドライブを使用する場合は、パスが正常に処理されません。

たとえば、Dドライブに作成したプロジェクトで、Cドライブに保存された画像を取得することにしたら、相対パスを正常に処理することができません。

サービスグループにfileタイプで登録したパスに保存された画像でない場合は、ジェネレートの過程でファイルをコピーしません。

該当サーバーに同じパスにファイルをコピーする必要がありますし、該当ファイルへのアクセス権限が必要です。

FDL生成ウィザード

Form生成ウィザードを利用して新たなFormを生成することができます。メニューFile[New – Item – Form]でForm生成ウィザードを開始します。

1段階 Location

生成されるフォームのパスと名を入力するステップです。フォーム名は、必ず入力する必要がある必須項目であり、生成されるパスに同じフォーム名が存在している場合は、生成することができません。

Create New Form Wizard 1단계

CreateNew Form Wizard ステップ1

属性

説明

Name

生成されるフォームの名前

Location

生成されるフォームの位置

2段階 Dimension

FormのWidth、Heightを指定します。最初Width、HeightはメニューTool[Options]のDesignで定められた値を表示します。

Create New Form Wizard 3단계

3段階 Position

formでコンポーネント生成時に適用されるPositionプロパティ値の単位を設定します。デフォルト値はOptionで指定した値で表示されます。

各プロパティ値の単位を変更して、左下にある「Save position in options」項目をチェックすると、指定された単位がOptionに保存されます。

4段階 Layout

フォームで使用されるLayoutを設定します。Layoutとは、それぞれ異なるサイズの画面を意味します。

プロジェクトの作成時に指定したScreen情報に基準にLayout情報を自動的に構成します。前の段階で「Finish」ボタンをクリックしてフォームを作成した場合には、Layout情報を追加設定せずにデフォルト設定であるDefaut Layoutのみ生成されます。

Create New Form Wizard 4단계

Create New Form Wizard 4단계


説明

1

Layout情報編集画面

2

Screen TemplateからLayout情報を取得するボタン

3

Formで使用するLayout情報を追加するボタン

4

選択されたLayout情報を削除するボタン

Layoutプロパティ

説明

name

Layout名(一意識別子)

screenid

Layoutが使用するScreen名を設定します。

- ADL Screen項目の中で複数選択することができます。

width

Layoutの幅

height

Layoutの高さ

description

Layoutの説明

テンプレートボタンを押すと、Screen Templateウィンドウが表示されます。

Layout Template


説明

1

Screen Templateに指定されたUser/Basic Templateリストの中で使用するScreen項目を選択します。

複数の項目を選択することができます。

2

User Templateを追加、変更、削除できるウィンドウを表示します。

修正した情報はUser Templateにすぐに反映されます。

Screen Templateから選択したリストでLayoutを生成することができ、生成時にLayoutのnameとwidthプロパティは、Screen情報のnameとscreenwidthプロパティによって自動的に適用されます。

Template정보가 추가된 New Form Wizard

FDL (Form Definition Language)

FDL Drag&Drop

Projectで生成されたFormをServiceグループ単位で管理され、各グループに属するフォームは、Drag&Dropで他のグループに移動したり、<Ctrl> + Drag&Dropでコピーすることができます。

Form Move

Form Copy

FDL項目

フォーム項目は、下位Tree ItemでLayout、Objects、Script、Bindを持ちます。

Form Item

Form Item

アイコン

タイトル

説明

Layout

フォームに生成されたコンポーネントを下位Itemとして表示

Objects

不可視なInvisible Componentを表示

Script

フォームが持つFunctionリストを表示

Bind

フォームにバインドされた情報を表示

フォーム項目では、下記の機能をサポートします。

Formをnexacro studioで編集する場合とそうでないときに表示されるコンテキストメニューが異なります。編集中にはBindItem、Layout Listのようなメニューが有効になり、そうでないときは、Edit、Insert Style、Renameのようなメニューが有効になります。

FDL[Popup Menu]

FDL[Popup Menu]

メニュー

機能

Edit

選択されたFormを編集するDesignウィンドウを呼び出す

Insert Style

CSSファイルを追加、ロードされていないFormのみ適用

BindItem

BindItemダイアログ呼び出し

Copy

選択されたFormをコピー

Cut

選択されたFormカット

Paste

CopyまたはCutされたFormを現在のServiceに貼り付け

Collapse All

Formの下位Tree Itemを隠す

Expand All

Formの下位Tree Itemを編集

Layout List

Layout Listダイアログ呼び出し

Copy Full Path

Formファイルが保存されたパスをクリップボードにコピー

Open Containing Folder

FormファイルのパスをWindowsエクスプローラで開いて表示

Close

現在、編集中のProjectを閉じる

Save

選択されたFormを保存

Save As…

選択されたFormを別のファイル名で保存

Rename

選択されたFormのタイトル変更

Generate

選択されたプロジェクトBuild

• Generate Application

• Generate Themes

• Generate File

Refresh

選択されたForm XMLReload

Delete

選択されたFormを削除

QuickView

選択されたフォームをクィッグビュー機能にLaunchします。

Templateの使用

Make a Project Template

現在、作業中のProjectをTemplateに登録する機能です。 Project Explorerで、Project選択 > マウス右クリック > Project Templateをクリックをクリックすると書きの画面が表示されます。

Make a Project Template

Make a Project Template


属性

説明

1

Project Template Name

生成されるTemplateの名前

2

Select ADL to include

Project Templateに含まれるADLを選択

3

Select a Service Group

and Files to include

Project Templateに含まれるファイルを選択

Templateに登録されたProjectは、後で新規Projectを生成する際にNew Project wizardで選択して使用することができます。

New Project Wizard[Project Template]

Screen Template

基本的に提供されているScreen Templateを使用することができます。Screen Template機能を使用すると、頻繁に使用されるScreen情報をユーザーがTemplateに登録することができます。

14.0.0.40のバージョンからは機能変更により、Layout Template機能が削除されました。


説明

1

ユーザー定義Screen情報を追加するボタン

2

ユーザー定義Screen情報を削除するボタン

3

ユーザー定義Screen情報の編集画面

Basic Templateの情報は、デフォルトではユーザーが直接編集することができません。Basic Templateのリストはnexacroインストール·パス·ディレクトリー内の「nexacro_os_device.xml」ファイルで管理します。

その他のファイルの生成

File > New > Fileメニューから追加で必要なスタイルファイル(CSS)、XMLファイル、スクリプトファイル、テーマファイルを作成することができます。

New File[PopupMenu]

Create a new XML file

Create a new XML file

Create a new XML file

属性

説明

File name

生成されるXMLファイル名

Location

生成されるXMLファイルの位置

Create a new Java script file

Create a new Java script file

Create a new Java script file

属性

説明

File name

生成されるJava Scriptファイル名

Location

生成される Java Scriptファイルの位置

Auto Recover

Tools > OptionsメニューでAutoRecover機能の使用の設定と時間を設定すると、nexacro studioで編集するファイルを設定した時間単位で臨時ファイルに保存する機能を実行します。

AutoRecover Setting

ファイルの編集中にnexacro studioが正常に終了せず、編集中だったプロジェクトを開くと、臨時ファイルを確認して復旧させるかを問うメッセージがポップアップします。

AutoRecover Messagebox

AutoRecoverは復旧対象リストをリストとして表示し、該当のファイルを編集時に保存された臨時ファイルを使って復旧します。

AutoRecover

プロトコル追加ウィザード

プロトコル追加ウィザードを使用して、TypeDefinitionに新しいプロトコルを追加することができます。プロトコル追加ウィザードを起動する方法は2つあります。

ユーザーはもっと便利な方を選択してプロトコル追加ウィザードを起動します。

ステップ1. Protocol

新しいプロトコルを登録 / 削除して、プロトコルを使用するデバイスのタイプを選択します。また、選択したデバイスタイプに合わせて、それぞれのモジュールの情報とクラス情報を登録します。

項目

説明

1

Add

プロトコルを登録します。

2

Delete

選択したプロトコルを削除します。

3

Protocol ID

プロトコルの IDです。 Protocol IDは、サービスの URLに使用されます。

[Protocol ID]://

4

Device Type

登録したプロトコルを使用するデバイスのタイプを決定します。プロトコルを重複して使用が可能で、各デバイスごとに固有のClass Nameは、他の値として保存されます。

HTML5、Android、iOSを選択した場合には、各デバイスで使用する Classnameを登録することができます。

5

Runtime:

ModuleName

バイナリモジュールの名前です。 TargetPathのパスから [ModuleName].dllファイルを検索して登録します。

ModuleNameは start.jsonに追加されます。

6

Runtime;

TargetPath

バイナリモジュールを受け取るパスです。

TargetPathは start.jsonに追加されます。

7

HTML5:

Classname

HTML5環境で使用するプロトコルのクラス名です。

adl.jsの registerclass配列に登録され、他のコンポーネントと一緒にロードされます。

8

Android:

Classname

Android環境で使用するプロトコルのクラス名です。

start android.jsonファイルに Protocol IDと Classnameが登録されます。

9

iOS:

Classname

iOS環境で使用するプロトコルのクラス名です。

start ios.jsonファイルに Protocol IDと Classnameが登録されます。

各デバイスタイプごとにプロトコル情報がどのように設定されるかの例を以下に示します。

$r_title(start.json)
"version" : "15.0.0.1",														
	"runtime" :
	{
		"target" :
		{
			"os" : "windows"
		},
		"framework" :
		[
			[framework js path]
		],
		"component" :
		[
			[component js path]
		],
		"form" :
		[
		],
		"xadl" :
		{
		},
		"protocol" :
		{
			"adaptors" :
			[
				{
					"protocolname" : "[Protocol ID]",
					"modulename" : "[modulename].dll",
					"targetpath" : "[Target Path]"
				},
				{
				}
			]
		}
		"resource" :
		{
		},
$r_title(adl.xadl.js)

// load components
var registerclass = [
	{"id":"Div", "classname":"nexacro.Div", "type":"JavaScript"},
	{"id":"Button", "classname":"nexacro.Button", "type":"JavaScript"},
	{"id":"PopupDiv", "classname":"nexacro.PopupDiv", "type":"JavaScript"},
	{"id":"Combo", "classname":"nexacro.Combo", "type":"JavaScript"},
	{"id":"CheckBox", "classname":"nexacro.CheckBox", "type":"JavaScript"},
	{"id":"ListBox", "classname":"nexacro.ListBox", "type":"JavaScript"},
	{"id":"Edit", "classname":"nexacro.Edit", "type":"JavaScript"},
	{"id":"MaskEdit", "classname":"nexacro.MaskEdit", "type":"JavaScript"},
	{"id":"TextArea", "classname":"nexacro.TextArea", "type":"JavaScript"},
	{"id":"Menu", "classname":"nexacro.Menu", "type":"JavaScript"},
	{"id":"Tab", "classname":"nexacro.Tab", "type":"JavaScript"},
	{"id":"ImageViewer", "classname":"nexacro.ImageViewer", "type":"JavaScript"},
	{"id":"Radio", "classname":"nexacro.Radio", "type":"JavaScript"},
	{"id":"Calendar", "classname":"nexacro.Calendar", "type":"JavaScript"},
	{"id":"Static", "classname":"nexacro.Static", "type":"JavaScript"},
	{"id":"Grid", "classname":"nexacro.Grid", "type":"JavaScript"},
	{"id":"Spin", "classname":"nexacro.Spin", "type":"JavaScript"},
	{"id":"PopupMenu", "classname":"nexacro.PopupMenu", "type":"JavaScript"},
	{"id":"GroupBox", "classname":"nexacro.GroupBox", "type":"JavaScript"},
	{"id":"ProgressBar", "classname":"nexacro.ProgressBar", "type":"JavaScript"},
	{"id":"Plugin", "classname":"nexacro.Plugin", "type":"JavaScript"},
	{"id":"Dataset", "classname":"nexacro.NormalDataset", "type":"JavaScript"},
	{"id":"Protocol00", "classname":"test_HTML5", "type":"Protocol"},
	{"id":"Protocol01", "classname":"Protocol01", "type":"Protocol"}
];
$r_title(start_android.json)

"version" : "15.0.0.1",
	"runtime" :
	{
		"target" :
		{
			"os" : "android"
		},
		"framework" :
		[
			[framework js path]
		],
		"component" :
		[
			[component js path]
		],
		"form" :
		[
		],
		"xadl" :
		{
		},
		"protocol" :
		{
			"adaptors" :
			[
				{
					"protocolname" : "[Protocol ID]",
					"classname" : "[Android_ClassName]",
				},
				{
				}
			]
		}
		"resource" :
		{
		},
$r_title(start_ios.json)

"version" : "15.0.0.1",
	"runtime" :
	{
		"target" :
		{
			"os" : "ios"
		},
		"framework" :
		[
			[framework js path]
		],
		"component" :
		[
			[component js path]

		],
		"form" :
		[
		],
		"xadl" :
		{
		},
		"protocol" :
		{
			"adaptors" :
			[
				{
					"protocolname" : "[Protocol ID]",
					"classname" : "[iOS_ClassName]",
				},
				{
				}
			]
		}
		"resource" :
		{
		},

ステップ2. Service

登録した Protocol IDに該当するサービスを自動的に生成します。

項目

説明

1

PrefixID

サービス Prefix IDとして使用する IDです。

2

Type

サービスタイプです。 JSP、ASPの中から選択することができます。

3

Url

サービスURLです。ステップ1で入力した Protocol IDの値が [Protocol ID]:// 形式に自動的に設定され、変更は不可となります。

ステップ3. Resource

前ステップで追加したプロトコルの登録されたデバイスのタイプが Runtimeの項目について Resourceを自動的に追加します。

項目

説明

1

File

ステップ1で設定した ModuleName値で指定された [ModuleName].dllファイルが自動的に設定されます。File項目は必須項目であるため、何の情報が存在しない場合は、Finishへ進めることができません。

2

TargetPath

ステップ1で設定した TargetPath値に自動的に設定されます。

自動的に設定された Resource値を変更することはできるが、start.jsonに使用される情報であるため、変更しないことをお勧めします。

ステップ4. Finish

ステップ3で [Finish]をクリックすると、プロトコル追加ウィザードを使用して追加したプロトコル、サービス、更新(Resource)が TypeDefinitionに新たに追加されたことを確認することができます。

下記は、プロトコル追加ウィザードを実行した後に更新された TypeDefinitionの例を示します。赤で表示された部分は、プロトコル追加ウィザードを使用して追加されたプロトコル、サービス、リソースです。

$r_title(default_typedef.xml)
<?xml version="1.0" encoding="utf-8"?>
<TypeDefinition version="1.2">
  <Modules>
    <Module url="CompBase.json"/>
    <Module url="ComComp.json"/>
    <Module url="Grid.json"/>
    <Module url="DeviceAPI.json"/>
  </Modules>
  <Components>
    <Component type="JavaScript" id="Div" classname="nexacro.Div"/>
    <Component type="JavaScript" id="Button" classname="nexacro.Button"/>
    <Component type="JavaScript" id="PopupDiv" classname="nexacro.PopupDiv"/>
    <Component type="JavaScript" id="Combo" classname="nexacro.Combo"/>
    <Component type="JavaScript" id="CheckBox" classname="nexacro.CheckBox"/>
    <Component type="JavaScript" id="ListBox" classname="nexacro.ListBox"/>
    <Component type="JavaScript" id="Edit" classname="nexacro.Edit"/>
    <Component type="JavaScript" id="MaskEdit" classname="nexacro.MaskEdit"/>
    <Component type="JavaScript" id="TextArea" classname="nexacro.TextArea"/>
    <Component type="JavaScript" id="Menu" classname="nexacro.Menu"/>
    <Component type="JavaScript" id="Tab" classname="nexacro.Tab"/>
    <Component type="JavaScript" id="ImageViewer" classname="nexacro.ImageViewer"/>
    <Component type="JavaScript" id="Radio" classname="nexacro.Radio"/>
    <Component type="JavaScript" id="Calendar" classname="nexacro.Calendar"/>
    <Component type="JavaScript" id="Static" classname="nexacro.Static"/>
    <Component type="JavaScript" id="Grid" classname="nexacro.Grid"/>
    <Component type="JavaScript" id="Spin" classname="nexacro.Spin"/>
    <Component type="JavaScript" id="PopupMenu" classname="nexacro.PopupMenu"/>
    <Component type="JavaScript" id="GroupBox" classname="nexacro.GroupBox"/>
    <Component type="JavaScript" id="ProgressBar" classname="nexacro.ProgressBar"/>
    <Component type="JavaScript" id="Plugin" classname="nexacro.Plugin"/>
    <Component type="JavaScript" id="Dataset" classname="nexacro.NormalDataset"/>
  </Components>
  <Services>
    <Service prefixid="Base" type="form" url="./Base/" version="0" communicationversion="0"/>
    <Service prefixid="Service00" type="JSP" url="Protocol00://" version="0" communicationversion="0"/>
    <Service prefixid="Service01" type="JSP" url="Protocol01://" version="0" communicationversion="0"/>
    <Service prefixid="Service02" type="JSP" url="Protocol02://" version="0" communicationversion="0"/>
  </Services>
  <Update>
    <Item systemtype="Windows" url="">
      <Os type="default" url="" engineurl="" enginesetupkey="" engineversion="">
        <Device type="default" url="" engineurl="" enginesetupkey="" engineversion="" desc="">
          <Resource type="Object" file="aa" failpass="false"/>
          <Resource type="File" file="test.dll" targetpath="" version="" failpass="false" desc=""/>
          <Resource type="File" file="protocolAdp.dll" targetpath="C:\Base" version="" failpass="false" desc=""/>
        </Device>
      </Os>
    </Item>
    <Item systemtype="Android" url="">
      <Os type="default" url="" engineurl="" enginesetupkey="" engineversion="">
        <Device type="default" url="" engineurl="" enginesetupkey="" engineversion="" desc="">
          <Resource type="File" file="default.zip" targetpath="C:\Users\user\Documents\nexacro\outputs" failpass="false"/>
        </Device>
      </Os>
    </Item>
    <Item systemtype="iOS" url="">
      <Os type="default" url="" engineurl="" enginesetupkey="" engineversion="">
        <Device type="default" url="" engineurl="" enginesetupkey="" engineversion="" desc="">
          <Resource type="File" file="Archive00.xzip" failpass="false"/>
        </Device>
      </Os>
    </Item>
  </Update>
  <Protocols>
    <Protocol id="Protocol00" classname="test_HTML5" targetpath="C:\apache-tomcat-6.0.36\webapps" devicetype="Runtime,HTML5,Android,iOS" modulename="test_runtime" android_classname="test_android" ios_classname="test_ios"/>
    <Protocol id="Protocol01" classname="Protocol01" devicetype="HTML5,iOS" file=""/>
    <Protocol id="Protocol02" devicetype="Runtime,HTML5,Android,iOS" modulename="protocolAdp" targetpath="C:\Base" classname="nexacro.Protocol02" android_classname="test_android" ios_classname="test_ios"/>
  </Protocols>
</TypeDefinition>