xml is grammar, an xml doc created from back end ( business logic or db) is model;
xsl is a stylesheet language for xml specifying the style of an xml doc; xslt is part of xsl, defining how to transform xml doc into other xml form (html is also an xml form). the xml doc converted by xslt from its original form is sent to client as a view.
views are connected to each other by links inside. the controller is responsible for get user input (point of contact), call back end logic to create model data, then call proper xslt to create a view. Sometimes controller is also used to directly define workflow logic between views.
xml/xsl has a very clean cut between data content and form. but xml is text based, and xml-related api is evolving, so pls put performance and learning curve into consideration.