XML サンプル・スクリプト

このトピックでは、以下についてサンプルを提供します。

JDBC サブスクリプション

この例は、ソース (マスター) データベースとミラー・データベースを定義し、
これらの 2 つのデータベースを使用して jdbc サブスクリプションを作成する、
XML スクリプトを示しています。
 
通常、参照された XML DTD ファイルは、以下のクラスパスから取り出されます。
file:/com/ibm/mobileservices/xmlscripting/mdas3.dtd
 
<AddJdbcMaster> タグはソース・データベース接続情報を定義します。
jdbc URL、ドライバー、ユーザー ID、およびパスワードは必須です。
<AddJdbcMirror> タグはミラー・データベース接続情報を定義します。
jdbc URL、ドライバー、ユーザー ID、およびパスワードと同期ウィンドウ
(レプリケーション頻度) は必須です。
 
jdbc マスターおよびミラーの情報を定義しないと、JDBC サブスクリプションは
それらのデータベースを参照することができません。
 
<AddJdbcSubscription> タグは JDBC サブスクリプションを定義します。
Replicate="TRUE" が指定されると、レプリケーションが実行され、
モバイル・デバイスとの同期の準備ができたミラーを取得するために、
ソースからのデータを新規のミラー表に追加します。
Replicate="FALSE" が指定されると、このミラーとの同期は、このミラーの
最初のレプリケーションが完了するまで、ブロックされたままになります。
<AddJdbcSubscription> タグには、1 つ以上の <AddTable> タグが含まれている
必要があります。
<AddTable> タグは、ソース表のすべての列をリストし、<AddColumn> タグを使用して
各列のレプリケーションおよび同期のオプションを指定する必要があります。
<SourceSchema> および <SourceTable> は、サブスクライブするソース・データベースの
表を識別します。
<TargetSchema> および <TargetTable> は、ミラー・データベース内で固有な任意の値
にすることができます。これらの名前は、モバイル・デバイスでも使用されます。
<AddTable> タグでは、<AddIndex> タグを使用して表列の索引を指定することもできます。
単純化するために、索引名はシステム全体で固有なものである必要があります。
 
以下の例は、「JDBCSUB_2」という名前の JDBC サブスクリプションを作成しますが、
ソースとして VNURSE データベースを、ミラーとして M_VN2 を使用します。
このサブスクリプションには、1 つの表しかなく、その表は複数の列を持ち、
1 つの昇順の索引が定義されています
(索引列の前にある「+」は昇順を意味し、「-」は降順を意味します)。
複数列は、1 つの索引に対して「+COL1;-COL2;+COL3」のように指定できます。
 
