The original data is in form of Java beans A container contains multiple Java objects of "TheBean" The data is converted into XML by Castor You can notice that the XSL file simply "apply-templates" based on the beans