跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

使用 InfoSphere Data Architect 导入和导出 XML

从 InfoSphere Data Architect 创建 XML 文件,从 XML 文件创建数据模型

Davor Gornik, 产品经理, IBM
Davor Gornik 照片
Davor 在 CASE、4GL 和 UNIX 早期就开始了他的软件开发人员事业。他的技术经验扩展到 OO、UML、IE、SOA、RDBMS、IT 等领域。(这也是他的文章不包含任何未经解释的三字母缩写的原因。)他目前是 IBM 的产品经理,隶属于 Common AD Tooling and DB Administration 小组。工作之外,他是一位世界公民,长期以来四处漂泊,有许多关于世界各地的故事 — 从圣马力诺到中国,足迹遍布大多数大洲。他的爱好有摄影、重塑(remodeling)、排球、以及其他运动。
Rishiraj Barthakur, 系统软件工程师, IBM
Rishiraj Barthakur 照片
Rishiraj Barthakur 目前担任 IBM Data Studio - Common Application Development Team 的系统软件工程师。在过去两年里,他一直在为 IBM 维护和开发 InfoSphere Data Architect。

简介: XML 文件用于在整个软件开发和信息管理中描述数据结构。本文展示如何借助 IBM® InfoSphere® Data Architect 将 XML 文件转换为数据模型,以及从数据模型转换为 XML 文件。

发布日期: 2010 年 12 月 13 日 (最初发布 2006 年 11 月 29 日)
级别: 中级 原创语言: 英文
访问情况 : 3379 次浏览
评论: 


简介

InfoSphere Data Architect 提供一些可以极大地减少设计和开发时间的工具。这个软件构建于开源 Eclipse 平台上,用于帮助数据架构师跨多个信息源建模、发现、映射和分析数据,以及自动化复杂环境中的信息集成。

使用 InfoSphere Data Architect 7.5.2 和 Fix Pack 2,可以将 XML Document Type Definition (DTD) 和 XML Schema Definition (XSD) 文档作为逻辑数据模型导入。但是,这些文档不能作为物理模型导入,原因是 InfoSphere Data Architect 中的物理数据模型需要一个数据库规范,而这部分没有导入。

导入和导出功能支持各种 XML 格式。最重要的格式如下表所示:

格式说明
XML DTD使用它们之间的包容关系来定义基本 XML 结构的文档
XML XSD一个用于 XML 文档的更精确的结构、数据类型和规则的规范
Object Management Group (OMG) CWM针对 XML 中的一个数据库架构的 Common Warehouse Model (CWM) 规范

DTD 和 XSD 格式基本上从一个 XML 结构提取,广泛用于 XML 文档所在之处。CWM 格式是包含更多细节的完整模型说明,这些细节比如详细的约束、复杂关系、超级类型和子类型等。CWM 通常被工具用作导入/导出格式,只在异常情况下手动创建。

InfoSphere Data Architect 配置

要跟随本文操作,您需要一个 InfoSphere Data Architect 7.5.2 with Fix Pack 2 工作版本。您需要进行几个配置更改来启用 InfoSphere Data Architect 中的 XML 导入导出界面,现在就开始吧。

启用 XML DTD 导入

假定您在 C:\Program Files\IBM\IDA7.5.2.2 中安装了 InfoSphere Data Architect,您需要更改下面的文件中的配置参数来启用 XML DTD 支持:

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

找到 id 为 W3cXmlDtdBridge 元素,然后更改如下:

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

只支持 XML DTD 文档导入。

启用 XML XSD 导入/导出

假定您的 InfoSphere Data Architect 安装在 C:\Program Files\IBM\IDA7.5.2.2 中,您需要更改以下文件中的配置参数以启用 XML XSD 支持:

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

在文件的 <import> 部分,找到 id 为 W3cXmlXsdBridge 元素,更改如下:

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

尽管 W3C 和 Microsoft® 规范相似,但它们并不相同。请务必选择您需要的规范。

在文件的 <export> 部分,找到 id 为 W3cXmlXsdBridge 元素,更改如下:

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

启用 OMG CMW 导入/导出

