gpt4 book ai didi

xml - 有效的 XML,有效的架构。我哪里错了?

转载 作者:行者123 更新时间:2023-12-04 07:02:53 25 4
gpt4 key购买 nike

曾几何时,我有一个有效的文档类型和有效的 XML。我把前者放在后者之上,cntrl-s'd 并且看哪:一切都应该如此。现在我有一个有效的模式(为我仍然有效的 XML 定制)。我尝试了我同样的尝试和正确的方法 - 但唉,没有成功。

我使用的每个不同的验证器都会收到不同的错误,但我将其提交给浏览器的新错误(但这是有道理的)。所以我不确定我应该给哪个最有帮助。 Validome 说:

Can not find declaration of element 'xs:schema'.





The markup in the document following the root element must be well-formed.



(但它是!)

如果有 XML 和模式有用,请 不要犹豫,问 ,我只是想,因为它们都是 W3 有效且冗长的,所以我首先会尝试将它们排除在外。我所做的就是将架构放在 XML 之上并通过验证器/浏览器发送它。

谢谢!

最佳答案

@Nona 架构是一个格式良好的文档,您的实例也是如此。但是,如果将它们连接起来,结果将不再是格式良好的。

如果你拥有的是:

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

这不是格式良好的(没有单个根元素)

DTD 方法不同的原因是内部子集特别允许添加到根元素之前。所以:
<DOCTYPE myxml [
... my DTD ...
]>
<myxml ...>...</myxml>

形成良好。

不幸的是,将模式与实例相关联并非完全无关紧要。你可能要看看 xsi:schema-location .

更新
不幸的是,答案将取决于您使用的软件框架。 AFAIK 没有办法打包文档和模式,以便任何软件都可以接受并尝试验证。这就是模式比 DTD 更努力的原因。

这是一个简单的站点,您可以在其中提交两个文件并进行测试。

除此之外的任何事情都可能需要软件知识。根据您使用的是 ORACLE、Microsoft 等,会有不同的方法。这可以通过调用方法来加载文档、加载架构然后验证或设置属性(如在 Xerces 中可以完成的那样)来完成。

答案可能取决于您为什么要这样做。如果您将文档提交给架构的所有者,那么他们可能会有一个验证系统。如果您必须针对其他人的架构进行验证,那么您将需要获取架构验证软件并运行它。你使用的是 MS 还是 Unix/Java?

更多更新
建议 What's the best way to validate an XML file against an XSD file?
正如他们所说,没有超简单的方法。

关于xml - 有效的 XML,有效的架构。我哪里错了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1551164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com