<?xml version="1.0"?>
<!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting/mdas3.dtd">
<Root>
   <AddJdbcMaster>
      <Database>jdbc:db2:VNURSE</Database>
      <Driver>COM.ibm.db2.jdbc.app.DB2Driver</Driver>
      <UserId>db2admin</UserId>
      <Password>db2admin</Password>
   </AddJdbcMaster>
 
   <AddJdbcMirror>
      <Database>jdbc:db2:M_VN2</Database>
      <Driver>COM.ibm.db2.jdbc.app.DB2Driver</Driver>
      <UserId>db2admin</UserId>
      <Password>db2admin</Password>
      <SyncWindow>60</SyncWindow>
   </AddJdbcMirror>
   
   <AddJdbcSubscription Replicate="TRUE">
      <Name>JDBCSUB_2</Name>
      <SubAdapter>DSYJDBC</SubAdapter>
      <EncryptionLevel>0</EncryptionLevel>
      <Block>N</Block>
      <MasterDb>jdbc:db2:VNURSE</MasterDb>
      <MasterDriver>COM.ibm.db2.jdbc.app.DB2Driver</MasterDriver>
      <MirrorDb>jdbc:db2:M_VN2</MirrorDb>
      <MirrorDriver>COM.ibm.db2.jdbc.app.DB2Driver</MirrorDriver>
      <AddTable>
         <TargetSchema>DSYSAMPLE</TargetSchema>
         <TargetTable>VNPERSON</TargetTable>
         <SourceSchema>DSYSAMPLE</SourceSchema>
         <SourceTable>VNPERSON</SourceTable>
         <DeleteAuth>Y</DeleteAuth>
         <InsertAuth>Y</InsertAuth>
         <UpdateAuth>Y</UpdateAuth>
         <SelectAuth>Y</SelectAuth>
         <WhereClauseMirrorToMobile>CITY=:CITY</WhereClauseMirrorToMobile>
         <WhereClauseMasterToMirror></WhereClauseMasterToMirror>
         <JoinFilter>G</JoinFilter>
         <Order>1</Order>
         <Encrypt>N</Encrypt>
         <AddColumn>
            <SourceColumn>ID</SourceColumn>
            <TargetColumn>ID</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>Y</Key>
         </AddColumn>
         <AddColumn>
            <SourceColumn>NAME</SourceColumn>
            <TargetColumn>NAME</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>N</Key>
         </AddColumn>
         <AddColumn>
            <SourceColumn>ADDRESS</SourceColumn>
            <TargetColumn>ADDRESS</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>N</Key>
         </AddColumn>
         <AddColumn>
            <SourceColumn>CITY</SourceColumn>
            <TargetColumn>CITY</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>N</Key>
         </AddColumn>
         <AddColumn>
            <SourceColumn>HOMEPHONE</SourceColumn>
            <TargetColumn>HOMEPHONE</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>N</Key>
         </AddColumn>
         <AddColumn>
            <SourceColumn>WORKPHONE</SourceColumn>
            <TargetColumn>WORKPHONE</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>N</Key>
         </AddColumn>
         <AddColumn>
            <SourceColumn>MOBILEPHONE</SourceColumn>
            <TargetColumn>MOBILEPHONE</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>N</Key>
         </AddColumn>
         <AddIndex>
            <Name>IDX_CITY</Name>
            <ColNames>+CITY;</ColNames>
         </AddIndex>
      </AddTable>
   </AddJdbcSubscription>
   
</Root>
 
 
jdbc サブスクリプションから表を除去する例:
 
この例は、「JDBCSUB_2」サブスクリプションから 2 つの表を除去します
(サブスクリプションに多くの表があるものと想定します)。
サブスクリプションの表は、そのターゲット・スキーマとターゲット表名で識別されます。
表がサブスクリプションから除外されると、ミラー・データベース内のこれらの表は
ドロップされます。このことは、これらの表にソース・データベースへまだ複製されて
いない保留の同期データがあると、そのデータが失われる原因となります。
Replicate="TRUE" 属性は、これらの表をドロップする前に、XML ツールが既存のデータを
複製することを指示します。あるケースでは、複製するデータがないことを管理者が
分かっている場合があります。その場合は、Replicate="FALSE" を使用すると、
スクリプトをより高速で実行することができます。また、正常なレプリケーションを
妨げるようなある種の問題は、Replicate="FALSE" を指定することで回避することが
できます。
 
<?xml version="1.0"?>
<!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting
                                                       /mdas3.dtd">
 
<Root>
   <AlterJdbcSubscription Replicate="TRUE">
      <Name>JDBCSUB_2</Name>
      <JdbcSubscription>
	      <RemoveTable>
	         <TargetSchema>DSYSAMPLE</TargetSchema>
	         <TargetTable>VNPERSON</TargetTable>
	      </RemoveTable>
	      <RemoveTable>
	         <TargetSchema>DSYSAMPLE</TargetSchema>
	         <TargetTable>VNMEDICALRECORD</TargetTable>
	      </RemoveTable>
	   </JdbcSubscription>	
   </AlterJdbcSubscription>
</Root>
 
