generate now takes arguments and works for xproto.xml