假定您的 InfoSphere Data Architect 安装在 C:\Program Files\IBM\IDA7.5.2.2 中,您需要更改以下文件中的配置参数以启用 OMG CWM 支持:

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

在文件的 <import> 部分,找到 id 为 OmgCwmXmiBridge 元素,更改如下:

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

在文件的 <export> 部分,找到 id 为 OmgCwmXmiBridge 元素,更改如下:

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

上面展示的名称只是一些样例。根据您使用的工具启用显示的名称。


必要的导入步骤

要使用 InfoSphere Data Architect 启动一个导入操作,选择 File > Import

从导入过滤器的显示列表中,选择 Data Model Import Wizard,如 图 1 所示。 这个步骤启动的向导允许您指定要导入的数据模型、导入的格式、以及预期结果。


图 1. Import selection 对话框
Import selection 对话框

选择参数

图 2 所示,Select the Model 面板要求您为每个参数选择选项或者进行输入。这些参数如下图所示。


图 2. 导入参数选择
参数对话框
Model format
输入模型的类型。在本例中,输入文件(模型)是 W3C 组织定义的 XML DTD 1.0 格式。
Model
源文件(模型)的完整路径。您可以使用 Browse... 来定位文件。
Target project
当前工作空间中的项目名称,当前工作空间是您用于查看结果的地方。您可以使用 Browse... 来定位项目。
Model type
结果的类型。可用选项是逻辑模型和物理模型,或者由导入自动识别。在本例中,Logical only 选中。
File name
结果模型的名称。在本例中,选中的目标项目中将创建一个名为 ofxdtd.ldm 的逻辑模型。

图 3 所示,使用 Select the Options 面板来指定关于导入的详细参数。这些参数如下图所示。


图 3. 指定导入选项
指定导入选项
Elements content name
定义哪个元素将被映射到一个属性。在本例中,所有定义为 #PCDATA 的元素将被转换为一个属性。
Collapse Level
提供将几个元素折叠为一个元素的机会。这个参数用于减少实体的数量。
Collapse Star
从生成中过滤掉带有一个链接(“*”)的 DTD 元素。
Class Type
定义折叠输入信息时是否创建一个实体。
Any
指定 XML 概念 “Any” 是否生成一个实体。
Generate IDs
如果必要,生成其他主键。
Import subtitutionGroup as
允许您指定是否将继承表示为泛化(generalization),或者在子类中复制(向下滚动)继承的属性。指定 Generalization 来将继承表示为泛化,指定 Roll down 来将父 complexType 的属性向下滚动到子 complexType
Include Path
允许您指定包含已包括的架构文件的目录的路径。当您导入一个由几个已包括的 XSD 文件组成的架构时,这个选项可能有用。这个目录路径必须在运行这个 bridge 的机器上本地可访问。如果这个 bridge 正在本地运行,则它将总是搜索 File 参数指向的目录。如果这个 bridge 正在一个远程服务器(MIRWeb 或存储库导入)上运行,则这个路径必须可以从该服务器直接访问。
UDP namespace
包含将作为用户定义属性(UDP)导入的属性的名称空间的完整名称。

除了使用前面描述的参数,您还可以使用以下选项影响工作流:

Validity check
定义导入之前执行的检查级别(基本、详细、或不检查)。建议至少执行一些有效性检查。
Target database
定义物理模型的目标数据库的类型。

评估结果

导入执行结束后,应该总是评估 Summary 面板上显示的状态并寻找重要信息。图 4 展示了一个示例。


图 4. 评估摘要
评估摘要

下面是 Summary 面板中包含的消息类型的说明:

<INFO>
关于配置或一个活动结束的信息消息。
<STATUS>
关于一个活动的进度的信息消息。这些消息在较长的活动的每个阶段之后写入。
<WARNING>
通知您遇到的一个小问题(例如,源中缺少的一个链接),或者生成的模型(比如,图表没有布局信息)。警告通常意味着您应该检查警告提到的模型部分并验证内容,或者您必须在导入完成后执行工具中的一个手动步骤。
<ERROR>
对生成的模型有严重影响的消息。不被理解的概念,不能被验证的源,或者源不能被打开。
<FATAL>
导入工具失败,不能创建任何结果。

