1

我是架构构建的新手,并且在理解命名空间引用应该如何工作时遇到问题。我使用与 BizTalk 类似的应用程序并在以下架构上执行去封装操作。我不确定这是否是一般错误,但这是我得到的错误:

错误

XmlSchemaValidationException, Type 'http://Wheelhouse/Property:PropertyType' is not declared. : 

属性定义

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://Wheelhouse/Property" elementFormDefault="qualified" targetNamespace="http://Wheelhouse/Property" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Property" type="PropertyType" />
  <xs:complexType name="PropertyType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="ID" />
      <xs:element minOccurs="0" maxOccurs="1" name="Listing_Number" />
      <xs:element minOccurs="0" maxOccurs="1" name="Status" />
    </xs:sequence>
  </xs:complexType>
</xs:schema>

属性列表定义

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="blueintegrator://Wheelhouse/PropertyDefinition__4f3f265569d54e9fa898eba835502c6a_" namespace="http://Wheelhouse/Property" />
  <xs:element xmlns="http://Wheelhouse/Property" name="Root">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="Property" type="PropertyType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
4

1 回答 1

0

它不起作用的原因与 schemaLocation 属性中的 URI 方案(blueintegrator)有关。您用来使用 XSD 的工具很可能不理解该 URI,因此它无法加载包含http://Wheelhouse/Property:PropertyType类型定义的 XSD。

对于“普通”工具,如果您将该属性的值更改为其他值(例如,如果您将两个文件放在同一个文件夹中,然后将整个 schemaLocation 值替换为文件名),您将看到架构是完全有效的。

于 2013-03-28T20:09:31.770 回答