虽然 RosettaNet.org 提供的大多数 PIPS 是基于 DTD 的,但较新的 PIPS 是基于 XSD 的。 以下过程介绍如何导入基于 XSD 的 PIPS。
导入基于 XSD 的 PIP
从 GS1 RosettaNet 网站或CIDX 网站下载基于 XSD 的 PIP .zip 文件。
从 .zip 文件中提取文件。 所需的文件位于 XML 文件夹的子文件夹中。
打开 Visual Studio。 创建新的 BizTalk 项目。
打开 Windows 资源管理器,并移动到步骤 1 中提取的 XML 文件夹。 选择 XML 文件夹下的第一个文件夹,将其拖到 Visual Studio 中的“解决方案资源管理器”中,然后将其拖放到项目中。 对 XML 文件夹中的每个子文件夹重复此作,在项目中创建相同的文件夹结构。
注释
对于 PIP7c7 PIP,这些文件夹将包括域、交换、系统和通用文件夹。 对于此 PIP,项目应包含域、交换、系统和通用文件夹及其内容。
如果系统文件夹中有 .xsd 文件,请在解决方案资源管理器中选择该文件,并更改属性页中列出的命名空间,使其不包含字符串“。系统”。 例如,对于 PIP7c7 PIP,可以将命名空间更改为“PIP7c7._System”。 对 System 文件夹中的每个 .xsd 文件重复此作。 如果不更改命名空间,将收到以下或类似错误:
The type or namespace name 'SerializableAttribute' does not exist in the class or namespace 'PIP7C7.System'.
查看所有 .xsd 文件,以确保 <架构> TypeName 和根节点 TypeName 不相同。 例如,对于 PIP7C7 PIP,通用文件夹中的 PartnerIdentification.xsd,其类型名称为“PartnerIdentification”,适用于 <架构> 和 PartnerIdentification 根节点(在解决方案资源管理器中选择 PartnerIdentification.xsd 时)。 若要更正此问题,请在解决方案资源管理器中选择 PartnerIdentification.xsd,然后在属性页中更改 TypeName 属性,使其不包含与 PartnerIdentification 根节点相同的 TypeName。 例如,将 TypeName 更改为“_PartnerIdentification”。 如果不执行此步骤,尝试生成项目时将收到以下错误:
Node "<Schema>" - This schema file has a TypeName that collides with the RootNode TypeName of one of its root Nodes. Make sure that they are different.
注释
错误列表中的“文件”列将指示哪些文件存在此问题。
生成并部署项目。