JDBC サブスクリプションへの表の追加
この例は、既存のサブスクリプションに表を追加する方法を示しています。
<Order> タグは、XML スクリプト・ツールに対して、この VNMEDICALRECORD 表をこの
サブスクリプションの 2 番目の表にすることを指示します。すでに複数の表がある
場合、この変更によって、他の表が 3 番目、4 番目、5 番目の位置に移動させられます。
この変更によって影響されるデバイスは、新しい構成情報を受け取り、それに従って
調整することになります。このサブスクリプション内に表が 2 つより少ない場合、
この表が最後の表になります。
Replicate="FALSE" タグは、XML スクリプト・ツールに対し、この新しい表がミラー
に作成された後は、複製しないよう指示します。 これはミラー表が空になり、
同期するデータがなくなる原因となります。このため、サブスクリプションは
この表をソースからのデータで埋めて、同期の準備が完了する、
次回の正常なレプリケーションまで、ブロックされたまま (同期可能でない状態)
になります。既存または新規のサブスクリプションを追加している間は、
そのソース表のすべての列が、それらの列の同期とレプリケーションの設定とともに、
リストされるはずです。
 
<?xml version="1.0"?>
<!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting
                                                      /mdas3.dtd">
<Root>
   <AlterJdbcSubscription Replicate="FALSE">
      <Name>JDBCSUB_2</Name>
      <JdbcSubscription>
	      <AddTable>
	         <TargetSchema>DSYSAMPLE</TargetSchema>
	         <TargetTable>VNMEDICALRECORD</TargetTable>
	         <SourceSchema>DSYSAMPLE</SourceSchema>
	         <SourceTable>VNMEDICALRECORD</SourceTable>
	         <DeleteAuth>Y</DeleteAuth>
	         <InsertAuth>Y</InsertAuth>
	         <UpdateAuth>Y</UpdateAuth>
	         <SelectAuth>Y</SelectAuth>
	         <WhereClauseMirrorToMobile></WhereClauseMirrorToMobile>
	         <WhereClauseMasterToMirror></WhereClauseMasterToMirror>
	         <JoinFilter>G</JoinFilter>
	         <Order>2</Order>
	         <Encrypt>N</Encrypt>
	         <AddColumn>
	            <SourceColumn>RECORDID</SourceColumn>
	            <TargetColumn>RECORDID</TargetColumn>
	            <Subscribe>Y</Subscribe>
	            <Replicate>Y</Replicate>
	            <Key>Y</Key>
	         </AddColumn>
	         <AddColumn>
	            <SourceColumn>DATE_C</SourceColumn>
	            <TargetColumn>DATE_C</TargetColumn>
	            <Subscribe>Y</Subscribe>
	            <Replicate>Y</Replicate>
	            <Key>N</Key>
	         </AddColumn>
	         <AddColumn>
	            <SourceColumn>TIME_C</SourceColumn>
	            <TargetColumn>TIME_C</TargetColumn>
	            <Subscribe>Y</Subscribe>
	            <Replicate>Y</Replicate>
	            <Key>N</Key>
	         </AddColumn>
	         <AddColumn>
	            <SourceColumn>PATIENTID</SourceColumn>
	            <TargetColumn>PATIENTID</TargetColumn>
	            <Subscribe>Y</Subscribe>
	            <Replicate>Y</Replicate>
	            <Key>N</Key>
	         </AddColumn>
	         <AddColumn>
	            <SourceColumn>BLOODPRESSURE</SourceColumn>
	            <TargetColumn>BLOODPRESSURE</TargetColumn>
	            <Subscribe>Y</Subscribe>
	            <Replicate>Y</Replicate>
	            <Key>N</Key>
	         </AddColumn>
	         <AddColumn>
	            <SourceColumn>PULSERATE</SourceColumn>
	            <TargetColumn>PULSERATE</TargetColumn>
	            <Subscribe>Y</Subscribe>
	            <Replicate>Y</Replicate>
	            <Key>N</Key>
	         </AddColumn>
	         <AddColumn>
	            <SourceColumn>TEMPERATURE</SourceColumn>
	            <TargetColumn>TEMPERATURE</TargetColumn>
	            <Subscribe>Y</Subscribe>
	            <Replicate>Y</Replicate>
	            <Key>N</Key>
	         </AddColumn>
	         <AddColumn>
	            <SourceColumn>WEIGHT</SourceColumn>
	            <TargetColumn>WEIGHT</TargetColumn>
	            <Subscribe>Y</Subscribe>
	            <Replicate>Y</Replicate>
	            <Key>N</Key>
	         </AddColumn>
	         <AddColumn>
	            <SourceColumn>COMMENT</SourceColumn>
	            <TargetColumn>COMMENT</TargetColumn>
	            <Subscribe>Y</Subscribe>
	            <Replicate>Y</Replicate>
	            <Key>N</Key>
	         </AddColumn>
	      </AddTable>
	   </JdbcSubscription>	
   </AlterJdbcSubscription>
