在IntelliJ IDEA编辑XML文件时,如果文档引用了模式(schema),IDEA会获取该模式并将其信息用于自动完成。它知道哪些标签在哪些上下文中有效,因此当您按下CTRL-space时,它仅建议那些标签。根据模式,它还会突出显示任何无效的标签。
有没有人知道是否有适用于Vim的类似功能的扩展?
有没有人知道是否有适用于Vim的类似功能的扩展?
VIM 7+默认支持加载XML定义,而无需任何插件,DTD和SchemaNG都有转换器:
http://vimdoc.sourceforge.net/htmldoc/insert.html#ft-xml-omni
例如,我的Vim 7.3已经具备了XHTML的定义:
$ rpm -ql vim vim-common | grep xml
/usr/share/vim/vim73/autoload/xml
/usr/share/vim/vim73/autoload/xml/html32.vim
/usr/share/vim/vim73/autoload/xml/html401f.vim
/usr/share/vim/vim73/autoload/xml/html401s.vim
/usr/share/vim/vim73/autoload/xml/html401t.vim
/usr/share/vim/vim73/autoload/xml/html40f.vim
/usr/share/vim/vim73/autoload/xml/html40s.vim
/usr/share/vim/vim73/autoload/xml/html40t.vim
/usr/share/vim/vim73/autoload/xml/xhtml10f.vim
/usr/share/vim/vim73/autoload/xml/xhtml10s.vim
/usr/share/vim/vim73/autoload/xml/xhtml10t.vim
/usr/share/vim/vim73/autoload/xml/xhtml11.vim
/usr/share/vim/vim73/autoload/xml/xsd.vim
/usr/share/vim/vim73/autoload/xml/xsl.vim
/usr/share/vim/vim73/autoload/xmlcomplete.vim
/usr/share/vim/vim73/compiler/xmllint.vim
/usr/share/vim/vim73/compiler/xmlwf.vim
/usr/share/vim/vim73/ftplugin/xml.vim
/usr/share/vim/vim73/indent/xml.vim
/usr/share/vim/vim73/syntax/docbkxml.vim
/usr/share/vim/vim73/syntax/xml.vim
试一试,值得的。所有内容都在上面的链接中清楚地记录了,我不会在这里复制粘贴。
我见过的最接近Vim的东西是XML Completion脚本。
它包含了DocBook 4.[234]、XSL FO 1.0、XSLT 1.0、Relax NG 1.0、XML Schemas 1.0、SVG 1.1、XHTML 1.1、XInclude 1.0和OpenOffice 1.0 XML格式的XML定义文件。
bar.xml
文件后,您可以轻松地对foo.xsd
进行验证。首先保存更改,然后按下:
并输入以下内容(它是管道符到终端命令)。:! xmllint --noout --schema foo.xsd bar.xml