Ответ 1
Самое близкое, что я видел для Vim, - это Завершение XML script.
Он содержит файлы определения XML для 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 файла в IntelliJ IDEA, если документ ссылается на схему, IDEA будет извлекать схему и использовать информацию для автозаполнения. Он знает, какие теги действительны в каких контекстах, поэтому, когда вы нажимаете CTRL-пространство, он предлагает только те теги. Он также выделяет любые теги, которые недействительны в соответствии с схемой.
Кто-нибудь знает расширение для Vim, которое обеспечивает аналогичную функциональность?
Самое близкое, что я видел для Vim, - это Завершение XML script.
Он содержит файлы определения XML для 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.
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
Попробуй, это того стоит. Все документально оформлено по ссылке выше, я не буду копировать ее здесь.
Прочтите этот документ: http://www.pinkjuice.com/howto/vimxml/
Очень полезно.
Ссылка: http://ricardianambivalence.com/2013/02/17/xml-validation-in-vim/
При открытии bar.xml
вы можете легко проверить на foo.xsd
. Сначала сохраните изменения, а затем нажмите :
и введите следующее (это труба к команде терминала).
:! xmllint --noout --schema foo.xsd bar.xml
Я собрал материал по этой теме, вы можете найти его на github. https://github.com/tbazant/xml-vim он написан в docbook, конвертирует его в PDF и пользуется!