</Root>
 
JDBC サブスクリプションの既存の表の変更
 
この例は、既存のサブスクリプションの既存の表を変更する方法を示しています。
このスクリプトは、レプリケーションおよび同期のための水平フィルター操作
を行う where 文節を変更します。Replicate="TRUE" が指定されているので、
変更が行われる前に既存のミラーがソース・データベースに複製されます。
次に変更が適用され、別のレプリケーションが再度試みられます。
この 2 番目のレプリケーションは、where 文節にエラーがあると失敗します。
その場合、Replicate="FALSE" フラグを指定した別の「AlterJdbcSubscription」
タグを使用して、変更を元に戻す必要があります。
変更が適用された後で、コマンド行 dsyreplicate.bat を使用して
手動で複製することもできます。
 
<?xml version="1.0"?>
<!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting
                                                      /mdas3.dtd">
<Root>
   <AlterJdbcSubscription Replicate="TRUE">
	   <Name>JDBCSUB_2</Name>
	   <JdbcSubscription>
	      <AlterTable>
	         <TargetSchema>DSYSAMPLE</TargetSchema>
	         <TargetTable>VNPERSON</TargetTable>
	         <Table>
 <WhereClauseMirrorToMobile>NAME like :PREFIX</WhereClauseMirrorToMobile>
 <WhereClauseMasterToMirror>NAME like 'A%'</WhereClauseMasterToMirror>
	         </Table>
	      </AlterTable>
	   </JdbcSubscription>
   </AlterJdbcSubscription>
</Root>
 
索引の追加および除去
 
この例は、新規の索引 (IDX1_a) を既存の表に追加し、この表から
既存の索引 (IDX1_b) を除去します。索引に対して MirrorOnly="TRUE" が
指定されていないので、この索引は、このサブスクリプションにサブスクライブ
するターゲット・デバイスにも作成されます。
 
<?xml version="1.0"?>
<!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting
                                                     /mdas3.dtd">
<Root>
   <AlterJdbcSubscription Replicate="FALSE">
	   <Name>JDBCSUB_2</Name>
	   <JdbcSubscription>
	      <AlterTable>
	         <TargetSchema>DSYSAMPLE</TargetSchema>
	         <TargetTable>VNPERSON</TargetTable>
	         <Table>
	            <AddIndex>
	               <Name>IDX1_a</Name>
	               <ColNames>+NAME;</ColNames>
	            </AddIndex>
	            <RemoveIndex>
         			<Name>IDX1_b</Name>
	            </RemoveIndex>
	         </Table>
	      </AlterTable>
	   </JdbcSubscription>
   </AlterJdbcSubscription>
</Root>
 

DataPropagator サブスクリプション

<AddReplMaster> タグはソース・データベース接続情報を定義します。
システム、インスタンス、データベース、およびパスワードは必須です。
<AddReplMirror> タグはミラー・データベース接続情報を定義します。
データベース、ユーザー ID、パスワード、および同期ウィンドウ
(レプリケーション頻度) は必須です。
 
