根模式没有匹配的全局声明的验证错误
Validation error with no matching global declaration for root schema
我知道有很多此类错误的实例,但这些类型的验证错误对我来说意义不大
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Artwork">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="media" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
<xs:element name="created" type="xs:string"/>
<xs:element name="display" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我尝试切换模式名称,但没有任何作用。另外我需要显示 XML 文件来解决这个问题吗?我那里唯一的代码是 link 到相同模式的代码
名称空间对我来说似乎没问题。这是 XML
`
<Schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="artwork.xsd">
<Artworks>
<Artwork>
<Title>Xtreme Air</Title>
<Media>Glass Sculpture</Media>
<Description>An amazing work that uses glass balloon shaps to illustrate a rainbow of balloons circuling a glass earth.</Description>
<Created>April 2010</Created>
<Display>Orlando Museum of Arts</Display>
</Artwork>
</Artworks>
</Schema>
`
导致此错误的主要原因有两个。
命名空间。检查实例文档中的命名空间是否与架构的目标命名空间相匹配。
API 问题:调用模式验证的方法有很多种,这样做时可能会犯很多错误。
信息太少,我只能说这么多了。
请尝试以下 XML/XSD 对。您需要使用环境中的 XSD 文件位置更新 xsi:noNamespaceSchemaLocation
值。
XML
<?xml version="1.0"?>
<Artworks xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:///e:/Temp/Artwork.xsd">
<Artwork>
<Title>Xtreme Air</Title>
<Media>Glass Sculpture</Media>
<Description>An amazing work that uses glass balloon shaps to illustrate a rainbow of balloons circuling a glass earth.</Description>
<Created>April 2010</Created>
<Display>Orlando Museum of Arts</Display>
</Artwork>
</Artworks>
XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="Artworks">
<xs:complexType>
<xs:sequence>
<xs:element ref="Artwork"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Artwork">
<xs:complexType>
<xs:sequence>
<xs:element name="Title" type="xs:string"/>
<xs:element name="Media" type="xs:string"/>
<xs:element name="Description" type="xs:string"/>
<xs:element name="Created" type="xs:string"/>
<xs:element name="Display" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我知道有很多此类错误的实例,但这些类型的验证错误对我来说意义不大
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Artwork">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="media" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
<xs:element name="created" type="xs:string"/>
<xs:element name="display" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我尝试切换模式名称,但没有任何作用。另外我需要显示 XML 文件来解决这个问题吗?我那里唯一的代码是 link 到相同模式的代码 名称空间对我来说似乎没问题。这是 XML
`
<Schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="artwork.xsd">
<Artworks>
<Artwork>
<Title>Xtreme Air</Title>
<Media>Glass Sculpture</Media>
<Description>An amazing work that uses glass balloon shaps to illustrate a rainbow of balloons circuling a glass earth.</Description>
<Created>April 2010</Created>
<Display>Orlando Museum of Arts</Display>
</Artwork>
</Artworks>
</Schema>
`
导致此错误的主要原因有两个。
命名空间。检查实例文档中的命名空间是否与架构的目标命名空间相匹配。
API 问题:调用模式验证的方法有很多种,这样做时可能会犯很多错误。
信息太少,我只能说这么多了。
请尝试以下 XML/XSD 对。您需要使用环境中的 XSD 文件位置更新 xsi:noNamespaceSchemaLocation
值。
XML
<?xml version="1.0"?>
<Artworks xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:///e:/Temp/Artwork.xsd">
<Artwork>
<Title>Xtreme Air</Title>
<Media>Glass Sculpture</Media>
<Description>An amazing work that uses glass balloon shaps to illustrate a rainbow of balloons circuling a glass earth.</Description>
<Created>April 2010</Created>
<Display>Orlando Museum of Arts</Display>
</Artwork>
</Artworks>
XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="Artworks">
<xs:complexType>
<xs:sequence>
<xs:element ref="Artwork"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Artwork">
<xs:complexType>
<xs:sequence>
<xs:element name="Title" type="xs:string"/>
<xs:element name="Media" type="xs:string"/>
<xs:element name="Description" type="xs:string"/>
<xs:element name="Created" type="xs:string"/>
<xs:element name="Display" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>