java - 如何从相应的 xsd'S 获取自己的 xml 编辑器的信息?

标签 java xml autocomplete xsd editor

我想用 java 编写一个 xml 编辑器,并希望获取 xml 元素的信息,例如可能的子元素、使用相应 xsd 的文档。 为了进行验证,我可以使用这个简单的代码片段,但我认为它不能帮助我获取 xml 中某个特定元素的信息:

 StreamSource[] schemaDocuments = { new StreamSource("layout.xsd") };
        /* created by your application */;
        Source instanceDocument = new StreamSource("BEW.xml");
        /* created by your application */;

        SchemaFactory sf = SchemaFactory.newInstance(
                "http://www.w3.org/2001/XMLSchema");
        Schema s = sf.newSchema(schemaDocuments);

        Validator v = s.newValidator();

        v.validate(instanceDocument);

最佳答案

EMF 项目是一个建模框架和代码生成工具,用于构建基于结构化数据模型的工具和其他应用程序。

https://www.eclipse.org/modeling/emf/

参见http://blog.xequtor.com/post/2017/06/12/emf-create-ecore-model-from-xsd-file示例项目。

我已经看到它非常成功地用于为各种复杂的数据模型生成编辑器,并且我已经编写了代码来加载 XSD 并使用 EMF 迭代其内容。它对 XSD 标准的实现非常彻底 - 它将加载 xs:includes 和 xs:imports 并将根据 W3C 规范中的规则验证 XSD。

关于java - 如何从相应的 xsd'S 获取自己的 xml 编辑器的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58591311/

相关文章:

java - 从二维数组创建图边时,arr[i][0]、arr[i][1]是什么意思?

java - 在 android 中获取 Skype 联系人列表和状态

python - 生物格式-Python 错误 : 'ascii' codec can't encode character u'\xb5' when using OMEXML()

java - 处理 xml 应用程序

自动完成选择后 JavaScript 清空输入

jquery - 文本区域顶部对齐与 jQuery 自动完成

java - 如何知道哪些文件已被修改以修复从 git 提交开始的错误?

java - java Streams 之间的操作

Android XML : Why can't we type @drawable-mdpi, 而不是,我们必须键入 @drawable?

ruby-on-rails - 使用 HTML5 数据列表自动完成 Ruby on Rails form_for