当前位置: 首页 > 知识库问答 >
问题:

记事本:架构无效或缺少命名空间

郎磊
2023-03-14

出现的错误是“架构无效或缺少命名空间”。我是新手,我不知道我现在做了什么。此错误不会在代码中显示任何错误的行或其他缺失的值。

当我在记事本中单击时:插头-

我有XSD文件:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xsd:annotation>
        <xsd:documentation xml:lang="pl">Definicja zawiadomienia w formacie XML</xsd:documentation>
    </xsd:annotation>
    <xsd:element name="WYDZIAŁ">
        <xsd:annotation>
            <xsd:documentation>Dokładny opis wydziału</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="IDENTYFIKATOR" type="xsd:ID">
                    <xsd:annotation>
                        <xsd:documentation>ID wydziału</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="NAZWA" type="xsd:string">
                    <xsd:annotation>
                        <xsd:documentation>Nazwa wydziału</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="ADRES" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
                    <xsd:annotation>
                        <xsd:documentation>Adres wydziału</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element ref="PRACOWNICY"/>
                <xsd:element ref="ZBIÓR_PRZEDMIOTÓW"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <!--===========================================================-->
    <xsd:element name="PRACOWNICY">
        <xsd:annotation>
            <xsd:documentation>Informacje dotyczace pracowników</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="IMIE" type="xsd:string">
                    <xsd:annotation>
                        <xsd:documentation>Imie parcownika</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="NAZWISKO" type="xsd:string">
                    <xsd:annotation>
                        <xsd:documentation>Nazwisko pracownika</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="TYTUŁ" type="xsd:string">
                    <xsd:annotation>
                        <xsd:documentation>Tytuł pracownika</xsd:documentation>
                    </xsd:annotation>
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="NAUKOWY"/>
                            <xsd:enumeration value="ADMINISTRACYJNY"/>
                            <xsd:enumeration value="TECHNICZNY"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
                <xsd:element name="KATEGORIA" type="xsd:string" minOccurs="0">
                    <xsd:annotation>
                        <xsd:documentation>KATEGORIA pracownika</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="ADRES" type="xsd:string">
                    <xsd:annotation>
                        <xsd:documentation>ADRES parcownika</xsd:documentation>
                    </xsd:annotation>
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="ULICA" type="xsd:string">
                                <xsd:annotation>
                                    <xsd:documentation>ULICA</xsd:documentation>
                                </xsd:annotation>
                            </xsd:element>
                            <xsd:element name="NUMER" type="xsd:integer">
                                <xsd:annotation>
                                    <xsd:documentation>NUMER</xsd:documentation>
                                </xsd:annotation>
                            </xsd:element>
                            <xsd:element name="KOD_POCZTOWY" type="xsd:string">
                                <xsd:annotation>
                                    <xsd:documentation>KOD_POCZTOWY</xsd:documentation>
                                </xsd:annotation>
                                <xsd:simpleType>
                                    <xsd:restriction base="xsd:string">
                                        <xsd:minLength value="6"/>
                                        <xsd:maxLength value="6"/>
                                        <xsd:pattern value="\d{2}-\d{3}"/>
                                    </xsd:restriction>
                                </xsd:simpleType>
                            </xsd:element>
                            <xsd:element name="MIEJSCOWOSC" type="xsd:string">
                                <xsd:annotation>
                                    <xsd:documentation>MIEJSCOWOSC</xsd:documentation>
                                </xsd:annotation>
                            </xsd:element>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="ZBIÓR_PRZEDMIOTÓW">
        <xsd:annotation>
            <xsd:documentation>Informacje dotyczace adresata zawiadomienia</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="ID_PRZEDMIOTU" type="xsd:ID">
                    <xsd:annotation>
                        <xsd:documentation>ID_PRZEDMIOTU</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="NAZWA" type="xsd:string">
                    <xsd:annotation>
                        <xsd:documentation>NAZWA</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
                <xsd:element name="LICZBA_UCZESTNIKOW" type="xsd:integer">
                    <xsd:annotation>
                        <xsd:documentation>LICZBA_UCZESTNIKOW</xsd:documentation>
                    </xsd:annotation>
                    <xsd:simpleType>
                    <xsd:restriction base="xsd:integer">
                        <xsd:minInclusive  value="6"/>
                        <xsd:maxInclusive  value="400"/>
                    </xsd:restriction>
                </xsd:simpleType>
                </xsd:element>
                <xsd:element name="PROWADZCY" type="xsd:string" minOccurs="0">
                    <xsd:annotation>
                        <xsd:documentation>Numer wydzialu</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>

我的xml文件如下:

