2017-11-03 19 views
0

XSDファイルに基づいてC#コードを生成したいが、 スキーマの名前空間に問題があり、VSとxsd.exeは特定の名前空間に定義されたすべてのタイプの警告を表示する。実際には間違っていると思っていましたが、XSDダイアグラム(そのようなファイルを開くためのプログラム)でXSDファイルを開き、その名前空間に入っていても各タイプを正しく表示します。 CURR = "http://www.currenda.pl/epu" それは言われてエラーにXSDは外部ネームスペースを取得できません

<xsd:schema xmlns:curr="http://www.currenda.pl/epu" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.currenda.pl/epu" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" xml:lang="pl"> 
    <xsd:element name="Pozwy"> 
    <xsd:annotation> 
     <xsd:documentation>Paczka pozwów w elektronicznym postępowaniu upominawczym</xsd:documentation> 
    </xsd:annotation> 
    <xsd:complexType> 
     <xsd:sequence> 
     <xsd:element name="PozewEPU" type="curr:PozewEPU" maxOccurs="unbounded" /> 
     </xsd:sequence> 
     <xsd:attribute name="OznaczeniePaczki" type="curr:typNazwa60" use="required"> 
     <xsd:annotation> 
      <xsd:documentation>Oznaczenie paczki nadawane przez powoda masowego używane jako kryterium wyszukiwania i rozliczania opłat</xsd:documentation> 
     </xsd:annotation> 
     </xsd:attribute> 
    </xsd:complexType> 
    </xsd:element> 
    <xsd:complexType name="PozewEPU"> 
    <xsd:annotation> 
     <xsd:documentation>Pozew inicjujący sprawę w elektronicznym postępowaniu upominawczym</xsd:documentation> 
    </xsd:annotation> 
    <xsd:sequence> 
     <xsd:element name="Oswiadczenie" type="xsd:string" minOccurs="0"> 
     <xsd:annotation> 
      <xsd:documentation>Przyjmuje wartości tak/nie</xsd:documentation> 
     </xsd:annotation> 
     </xsd:element> 
     <xsd:element name="Adresat" type="curr:typAdresat" /> 
     <xsd:element name="SadWlasciwy" type="curr:typAdresat" minOccurs="0" /> 
     <xsd:element name="OsobaSkladajaca" type="curr:typSkladajacy" /> 
     <xsd:element name="ListaPowodow" type="curr:typListaPowodow" /> 
     <xsd:element name="ListaPozwanych" type="curr:typListaPozwanych" /> 
     <xsd:element name="SprawaWgPowoda" minOccurs="0" type="curr:typNazwa60"> 
     <xsd:annotation> 
      <xsd:documentation>Sygnatura/oznaczenie sprawy nadane przez powoda </xsd:documentation> 
     </xsd:annotation> 
     </xsd:element> 
     <xsd:element name="WartoscSporu" type="xsd:decimal"> 
     <xsd:annotation> 
      <xsd:documentation>Suma wartości roszczeń zdefiniowanych na liście roszczeń wyrażona w PLN</xsd:documentation> 
     </xsd:annotation> 
     </xsd:element> 
     <xsd:element name="OplataSadowa" type="curr:typOplata" /> 
     <xsd:element name="KosztyZastepstwa" type="curr:typKoszty" /> 
     <xsd:element name="InneKoszty" type="curr:typKoszty" minOccurs="0" /> 
     <xsd:element name="RachunekDoZwrotuOplat" type="curr:typRachunekDoZwrotuOplat" > 
     <xsd:annotation> 
      <xsd:documentation>Element dla numeru oraz nazwy właściciela rachunku do zwrotu opłat sądowych</xsd:documentation> 
     </xsd:annotation> 
     </xsd:element> 
     <xsd:element name="ListaRoszczen" type="curr:typLista" /> 
     <xsd:element name="ListaDowodow" type="curr:typListaDowodow" minOccurs="0" /> 
     <xsd:element name="InneRoszczenia" type="curr:typTekstowy" minOccurs="0" /> 
     <xsd:element name="Uzasadnienie" type="curr:typTekstowy" /> 
    </xsd:sequence> 
    <xsd:attribute name="ID" type="xsd:unsignedLong" use="required"> 
     <xsd:annotation> 
     <xsd:documentation>Unikalny w ramach paczki numer ID pozwu </xsd:documentation> 
     </xsd:annotation> 
    </xsd:attribute> 
    <xsd:attribute name="version" type="curr:typNazwa10" use="required" fixed="1.0"> 
     <xsd:annotation> 
     <xsd:documentation>Oznaczenie wersji formatu </xsd:documentation> 
     </xsd:annotation> 
    </xsd:attribute> 
    <xsd:attribute name="dataZlozenia" type="curr:typData" use="required" /> 
    </xsd:complexType> 
</xsd:schema> 

Screen from xsd.exe

問題の名前空間には、のxmlnsあるタイプ[.. 。]私は事前に任意の助けに 感謝を感謝します

を宣言されていない

EDIT:データ型とXSDの一部(それはあなたのXSDは、他の場所で定義されているタイプを使用していますので、あなたがエラーを取得している全

<xsd:schema xmlns:curr="http://www.e-sad.gov.pl/epu" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.e-sad.gov.pl/epu" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0" xml:lang="pl"> 
    <xsd:simpleType name="typNIP"> 
    <xsd:annotation> 
     <xsd:documentation>Numer NIP</xsd:documentation> 
    </xsd:annotation> 
    <xsd:restriction base="xsd:string"> 
     <xsd:pattern value="([1-9]((\d[1-9])|([1-9]\d))\d{7})|(^$)" /> 
    </xsd:restriction> 
    </xsd:simpleType> 
    <xsd:simpleType name="typPESEL"> 
    <xsd:annotation> 
     <xsd:documentation>Definicja numeru PESEL</xsd:documentation> 
    </xsd:annotation> 
    <xsd:restriction base="xsd:string"> 
     <xsd:pattern value="[0-9]{11}" /> 
    </xsd:restriction> 
    </xsd:simpleType> 
    <xsd:simpleType name="typKRS"> 
    <xsd:annotation> 
     <xsd:documentation>Definicja KRS </xsd:documentation> 
    </xsd:annotation> 
    <xsd:restriction base="xsd:string"> 
     <xsd:pattern value="[0-9]{10}" /> 
    </xsd:restriction> 
    </xsd:simpleType> 
+0

あなたのXSDが実際に 'typNazwa10'タイプを定義していません、' typData'型、あるいは 'PozewEPU'以外の型もあります。それらは他のファイルで定義されていますか? – JLRishe

+0

実際に私はxmlに新しいので、それらがその名前空間で宣言されていると思っていましたが、私はこれらの型のxsdも持っていることを確認しました。 – pablocity

+0

上記のXSDに ''を追加することで、そうすることができると思います。 – JLRishe

答えて

0

それをPASEには余りにも大きいです。 xsd.exeにはすべての定義が必要です。あなたがメインのファイルでこのようにそれを参照することで、別のファイルをインクルードする必要があるようにあなたがコメントで言ってきたものに基づいて、それが聞こえる:

<xsd:include schemaLocation="theOtherFileNameGoesHere.xsd" /> 
関連する問題