XSD 和 SSIS:查找全局声明的复杂类型时出错
XSD and SSIS: Error finding globally declared complex type
我为我的 XML 编写了 XSD,当我开始在 SSIS 中映射它时,我遇到了一条错误消息:"There was an error setting up the mapping. Type '[my globally declared complex type]' is not declared.".
因此,我试图寻找适当的方法来声明一个我可以重复使用的全局复杂类型,例如地址块。我将复杂类型块移动到不同的位置,例如模式节点的直接子节点,就在我引用的节点的元素节点之前,等等。但是,这一切仍然会导致同样的错误。
这是我的示例格式 XSD:
<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:Search" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="RESPONSE">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="ABC">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Bus" type="Bus" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="Bus">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="BusType" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="BusSubType" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Date" type="xs:string" />
<xs:element minOccurs="1" maxOccurs="1" name="Franchise" type="xs:boolean" />
<xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="OperatingSince" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>
我希望用我制作的 XSD 格式正确映射 XML。
非常感谢大家花时间阅读and/or帮我解决这个问题!
这是一个命名空间问题。全局类型位于包含架构文档的目标命名空间中,而 type="Bus"
是对无命名空间中类型的引用。它需要是 type="s:Bus"
,其中前缀 s
绑定到 URI urn:Search
我为我的 XML 编写了 XSD,当我开始在 SSIS 中映射它时,我遇到了一条错误消息:"There was an error setting up the mapping. Type '[my globally declared complex type]' is not declared.".
因此,我试图寻找适当的方法来声明一个我可以重复使用的全局复杂类型,例如地址块。我将复杂类型块移动到不同的位置,例如模式节点的直接子节点,就在我引用的节点的元素节点之前,等等。但是,这一切仍然会导致同样的错误。
这是我的示例格式 XSD:
<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:Search" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="RESPONSE">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="ABC">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Bus" type="Bus" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="Bus">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="BusType" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="BusSubType" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Date" type="xs:string" />
<xs:element minOccurs="1" maxOccurs="1" name="Franchise" type="xs:boolean" />
<xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="OperatingSince" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>
我希望用我制作的 XSD 格式正确映射 XML。
非常感谢大家花时间阅读and/or帮我解决这个问题!
这是一个命名空间问题。全局类型位于包含架构文档的目标命名空间中,而 type="Bus"
是对无命名空间中类型的引用。它需要是 type="s:Bus"
,其中前缀 s
绑定到 URI urn:Search