我想生成基于XSD文件的C#代码,但是有问题 架构中的namspace,VS和xsd.exe显示在一个特定命名空间中定义的所有类型的警告。我认为它可能实际上是错误的,但是我在XSD Diagram(打开这些文件的程序)中打开了XSD文件,它显示了每种类型,即使它们位于那个名称空间中。
有问题的命名空间是 xmlns:curr =“http://www.currenda.pl/epu”
<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>
在错误中说:未声明类型[...]
我将不胜感激任何帮助 提前致谢
编辑: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 :(得分:0)
您收到错误是因为您的XSD使用其他地方定义的类型。 xsd.exe需要所有定义才能工作。根据您在评论中所说的内容,听起来您需要通过在主文件中引用它来包含另一个文件:
<xsd:include schemaLocation="theOtherFileNameGoesHere.xsd" />