XSD и SSIS: ошибка при поиске глобально объявленного сложного типа - PullRequest
2 голосов
/ 19 июня 2019

Я закончил писать свой XSD для своего XML, и когда я начал отображать его в SSIS, я столкнулся с ошибкой, говорящей: «Произошла ошибка при настройке сопоставления. Введите« [мой глобально объявленный сложный тип] » не объявлено. ".

Итак, я попытался найти правильные способы объявления глобального сложного типа, который я могу использовать повторно, например, блок адреса. Я переместил блок сложного типа в разные места, такие как непосредственно дочерний узел узла схемы, прямо перед узлом элемента того, на который я ссылаюсь, и многое другое. Но все это приводит к той же ошибке.

Это пример формата моего 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> 

Я ожидаю правильного сопоставления XML с этим форматом XSD, который я создал.

Большое спасибо всем, кто нашел время, чтобы прочитать и / или помочь мне с этим!

1 Ответ

2 голосов
/ 19 июня 2019

Это проблема пространства имен.Глобальный тип находится в targetNamespace содержащегося в нем документа схемы, тогда как type="Bus" является ссылкой на тип без пространства имен.Это должно быть type="s:Bus", где префикс s связан с URI urn:Search

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...