Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagehtml/xml
linenumberstrue
<panel>
    <textField text="Some sample text..." width="200" height="25" />
    <button text="Submit" width="100" height="25" />
</panel>

...

Code Block
languagehtml/xmllinenumberstrue
<window width="300" height="300">
    <gridLayout />
    <label text="Description" width="100" height="25" />
    <textArea width="100" height="100">A description...</textArea> 
    <button text="Submit" width="100" height="25" />
</window>
次の XML UI の例では、onDoubleClick イベントにイベントハンドラを定義します。
<panel width="100" height="100" bgColor="#0000FF" onDoubleClick="change-color.xu"/>
ページの取得または NetService.retrieveAndProcess() メソッドの使用によって、Nexaweb で処理されたすべてのページには、次の内容を実行するための命令のセットが含まれています。

...

 

Code Block
languagehtml/xmllinenumberstrue
<xu:modifications document="nxml" xmlns:xu="http://nexaweb.com/xupdate">
    <xu:append select="/nxml/rootPane/panel">
      <button text="Submit" width="100" height="25" />
    </xu:append>
</xu:modifications>
XUpdate 文を XPath 式と組み合わせて使用し、UI を変更します。次の例では、メッセージダイアログを rootPane 要素に追加することによって UI に追加します。
<xu:modifications document="nxml" xmlns:xu="http://nexaweb.com/xupdate">
    <xu:append select="/nxml/rootPane">
        <messageDialog title="Error" message="Invalid Id"  width="300" height="300" / >
    </xu:append>
</xu:modifications> 

 

マクロ


マクロを使用すると、クライアントが参照および実行する XUpdate 文のグループに名前を付けることができます。これにより、サーバーへの往復が回避され、アプリケーションの応答性が向上します。次の例では、"showDialog" というマクロを定義します。このマクロを実行すると、ダイアログを nxml 要素に追加することによって、ダイアログが表示されます。

Code Block
languagehtml/xmllinenumberstrue
<macro:macro xmlns:macro="http://nexaweb.com/macro" 
    name="showDialog">
    <xu:modifications document="nxml" 
        xmlns:xu="http://nexaweb.com/xupdate">
        <xu:append select="/nxml/rootPane">
            <dialog title="My Dialog" width="300" height="300"/>
        </xu:append>
    </xu:modifications>
</macro:macro>
次の XML ドキュメントは、onCommand イベントのイベントハンドラとして "showDialog" マクロを使用するボタンを定義します。ユーザーがボタンを押すと、"showMessageBox" マクロで定義したダイアログボックスが表示されます。

<button text="Show Dialog" onCommand="macro://showDialog" width="100" height="25" />

 

XInclude

  XInclude 文を使用して、ファイルのコンテンツを XML ドキュメントにインクルードできます。一般に、開発者は、アプリケーションをより小さなファイルに分割して管理しやすくするために、この文を使用します。分割された小さなファイルは、後で必要に応じて他の NXML ファイルにインクルードすることができます。Nexaweb クライアントは、これらのファイルを含むドキュメントを処理した後で、XInclude によってインクルードされたファイルを処理します。次の例では、"table.nxml" というファイルのコンテンツをパネルウィジェットにインクルードします。

 

Code Block
languagehtml/xmllinenumberstrue
<panel>
    <xi:include xmlns:xi="http://nexaweb.com/xinclude" 
     href="table.nxml" />
</panel>

次に、同じ XML で、XInclude 文を使用しない場合を示します。

Code Block
languagehtml/xmllinenumberstrue
<xu:modifications document="nxml" 
    xmlns:xu="http://nexaweb.com/xupdate">
    <xu:append select="/nxml">
        <rootPane>
            <label text="Username" width="100" height="35" />
        </rootPane>
    </xu:append>
</xu:modifications>

検証


NXML スキーマを標準の XML エディタで使用して、UI 要素を検証できます。ただし、実行時に XML 要素は検証されません。

詳細について


XML UI で使用可能なすべてのシンタックスの完全リファレンスについては、リファレンスドキュメントの XML UI セクションを参照してください。変更シンタックスの詳細については、リファレンスドキュメントの XInclude および XUpdate を参照してください。