DTD 生成プログラムは、ローダー・パッケージで使用する文書タイプ定義 (DTD) およびスキーマを作成できます。 DTD 生成プログラムは、データベースのテーブル名を含む入力ファイルを使用して、 DTD、または DTD およびデータベースを記述する詳細 XML ファイル付きのスキーマのいずれかを生成します。どちらが生成されるかは、DTD 生成コマンドの呼び出し方法によって決まります。
例: WebSphere Commerce 5.1 で MALL データベースの選択テーブルの DTD を生成する
TableNames.txt 入力ファイルには、 以下のデータベース・テーブル名が 1 行に 1 つずつ含まれています。
MEMBER
ADDRBOOK
ADDRESS
以下は DTD 生成プログラムがどのように呼び出されるかの例です。
![]()
![]()
![]()
![]()
java com.ibm.wca.DTDGenerator.GenerateDTD -dbname MALL -dbuser db2inst1
-dbpwd db2ibm -outfile wc.dtd -infile TableNames.txt
QWEBCOMM/GENWCSDTD DATABASE(DATABASE_NAME) SCHEMA(MALL)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser)
PASSWD(mypassword) OUTFILE(wc.dtd) INFILE(TableNames.txt)
出力ファイル wc.dtd には以下が含まれます。
<!ELEMENT MALL (( MEMBER | ADDRBOOK | ADDRESS)*)> <!ELEMENT MEMBER EMPTY> <!ATTLIST MEMBER MEMBER_ID CDATA #REQUIRED TYPE CDATA #REQUIRED STATE CDATA #IMPLIED > <!ELEMENT ADDRBOOK EMPTY> <!ATTLIST ADDRBOOK ADDRBOOK_ID CDATA #REQUIRED MEMBER_ID CDATA #REQUIRED TYPE CDATA #IMPLIED DISPLAYNAME CDATA #REQUIRED DESCRIPTION CDATA #IMPLIED > <!ELEMENT ADDRESS EMPTY> <!ATTLIST ADDRESS ADDRESS_ID CDATA #REQUIRED ADDRESSTYPE CDATA #IMPLIED MEMBER_ID CDATA #REQUIRED ADDRBOOK_ID CDATA #REQUIRED ORGUNITNAME CDATA #IMPLIED FIELD3 CDATA #IMPLIED BILLINGCODE CDATA #IMPLIED BILLINGCODETYPE CDATA #IMPLIED STATUS CDATA #IMPLIED ORGNAME CDATA #IMPLIED ISPRIMARY CDATA #IMPLIED LASTNAME CDATA #IMPLIED PERSONTITLE CDATA #IMPLIED FIRSTNAME CDATA #IMPLIED MIDDLENAME CDATA #IMPLIED BUSINESSTITLE CDATA #IMPLIED PHONE1 CDATA #IMPLIED FAX1 CDATA #IMPLIED PHONE2 CDATA #IMPLIED ADDRESS1 CDATA #IMPLIED FAX2 CDATA #IMPLIED NICKNAME CDATA #REQUIRED ADDRESS2 CDATA #IMPLIED ADDRESS3 CDATA #IMPLIED CITY CDATA #IMPLIED STATE CDATA #IMPLIED COUNTRY CDATA #IMPLIED ZIPCODE CDATA #IMPLIED EMAIL1 CDATA #IMPLIED EMAIL2 CDATA #IMPLIED PHONE1TYPE CDATA #IMPLIED PHONE2TYPE CDATA #IMPLIED PUBLISHPHONE1 CDATA #IMPLIED PUBLISHPHONE2 CDATA #IMPLIED BESTCALLINGTIME CDATA #IMPLIED PACKAGESUPPRESSION CDATA #IMPLIED LASTCREATE CDATA #IMPLIED OFFICEADDRESS CDATA #IMPLIED SELFADDRESS CDATA "0" FIELD1 CDATA #IMPLIED FIELD2 CDATA #IMPLIED TAXGEOCODE CDATA #IMPLIED SHIPPINGGEOCODE CDATA #IMPLIED >
例: SAMPLE データベースの EMPLOYEE および STAFF テーブルに対するスキーマおよび詳細 XML ファイルを生成する
この例では、DTD 生成プログラムは以下のようにして、呼び出されます。
![]()
![]()
java com.ibm.wca.DTDGenerator.GenerateDTD -dbname SAMPLE -dbuser johndoe
-dbpwd password -xmlTableDesc c:\sample\sample.xml -outfile tables.dtd
-tablenames "employee,staff"
![]()
![]()
![]()
java com.ibm.wca.DTDGenerator.GenerateDTD -dbname SAMPLE -dbuser johndoe
-dbpwd password -xmlTableDesc usr/sample/sample.xml -outfile tables.dtd
-tablenames "employee,staff"
QWEBCOMM/GENWCSDTD DATABASE(MYDB) SCHEMA(SAMPLE)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser) PASSWD(mypassword)
OUTFILE(tables.dtd) TABNAMES('employee,staff') XMLTABDESC(/sample/sample.xml)
スキーマ・ファイルは sample ディレクトリーに作成され、 そのファイル名は WCAWebForm.xsd です。 sample.xml 出力ファイルの内容は以下のとおりです。
<?xml version="1.0" encoding="UTF-8"?> <formList xmlns="WCAWebForm.xsd" dbname="SAMPLE" dtdname="tables.dtd"> <form name="EMPLOYEE"> <uniqueIndex name="U2" columns="FIRSTNME,LASTNAME"/> <uniqueIndex name="U3" columns="MIDINIT,LASTNAME"/> <field name="EMPNO" type="string" maxlength="6" minOccurs='1' uniqueKey="true" showColumnInList="true" /> <field name="FIRSTNME" type="string" maxlength="32" minOccurs='1' showColumnInList="true" /> <field name="MIDINIT" type="string" maxlength="1" minOccurs='1' showColumnInList="true" /> <field name="LASTNAME" type="string" maxlength="15" minOccurs='1'showColumnInList="true" /> <field name="WORKDEPT" type="string" maxlength="3" showColumnInList="true" /> <field name="PHONENO" type="string" maxlength="4"/> <field name="HIREDATE" type="date" maxlength="10"/> <field name="JOB" type="string" maxlength="8"/> <field name="EDLEVEL" type="integer" maxlength="5" minOccurs='1' /> <field name="SEX" type="string" maxlength="1"/> <field name="BIRTHDATE" type="date" maxlength="10"/> <field name="SALARY" type="decimal" maxlength="9"/> <field name="BONUS" type="decimal" maxlength="9"/> <field name="COMM" type="decimal" maxlength="9"/> </form> <form name="STAFF"> <field name="ID" type="integer" maxlength="5" minOccurs='1' uniqueKey="true" showColumnInList="true" /> <field name="NAME" type="string" maxlength="9" showColumnInList="true" /> <field name="DEPT" type="integer" maxlength="5" showColumnInList="true" /> <field name="JOB" type="string" maxlength="5" showColumnInList="true" /> <field name="YEARS" type="integer" maxlength="5" showColumnInList="true" /> <field name="SALARY" type="decimal" maxlength="7"/> <field name="COMM" type="decimal" maxlength="7"/> </form> </formList>
![]() |