DTD Generator puede crear una Definición de Tipo de Documento (DTD) y un esquema para utilizarlos con Loader package. DTD Generator utiliza un archivo de entrada que contiene nombres de tablas de base de datos y genera una DTD o una DTD y un esquema con un archivo XML detallado que describe la base de datos, dependiendo de cómo se invoca el mandato DTD Generate.
Ejemplo: Generar una DTD para tablas seleccionadas de la base de datos MALL en WebSphere Commerce 5.1
El archivo de entrada TableNames.txt contiene los nombres de tabla de base de datos siguientes, uno en cada línea:
MEMBER
ADDRBOOK
ADDRESS
A continuación se muestra un ejemplo de cómo puede invocarse DTD Generator:
![]()
![]()
![]()
![]()
java com.ibm.wca.DTDGenerator.GenerateDTD -dbname MALL -dbuser db2inst1
-dbpwd db2ibm -outfile wc.dtd -infile TableNames.txt
QWEBCOMM/GENWCSDTD DATABASE(NOMBRE_BASEDATOS) SCHEMA(MALL)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser)
PASSWD(micontraseña) OUTFILE(wc.dtd) INFILE(TableNames.txt)
El archivo de salida wc.dtd contiene lo siguiente:
<!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 >
Ejemplo: generar un esquema y un archivo XML detallado para las tablas EMPLOYEE y STAFF de la base de datos SAMPLE
En este ejemplo, DTD Generator se invoca de la manera siguiente:
![]()
![]()
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(MIBD) SCHEMA(SAMPLE)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser) PASSWD(micontraseña)
OUTFILE(tables.dtd) TABNAMES('employee,staff') XMLTABDESC(/sample/sample.xml)
El archivo de esquema se crea en el directorio sample con el nombre WCAWebForm.xsd. El archivo de salida sample.xml contiene lo siguiente:
<?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>
![]() |