【发布时间】:2013-03-12 22:28:49
【问题描述】:
我正在使用 XML 模式并尝试生成使用它的简单有效文档。
架构 XSD 由 W3C 提供,所以我无法想象它实际上有什么问题。但是命令行上的xmllint 以及任何数量的免费在线验证器都抱怨实际的 XSD(不是我的测试文档):
The QName value '{http://www.w3.org/XML/1998/namespace}id' does not resolve to a(n) attribute declaration.
请注意,它无法解析 id 类型/名称,这是基本的 XML 内容。我不是 XML 大师,所以我可能在这里遗漏了一些关于名称空间/链接的明显内容。这不是我的测试文档的问题,因为即使是一个简单的测试文档在 XSD 编译位中也会失败。
Here's the XSD file。这是一个简单的测试文档:
<?xml version="1.0" encoding="UTF-8"?>
<ink xmlns="http://www.w3.org/2003/InkML"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/TR/2011/REC-InkML-20110920/inkml.xsd">
</ink>
但尽我所能,我无法让xmllint 或任何在线验证器通过 XSD 解析/编译阶段,因为 XML id 类型在某种程度上是不稳定的。
我对 XML 的理解不正确吗?我问的是 SO(与另一个站点相比),因为最终这是关于理解 XML 规范和依赖关系以编写和验证文档。我欢迎代码 sn-ps 做正确的事情,不管是什么正确的事情。
想法?谢谢。
【问题讨论】:
标签: xml xsd xml-validation inkml