XSD:根元素错误

XSD: root element ERROR

我在尝试创建 XML 模式时遇到了一个小问题。 当我生成它时,我收到此错误消息: 必须指定根元素。

那么问题是什么?

<?xml version="1.0" encoding="UTF-8"?>

<complexType name="yazartipi">
    <sequence>
        <element name="isim" type="string"></element>
        <element name="soyad" type="string"></element>
    </sequence>
</complexType>

<complexType name="kitaptipi">
    <sequence>
        <element name="ad" type="string"></element>
        <element name="sene" type="int"></element>
        <element name="kategori" type="string"></element>
        <element name="yazar" type="tns:yazartipi"></element>
    </sequence>
    <attribute name="no" type="int" use="required"></attribute>
</complexType>

<complexType name="kitaplartipi">
    <sequence>
        <element name="kitap" type="tns:kitaptipi" minOccurs="1" maxOccurs="unbounded"></element>
    </sequence>
</complexType>

<element name="kitaplar" type="tns:kitaplartipi"></element>

清理你的 XSD 后:

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://www.example.org/Kitaplar"
        xmlns:tns="http://www.example.org/Kitaplar"
        elementFormDefault="unqualified"
        attributeFormDefault="qualified">

  <complexType name="yazartipi">
    <sequence>
        <element name="isim" type="string"></element>
        <element name="soyad" type="string"></element>
    </sequence>
  </complexType>

  <complexType name="kitaptipi">
    <sequence>
        <element name="ad" type="string"></element>
        <element name="sene" type="int"></element>
        <element name="kategori" type="string"></element>
      <element name="yazar" type="tns:yazartipi"></element>
    </sequence>
    <attribute name="no" type="int" use="required"></attribute>
  </complexType>

  <complexType name="kitaplartipi">
    <sequence>
        <element name="kitap" type="tns:kitaptipi" minOccurs="1" maxOccurs="unbounded"></element>
    </sequence>
  </complexType>

  <element name="kitaplar" type="tns:kitaplartipi"></element>
</schema>

您应该会发现 XML 文档,例如:

<?xml version="1.0" encoding="utf-8"?>
<tns:kitaplar xmlns:tns="http://www.example.org/Kitaplar"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://www.example.org/Kitaplar try.xsd">
  <kitap tns:no="0">
    <ad/>
    <sene>1</sene>
    <kategori/>
    <yazar>
      <isim/>
      <soyad/>
    </yazar>
  </kitap>
</tns:kitaplar>

将验证成功。

答案在邮件中。 "root" 元素是包裹整个文档的元素。

没有根的例子:

<tag>
  <value1>V</value1>
</tag>
<tag>
  <value1>X</value1>
</tag>

带有根元素的示例:

<tags>
  <tag>
    <value1>V</value1>
  </tag>
  <tag>
    <value1>X</value1>
  </tag>
</tags>

此答案基于您已将整个 .xsd 文件放在这里的假设。在该用例中,您没有使用定义架构的 xs:schema 元素,如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
...
</xs:schema>

在上面的schema中我们使用了标准的命名空间(xs),与这个命名空间关联的URI是Schema语言定义,它的标准值为http://www.w3.org/2001/XMLSchema

您还应该参考以下 link 以供进一步参考: http://www.w3schools.com/schema/schema_example.asp