Fino a questo punto, XSLT e XSL-FO sono stati descritti separatamente, per evitare confusione, mentre fanno parte di un sistema integrato. Avendo compreso il meccanismo di XSLT e di XSL-FO, non dovrebbe essere difficile unire le due cose per trasformare un documento XML in un file XSL-FO, allo scopo di arrivare poi alla composizione finale.
In precedenza è stato mostrato un file XML molto semplice, associando a questo la trasformazione in formati comuni:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE relazione [
<!ELEMENT relazione (titolo?, data, contenuto)>
<!ATTLIST relazione
xml:lang CDATA "">
<!ELEMENT titolo (#PCDATA)>
<!ELEMENT data (#PCDATA)>
<!ELEMENT contenuto (paragrafo+, firma+)>
<!ELEMENT paragrafo (#PCDATA)>
<!ELEMENT firma (#PCDATA)>
]>
<relazione xml:lang="it">
<titolo>Relazione introduttiva su XML</titolo>
<data>11/11/2011</data>
<contenuto>
<paragrafo>XML sta per Extensible Markup Language. bla bla bla...
Perché,... così,... perciò,... sarà...</paragrafo>
<paragrafo>Bla, bla, bla....</paragrafo>
<firma>Pinco Pallino</firma>
</contenuto>
</relazione>
Per trasformare questo tipo di file in un foglio di stile XSL-FO, si può usare un foglio di stile XSLT come quello seguente; si osservi anche la presenza della dichiarazione del dominio applicativo associato al prefisso fo:.