从前,我有一个DOCTYPE有效和有效的XML。我把前者对后者,CNTRL-s'd的顶部,不料:一切都因为所有应该的。现在我有一个有效的模式(定制我仍然有效XML)。我想我一样的尝试和真正的方法 - 但很可惜,没有成功。

我与每个不同的验证我用不同的错误,然而新的错误从我的浏览器提交(但有意义)。所以,我不知道我应该给最有帮助。 Validome表示:

  

找不到的元素 '的xs:模式' 声明。

  

以下的根元素的文档中的标记必须被良好地形成。

(但它是!)

如果这将会是有XML和模式是有用的,请不要犹豫,问,我只是想,既然它们都是W3有效的和漫长的,我会尽量让他们出来首先。我做的是把对XML的顶部的模式,并通过识别/浏览器发送。

谢谢!

有帮助吗?

解决方案

@Nona模式是一个良好的文档,所以是您的实例。但是,如果你将它们连接起来的结果是不再良好的。

如果你拥有的是:

<xs:schema ...>...</xs:schema>
<myxml ...>...</myxml>

这是没有很好地形成(无单根元素)

之所以DTD方法不同的是,内部子集是专门允许前置到根元素。所以:

<DOCTYPE myxml [
... my DTD ...
]>
<myxml ...>...</myxml>

是公形成。

不幸的是这不是完全微不足道的架构与实例相关联。您可能要看看xsi:schema-location

<强>更新 很不幸,答案将取决于你使用的软件框架。据我所知是没有包装的文档和模式,使得任何软件将接受并尝试验证的方式。这就是为什么架构比DTD的更多的努力。

下面是一个简单的网站,你可以提交两个文件和测试。

任何超出可能需要在软件方面的知识。那里将根据不同的方法是否在使用ORACLE,微软等这可以通过调用方法加载文档,加载架构,然后验证,或设置属性(如可以在Xerces的完成)来完成。

答案可能取决于你为什么这样做。如果您要提交文件的架构的所有者那么他们将probbaly有一个验证系统。如果你不得不对valiadte别人的模式,那么你将需要得到schemavalidation软件并运行此。你在MS或Unix / Java的?

更多UPDATE 推荐什么是最好的方式验证对XSD文件的XML文件? 正如他们所说,没有超简单的方法。

其他提示

在黑暗中只是一个尝试,但你有没有根元素中定义的XML架构命名空间前缀?它的xmlns:XS = “http://www.w3.org/2001/XMLSchema”。如果一个命名空间前缀未绑定到一个命名空间的名称,则该文件是无效的。

在说明明显的风险,你可能要考虑,为什么元素XS的声明的原因:架构无法通过验证发现。

在第二误差表明,有一个尖括号失踪某处,或有未正确嵌套某些元素。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top