レプリケーション (DPropR) マスターおよびミラーの情報を定義しないと、
DPropR サブスクリプションはそれらのデータベースを参照することができません。
 
<AddDpropRSubscription> タグは同期サーバーでの DPropR サブスクリプションを
定義します。
ソースとミラーのデータベース間のレプリケーションの仕組みが、XML ツールまたは
XML ツールまたは同期サーバーが存在していないかのように Data Propagator
を使用してすでにセットアップされている必要があります。XML ツールは、
同期サーバー特有のセットアップが必要なポイントからピックアップします。
ソースおよびミラーを複製するためにレプリケーション・ソースと
レプリケーション・サブスクリプションをセットアップする方法については、
Data Propagator の資料を参照してください。ミラー表がすでに作成されていないと、
XML ツールを使用して、ここで作成する同期サーバー DPropR サブスクリプション
を介して同期サーバーに DPropr レプリケーション・システムを取り込むことは
できません。
<AddDProprSubscription> タグには、1 つ以上の <AddTable> タグが含まれている必要が
あります。
<AddTable> タグには、<AddColumn> タグを使用して、ミラー表のすべての列をリストし、
各列のレプリケーションと同期のオプションを指定する必要があります。
XML ツールは、DPropR サブスクリプションの場合、ミラー・データベースから表記述を
入手します。これは、このためにソース・データベースを使用する
JDBC サブスクリプションとは異なります。
<SourceSchema> および <SourceTable> は、サブスクライブしているソース・
データベース内の表を識別します。
<TargetSchema> および <TargetTable> は、サブスクライブしているミラー・
データベース内の表を識別します。
これらの名前は、モバイル・デバイスでも使用されます。
<AddTable> タグには、<AddIndex> タグを使用して表列の索引を指定する
場合があります。単純化のために、索引名はシステム全体で固有なものである
必要があります。
 
以下の例では、「DPSUB1」という名前の DPropR サブスクリプションを作成しますが、
ソースとして VNURSE データベースを使用し、ミラーとして M_VNURSE を使用します。
このサブスクリプションには 1 つの表しかなく、その表は複数の列を持ち、
昇順の索引が定義されています
(索引列の前にある「+」は昇順を意味し、「-」は降順を意味します)。
複数列は、1 つの索引に対して「+COL1;-COL2;+COL3」のように指定できます。
 
 
<?xml version="1.0"?>
<!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting
                                                      /mdas3.dtd">
