题
我如何使用XSD“期望”元素具有名称空间?在这一点上,我收到一个错误说: “从元素'ns:person'开始发现的“无效内容。
如您所见,我定义了 name
属性 xs:element
: : “人”。如果我将“ NS:人”定义为 name
然后,我遇到了一个错误,即该名称无效。
我在这里想念什么?
这是XSD(NS.XSD):
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="peoples">
<xs:complexType>
<xs:sequence>
<xs:element name="person"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
这是xml(peoples.xml):
<?xml version="1.0" encoding="ISO-8859-1"?>
<peoples xmlns:ns="url" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ns.xsd">
<ns:person>
<name>John</name>
</ns:person>
</peoples>
解决方案
您需要包括完整的XSD来帮助您。但是,从我看到的错误以及您在XML实例文档中包含“ XSI:NONAMESPACESPACESCHEMALOFITION”的事实,我看到的问题是您使用了使用模式 没有目标名称空间 指定但您有资格 人 具有名称空间前缀的元素。只需在您的实例文档中的所有地方删除“ NS:”,您都很好。
不隶属于 StackOverflow