Uso de InfoSphere Data Architect para importar y exportar el modelo de datos XML

Creación de archivos XML desde InfoSphere Data Architect, y creación de modelos de datos desde archivos XML

Los archivos XML son utilizados en el desarrollo de software y la administración de información para describir estructuras de datos. Este artículo muestra cómo convertir archivos XML en modelos de datos, y viceversa, con la ayuda de IBM® InfoSphere® Data Architect.

Davor Gornik, Product Manager, IBM

Davor comenzó su carrera como desarrollador y arquitecto de software en los primeros años de CASE, 4GL, y UNIX. Su experiencia con las tecnologías se extendió a OO, UML, IE, SOA, RDBMS, II, y otros acrónimos (lo cual explica porqué sus escrituras no contienen ninguna abreviatura de tres letras inexplicada.) Ahora es administrador de productos de IBM y trabaja con el Common AD Tooling and DB Administration group. Fuera del trabajo, viaja por el mundo y posee un gran historial de reubicaciones internacionales, y muchas historias para contar sobre las diferentes partes del mundo -- desde San Marino hasta China, incluyendo la mayoría de los continentes. Entre sus otros hobbies se encuentran la fotografía, la remodelación, el voleibol, y otros deportes.



Rishiraj Barthakur, System Software Engineer, IBM

Rishiraj Barthakur photoRishiraj Barthakur trabaja como Ingeniero en sistemas de software para IBM Data Studio - Common Application Development Team. Durante los últimos dos años ha mantenido y desarrollado InfoSphere Data Architect para IBM.



05-01-2010 (Primera publicación 05-01-2010)

Introducción

InfoSphere Data Architect proporciona herramientas que pueden reducir ampliamente el tiempo necesario para el diseño y el desarrollo. Este software, creado en la plataforma de fuente abierta Eclipse, ayuda a los arquitectos de datos a modelar, descubrir, mapear, y analizar datos a través de múltiples fuentes de información, y a automatizar la integración de información en entornos complejos.

Con InfoSphere Data Architect 7.5.2 y Fix Pack 2, usted puede importar documentos XML Document Type Definition (DTD) y XML Schema Definition (XSD) como modelos de datos lógicos. Sin embargo, usted no puede importar estos documentos como modelos físicos porque los modelos de datos físicos en InfoSphere Data Architect requieren la determinación de una base de datos, que no forma parte de la importación.

Las funciones de importación y exportación soportan varios formatos XML. Los más importantes son presentados en la siguiente tabla:

Descripción deFormato
XML DTDUn documento que define la estructura XML básica con relaciones de contención entre ellos
XML XSDUna especificación más precisa de estructura, tipos de datos, y reglas para un documento XML
Object Management Group (OMG) CWMEspecificación Common Warehouse Model (CWM) para el esquema de una base de datos en XML

Los formatos DTD y XSD son básicamente extractos desde una estructura XML y son comúnmente utilizados en cualquier lugar donde se encuentran los documentos XML. El formato CWM es una descripción completa de modelos con más detalles, como restricciones detalladas, relaciones complejas, y super y sub tipos. CWM generalmente es utilizado por herramientas como un formato de importación/exportación y es creado manualmente sólo en casos excepcionales.

Configuración de InfoSphere Data Architect

Para seguir las instrucciones de este artículo, necesita una versión activa de InfoSphere Data Architect 7.5.2 con Fix Pack 2. Usted debe realizar varios cambios de configuración para permitir las interfaces de importación y exportación de XML en InfoSphere Data Architect, así que comencemos.

Permitiendo la importación de XML DTD

Suponiendo que ha instalado InfoSphere Data Architect en C:\Program Files\IBM\IDA7.5.2.2, usted debe cambiar los parámetros de configuración en el archivo siguiente para permitir el soporte de XML DTD:

C:\Program Files\IBM\SDPShared\plugins\com.ibm.datatools.metadata.wizards.miti.win32_1.0.3.v20100320_1502\MetaIntegration\conf\MIRModelBridges.xml

Encuentre el elemento Bridge con la id W3cXmlDtd, y modifíquelo de la siguiente forma:

<Bridge id='W3cXmlDtd' enabled='True' windowsOnly='False'>
    <DisplayName id='' enabled='True'>XML DTD 1.0 (W3C)</DisplayName> 
</Bridge>

Solamente la importación es soportada por los documentos XML DTD.

Permitiendo la importación/exportación de XML XSD