<Root>
   <AddReplMaster>
      <System>SAD_LPT</System>
      <Instance>DB2</Instance>
      <Database>VNURSE</Database>
      <UserId>db2admin</UserId>
      <Password>db2admin</Password>
      <DatabaseAlias>VNURSE</DatabaseAlias>
   </AddReplMaster>
 
   <AddReplMirror>
      <Database>M_VNURSE</Database>
      <UserId>db2admin</UserId>
      <Password>db2admin</Password>
      <SyncWindow>3600</SyncWindow>
   </AddReplMirror>
	
   <AddDproprSubscription Replicate="FALSE">
      <Name>DPSUB1</Name>
      <SubAdapter>DSYDPROPR</SubAdapter>
      <EncryptionLevel>0</EncryptionLevel>
      <Block>N</Block>
      <MasterSystem>SAD_LPT</MasterSystem>
      <MasterInstance>DB2</MasterInstance>
      <MasterDb>VNURSE</MasterDb>
      <MirrorDb>M_VNURSE</MirrorDb>
      <AddTable>
         <TargetSchema>DSYSAMPLE</TargetSchema>
         <TargetTable>VNMEDICALRECORD</TargetTable>
         <SourceSchema>DSYSAMPLE</SourceSchema>
         <SourceTable>VNMEDICALRECORD</SourceTable>
         <DeleteAuth>Y</DeleteAuth>
         <InsertAuth>Y</InsertAuth>
         <UpdateAuth>Y</UpdateAuth>
         <SelectAuth>Y</SelectAuth>
         <WhereClauseMirrorToMobile></WhereClauseMirrorToMobile>
         <WhereClauseMasterToMirror></WhereClauseMasterToMirror>
         <JoinFilter>G</JoinFilter>
         <Order>1</Order>
         <Encrypt>N</Encrypt>
         <AddColumn>
            <SourceColumn>RECORDID</SourceColumn>
            <TargetColumn>RECORDID</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>Y</Key>
         </AddColumn>
         <AddColumn>
            <SourceColumn>DATE_C</SourceColumn>
            <TargetColumn>DATE_C</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>N</Key>
         </AddColumn>
         <AddColumn>
            <SourceColumn>TIME_C</SourceColumn>
            <TargetColumn>TIME_C</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>N</Key>
         </AddColumn>
         <AddColumn>
            <SourceColumn>PATIENTID</SourceColumn>
            <TargetColumn>PATIENTID</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>N</Key>
         </AddColumn>
         <AddColumn>
            <SourceColumn>BLOODPRESSURE</SourceColumn>
            <TargetColumn>BLOODPRESSURE</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>N</Key>
         </AddColumn>
         <AddColumn>
            <SourceColumn>PULSERATE</SourceColumn>
            <TargetColumn>PULSERATE</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>N</Key>
         </AddColumn>
         <AddColumn>
            <SourceColumn>TEMPERATURE</SourceColumn>
            <TargetColumn>TEMPERATURE</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>N</Key>
         </AddColumn>
         <AddColumn>
            <SourceColumn>WEIGHT</SourceColumn>
            <TargetColumn>WEIGHT</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>N</Key>
         </AddColumn>
         <AddColumn>
            <SourceColumn>COMMENT</SourceColumn>
            <TargetColumn>COMMENT</TargetColumn>
            <Subscribe>Y</Subscribe>
            <Replicate>Y</Replicate>
            <Key>N</Key>
         </AddColumn>
      </AddTable>
   </AddDproprSubscription>
</Root>

グループまたはユーザーの作成

<AddGroup> タグは同期サーバーのグループを定義します。同期サーバーを使用してデータを
同期できるユーザーは、既存のグループと関連付けられていなければなりません。
グループはその名前によって識別されます。グループの同期は使用可能または使用不可
にすることができます。1 つのグループは、<AddDataFilter> タグを使用して定義された
1 つ以上のデータ・フィルターを持つことができます。
これらのデータ・フィルターは、水平フィルター操作を行うためのサブスクライブされた
表の where 文節で使用されます。例えば、あるグループは「:CITY」という名前の
データ・フィルターを持つことができます。
表の where 文節では、MYSCHEMA.MYTABLE.CITYCOLUMN=:CITY
といった条件を指定できます。すると、この例の場合、このグループを作成して、
そのユーザーと同期していれば、行 (デフォルトでは
MYSCHEMA.MYTABLE.CITYCOLUMN='SAN JOSE') が選択されます。
個々のユーザーは、自分のグループのデータ・フィルターをオーバーライドして、
異なるデータ・フィルター値を指定することができます。ユーザーは、
そのグループが提供していないデータ・フィルターのオーバーライドはできません。
 
以下の例で、ユーザー「nurse_2」が作成され、「GROUP_2」に割り当てられます。
このユーザーはデータ・フィルター「:CITY」をオーバーライドして、この「nurse_2」
特有の市区町村名を提供します。ただし、このユーザーはデータ・フィルター
「:COUNTRY」はオーバーライドしません。このユーザーはそのグループ「GROUP_2」の
「USA」という値を持つ「:COUNTRY」データ・フィルターを継承します。
 
最後に、「nurse_3」という名前の既存のユーザーがこの新しい
グループ「GROUP_2」に割り当てられます。
 
<?xml version="1.0"?>
<!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting
                                                        /mdas3.dtd">
 
