2013-04-28 120 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> 

这不显示任何错误。你可以继续这个。

相关问题