找不到元素“test1”的声明
所以我使用 xsd 1.1 在我的代码中使用断言,无论我做什么,我都无法删除错误“找不到元素“test1”的声明”
这是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<test1>
<Candidate name="John">61</Candidate>
<Candidate name="Sara">24</Candidate>
<Candidate name="Bill">15</Candidate>
</test1>
这是我的带有断言和 xsd 1.1 扩展的 xsd
<xs:schema xmlns="http://www.mycompany.com/schema/app"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.mycompany.com/schema/app"
elementFormDefault="qualified"
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
vc:minVersion="1.1">
<xs:element name="test1">
<xs:complexType>
<xs:sequence>
<xs:element name="Candidate" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:assert test="sum(Candidate)=100"/>
<xs:attribute type="xs:string" name="name" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我的目标我想让这个 xml 和 xsd 彼此有效
so im using xsd 1.1 to use assert in my code, whatever i do , i cant remove the error "Cannot find declaration of element "test1""
this is my code for :
<?xml version="1.0" encoding="utf-8"?>
<test1>
<Candidate name="John">61</Candidate>
<Candidate name="Sara">24</Candidate>
<Candidate name="Bill">15</Candidate>
</test1>
and this is my xsd with assert and xsd 1.1 extension
<xs:schema xmlns="http://www.mycompany.com/schema/app"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.mycompany.com/schema/app"
elementFormDefault="qualified"
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
vc:minVersion="1.1">
<xs:element name="test1">
<xs:complexType>
<xs:sequence>
<xs:element name="Candidate" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:assert test="sum(Candidate)=100"/>
<xs:attribute type="xs:string" name="name" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
my goal is that i want to make this xml and xsd valid with each other
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的 XSD 目标为
targetNamespace="http://www.mycompany.com/schema/app"
命名空间,但您的 XML 不位于任何命名空间中。替代解决方案:
xmlns="http://www.mycompany.com/schema/app"
添加到 XML 文档的根元素,或targetNamespace="http://www .mycompany.com/schema/app”
来自 XSD 中的xs:schema
。另请参阅
Your XSD targets the
targetNamespace="http://www.mycompany.com/schema/app"
namespace, yet your XML is in no namespace.Alternative solutions:
xmlns="http://www.mycompany.com/schema/app"
to the root element of your XML document, ortargetNamespace="http://www.mycompany.com/schema/app"
fromxs:schema
in your XSD.See also