2011-03-18 4 views
0

У меня есть два файла схемы xml (xsd). Один определяет тип данных под названием «Ошибка», второй относится к нему.XSD - Отсутствует тип данных

Вот схемы:

CreateFolderResult.xsd

<?xml version="1.0" encoding="utf-8"?> 
<xs:schema id="CreateFolderResult" 
    targetNamespace="http://schemas.microsoft.com/sharepoint/soap/dws/" 
    elementFormDefault="qualified" 
    xmlns="http://schemas.microsoft.com/sharepoint/soap/dws/" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:s="http://www.w3.org/2001/XMLSchema" 
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" 
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:tns="http://schemas.microsoft.com/sharepoint/soap/dws/" 
> 
    <s:element name="CreateFolderResult"> 
    <s:complexType> 
     <s:choice> 
     <s:element name="Result"/> 
     <s:element name="Error" type="Error"/> 
     </s:choice> 
    </s:complexType> 
    </s:element> 
</xs:schema> 

Error.xsd:

<?xml version="1.0" encoding="utf-8"?> 
<xs:schema id="Error" 
    targetNamespace="http://schemas.microsoft.com/sharepoint/soap/dws/" 
    elementFormDefault="qualified" 
    xmlns="http://schemas.microsoft.com/sharepoint/soap/dws/" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:s="http://www.w3.org/2001/XMLSchema" 
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" 
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"   
    xmlns:tns="http://schemas.microsoft.com/sharepoint/soap/dws/"   
> 
    <xs:simpleType name="ErrorTypes"> 
    <xs:restriction base="xs:string"> 
     <xs:enumeration value="ServerFailure"/> 
     <xs:enumeration value="Failed"/> 
     <xs:enumeration value="NoAccess"/>  
    </xs:restriction> 
    </xs:simpleType> 

    <xs:element name="Error"> 
    <xs:complexType> 
     <xs:simpleContent> 
     <xs:extension base="ErrorTypes"> 
      <xs:attribute name="ID"> 
      <xs:simpleType> 
       <xs:restriction base="xs:integer"> 
       <xs:minInclusive value="1"/> 
       <xs:maxInclusive value="14"/> 
       </xs:restriction> 
      </xs:simpleType> 
      </xs:attribute> 
      <xs:attribute name="AccessUrl" type="xs:string"/> 
     </xs:extension> 
     </xs:simpleContent> 
    </xs:complexType> 
    </xs:element> 

</xs:schema> 

Эти файлы схемы исходят из этого PDF: MS-DWSS

Когда я пытаюсь для генерации классов C# из них я получаю сообщение об ошибке «The dat atype 'http://schemas.microsoft.com/sharepoint/soap/dws/:Error' отсутствует.

Я искал его, и я попробовал пару способов как правильно использовать xsd.exe, но по-прежнему имеет ту же ошибку.

Команда, которую я использую, это «xsd.exe/c CreateFolderResult.xsd Error.xsd».

Я также создал эту "инсталлятор":

<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'> 
    <generateClasses language='CS' namespace='MyNamespace'>  
    <schema>CreateFolderResult.xsd</schema> 
    <schema>Error.xsd</schema> 
    </generateClasses> 
</xsd> 

И попытался бежать: "xsd.exe /p:Installer.xsd/с", но не работает. Я считаю, что я делаю что-то неправильно при определении пространств имен.

Что я делаю неправильно? Любая помощь будет принята с благодарностью.

ответ

1

Отказ от ответственности: Я не знаю xsd.exe.

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

  • include это если целевые пространства имен одинаковы
  • import это если целевые пространства имен отличаются
+0

@musiKk Я положил включить в начало схемы, но никаких изменений. <хз: схема ID = "CreateFolderResult"> papaiatis

+0

Неправильное расположение схемы. – musiKk

+0

@musiKk расположение схемы следующее: мой последний комментарий был усечен, что мне следует вводить вместо этого? – papaiatis

Смежные вопросы