什么软件支持XML文档中的变量(如代码完成)?

什么软件支持XML文档中的变量(如代码完成)?,xml,autocomplete,xsd,editor,intellisense,Xml,Autocomplete,Xsd,Editor,Intellisense,因此,我使用一个内部XML解决方案来定义内容,它有自己的XSD文件。我希望能够像在某些情况下使用C#和其他语言一样,在使用XSD文件进行语法验证的同时,完成上下文标记和引用自动完成。例如: <Object id="foo" /> <Object id="bar" /> <Object id="myobject" source="foo" /> 当我在第三个对象中输入'source='时,我希望它向我提供'foo','bar',以及文件中对象(或项目)上的

因此,我使用一个内部XML解决方案来定义内容,它有自己的XSD文件。我希望能够像在某些情况下使用C#和其他语言一样,在使用XSD文件进行语法验证的同时,完成上下文标记和引用自动完成。例如:

<Object id="foo" />
<Object id="bar" />
<Object id="myobject" source="foo" />

当我在第三个对象中输入'source='时,我希望它向我提供'foo','bar',以及文件中对象(或项目)上的任何其他ID“foo”和“bar”不是XSD文件中预定义的字符串;我们有数千个,每天都在增加。因此,当我声明

<Object id='someid'> 

我希望下次键入“source=”时在列表中用“someid”提示我,就像C#/C++处理变量一样


我愿意使用任何代码编辑器/文本编辑器/IDE,但如果没有办法做到这一点,那么哪种编辑器最容易添加它?从编程的角度来看,这真的不难

VisualStudio中的XML编辑器具有您想要的功能。本文给出了一个很好的概述

或者,虽然我没有亲自使用过它,但这篇文章建议Eclipse中也有类似的功能


或者在github for Atom上有一个项目,看起来它可以做你想做的事情。

这就是我目前使用的,没关系,但我想要更多。我想我的问题还不够清楚“foo”和“bar”不是XSD文件中预定义的字符串;我们有数千个,每天都在增加。因此,当我在下一次键入@Dreadicon Auto completion时声明一个新的XML节点时,我不会建议它无法索引的内容,比如id字段。在Netbeans中,您可以键入
f
,然后按Ctrl+K,它将开始提示您键入的以
f
开头的最后一个单词。您可以通过键入类似于
Fooba
Ctrl+K这样的内容来进一步扩展它,如果以前遇到过该单词,它将完成到
Foobar
。对于更旧的单词,继续按Ctrl+K。