当前位置 : 主页 > 网页制作 > xml >

使用Ace通过XSD编辑XML

来源:互联网 收集:自由互联 发布时间:2021-06-13
可以使用Ace编辑器根据指定的XSD编辑 XML吗? 如果没有,有没有其他选择? 事实上,使用Ace验证XSD是可能的,它不受Ace附带的库所支持,因此您需要使用其他东西来根据XSD文件验证XML.然后,您
可以使用Ace编辑器根据指定的XSD编辑 XML吗?

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

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

editor.getSession().setUseWorker(false);

例如,我使用的是AgeGWT,它是一个允许在Java和GWT中使用Ace的包装器.请注意,github版本具有非常过时的库(3 – 4年……可能它们将来会更新,但看起来不像页面被主动维护),所以我只需使用npm下载并设置Ace,以便我可以复制并使用Ace的最新库(具有额外功能).

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

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

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

06001

然后我使用验证器先前收集的信息在Ace编辑器中设置注释.

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

网友评论