XDoclet's templates are XML files. I guess technically, it's really an XML-like templating language, but most users wouldn't notice the difference. You can extend the templating language by creating custom tag handlers, which are like JSP tag libraries.