You would need the Forms Designer to create a form to hold your data and give it context. The result of this would be a PDF container to capture the data. When the user wants to save you woudl submit that data back to the server and write it to a DB. LiveCycle Forms woudl be required to create the PDF, merge the data and save the data. Once the user is finished the data is sent back to the server where it canbe validated. There woudl be no need to use XSLFO as there already is a format for the data.