Редактирование XML с учетом схемы в Vim - PullRequest
20 голосов
/ 27 ноября 2008

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

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

Ответы [ 5 ]

15 голосов
/ 20 августа 2012

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

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

6 голосов
/ 27 ноября 2008

Самая близкая вещь, которую я видел для Vim - это скрипт XML Completion .

Содержит файлы определений 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.

3 голосов
/ 01 декабря 2008

Прочитайте этот документ: http://www.pinkjuice.com/howto/vimxml/

Очень полезно.

1 голос
/ 21 апреля 2015

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

0 голосов
/ 05 сентября 2013

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

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

:! xmllint --noout --schema foo.xsd bar.xml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...