Eclipse XML格式化后端库

时间:2012-09-26 15:24:25

标签: java eclipse dependencies xml-formatting

我正在问一个后续问题,以帮助SuperUser question发展成为编程问题的OP。

正如您在回答SU问题时从Eclipse的屏幕截图中看到的那样,Eclipse有一个强大且可配置的格式化XML的引擎(顺便说一句,我正在使用Eclipse Juno版本)。

SU问题的OP选择Eclipse的XML引擎作为整理XML的首选方法。不幸的是,OP更喜欢在命令行上工作,并希望从Eclipse的XML格式化引擎中捕获相同的功能,并使其作为一个简单的无头程序运行,例如可以从中调用。 bash

我知道Eclipse是非常模块化和可扩展的,所以我的直觉告诉我Eclipse不会将XML引擎背后的功能与UI紧密结合。所以,我认为Eclipse中有一些OSGi模块只将XML处理例程实现为无头I / O接口,而不是耦合到Eclipse运行时。如果这个接口依赖于Eclipse的其他部分,那就完全没问题,只要它不要求启动Rich Client Platform和GUI。我正在寻找无头解决方案。

我可以在Eclipse堆栈的哪一层访问此接口,以便设计一个命令行程序,实际上,它接受一个XML文件和一个类似于Eclipse Preferences窗格中的格式化首选项列表(但指定为命令行参数)并生成格式化的XML作为输出?

在线阅读之后,我认为Eclipse Juno中的XML源代码编辑器是在WST中实现的,但我不知道如何分离与该项目无关或具有GUI功能的WST部分,以便我只能调用实际进行XML解析和修改的无头“引擎”类。

这个问题不是关于 如何使用相关接口。只是Eclipse平台如此庞大,以至于发现我需要的库接口的存在本身就是一个挑战,因此这个问题。一旦我找到一个位于适合此任务的抽象级别的API,我将能够从文档中了解API并编写程序而无需进一步的帮助。

1 个答案:

答案 0 :(得分:2)

XML格式化程序位于“org.eclipse.wst.xml.core”插件中。

org.eclipse.wst.xml.core.internal.formatter.XMLFormatterFormatProcessor

该插件使用扩展点“org.eclipse.wst.sse.core.formatProcessors”使其可用。