2016-10-03 9 views
1

Я не могу решить эту ошибку <xs:element ref="ds:Signature"/>. Мне нужна помощь, пожалуйста.XSD Signature issue

Авторское право (C) Корпорация Microsoft. Все права защищены. Схема Предупреждение о валидации: 'http://www.w3.org/2000/09/xmldsig#:Signature' el ement не объявлен. Строка 162, позиция 8.

Предупреждение: схема не может быть проверена. Генерация класса может завершиться неудачей или может привести к неправильным результатам.

Предупреждение: невозможно создать классы, потому что не найдены элементы верхнего уровня с сложным типом.

XSD

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
      xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 
    attributeFormDefault="unqualified" elementFormDefault="qualified"> 

    <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" 
      schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/> 

      <xs:complexType name="SobreCheques"> 
     <xs:annotation> 
      <xs:documentation>Definition of the ...</xs:documentation> 
     </xs:annotation> 
     <xs:sequence> 
      ... 
     <xs:element ref="ds:Signature"/> 
     </xs:sequence> 
    </xs:complexType> 
</xs:schema> 
+0

схемы http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd, доступный с аппарата? – ulab

+0

@ulab Да, это так. –

+0

ОК. что, если вы сохраняете схему локально и ссылаетесь на нее в 'schemalocation', она все еще не может разрешить пространство имен. – ulab

ответ

4

Получение xmldsig-core-schema.xsd от W3C, может занять много времени, в результате чего время ожидания.

Вместо этого используйте кэшированные локальную копию в том же каталоге, что и XSD,

<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" 
      schemaLocation="xmldsig-core-schema.xsd"/> 

или использовать абсолютный путь, как показано на @ulab in the comments:

<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" 
      schemaLocation="file:///D:/xmldsig-core-schema.xsd" /> 

Смотрите также How to reference a local XML Schema file correctly?

+0

AdditionaI, убедитесь, что XSD-файл из W3C доступен из браузера. У меня была такая же проблема, и даже если бы я добавил файл локально, это не сработало. Проблема для меня в том, что мой компьютер был за прокси-сервером, а сайт W3C был заблокирован. После того как я установил доступ к файлу XSD, мне удалось сгенерировать классы. Не уверен, что эта проблема была специфической только для моей установки или нет. – adimoldovan