Here are some first drafts of a couple XML examples based on the _zip & _find files. While I haven't done it, it seems to me that it wouldn't be difficult to use these files to generate equivalent versions of the existing _zip & _find files. These files becomes more readable in an XML viewer that can collapse elements (e.g. emacs?, gxmlviewer, IBM's XML viewer). Though several of these have some difficulty showing the help text in a useful manor. Some of the features in this draft: *) The ability to specify language for descriptions/explanations using the xml:lang attribute. *) The ability to add documentation from the man page of zip and zsh. The _arguments specific flag documentation, and help on the zip options. *) Ability to specify other completions, such as for the ZIPOPT environment variable. Though this hasn't really been thought out, not quite sure how the completion function would be generated based on this format. Some things missing that I wanted to add *) Ability to reuse exclusion groups. Make a definition and then reuse it for all the options. *) Reuse a set of flags with a small set of edits. Not all of zip's flags can be used with ZIPOPT, there should be an easy way to take a set of flags an delete/add some. *) More of the options (!+=- etc.) that can be placed in the optspecs. *) Ability to specify compdef options. *) Show equivalent flags. Some of the things I like about this format: *) Appropriate documentation can be inserted at the place where you need it. Whether it be zsh-specific or command-specific. Also, it leaves open additional sources of documentation such as the file's author (i.e. comments.) *) I think it is straight forward to convert this file into zsh scripts. (Though, it might take a little XSL work. ) The structure of the xml is strongly tied to the _arguments format, Also it is tied to some extent to the completion file format, though I haven't done survey of common file structures, if there is such a thing. *) There is a mechanism for handling non-declarative parts (i.e. code blocks). Some of the things I don't like about this format: *) The xml is about 14 times the size of the shell version in the case of _zip. *) Missing stuff to handle repeated information, such as exclusion lists. *) More difficult to comprehend what is happening without an XML editor. And even with that, pertinent information takes some work to find. My original goal was to make it easier to create new functions. So the next thing I would like to do is markup the usage output from a command. I'd like that format to be easy to modify by hand, and then taking that hand edit and transform it into the format I've shown for _find and _zip. I'll try to send that out next week. Does this seem useful, yet? Any suggestions for making it better? -FR. __________________________________________________ Do You Yahoo!? Make international calls for as low as $.04/minute with Yahoo! Messenger http://phonecard.yahoo.com/