<?xml version="1.0" encoding="UTF-8" ?>
<WYDZIAŁ>
    <IDENTYFIKATOR>12</IDENTYFIKATOR>
    <NAZWA>WARTOŚĆ TEKSTOWA NAZWA</NAZWA>
    <ADRES> WARTOSC TEKSTOWA ADRES</ADRES>
    <PRACOWNICY>
        <IMIE>WARTOŚĆ TEKSTOWA IMIE</IMIE>
        <NAZWISKO>WARTOŚĆ TEKSTOWA NAZWISKO</NAZWISKO>
        <TYTUŁ>WARTOŚĆ TEKSTOWA TYTUŁ</TYTUŁ>
        <KATEGORIA>WARTOŚĆ TEKSTOWA KATEGORIA</KATEGORIA>
        <ADRES>
            <ULICA>WARTOŚĆ TEKSTOWA ULICA</ULICA>
            <NUMER>21</NUMER>
            <KOD_POCZTOWY>62-890</KOD_POCZTOWY>
            <MIEJSCOWOSC>WARTOŚĆ TEKSTOWA MIEJSCOWOSC</MIEJSCOWOSC>
        </ADRES>
    </PRACOWNICY>
    <ZBIÓR_PRZEDMIOTÓW>
        <ID_PRZEDMIOTU>12</ID_PRZEDMIOTU>
        <NAZWA>WARTOŚĆ TEKSTOWA NAZWA</NAZWA>
        <LICZBA_UCZESTNIKOW>66</LICZBA_UCZESTNIKOW>
        <PROWADZACY>WARTOŚĆ TEKSTOWA PROWADZCY</PROWADZACY>
    </ZBIÓR_PRZEDMIOTÓW>
</WYDZIAŁ>

共有1个答案

柯学
2023-03-14

记事本问题:您必须将XSD与XML相关联。我将展示一个示例,说明如何通过下面的XML中xsi:noNamespaceSchemaLocation提供的标准提示机制,或者使用记事本的特定绑定机制来实现这一点。

请参见:

  • 使用记事本根据XSD验证XML
  • 如何使用schemaLocation或noNamespaceSchemaLocation将XML链接到XSD

XSD问题:不要同时定义type属性并为xs:元素提供类型子元素。(此问题出现3次)

XML问题:遵守XSD对几个元素的枚举约束。按照XSD中指定的方式拼写标记。等

下面是对XSD和XML的更正。一旦遵循将XSD与XML关联的说明,更新后的XSD将验证更新后的XML。

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xsd:annotation>
    <xsd:documentation xml:lang="pl">Definicja zawiadomienia w formacie XML</xsd:documentation>
  </xsd:annotation>
  <xsd:element name="WYDZIAŁ">
    <xsd:annotation>
      <xsd:documentation>Dokładny opis wydziału</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="IDENTYFIKATOR" type="xsd:ID">
          <xsd:annotation>
            <xsd:documentation>ID wydziału</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="NAZWA" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Nazwa wydziału</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="ADRES" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation>Adres wydziału</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element ref="PRACOWNICY"/>
        <xsd:element ref="ZBIÓR_PRZEDMIOTÓW"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <!--===========================================================-->
  <xsd:element name="PRACOWNICY">
    <xsd:annotation>
      <xsd:documentation>Informacje dotyczace pracowników</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="IMIE" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Imie parcownika</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="NAZWISKO" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Nazwisko pracownika</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="TYTUŁ">
          <xsd:annotation>
            <xsd:documentation>Tytuł pracownika</xsd:documentation>
          </xsd:annotation>
          <xsd:simpleType>
            <xsd:restriction base="xsd:string">
              <xsd:enumeration value="NAUKOWY"/>
              <xsd:enumeration value="ADMINISTRACYJNY"/>
              <xsd:enumeration value="TECHNICZNY"/>
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:element>
        <xsd:element name="KATEGORIA" type="xsd:string" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation>KATEGORIA pracownika</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="ADRES">
          <xsd:annotation>
            <xsd:documentation>ADRES parcownika</xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="ULICA" type="xsd:string">
                <xsd:annotation>
                  <xsd:documentation>ULICA</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="NUMER" type="xsd:integer">
                <xsd:annotation>
                  <xsd:documentation>NUMER</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="KOD_POCZTOWY">
                <xsd:annotation>
                  <xsd:documentation>KOD_POCZTOWY</xsd:documentation>
                </xsd:annotation>
                <xsd:simpleType>
                  <xsd:restriction base="xsd:string">
                    <xsd:minLength value="6"/>
                    <xsd:maxLength value="6"/>
                    <xsd:pattern value="\d{2}-\d{3}"/>
                  </xsd:restriction>
                </xsd:simpleType>
              </xsd:element>
              <xsd:element name="MIEJSCOWOSC" type="xsd:string">
                <xsd:annotation>
                  <xsd:documentation>MIEJSCOWOSC</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="ZBIÓR_PRZEDMIOTÓW">
    <xsd:annotation>
      <xsd:documentation>Informacje dotyczace adresata zawiadomienia</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="ID_PRZEDMIOTU" type="xsd:ID">
          <xsd:annotation>
            <xsd:documentation>ID_PRZEDMIOTU</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="NAZWA" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>NAZWA</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="LICZBA_UCZESTNIKOW">
          <xsd:annotation>
            <xsd:documentation>LICZBA_UCZESTNIKOW</xsd:documentation>
          </xsd:annotation>
          <xsd:simpleType>
            <xsd:restriction base="xsd:integer">
              <xsd:minInclusive  value="6"/>
              <xsd:maxInclusive  value="400"/>
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:element>
        <xsd:element name="PROWADZCY" type="xsd:string" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation>Numer wydzialu</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>
