gpt4 book ai didi

xml - 使用 Ace 通过 XSD 编辑 XML

转载 作者:数据小太阳 更新时间:2023-10-29 02:12:13 27 4
gpt4 key购买 nike

可以使用Ace编辑器根据指定的XSD编辑XML吗?

如果没有,是否有其他选择?

最佳答案

实际上可以用Ace验证XSD,只是Ace附带的库不支持它,所以你会需要使用其他东西根据 XSD 文件验证您的 XML。然后,您只需将收到的错误输出转换为注释,并使用以下命令禁用默认语法验证器:

editor.getSession().setUseWorker(false);

例如,我正在使用 AgeGWT这是一个允许在 Java 和 GWT 中使用 Ace 的包装器。请注意,github 版本有非常过时的库(3-4 年..也许他们会在未来更新,但看起来页面没有被积极维护),所以我简单地下载并设置了 Ace 使用 npm 以便我可以复制并使用 Ace 的最新库(具有额外功能)。

然后,我使用了一个返回所有错误的 Java XML 验证器,类似于找到的 here .

这将检索 SAXParseException 的列表/数组。此类型允许查询错误文本以及行号和列号 - 这是设置注释所需的最少信息(我将它们全部设置为具有 Error Annotation 类型)。

注释本身是在 Ace 回调上设置的,每次编辑器中的文本更改时都会触发该回调:

  editor.addOnChangeHandler(new AceEditorCallback() {
@Override
public void invokeAceCallback(JavaScriptObject obj) {
// validate XSD...

然后我在 Ace Editor 中设置注释,使用之前验证器收集的信息。

您不必使用 Java 或指定的库来完成这项工作。以类似的方式在 JavaScript 中执行此操作应该没有问题,也许使用 sax js ...事实上,它可能会容易得多。

关于xml - 使用 Ace 通过 XSD 编辑 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27212121/

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