导入基于 XSD 的 PIP

虽然 RosettaNet.org 提供的大多数 PIPS 是基于 DTD 的,但较新的 PIPS 是基于 XSD 的。 以下过程介绍如何导入基于 XSD 的 PIPS。

导入基于 XSD 的 PIP

  1. GS1 RosettaNet 网站或CIDX 网站下载基于 XSD 的 PIP .zip 文件。

  2. 从 .zip 文件中提取文件。 所需的文件位于 XML 文件夹的子文件夹中。

  3. 打开 Visual Studio。 创建新的 BizTalk 项目。

  4. 打开 Windows 资源管理器,并移动到步骤 1 中提取的 XML 文件夹。 选择 XML 文件夹下的第一个文件夹,将其拖到 Visual Studio 中的“解决方案资源管理器”中,然后将其拖放到项目中。 对 XML 文件夹中的每个子文件夹重复此作,在项目中创建相同的文件夹结构。

    注释

    对于 PIP7c7 PIP,这些文件夹将包括域、交换、系统和通用文件夹。 对于此 PIP,项目应包含域、交换、系统和通用文件夹及其内容。

  5. 如果系统文件夹中有 .xsd 文件,请在解决方案资源管理器中选择该文件,并更改属性页中列出的命名空间,使其不包含字符串“。系统”。 例如,对于 PIP7c7 PIP,可以将命名空间更改为“PIP7c7._System”。 对 System 文件夹中的每个 .xsd 文件重复此作。 如果不更改命名空间,将收到以下或类似错误:

    The type or namespace name 'SerializableAttribute' does not exist in the class or namespace 'PIP7C7.System'.
    
  6. 查看所有 .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.
    

    注释

    错误列表中的“文件”列将指示哪些文件存在此问题。

  7. 生成并部署项目。