AppML ケースモデル
このケーススタディでは、データベース内の複数のテーブルに対して情報を列挙、編集、検索する機能を備えた完全な <AppML> インターネット アプリケーションを構築する方法を示します。
アプリケーション モデル
この章では、データベース内の Customers テーブルの完全なアプリケーション モデルを構築します。
<AppML> フィルター
<AppML> データのフィルターを許可するには、単に <filters> 要素をモデルに追加します:
<フィルタ>
<クエリ>
<field label="顧客">顧客名</フィールド>
<field>都市</field>
<field>国</field>
</query>
<order>
<field label="Customer">CustomerName</field>
<field>都市</field>
<field>国</field>
</order>
</filters>
完全な概要については、<AppML> リファレンス マニュアルを参照してください。
<field>国</field>
</query>
<order>
<field label="Customer">CustomerName</field>
<field>都市</field>
<field>国</field>
</order>
</filters>
完全な概要については、<AppML> リファレンス マニュアルを参照してください。
<AppML> 更新
<AppML> データの更新を許可するには、単に <update> 要素をモデルに追加します: <update>
<アイテム><名前>姓</名前></アイテム>
<item><name>名</name></item> <item><name>生年月日</name></item>
<item><name>写真</name></item>
<item><name>メモ</name></item></update>
そして<データベース> ; 要素は <maintable> 要素と <keyfield> 要素を追加します:
<maintable>Customers</maintable>
<keyfield>CustomerID</keyfield>
そして<データベース> ; 要素は <maintable> 要素と <keyfield> 要素を追加します:
<maintable>Customers</maintable>
<keyfield>CustomerID</keyfield>
完全に理解するには、<AppML> リファレンス マニュアルを参照してください。
<AppML> セキュリティ
<AppML> タグにセキュリティ属性を追加することで、セキュリティを簡単に追加できます。
例:
上記の例では、ユーザー グループ「admin」のメンバーとしてログインしたユーザーのみがモデルにアクセスできます。
<update> 要素のセキュリティを設定するには、<update> 要素にセキュリティ属性を追加します:
例:
<更新
セキュリティ="管理者">
<アイテム><名前>姓</名前></アイテム>
<item><name>名</name></item>
<item><name>生年月日</name></item>
<アイテム><名前>写真</名前></アイテム>
<アイテム><名前>メモ</名前></アイテム>
</更新>
<アイテム><名前>姓</名前></アイテム>
<item><name>名</name></item>
<item><name>生年月日</name></item>
<アイテム><名前>写真</名前></アイテム>
<アイテム><名前>メモ</名前></アイテム>
</更新>
完全な顧客モデル
この章では、データベース内の各テーブルのアプリケーション モデルを設定します。
Models という名前の新しいフォルダーを作成します。 Models フォルダーで、アプリケーションごとにモデルを作成します。
モデル: Customers.xml
<appml security="">
<datasource>
<database>
<connection>デモ</connection>
<maintable>顧客</maintable>
<keyfield>顧客ID</keyfield>
<sql>SELECT * FROM Customers</sql>
<orderby>顧客名,市区町村,国</orderby>
</database>
</datasource>
<filters>
<query>
<field label="Customer">CustomerName</フィールド>
<field>都市</field>
<field>国</field>
</query>
<order>
<field label="顧客">顧客名</field>
<field>市</field>
<field>国</field>
</order>
</filters>
<update security="admin">
<item><name>顧客名</name></アイテム>
<item><name>連絡先名</name></item>
<item><name>住所</name></item>
<item><name>郵便番号</name></item>
<item><name>市</name></item>
<item><name>国</name></item>
</update>
</appml>
<datasource>
<database>
<connection>デモ</connection>
<maintable>顧客</maintable>
<keyfield>顧客ID</keyfield>
<sql>SELECT * FROM Customers</sql>
<orderby>顧客名,市区町村,国</orderby>
</database>
</datasource>
<filters>
<query>
<field label="Customer">CustomerName</フィールド>
<field>都市</field>
<field>国</field>
</query>
<order>
<field label="顧客">顧客名</field>
<field>市</field>
<field>国</field>
</order>
</filters>
<update security="admin">
<item><name>顧客名</name></アイテム>
<item><name>連絡先名</name></item>
<item><name>住所</name></item>
<item><name>郵便番号</name></item>
<item><name>市</name></item>
<item><name>国</name></item>
</update>
</appml>
モデルビュー
モデルビューを作成し、Demo_Model として保存します.html を作成して試してみてください:
インスタンス
视图:Demo_Model.htm <h1>Customers</h1> <div id="List01"></div> <script src="appml.js"></script> <script> customers=new AppML("appml.htmlx","Models/Customers"); customers.run("List01"); </script>
サンプルの実行»
「インスタンスの実行」ボタンをクリックしてオンラインサンプルを表示します
次に、すべてをマージします
次に、すべてのモデルのテスト ページを作成するための少量の JavaScript コーディング:
Example
Demo_Model_Views.htm <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="appml.css" /> </head> <body> <h1>Demo Applications</h1> <button onclick='myOpen("Customers")'>Customers</button> <button onclick='myOpen("Products")'>Products</button> <button onclick='myOpen("Suppliers")'>Suppliers</button> <button onclick='myOpen("Shippers")'>Shippers</button> <button onclick='myOpen("Categories")'>Categories</button> <button onclick='myOpen("Employees")'>Employees</button> <button onclick='myOpen("Orders")'>Orders</button> <button onclick='myOpen("OrderDetails")'>OrderDetails</button> <br><br> <div id="Place01"></div> <script src="appml.js"></script> <script> function myOpen(pname) { var app_obj app_obj=new AppML("appml.php","Models/" + pname); app_obj.run("Place01"); } </script> </body> </html>
インスタンスの実行 »
「インスタンスの実行」ボタンをクリックしてオンラインインスタンスを表示します