2008-11-26 12 views
19

Al editar un archivo XML en IntelliJ IDEA, si el documento hace referencia a un esquema, IDEA buscará el esquema y usará la información para autocompletar. Sabe qué etiquetas son válidas en qué contextos, de modo que cuando se pulsa CTRL-espacio, solo sugiere esas etiquetas. También resalta las etiquetas que no son válidas según el esquema.Edición XML compatible con esquemas en Vim

¿Alguien sabe de una extensión para Vim que proporciona una funcionalidad similar?

+1

interesante, estoy tentado de probarlo. ¿Funciona en IDEA solo para editar, o también para escribir desde cero? Es decir, ¿requiere que todo el documento sea válido? o que la parte hasta donde estás editando sea válida; ¿o funcionará con un fragmento desnudo? Esto afecta la implementación. – 13ren

Respuesta

6

Lo más parecido que he visto para Vim es el script XML Completion.

Contiene archivos de definición XML para 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 y formato XML de OpenOffice 1.0.

+0

Gracias, eso podría ser suficiente. –

15

VIM 7+ apoya que por defecto y sin ningún tipo de plugins, que se puede cargar la definición XML, hay convertidores para DTD y SchemaNG:

http://vimdoc.sourceforge.net/htmldoc/insert.html#ft-xml-omni

por ejemplo, mi Vim 7.3 ya tienen definiciones para 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 

Pruébalo, merece la pena. Todo está documentado claramente en el enlace de arriba, no lo copiaré y pegaré aquí.

+0

Hm, ¿qué más puede completar vim? –

+0

La terminación xml lista para usar de Vim 7+ es agradable, pero nunca he podido hacer que la secuencia de comandos vim2dtd realmente funcione para hacer nuevas definiciones para otros tipos de XML. La secuencia de comandos no se ha actualizado en casi una década. Me gustaría matar para tener los archivos de autocompletar para dita xml. – Scribblemacher

0

Referencia: http://ricardianambivalence.com/2013/02/17/xml-validation-in-vim/

Con la bar.xml abierta, puede validar fácilmente contra foo.xsd. Primero, guarde sus cambios y luego presione : e ingrese lo siguiente (es el conducto al comando del terminal).

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

Esto no será útil si quieres informes en vivo mientras escribes. – Soundararajan

+0

Si bien este enlace puede responder a la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página vinculada cambia. – nmaier

+0

@nmaier Lo tengo. Gracias :) – Soundararajan

0

He recopilado algo de material sobre este tema, puedes encontrarlo en github. https://github.com/tbazant/xml-vim está escrito en docbook, conviértalo a PDF y ¡disfrútelo!

+0

Ver el comentario de @nmaier a continuación: http://stackoverflow.com/questions/322481/schema-aware-xml-editing-in-vim#comment27428025_18630589 – icedwater

Cuestiones relacionadas