验证 XML 格式
从旧系统中将数据文件提取出来并转换为 XML 后,在尝试将其加载到 Windchill 系统之前应对数据文件加以验证,这一点非常重要。任何根据 DTD 执行验证的 XML 编辑器 (如 XMLSpy) 均可用于根据 standardX20.dtd 验证数据。
csvmapfile.dtd 文件位于 <Windchill>\codebase\registry\ixb\dtds\standardX20.dtd 下。
csvmapfile.dtd 不是完整的 DTD。验证时,应使用位于 <Windchill>\loadXMLFiles 的 standardX20.dtd。
执行 UpdateEditDTDUtility 以确保 standardX20.dtd 是最新版本。有关详细信息,请参阅关于 UpdateEditDTDUtility 部分。
确保 XML 数据文件中包括下列内容:
<!DOCTYPE NmLoader SYSTEM "standardX20.dtd">
选择运行时使用的适当 DTD
在 LoadFromFile 和 LoadFileSet 实用程序运行时,有多个 DTD 可供选用。有关 DTD 的完整列表,请参阅 Windchill 安装。下列 DTD 位于 <Windchill>\codebase\registry\ixb\dtds\standardX20.dtd 目录中:
• csvmapfile.dtd - 描述从 CSV 格式转换而来的数据,以及某些基本定义 (如有关容器的定义)
• netmarkets.dtd - 提供 Windchill ProjectLink 定义
• pdmlink.dtd – 提供 Windchill PDMLink 定义
• coreobjects.dtd – 用于导入和导出的 DTD
• search.dtd – 用于导入和导出保存的搜索的 DTD
• logiccomponent.dtd – 定义可配置部件的配置逻辑
这些 DTD 在运行时将被附加到一起,形成一个单独的 DTD 文件。要在 XML 数据文件中指定 DTD,请添加下列内容:
<!DOCTYPE NmLoader SYSTEM "standardX20.dtd">
|
从内部来说,加载框架位于目录 <Windchill>\codebase\registry\ixb\dtds\standardX20.dtd 中,并且它将利用该文件夹内的所有 DTD 文件生成一个组合 DTD。确保此文件夹中不包含备份文件。所有备份都应放置在一个单独的位置。
|
要得到与运行时 DTD 同步的验证 DTD,请运行下列命令:
windchill wt.load.util.UpdateEditDTDUtility
关于 UpdateEditDTDUtility
要得到与运行时 DTD 同步的验证 DTD,请执行 UpdateEditDTDUtility。此实用程序将更改传播至以下文件:
<Windchill>\loadXMLFiles\standard<current_windchill_release>.dtd
使用情况
java wt.load.util.UpdateEditDTDUtility <mode>_<Windchill>_<dtd_name>_<dtd_location><verbose>
其中:
• mode 表示此参数的默认值为 USER。
• Windchill 是 Windchill 主安装路径。
• dtd_name 表示需要更新的 DTD 名称,如 standardX20.dtd。
• dtd_location 是 DTD 所在的目录位置或将要创建的目录位置 (如果该目录不存在)。
• verbose 指示实用程序是否将在调试模式下运行。
|
所有自变量均是可选的。但应保持自变量的顺序 (如果提供)。
|
该实用程序接受用户为 dtd_name 和 dtd_location 输入的内容。此模式支持先前版本的 DTD 更新;但在默认情况下,会更新当前版本的 DTD。如果没有为 dtd_name 和 dtd_location 参数提供输入值,则从 wt.properties 中通过 com.ptc.netmarkets.ixb.dtdName 和 com.ptc.netmarkets.ixb.dtdLocation 特性获取参数值。如果未提供这些参数值,则假定使用默认值。
com.ptc.netmarkets.ixb.dtdName 的默认值是 <current_release>dtd。
com.ptc.netmarkets.ixb.dtdLocation 的默认值是 <Windchill>/load XMLFiles。
这些特性可在 wt.properties 中指定。
其他功能包括:
• 实用程序备份现有 DTD 并创建新的更新 DTD。
• 如果 dtd_location 不存在,则会创建它。
如果未提供任何参数,则用法将如下所示。在这种情况下,将为所有参数假定上述默认值。
java wt.load.util.UpdateEditDTDUTILITY
下例包含默认值:
对于 com.ptcnetmarkets.ixb.dtdName=standardX20dtd,所有位于 <Windchill>/codebase/registry/ixb/dtds/standardX20.dtd 的 DTD 的内容将被聚集并复制到由 com.ptcnetmarkets.ixb.dtdLocation=<Windchill>\loadXMLFiles 指定的位置处的 standardX20.dtd 中。
|
此实用程序只处理位于下列目录的 DTD:
<Windchill>/codebase/registry/ixb/dtds
|
使用 XMLSpy 验证数据文件
XMLSpy 提供了一种有序查看和输入 XML 数据的方法。数据能够以标准文本格式、网格条目或浏览器模式等形式显示。下图以表格形式 (网格模式) 显示了用户加载文件,用户可在该文件中直接输入数据:
验证 XML 加载文件的正确格式
1. 在 XMLSpy 中打开 XML 文件,然后使用“分配 DTD”选项分配 DTD。
2. 单击“浏览”定位并选择适合的 DTD。
3. 单击“确定”分配 DTD。
会出现一条警告消息,提示已分配了一个外部 DTD。
4. 单击“确定”继续。
验证会显示在下部窗格中。