2015-01-26 111 views
1

我嘗試創建XML架構時遇到了一個小問題。 當我生成它時,我得到了這個錯誤信息: 必須指定一個根元素。XSD:根元素錯誤

那麼問題是什麼?

<?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> 

+0

這是你的整個XML架構文件或者是它的提取物? – softwariness 2015-01-26 20:56:38

+0

@softwariness它是我的整個XML模式。我只想嘗試如何生成它。但我couldnt:s – 2015-01-26 20:58:58

+0

我已經創建了一個XML模式與您的片段,並沒有問題。您能否詳細說明您是如何生成它以及在哪個步驟中解決問題的? – 2015-01-26 21:00:07

回答

0

的清理你的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> 

將成功驗證。

0

答案在消息中。 「根」元素是包裝整個文檔的元素。

例,無根:

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

例有根元素:

0

這個答案是基於你在這裏把整個.xsd文件的假設。在這種使用情況下,你沒有使用過的xs:schema元素定義的模式如下所示:

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

在架構上面我們使用標準的命名空間(XS),和與該命名空間相關聯的URI是模式語言定義,其標準值爲http://www.w3.org/2001/XMLSchema

您還應該參考以下鏈接瞭解詳細參考: http://www.w3schools.com/schema/schema_example.asp