the XML file holds the field names (tags) and their values.
the XSL file holds the format of what the form looks like.
XSL consists of three parts
1. XSLT - language for transforming XML documents
2. XPath - language for navigating in XML documents
3. XSL-FO - language for formatting XML documents
FO = Form Object
A piece of the XSL like the customer invoice number or a table cell.
FOP = Form Object Processor
The executable program that is fed the XML and XSL and produces output, in our case we're creating PDF files. We could also use fop to produce HTML web pages. It is also used by some people to create a new XML file that has different structure or a comma delimited file; think EDI.