【发布时间】:2012-09-26 15:24:25
【问题描述】:
我从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 的其他部分,那很好,只要它不要求启动富客户端平台和 GUI。我正在寻找无头解决方案。
我可以在 Eclipse 堆栈的哪一层访问此接口,以便设计一个命令行程序,该程序本质上接受 XML 文件和格式首选项列表,类似于 Eclipse 首选项窗格中的格式首选项列表(但指定为命令行参数)并生成格式化的 XML 作为输出?
在网上看了一些,我认为Eclipse Juno中的XML源代码编辑器是在WST中实现的,但是我不知道如何分离出与该项目无关或具有GUI功能的WST部分,以便我只能调用实际执行 XML 解析和修改的无头“引擎”类。
这个问题不是关于如何使用相关接口。只是 Eclipse 平台如此庞大,以至于仅仅发现我需要的库接口的存在本身就是一个挑战,因此这个问题。一旦我找到了一个位于该任务的正确抽象级别的 API,我将能够从文档中了解 API 并编写程序而无需更多帮助。
【问题讨论】:
标签: java eclipse dependencies xml-formatting