2013-04-28 83 views
0

也許這已經問了很多times.But我經歷了所有的職位去但我不知道XML和XSD的知識不能清除我的錯誤。有人可以找出錯誤嗎?XSD和XML - 找不到元素的聲明

XML

<?xml version="1.0" encoding="UTF-8"?> 
<HTMLQuestion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://www.w3schools.com ./HTMLQuestion1.xsd" xmlns="urn:Test.Namespace" > 
<HTMLContent> 
<html> 
    abcd 
</html> 

</HTMLContent> 
<FrameHeight>450</FrameHeight> 
</HTMLQuestion> 

這是架構HTMLQuestion1.xsd

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:Test.Namespace" xmlns="urn:Test.Namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
<xs:element name="HTMLQuestion"> 
<xs:complexType> 
    <xs:sequence> 
    <xs:element name="HTMLContent"> 
     <xs:complexType> 
     <xs:sequence> 
      <xs:element type="xs:string" name="html"/> 
     </xs:sequence> 
     </xs:complexType> 
    </xs:element> 
    <xs:element type="xs:short" name="FrameHeight"/> 
    </xs:sequence> 
</xs:complexType> 
</xs:element> 
</xs:schema> 

我得到的錯誤是

cvc-elt.1.a : Cannot find the declaration of element 'HTMLQuestion' 

回答

0

你與架構的位置提供的進程命名空間http://www.w3schools.com,但是在這個命名空間中沒有任何元素。您需要使用xsl:noNamespaceSchemaLocation屬性爲no命名空間元素提供模式的位置。

如果您希望從w3schools網站了解所有關於XSD的知識,請再考慮一下。它可以非常方便的快速參考(像一個頁面快速參考卡來提醒你命令語法或鍵盤組合),但它是沒有辦法獲得的概念。給自己一本像樣的書,例如Walmsley或van der Vlist。

+0

由於我沒有命名空間,我必須將xsi:schemaLocation =「http://www.w3schools.com ./HTMLQuestion1.xsd」更改爲xsi:noNamespaceSchemaLocation =「./ HTMLQuestion.xsd」? – user1429322 2013-04-28 07:50:38

+1

是.....................(對不起,點不答簡) – 2013-04-29 08:04:03

1

我認爲這將解決您的問題。

我創建的XML schema文件作爲BU你所提到的:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:Test.Namespace" xmlns="urn:Test.Namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
<xs:element name="HTMLQuestion"> 
<xs:complexType> 
<xs:sequence> 
<xs:element name="HTMLContent"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:element type="xs:string" name="html"/> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 
<xs:element type="xs:short" name="FrameHeight"/> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 
</xs:schema> 

現在我創建的XML基於上述XSD,這裏提到。

<?xml version="1.0" encoding="UTF-8"?> 
<HTMLQuestion xmlns="urn:Test.Namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:Test.Namespace HTMLQuestion1.xsd "> 
<HTMLContent> 
<html>p:html</html> 
</HTMLContent> 
<FrameHeight>0</FrameHeight> 
</HTMLQuestion> 

這不顯示任何錯誤。你可以繼續這個。

相關問題