Suponiendo que ha instalado InfoSphere Data Architect en C:\Program Files\IBM\IDA7.5.2.2, usted debe cambiar los parámetros de configuración en el archivo siguiente para permitir el soporte de XML XSD:

C:\Program Files\IBM\SDPShared\plugins\com.ibm.datatools.metadata.wizards.miti.win32_1.0.3.v20100320_1502\MetaIntegration\conf\MIRModelBridges.xml

En la sección <import> del archivo, encuentre el elemento Bridge con la id W3cXmlXsd, y modifíquelo de la siguiente forma:

<Bridge id='W3cXmlXsd' enabled='True' windowsOnly='False'>
    <DisplayName id='' enabled='True'>W3C XML Schema 1.0 (XSD)</DisplayName>
    <DisplayName id='W3cXmlXsdImport.MicrosoftXdr' enabled='False'>
        Microsoft SQL Server XML Data Reduced (XDR) Schema </DisplayName>
</Bridge>

Aunque las especificaciones de W3C y Microsoft® son similares, estas no son idénticas. Asegúrese de seleccionar la que necesita.

En la sección <export> del archivo, encuentre el elemento Bridge con la id W3cXmlXsd, y cámbiela de la siguiente forma:

<Bridge id='W3cXmlXsd' enabled='True' windowsOnly='False'>
    <DisplayName id='' enabled='True'>W3C XML Schema 1.0 (XSD)</DisplayName>
    <DisplayName id='W3cXmlXsdExport.AltovaXmlSpy' enabled='False'>
        Altova XMLSpy</DisplayName>
    <DisplayName id='W3cXmlXsdExport.SybasePowerDesignerXsm' enabled='False'>
        Sybase PowerDesigner XSM 10.x to 15.x</DisplayName>
</Bridge>

Permitiendo la importación/exportación de OMG CMW

Suponiendo que ha instalado InfoSphere Data Architect en C:\Program Files\IBM\IDA7.5.2.2, usted debe cambiar los parámetros de configuración en el archivo siguiente para permitir el soporte de OMG CWM:

C:\Program Files\IBM\SDPShared\plugins\com.ibm.datatools.metadata.wizards.miti.win32_1.0.3.v20100320_1502\MetaIntegration\conf\MIRModelBridges.xml

En la sección <import> del archivo, encuentre el elemento Bridge con la id OmgCwmXmi, y modifíquelo de la siguiente manera:

<Bridge id='OmgCwmXmi' enabled='True' windowsOnly='False'>
    <DisplayName id='' enabled='True'>OMG CWM 1.x XMI 1.x</DisplayName>
    <DisplayName id='OmgCwmXmiImport.HyperionApplicationBuilder' enabled='True'>
        Oracle Hyperion Application Builder (via CWM XMI)</DisplayName>
    <DisplayName id='OmgCwmXmiImport.IbmDb2WarehouseManager' enabled='True'>I
        BM DB2 Warehouse Manager (via CWM XMI)</DisplayName>
    <DisplayName id='OmgCwmXmiImport.OracleWarehouseBuilder' enabled='True'>
        Oracle Warehouse Builder (via CWM XMI)</DisplayName>
    <DisplayName id='OmgCwmXmiImport.SasDataIntegrationStudio' enabled='True'>
        SAS Data Integration Studio (via CWM XMI)</DisplayName>
</Bridge>

En la sección <export> del archivo, encuentre el elemento Bridge con la id OmgCwmXmi, y cámbielo de la siguiente forma:

<Bridge id='OmgCwmXmi' enabled='True' windowsOnly='False'>
    <DisplayName id='' enabled='True'>OMG CWM 1.x XMI 1.x</DisplayName>
    <DisplayName id='OmgCwmXmiexport.HyperionApplicationBuilder' enabled='True'>
        Oracle Hyperion Application Builder (via CWM XMI)</DisplayName>
    <DisplayName id='OmgCwmXmiexport.IbmDb2WarehouseManager' enabled='True'>I
        BM DB2 Warehouse Manager (via CWM XMI)</DisplayName>
    <DisplayName id='OmgCwmXmiexport.OracleWarehouseBuilder' enabled='True'>
        Oracle Warehouse Builder (via CWM XMI)</DisplayName>
    <DisplayName id='OmgCwmXmiexport.SasDataIntegrationStudio' enabled='True'>
        SAS Data Integration Studio (via CWM XMI)</DisplayName>
