You can do your own extension with a module and a function.
To produce XML, you have two ways to do this :
- you can use a template, so you must use the layout set function. - you can produce xml directly in your module, using SimpleXML or whatever.
Here's the documentation : http://ez.no/doc/ez_publish/technical_manual/4_0/reference/modules/layout
And an excellent article on how design extensions for eZpublish. http://ez.no/developer/articles/an_introduction_to_developing_ez_publish_extensions