读取DTD或Schema并列出给定元素的所有有效子元素或属性

时间:2010-11-10 04:23:00

标签: c# java c++ xml schema

我想开发类似XML编辑器的应用程序..当用户键入元素时提供类似intellisense的功能,应用程序将读取DTD或模式并列出有效的子元素和属性(类似于Oxygen XML Editor)。 / p>

是否有API可以让我完成这项工作?

2 个答案:

答案 0 :(得分:1)

我不熟悉执行此任务的API。

如果您选择自己实施,请注意以下几点:

  • XML模式本身就是一个XML文件,它是根据元模式构建的。您可以轻松地使用现有API之一将模式解组为可以在内存中轻松使用的对象结构。
  • DTD不是XML结构,但任何DTD都可以表示为简单模式。因此,您应该尝试找到将DTD转换为模式的方法(并应用您的模式解决方案)。

HTH

答案 1 :(得分:0)

您可能会发现XSD4J有用:

  

XSD4J是一个解析XML Schema的库   将文件转换为Java结构   对象,将它们转换回来   XML DOM树(以及纯文本)   再次,并允许表演   对XSD对象的几个查询。   图书馆目前支持最多   真实世界的功能,如简单和   复杂类型,类型限制和   属性。