我想创建一个自定义 XML 编辑器,它可以提供基于当前 XPath 的模板或内容辅助。使用扩展点创建模板org.eclipse.ui.editors.templates
使其可用于整个上下文类型,这有点太简单了。
谷歌搜索时,我会得到可以处理此问题的oXygen的链接,即:
... XPath 感知内容助手显示函数和轴(所有文档都与 W3C 规范中的部分一起记录)、变量和参数以及上下文中元素和属性的名称测试。
我猜我需要使用 WTP XML 编辑器?
我想创建一个自定义 XML 编辑器,它可以提供基于当前 XPath 的模板或内容辅助。使用扩展点创建模板org.eclipse.ui.editors.templates
使其可用于整个上下文类型,这有点太简单了。
谷歌搜索时,我会得到可以处理此问题的oXygen的链接,即:
... XPath 感知内容助手显示函数和轴(所有文档都与 W3C 规范中的部分一起记录)、变量和参数以及上下文中元素和属性的名称测试。
我猜我需要使用 WTP XML 编辑器?
需要使用 WTP XML?编辑?鉴于您研究过的选项,我不明白您的意思。<oXygen/> 是功能齐全的 XML 编辑器,既可以独立使用,也可以作为 Eclipse 插件使用;每个许可证要花一点钱(300 美元以上),但如果你能负担得起,请继续使用它。它具有您正在寻找的XPath 支持。
我以前用过它并且对它非常满意。
你可以。当调用 WTP XML 编辑器对扩展点的贡献时org.eclipse.wst.sse.ui.completionProposal
,它们会查找相关的 DOM 节点和文本位置并确定要建议的内容。贡献更多“计算机”没有人为限制。您可以看到它是如何使用 XML Schema 语法的 DTD 完成的,org.eclipse.wst.xml.ui.internal.contentassist.AbstractXMLCompletionProposalComputer#computeCompletionProposals(CompletionProposalInvocationContext, IProgressMonitor)
或者从使用org.eclipse.wst.xml.ui.internal.contentassist.XMLTemplatesCompletionProposalComputer#computeCompletionProposals(CompletionProposalInvocationContext, IProgressMonitor)
.