企业管理 > Windchill 数据加载 > 使用 LoadFromFile 和 LoadFileSet 实用程序加载旧数据 > 关于加载文件
  
关于加载文件
共有两级 XML 文件:加载文件集和对象文件。加载文件集指定对象文件的集合和数据要加载到其中的容器。对象文件指定要加载的对象的实际数据。LoadFileSet 实用程序需要加载文件集作为输入内容,而 LoadFromFile 实用程序需要对象 XML 文件作为输入内容。
加载文件集
加载文件集可指定一组对象文件以及对象要加载到其中的容器。加载文件集的 DTD 文件 (WindchillLoad.dtd) 位于 <Windchill>/codebase/wt/load/ 目录中。WindchillLoad.dtd 的示例如下:
<!ELEMENT loadFileList (loadFile*) >
<!ATTLIST loadFileList containerPath CDATA #IMPLIED >
<!ELEMENT loadFile EMPTY >
<!ATTLIST loadFile filename CDATA #REQUIRED
rbinfo CDATA #IMPLIED
key CDATA #IMPLIED
title CDATA #IMPLIED
token CDATA #IMPLIED
mapfile CDATA #IMPLIED
containerPath CDATA #IMPLIED >
LoadFileList XML 元素
此 XML 元素包含要加载的对象 XML 文件的列表 (在 loadFile 元素中指定)。LoadFileList 有一个 containerPath 属性,该属性指定对象文件将加载到的容器的路径。
强烈建议您设置该值。按照协议,Exchange (Site) 容器的容器路径是 "/" (斜杠)。对于其他容器,其形式为 /container-class=container-name/…/…
例如:
/wt.inf.container.OrgContainer=DefaultOrg/
wt.inf.library.WTLibrary=Windchill PDM
/wt.inf.container.OrgContainer=
pjl-qa/wt.projmgmt.admin.Project2=Project14
LoadFile 元素
此元素指定要加载到目标容器的对象文件。它有一个空标记及以下属性:
filename - 要加载的对象文件的名称。其位置相对于 wt.loadFiles 特性中所指定的目录而定。默认值为 $(wt.home)/loadFiles。
rbinfo - 存储特定文件的资源信息的位置。它将由处理程序使用。
key - 本地化标题关键字。
token - 如果指定 token,则出现错误后不提示用户,而是忽略该错误。
mapfile - 如果指定 mapfile,则出现错误后不提示用户,而是忽略该错误。
containerPath
建议应使加载集内要加载的一组对象均驻留在单一容器中。但是,您可以指定一个替代 containerPath,它可以使当前 loadFile 规范中的对象进入加载集内 LoadFile 指针以外的其他容器。只能在特殊情况下设置此元素。
加载文件集示例
在下列加载文件集示例中,所有文件均被加载到交换容器中:
<!DOCTYPE loadFileList SYSTEM "/wt/load/windchillLoad.dtd">
<loadFileList containerPath=”/ ”>
<loadFile filename="mydataformats.xml" title="data formats"/>
<loadFile filename="myadmin.xml" title="miscellaneous admin data
and access rules"/>
<loadFile filename="myworkflow.xml" title="workflow base data"/>
</loadFileList>
带有图像的分类节点的加载文件示例
以下加载文件示例可用于创建带有图像的分类节点:
<?xml version="1.0"?>
<!DOCTYPE NmLoader SYSTEM "standardX20.dtd">
<NmLoader>
<csvClassificationImagesRootDir handler="wt.csm.navigation.ClassificationNodeLoader.getImageRootDirectory">
<csvimageDir>BASE_DIR_LOCATION</csvimageDir>
</csvClassificationImagesRootDir>
<csvBeginClassNode handler="wt.csm.navigation.ClassificationNodeLoader.beginCreateClassNode">
<csvstructureClassName>wt.part.WTPart</csvstructureClassName>
<csvnodeName>TestNode</csvnodeName>
<csvparentID>Electronic Parts\CAPACITOR\FIXED</csvparentID>
<csvdescription></csvdescription>
<csvimageFile>LOCATION HERE WOULD BE RELATIVE TO<csvimageDir>VALUE</csvimageFile>
<csvrefDefName>Part</csvrefDefName>
<csvinternalID></csvinternalID>
</csvBeginClassNode>
<csvEndClassNode handler="wt.csm.navigation.ClassificationNodeLoader.endCreateClassNode"/>
</NmLoader>
对象 XML 文件
对象文件包含加载到 Windchill 数据库中的对象的实际数据。它们的 DTD 文件为 <Windchill>/loadXMLFiles/standardX20.dtd。强烈建议您在加载数据之前根据此 DTD 来验证对象 XML 文件,因为无效的 XML 文件会导致加载过程失败。
对象文件示例
对象 XML 文件可能如下所示:
<?xml version="1.0" ?>
<!DOCTYPE NmLoader SYSTEM "standardX20.dtd">
<NmLoader>
<csvPreferenceInstance handler="wt.preference.LoadPreference.create
PreferenceInstance">
<csvname>/Display/ToolbarDescriptions</csvname>
<csvclientName>WINDCHILL</csvclientName>
<csvvalue>true</csvvalue>
<csvlock>false</csvlock>
</csvPreferenceInstance>
</NmLoader>