<Root>
   <AddGroup>
      <Name>GROUP_2</Name>
      <Description>A test group</Description>
      <Enabled>Y</Enabled>
      <AddDataFilter>
      	<Name>:CITY</Name>
      	<Value>'SAN JOSE'</Value>
      </AddDataFilter>
      <AddDataFilter>
      	<Name>:COUNTRY</Name>
      	<Value>'USA'</Value>
      </AddDataFilter>
      <IncludeSubscriptionSet>
		<Name>SUBSET_2</Name>
      </IncludeSubscriptionSet>
   </AddGroup>
 
   <AddUser>
      <Name>nurse_2</Name>
      <UserGroup>GROUP_2</UserGroup>
      <Description>A test user</Description>
      <Password>nurse_2</Password>
      <OverrideDataFilter>
      	<Name>:CITY</Name>
      	<Value>SANTA CLARA</Value>
      </OverrideDataFilter>
   </AddUser>
   
   <AlterUser>
		<Name>nurse_3</Name>
		<User>
			<UserGroup>GROUP_2</UserGroup>
		</User>
   </AlterUser>
</Root>
 
同期ユーザーの詳細を変更する別の例:
 
このスクリプトは、nurse_5 という名前のユーザーの記述を変更し、
新規パスワードを設定して、そのユーザーが割り当てられたグループから
そのまま継承したデータ・フィルター :DF1 をオーバーライドします。
そのユーザーの現在のグループに :DF1 というデータ・フィルターがない場合、
このスクリプトは失敗し、この <AlterUser> タグに変更は適用されません。
 
<?xml version="1.0"?>
<!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting/mdas3.dtd">
 
<Root>
   <AlterUser>
      <Name>nurse_5</Name>
      <User>
    	  <Description>A new description.</Description>
	      <Password>nurse5pass</Password>
    	  <OverrideDataFilter>
      		<Name>:DF1</Name>
	      	<Value>-1</Value>
    	  </OverrideDataFilter>
      </User>
   </AlterUser>
</Root>

サブスクリプション・セット

<AddSubscriptionSet> タグは、同期の目的で新規サブスクリプション・セット
を定義します。<IncludeSubscription> タグは、このサブスクリプション・セット
に既存のサブスクリプションを関連付けるのに使用します。この例では、
サブスクリプション・セット SUBSET_2 の内容は JDBCSUB_2 と FILESUB_3 です
(ただしこの例では、JDBCSUB_2 と FILESUB_3 が既存のサブスクリプション
であることを想定しています)。サブスクリプション・セット内のサブスクリプション
の順序は、デフォルトで XML に現れる順序になります。この例では、JDBCSUB_2 は
FILESUB_3 より前に同期します。<Order> タグは、明示的に相対的な順序を指定
するために、<IncludeSubscription> タグの内部で指定することが
できます。
 
<?xml version="1.0"?>
<!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting
                                                       /mdas3.dtd">
<Root>
   <AddSubscriptionSet>
      <Name>SUBSET_2</Name>
      <IncludeSubscription>
      	<Name>JDBCSUB_2</Name>
      </IncludeSubscription>
      <IncludeSubscription>
      	<Name>FILESUB_3</Name>
      </IncludeSubscription>
   </AddSubscriptionSet>
</Root>
 
 
既存のサブスクリプション・セットを変更する例:
 
この例は、「JDBCSUB_4」という名前のサブスクリプション
(JDBCSUB_4 がすでに存在するものと想定します) をサブスクリプション・セット
「SUBSET_2」に追加し、この新規のサブスクリプションをこの
サブスクリプション・セットの最初のサブスクリプションにします。
 
<?xml version="1.0"?>
<!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/xmlscripting
                                                        /mdas3.dtd">
<Root>
   <AlterSubscriptionSet>
      <Name>SUBSET_2</Name>
      <SubscriptionSet>
    	  <IncludeSubscription>
    	  	<Name>JDBCSUB_4</Name>
    	  	<Order>1</Order>
    	  </IncludeSubscription>
      </SubscriptionSet>
   </AlterSubscriptionSet>
</Root>
 

関連した概念

関連したタスク

関連した解説