</Bridge>

Los nombres que se muestran a continuación son sólo de muestra. Permita los nombres visualizados según la herramienta que utiliza.


Pasos necesarios para la importación

Para comenzar la operación de importación con InfoSphere Data Architect, seleccione File > Import.

De la lista visualizada de los filtros de importación, seleccione Data Model Import Wizard, como se muestra en la Figura 1. Este paso inicia el asistente que le permite especificar lo que desea importar, el formato de la importación, y el resultado esperado.

Figura 1. Cuadro de diálogo para la selección de la importación
Cuadro de diálogo para la selección de la importación

Selección de los parámetros

Como se observa en la Figura 2, el panel para seleccionar el modelo requiere que usted realice las selección o entrada de cada parámetro. Los parámetros son descriptos debajo de la figura.

Figura 2. Selección de los parámetros de importación
Cuadro de diálogo de los parámetros
Formato del modelo
El tipo de modelo de entrada. En este caso, el archivo de entrada (modelo) se encuentra en formato XML DTD 1.0 tal como ha sido definido por la organización de W3C.
Modelo
La ruta completa del archivo fuente (modelo). Usted puede utilizar Browse... para localizar el archivo.
Proyecto destino
Nombre del proyecto en el espacio de trabajo actual donde le gustaría ver los resultados. Usted puede utilizar Browse... para localizar el proyecto.
Tipo de modelo
El tipo de resultado. Las opciones disponibles son modelo lógico, modelo físico, o reconocimiento automático por la importación. En este caso se selecciona sólo lógico.
Nombre del archivo
Nombre del modelo resultante. En este caso, un modelo lógico denominado ofxdtd.ldm será creado en el proyecto destino seleccionado.

Como se observa en la Figura 3, use el panel de selección de opciones para especificar los parámetros detallados sobre la importación. Los parámetros son descriptos debajo de la figura.

Figura 3. determinación de opciones de importación
Determinación de las opciones de importación
Nombre de contenido de los elementos
Define que elemento será mapeado a un atributo. En este caso, todos los elementos definidos como #PCDATA serán transformados a un atributo.
Nivel de contracción
Brinda la oportunidad de contraer varios elementos en uno. Esto reduce la cantidad de entidades.
Collapse Star
Filtra los elementos DTD con un enlace ("*") desde la generación.
Tipo de clase
Define si una entidad será creada al contraer la información de entrada.
Any
Especifica si el concepto "Any" de XML dará como resultado una entidad.
Genera IDs
Genera claves primarias adicionales de ser necesario.
Importa subtitutionGroup como
Le permite especificar si la herencia es representada como una generalización o si los atributos heredados son copiados (bajados) en la subclase. Especifique Generalization para representar la herencia como generalización. Especifique Roll down para bajar los atributos del padre complexType al hijo complexType.
Incluye la ruta
Le permite especificar una ruta a un directorio que contiene los archivos del esquema incluido. Esta opción puede ser útil al importar un esquema compuesto de varios archivos XSD incluidos. La ruta del directorio debe poder localizarse en la máquina que ejecuta el puente. Si el puente se ejecuta localmente, siempre buscará el directorio al que se refiere el parámetro del archivo. Si el puente se ejecuta en un servidor remoto (MIRWeb o depósito de importación), a esta ruta se debe poder acceder directamente desde el servidor.
Espacio de nombre UDP
Nombre completo del espacio de nombre que contiene atributos a importar como user defined properties (UDP).

Además de usar los parámetros descriptos más arriba, usted puede también influir en el flujo de trabajo con las siguientes opciones:

Validity check
Define el nivel de las verificaciones ejecutadas antes de la importación (básica, detallada, o ninguna). Se recomienda ejecutar al menos algunas verificaciones de valides.
Target database
Define el tipo de base de datos destino para los modelos físicos.

Evaluación de los resultados

Tras la finalización de la ejecución de la importación, usted debería siempre evaluar el estado que se muestra en el panel de resumen y buscar la información importante. Puede observarse un ejemplo en la Figura 4.

Figura 4. Evaluación del resumen
Evaluación del resumen

Siguiendo las descripciones de los tipos de mensajes incluidos en el panel Resumen:

<INFO>
Mensaje de información sobre la configuración o finalización de una actividad.
<STATUS>
Mensaje de información sobre el progreso de una actividad. Estos mensajes son escritos después de cada frase de actividades largas.
<WARNING>
Informa que se ha encontrado un problema menor (por ejemplo, un enlace perdido en la fuente), o sobre el modelo generado (por ejemplo, los diagramas no contienen información). Warnings generalmente significa que usted debería verificar la parte del modelo a la que se refiere la advertencia y validar el contenido, o que ha realizado un paso manual en la herramienta después de que la importación finalizó.
<ERROR>
Mensaje que tiene efectos serios en el modelo resultante. Un concepto no se ha comprendido, la fuente no pudo ser validada, o la fuente no pudo ser abierta.
<FATAL>
La herramienta de importación falló y no pudo crear ningún resultado.

Pasos necesarios para la exportación

Para iniciar una operación de exportación con InfoSphere Data Architect, seleccione File > Export.

De la lista visualizada de filtros de exportación, seleccione Data Model Export Wizard.

Selección de los parámetros

El procedimiento para seleccionar los parámetros para la exportación es idéntico al procedimiento de la importación necesario para laSelección de los parámetros.

Evaluación de los resultados

El procedimiento para evaluar los resultados de la exportación es el mismo que el procedimiento de la importación necesario para la Evaluación de los resultados.


Ejemplo de importación del esquema XML

Esta sección le proporciona un ejemplo de la importación de un esquema XML. Comience con el archivo XML en el Listado 1.

Listado 1. Esquema fuente XML
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="com.ibm.test.employee"
targetNamespace="com.ibm.test.employee">
  <xs:complexType name="DEPARTMENT">
    <xs:attribute name="DEPT_NBR" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="3" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="DEPT_NAME" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="29" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="MANAGER_ID">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="6" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="ADMR_DEPT_ID" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="3" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="LOCATION_NAME">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="16" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="EMPLOYEE">
    <xs:attribute name="EMP_NBR" use="required" type="xs:short">
    </xs:attribute>
    <xs:attribute name="FIRST_NAME" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="12" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="MID_INIT" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="1" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="LAST_NAME" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="15" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="WORK_DEPT_NBR">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="3" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="PHONE_NBR">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="4" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="HIRED_DATE" type="xs:date">
    </xs:attribute>
    <xs:attribute name="JOB_CLASS">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="8" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="ED_LEVEL" use="required" type="xs:short">
    </xs:attribute>
    <xs:attribute name="SEX_CLASS">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="1" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="BIRTH_DATE" type="xs:date">
    </xs:attribute>
    <xs:attribute name="CURRENT_SALARY">
      <xs:simpleType>
        <xs:restriction base="xs:decimal">
          <xs:totalDigits value="9" />
          <xs:fractionDigits value="2" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="CURRENT_BONUS">
      <xs:simpleType>
        <xs:restriction base="xs:decimal">
          <xs:totalDigits value="9" />
          <xs:fractionDigits value="2" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="CURRENT_COMM">
      <xs:simpleType>
        <xs:restriction base="xs:decimal">
          <xs:totalDigits value="9" />
          <xs:fractionDigits value="2" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="EMPLOYEE_PROJECT">
    <xs:attribute name="EMP_NBR" use="required" type="xs:integer">
    </xs:attribute>
    <xs:attribute name="PROJ_NBR" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="6" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="EMP_CHARGED_TIME">
      <xs:simpleType>
        <xs:restriction base="xs:decimal">
          <xs:totalDigits value="5" />
          <xs:fractionDigits value="2" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="EMP_START_DATE" type="xs:date">
    </xs:attribute>
    <xs:attribute name="EMP_END_DATE" type="xs:date">
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="PROJECT">
    <xs:attribute name="PROJ_NBR" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="6" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="Project_Name">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="5" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
  <xs:element name="DEPARTMENT" type="DEPARTMENT">
    <xs:annotation>
      <xs:documentation></xs:documentation>
    </xs:annotation>
    <xs:key name="DEPARTMENT_PK">
      <xs:selector xpath=".//DEPARTMENT" />
      <xs:field xpath="@DEPT_NBR" />
    </xs:key>
  </xs:element>
  <xs:element name="EMPLOYEE" type="EMPLOYEE">
    <xs:annotation>
      <xs:documentation></xs:documentation>
    </xs:annotation>
    <xs:key name="EMPLOYEE_PK">
      <xs:selector xpath=".//EMPLOYEE" />
      <xs:field xpath="@EMP_NBR" />
    </xs:key>
  </xs:element>
  <xs:element name="EMPLOYEE_PROJECT" type="EMPLOYEE_PROJECT">
    <xs:annotation>
      <xs:documentation></xs:documentation>
    </xs:annotation>
    <xs:key name="EMP_ACT_PK">
      <xs:selector xpath=".//EMPLOYEE_PROJECT" />
      <xs:field xpath="@EMP_NBR" />
      <xs:field xpath="@PROJ_NBR" />
    </xs:key>
  </xs:element>
  <xs:element name="PROJECT" type="PROJECT">
    <xs:annotation>
      <xs:documentation></xs:documentation>
    </xs:annotation>
    <xs:key name="PROJECT_PK">
      <xs:selector xpath=".//PROJECT" />
      <xs:field xpath="@PROJ_NBR" />
    </xs:key>
  </xs:element>
</xs:schema>dddddw

Para iniciar la operación de importación, seleccione File > Import.

De la lista visualizada de filtros de importación, seleccione Asistente de importación de modelos de datos, como se observa en la Figura 5.

Figura 5. Asistente de importación de modelos de datos
Asistente de importación de modelos de datos

Como se puede observar en la Figura 6, desde el panel de selección del modelo, seleccione el esquema XML para el formato del modelo, y defina el archivo de importación como el modelo. Para el proyecto destino, proporcione la ubicación para el modelo lógico de datos que será creado con el nombre employee1.

Figura 6. Definición de los parámetros de la importación
Definición de los parámetros de importación

Como se puede observar en la Figura 7, desde el panel de selección de opciones acepte todas las opciones por omisión para el modelo de importación.

Figura 7. Determinación de las opciones de importación
Determinación de las opciones de importación

Como se puede observar en la Figura 8, los mensajes en el panel Resumen confirman que la operación de importación ha sido exitosa.

Figura 8. Evaluación de los mensajes resultantes
Evaluación de los mensajes resultantes

La Figura 9 muestra el modelo de datos lógico resultante.

Figura 9. Modelo lógico de datos resultante
Modelo lógico de datos resultante

Ejemplo de exportación de modelo lógico de datos

En esta sección se ofrece un ejemplo de exportación de modelo lógico de datos en la Figura 10. El modelo lógico de datos contiene cuatro entidades con varios atributos. Todas las entidades poseen tipos de datos asignados. Hay además tres relaciones diferentes entre las entidades.

Figura 10. Modelo lógico de datos existente
Modelo lógico de datos existente

Para comenzar la operación de exportación, seleccione File > Export.

Desde la lista visualizada de filtros de exportación, seleccione Asistente de importación de modelos de datos, tal como se observa en la Figura 11.

Figura 11. Iniciar el Asistente de exportación del modelo de datos
Asistente de exportación del modelo de datos

Como se puede observar en la Figura 12, desde el panel de selección del modelo seleccione W3C XSD como el formato del modelo para la exportación.

Figura 12. Determinación de los parámetros de la exportación
Determinación de los parámetros de la exportación

Como se puede observar en la Figura 13, desde el panel de selección de opciones especifique com.ibm.com.test.employee como el espacio del nombre destino. Use los valores por omisión para todos los demás parámetros.

Figura 13. Definición de las opciones de exportación
Definición de las opciones de exportación

Como se puede observar en la Figura 14, los mensajes en el panel Resumen confirman que la operación de exportación ha sido exitosa.

Figura 14. Evaluación de los resultados de la exportación
Asistente de exportación del modelo de datos

El Listado 2 muestra el esquema XML que resulta de la operación de exportación.

