Eine DTD und ein Schema generieren

Der DTD Generator erstellt eine DTD (Document Type Definition) und ein Schema zur Verwendung mit dem Loader-Paket. Der DTD Generator verwendet eine Eingabedatei, die Datenbanktabellen enthält, und generiert entweder eine DTD oder eine DTD und ein Schema mit einer detaillierten XML-Datei, die die Datenbank beschreibt (abhängig davon, wie Sie den Befehl 'DTD Generate' aufrufen).

Beispiel: Eine DTD für ausgewählte Tabellen der Datenbank MALL unter WebSphere Commerce Suite 5.1 generieren

Die Eingabedatei TableNames.txt enthält die folgenden Datenbanktabellennamen in jeweils einer Zeile:

MEMBER
ADDRBOOK
ADDRESS

Nachfolgend finden Sie ein Beispiel, wie der DTD Generator aufgerufen werden kann:

Windows NT Windows 2000 AIX Solaris Linux
java com.ibm.wca.DTDGenerator.GenerateDTD -dbname MALL -dbuser db2inst1
-dbpwd db2ibm -outfile wc.dtd -infile TableNames.txt

iSeries
QWEBCOMM/GENWCSDTD DATABASE(DATABASE_NAME) SCHEMA(MALL)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser)
PASSWD(mypassword) OUTFILE(wc.dtd) INFILE(TableNames.txt)

Die Ausgabedatei wc.dtd enthält Folgendes:

  <!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
  >

Beispiel: Ein Schema und eine detaillierte XML-Datei für die Tabellen EMPLOYEE und STAFF der Datenbank SAMPLE generieren

In diesem Beispiel wird der DTD Generator wie folgt aufgerufen:

Windows NT Windows 2000
java com.ibm.wca.DTDGenerator.GenerateDTD -dbname SAMPLE -dbuser johndoe
-dbpwd password -xmlTableDesc c:\sample\sample.xml -outfile tables.dtd
-tablenames "employee,staff"

AIX Solaris Linux
java com.ibm.wca.DTDGenerator.GenerateDTD -dbname SAMPLE -dbuser johndoe
-dbpwd password -xmlTableDesc usr/sample/sample.xml -outfile tables.dtd
-tablenames "employee,staff"

iSeries
QWEBCOMM/GENWCSDTD DATABASE(MYDB) SCHEMA(SAMPLE)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser) PASSWD(mypassword)
OUTFILE(tables.dtd) TABNAMES('employee,staff') XMLTABDESC(/sample/sample.xml)

Die Schemadatei wird im Verzeichnis sample erstellt und hat den Dateinamen WCAWebForm.xsd. Die Ausgabedatei sample.xml enthält Folgendes:

  <?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>

Verwandte Konzepte

Verwandte Aufgaben

Verwandte Referenzen

IBM Copyright