必要的导出步骤

要使用 InfoSphere Data Architect 启用一个导出步骤,选择 File > Export

从导出过滤器的显示列表中,选择 Data Model Export Wizard

选择参数

选择导出参数的流程与 选择参数 中的导入流程完全一样。

评估结果

评估导出结果的流程与 评估结果中的导入流程完全一样。


XML 架构导入示例

本小节展示一个导入一个 XML 架构的示例。首先看看 清单 1 中的 XML 文件。


清单 1. 源 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      

要启动导入操作,选择 File > Import

从导入过滤器的显示列表中,选择 Data Model Import Wizard,如 图 5 所示。


图 5. Data model import wizard
Data model import wizard

图 6 所示,从 Select the Model 面板,选择 XML Schema 作为 Model format,并将导入文件定义为 Model。对于 Target project,提供将使用名称 employee1 创建的逻辑数据模型的位置。


图 6. 定义导入参数
定义导入参数

图 7 所示,在 Select the Options 面板中接受所有默认选项来导入模型。


图 7. 指定导入选项
指定导入选项

图 8 所示,Summary 面板中的消息确认导入操作成功。


图 8. 评估生成的消息
评估生成的消息

图 9 展示生成的逻辑数据模型。


图 9. 生成的逻辑数据模型
生成的逻辑数据模型

逻辑数据模型导出示例

本小节展示一个示例,导出 图 10 中显示的逻辑数据模型。这个逻辑数据模型包含 4 个实体,几个属性。所有属性都有指定的数据类型。这些实体之间还有三种不同的关系。


图 10. 现有的逻辑数据模型
现有的逻辑数据模型

要启动导出操作,选择 File > Export

从导出过滤器的显示列表中,选择 Data Model Export Wizard,如 图 11 所示。


图 11. 启动 Data Model Export Wizard
Data model export wizard

图 12 所示,从 Select the Model 面板选择 W3C XSD 作为导出的 Model format。


图 12. 指定导出参数
指定导出参数

图 13 所示,在 Select the Options 面板中指定 com.ibm.com.test.employee 为 Target Namespace。使用其他所有参数的默认值。


图 13. 定义导出选项
定义导出选项

图 14 所示,Summary 面板中的消息确认导出操作成功。


图 14. 评估导出结果
Data model export wizard

清单 2 显示作为导出操作结果的 XML 架构。


清单 2. 生成的 XML 架构
				
<?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>


结束语

XML 是信息序列化的当前标准。InfoSphere Data Architect 支持序列化数据模型和从序列化的信息创建数据模型。这个功能允许您将 InfoSphere Data Architect 集成到您的扩展工作流中。除本文介绍的导入和导出功能外,InfoSphere Data Architect 还提供其他 XML 功能,比如 XML 架构的映射、 切割(shredding)和编辑。您可以在产品信息页面中找到关于这些功能的更多信息。


参考资料

学习

获得产品和技术

讨论

作者简介

Davor Gornik 照片

Davor 在 CASE、4GL 和 UNIX 早期就开始了他的软件开发人员事业。他的技术经验扩展到 OO、UML、IE、SOA、RDBMS、IT 等领域。(这也是他的文章不包含任何未经解释的三字母缩写的原因。)他目前是 IBM 的产品经理,隶属于 Common AD Tooling and DB Administration 小组。工作之外,他是一位世界公民,长期以来四处漂泊,有许多关于世界各地的故事 — 从圣马力诺到中国,足迹遍布大多数大洲。他的爱好有摄影、重塑(remodeling)、排球、以及其他运动。

Rishiraj Barthakur 照片

Rishiraj Barthakur 目前担任 IBM Data Studio - Common Application Development Team 的系统软件工程师。在过去两年里,他一直在为 IBM 维护和开发 InfoSphere Data Architect。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management, XML, Rational
ArticleID=600495
ArticleTitle=使用 InfoSphere Data Architect 导入和导出 XML
publish-date=12132010
author1-email=dgornik@us.ibm.com
author1-email-cc=
author2-email=rishirajbarthakur@in.ibm.com
author2-email-cc=

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。