Listado 2. Esquema XML resultante
<?xml version="1.0" encoding="utf-8"?>
<!-- This file was generated by W3C XML/XSD -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="com.ibm.com.test.employee"
targetNamespace="com.ibm.com.test.employee">
  <xs:complexType name="DEPARTMENT">
    <xs:sequence>
      <xs:element ref="EMPLOYEE" minOccurs="0" maxOccurs="1">
      </xs:element>
    </xs:sequence>
    <xs:attribute name="DEPT_NBR" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="3" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="DEPT_NAME" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="29" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="MANAGER_ID">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="6" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="ADMR_DEPT_ID" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="3" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="LOCATION_NAME">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="16" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="EMPLOYEE">
    <xs:sequence>
      <xs:element ref="EMPLOYEE_PROJECT" minOccurs="0" maxOccurs="1">
      </xs:element>
    </xs:sequence>
    <xs:attribute name="EMP_NBR" use="required" type="xs:short">
    </xs:attribute>
    <xs:attribute name="FIRST_NAME" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="12" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="MID_INIT" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="1" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="LAST_NAME" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="15" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="WORK_DEPT_NBR">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="3" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="PHONE_NBR">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="4" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="HIRED_DATE" type="xs:date">
    </xs:attribute>
    <xs:attribute name="JOB_CLASS">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="8" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="ED_LEVEL" use="required" type="xs:short">
    </xs:attribute>
    <xs:attribute name="SEX_CLASS">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="1" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="BIRTH_DATE" type="xs:date">
    </xs:attribute>
    <xs:attribute name="CURRENT_SALARY">
      <xs:simpleType>
        <xs:restriction base="xs:decimal">
          <xs:totalDigits value="9" />
          <xs:fractionDigits value="2" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="CURRENT_BONUS">
      <xs:simpleType>
        <xs:restriction base="xs:decimal">
          <xs:totalDigits value="9" />
          <xs:fractionDigits value="2" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="CURRENT_COMM">
      <xs:simpleType>
        <xs:restriction base="xs:decimal">
          <xs:totalDigits value="9" />
          <xs:fractionDigits value="2" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="EMPLOYEE_PROJECT">
    <xs:attribute name="EMP_NBR" use="required" type="xs:integer">
    </xs:attribute>
    <xs:attribute name="PROJ_NBR" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="6" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="EMP_CHARGED_TIME">
      <xs:simpleType>
        <xs:restriction base="xs:decimal">
          <xs:totalDigits value="5" />
          <xs:fractionDigits value="2" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="EMP_START_DATE" type="xs:date">
    </xs:attribute>
    <xs:attribute name="EMP_END_DATE" type="xs:date">
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="PROJECT">
    <xs:sequence>
      <xs:element ref="EMPLOYEE_PROJECT" minOccurs="0" maxOccurs="1">
      </xs:element>
    </xs:sequence>
    <xs:attribute name="PROJ_NBR" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="6" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="Project_Name">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="5" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
  <xs:element name="DEPARTMENT" type="DEPARTMENT">
    <xs:annotation>
      <xs:documentation></xs:documentation>
    </xs:annotation>
    <xs:key name="DEPARTMENT_PK">
      <xs:selector xpath=".//DEPARTMENT" />
      <xs:field xpath="@DEPT_NBR" />
    </xs:key>
  </xs:element>
  <xs:element name="EMPLOYEE" type="EMPLOYEE">
    <xs:annotation>
      <xs:documentation></xs:documentation>
    </xs:annotation>
    <xs:key name="EMPLOYEE_PK">
      <xs:selector xpath=".//EMPLOYEE" />
      <xs:field xpath="@EMP_NBR" />
    </xs:key>
  </xs:element>
  <xs:element name="EMPLOYEE_PROJECT" type="EMPLOYEE_PROJECT">
    <xs:annotation>
      <xs:documentation></xs:documentation>
    </xs:annotation>
    <xs:key name="EMP_ACT_PK">
      <xs:selector xpath=".//EMPLOYEE_PROJECT" />
      <xs:field xpath="@EMP_NBR" />
      <xs:field xpath="@PROJ_NBR" />
    </xs:key>
  </xs:element>
  <xs:element name="PROJECT" type="PROJECT">
    <xs:annotation>
      <xs:documentation></xs:documentation>
    </xs:annotation>
    <xs:key name="PROJECT_PK">
      <xs:selector xpath=".//PROJECT" />
      <xs:field xpath="@PROJ_NBR" />
    </xs:key>
  </xs:element>
</xs:schema>

Resumen

XML es el modelo actual para la serialización de información. InfoSphere Data Architect le permite serializar los modelos de datos y crear modelos de datos desde la información serializada. Esta capacidad le permite integrar InfoSphere Data Architect a su flujo de trabajo. Además de las capacidades de importación y exportación tratadas en este artículo, InfoSphere Data Architect brinda funcionalidad adicional relacionada con XML, por ejemplo mapeos, fragmentación, y edición de esquemas XML. Usted puede encontrar más información sobre estas funciones en las páginas de información del producto.

Recursos

Aprender

Obtener los productos y tecnologías

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Information mgmt, Rational
ArticleID=606217
ArticleTitle=Uso de InfoSphere Data Architect para importar y exportar el modelo de datos XML
publish-date=01052010