XML-Completion is a project mainly written in VIM SCRIPT and C, it's free.
Completion for XML files
This is a mirror of http://www.vim.org/scripts/script.php?script_id=1442
Context sensitive completion for XML. Completes:
The completion function is XmlComplete() and is imapped on C-J.
Distribution contains definition files (recipes) for 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 and OpenOffice 1.0 XML format.
If g:xmlSubelements == "yes" (default "no"), completion of element names is restricted on subelements of parent element. This feature is new and momentarily works only for DocBook, XSLT and XML Schemas (the recipes must be modified).
Completion algorithm: