gpt4 book ai didi

android - Android 上的 XMLSchema 验证

转载 作者:IT老高 更新时间:2023-10-28 23:25:57 27 4
gpt4 key购买 nike

我维护 JDOM project我正在尝试在 Android 上“认证”它。大多数事情都可以正常工作,但 XML Schema 验证被证明是有问题的......

我的问题是:有没有办法在 Android 上进行 XMLSchema 验证?如果有,怎么做?

以前有人问过这样的问题,但没有给出确凿的答案:

这是我目前“知道”的(如果我错了,请纠正我)...:

  • SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema ") - 因 IllegalArgumentException 而失败
  • Harmony 项目中 Android 中的默认“ExpatParser”不支持 XMLSchema 验证。
  • 可以在 Android 应用程序中加载 Xerces,甚至对其进行解析,但不能进行 Validating 解析 - 当您尝试时,您会收到导致应用程序崩溃的“致命”Android 异常。

我已经为此工作了一段时间,我整理了以下“研究”:

如果有人有任何关于 Android 上 XMLSchema 验证的更多信息,我将不胜感激。

如果有人成功地对 XML 进行了 XMLSchema 验证,并且可以帮助我获得适用于 JDOM 的功能,他们将获得数千个互联网点... ;-) 并将在 JDOM 代码和提交消息中永垂不朽。

最佳答案

令我着迷的是,几年后,这仍然是一个悬而未决的问题。不过,似乎只有坏消息。根据AOSP Issue Tracker标准 Android API 目前似乎不支持模式验证,而且 Google 似乎不愿意修复它:

Our XML APIs (including SAX, XmlPull and DOM) don't support any of the following:

 XML Schema 

XML DTDs (including external entity declarations and references)
validation

element content whitespace

但是,同一张票的一位评论者引用了 workaround ,并提供使用 Xerces 端口的示例代码。到目前为止,我不知道这是否超出了您的想象,但我希望它有所帮助。

总结一下:SchemaFactoryFinder只知道以下 Schema 定义:

使用任何其他模式定义会导致它失败(但它会在调试级别上记录)。显然,您就是这种情况,因为您使用的是对 2011 模式的另一个引用。所以“正确”引用模式定义应该可以解决这个问题。

关于android - Android 上的 XMLSchema 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10274555/

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