IntelliJ IDEA で XML ファイルを編集するときに、ドキュメントがスキーマを参照している場合、IDEA はスキーマを取得し、その情報をオートコンプリートに使用します。どのタグがどのコンテキストで有効かを認識しているため、CTRL-スペースを押すと、それらのタグのみが提案されます。また、スキーマに従って無効なタグも強調表示されます。
同様の機能を提供する 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 定義ファイルが含まれています。
参照: http://ricardianambivalence.com/2013/02/17/xml-validation-in-vim/
open を使用bar.xml
すると、 に対して簡単に検証できますfoo.xsd
。まず、変更を保存してから:
、次のように入力します (端末コマンドへのパイプです)。
:! xmllint --noout --schema foo.xsd bar.xml