Подтвердить что ты не робот

Редактирование XML с помощью схемы в Vim

При редактировании XML файла в IntelliJ IDEA, если документ ссылается на схему, IDEA будет извлекать схему и использовать информацию для автозаполнения. Он знает, какие теги действительны в каких контекстах, поэтому, когда вы нажимаете CTRL-пространство, он предлагает только те теги. Он также выделяет любые теги, которые недействительны в соответствии с схемой.

Кто-нибудь знает расширение для Vim, которое обеспечивает аналогичную функциональность?

4b9b3361

Ответ 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.

Ответ 2

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

Попробуй, это того стоит. Все документально оформлено по ссылке выше, я не буду копировать ее здесь.

Ответ 4

Ссылка: http://ricardianambivalence.com/2013/02/17/xml-validation-in-vim/

При открытии bar.xml вы можете легко проверить на foo.xsd. Сначала сохраните изменения, а затем нажмите : и введите следующее (это труба к команде терминала).

:! xmllint --noout --schema foo.xsd bar.xml

Ответ 5

Я собрал материал по этой теме, вы можете найти его на github. https://github.com/tbazant/xml-vim он написан в docbook, конвертирует его в PDF и пользуется!