Xml 为什么XSD验证离线失败但在线工作?
我有这两个文件,XML和XSD schedule.xml:Xml 为什么XSD验证离线失败但在线工作?,xml,eclipse,xsd,xsd-validation,xml-validation,Xml,Eclipse,Xsd,Xsd Validation,Xml Validation,我有这两个文件,XML和XSD schedule.xml: <?xml version="1.0"?> <Schedule xmlns ="schedule" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schedule.xsd"> &l
<?xml version="1.0"?>
<Schedule xmlns ="schedule"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="schedule.xsd">
<Event>
<Title>Artificial Intelligence</Title>
<Lecture>
<Day>Wednesday</Day>
<Time>09-11</Time>
</Lecture>
</Event>
</Schedule>
它在我的电脑上工作。我的问题是为什么我只在我的电脑上出现这个错误?我不想修复我的文件,我想知道为什么我只在电脑上出现此错误。阅读
特别注意两点:
xsi:noNamespaceSchemaLocation
名称空间不帮助任何处理器将XSD与此关联
文件我怀疑您的xml文件令人困惑。您声明文件的名称空间为
schedule
,然后提供链接xsi:noNamespaceSchemaLocation=“schedule.xsd”
。您应该研究定义名称空间的方式。据我所知,主要问题是,当我没有说明名称空间是变量的位置时,出于某种原因,变量无法将其与默认名称空间(xmlns)链接。相反,如果我声明文件位于何处,或者如果我声明名称空间的名称,例如xmlns:p,则它可以工作
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="schedule"
xmlns="schedule"
elementFormDefault="qualified">
<xsd:element name="Schedule">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Event" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Title" type="xsd:string"/>
<xsd:element name="Lecture">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Day" type="xsd:string"/>
<xsd:element name="Time" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
xsi:schemaLocation="schedule schedule.xsd"