<?xml version="1.0" encoding="UTF-8" ?>
<WYDZIAŁ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="try.xsd">
  <IDENTYFIKATOR>a12</IDENTYFIKATOR>
  <NAZWA>WARTOŚĆ TEKSTOWA NAZWA</NAZWA>
  <ADRES> WARTOSC TEKSTOWA ADRES</ADRES>
  <PRACOWNICY>
    <IMIE>WARTOŚĆ TEKSTOWA IMIE</IMIE>
    <NAZWISKO>WARTOŚĆ TEKSTOWA NAZWISKO</NAZWISKO>
    <TYTUŁ>NAUKOWY</TYTUŁ>
    <KATEGORIA>WARTOŚĆ TEKSTOWA KATEGORIA</KATEGORIA>
    <ADRES>
      <ULICA>WARTOŚĆ TEKSTOWA ULICA</ULICA>
      <NUMER>21</NUMER>
      <KOD_POCZTOWY>62-890</KOD_POCZTOWY>
      <MIEJSCOWOSC>WARTOŚĆ TEKSTOWA MIEJSCOWOSC</MIEJSCOWOSC>
    </ADRES>
  </PRACOWNICY>
  <ZBIÓR_PRZEDMIOTÓW>
    <ID_PRZEDMIOTU>a13</ID_PRZEDMIOTU>
    <NAZWA>WARTOŚĆ TEKSTOWA NAZWA</NAZWA>
    <LICZBA_UCZESTNIKOW>66</LICZBA_UCZESTNIKOW>
    <PROWADZCY>WARTOŚĆ TEKSTOWA PROWADZCY</PROWADZCY>
  </ZBIÓR_PRZEDMIOTÓW>
</WYDZIAŁ>
 类似资料:
  • 我试图从通过JAXB生成的类序列化XML。 班级: 文件“package-info.java”: 编组器(简化,无需错误处理): 此代码生成: 我期待这样的事情: 我有一个类似的代码并且工作正常,但是我不明白为什么这个代码不显示命名空间。有线索吗?谢谢!

  • 我试图通过DropBox系列中提供的API启用Dropbox操作 这里是生成的url: https://api.dropbox.com/1/metadata/sandbox/public/2WayServiceOverview.pdf?oauth_consumer_key=XXXXXX 当然有些数据我替换不分享所有:-) 授权通过后,我获得访问代码,然后得到{“错误”:“无效或缺少签名”} 文件p

  • 我必须解析一个XML,其中缺少xmlns: xsi="http://www.w3.org/2001/XMLSchema-instance"命名空间,所以xml看起来像这样: 但应该是这样的: type属性确保了正确的子类。 解析器是通过一个手写的xsd自动生成的$ 一个简单的解决方案是在输入XML上运行一个字符串替换(type=\\"到xsi: type=\"),但这很难看。有没有更好的解决办法?

  • 我使用Avro模式动态地从C#应用程序生成消息到Kafka集群,使用汇合的Kafka客户机。在编译时不知道数据类型,因此我使用命名空间中的GenericRecord类,如下所述:https://www.confluent.io/blog/decoupling-systems-with-apache-kafka-schema-registry-and-avro/。 但是,我有一个问题--如果模式有一

  • 我试图验证一个json响应与空手道json模式验证。我已经在许多方面多次使用它,在这个简单的例子中,我无法理解哪里出了问题。以下是我得到的回应: 下面是模式: 当我试图验证它:*匹配每个响应==clientSchema 错误是:路径$[0]['房间']中缺少属性,这让我发疯,我找不到。

  • 下面是我的XSD。我犯了错误。你能验证一下吗? 请帮帮我。