我正在尝试使用xmllint来检查我的工作,同时开发一个基本的XSD,即XML Schema架构.但它给了我一个错误
Validation failed: no DTD found.
我究竟做错了什么?
我的xmllint命令:
xmllint --noout --valid --schema simple.xsd lucas-basic.xml lucas-basic.xml:5: validity error : Validation failed: no DTD found ! > ^ lucas-basic.xml validates
测试XSD文件:
<?xml version = "1.0" encoding = "UTF-8"?> <!--Generated by XML Authority. Conforms to w3c http://www.w3.org/2001/XMLSchema--> <xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema"> <xsd:element name = "vehicles"> <xsd:complexType> <xsd:sequence> <xsd:element name = "nickname" type = "xsd:string" maxOccurs = "unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element>
测试XML文件:
<?xml version="1.0"?> <vehicles xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "http://lucas.ucs.ed.ac.uk/xml-schema/xmlns/simple.xsd" > <nickname>Bog Hopper</nickname> <nickname>Wee Beastie</nickname> <nickname>Count Zero</nickname> </vehicles>
xsi:noNamespaceSchemaLocation上的URL确实返回上面的XSD.此外,我下载了xsd文件并将其作为额外措施放入当前目录,但这似乎没有改变任何东西.
– 无效是针对DTD,而不是XSD.
这对你有用:
xmllint --noout --schema http://lucas.ucs.ed.ac.uk/xml-schema/xmlns/simple.xsd lucas-basic.xml
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。