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
我在尝试创建 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