Informationsansvarig: Marie-Louise Gustafsson, webmaster@itn.liu.se
Sidan uppdaterades senast: 2006-05-16
LiU > ITN>Utbildning> Utbildningsområden


[ Hoppa direkt till textinnehållet ] [ Hjälp ] [ Tillgänglighetsinformation ]
In English | A till ÖKartorKontakta oss
Gå till LiU.se
LiU > ITN>Utbildning> Utbildningsområden

Laboration XSL-FO
Laborationspoäng: 3-12

Förberedelser

Översikt


I denna laboration ska du lära dig XSL-FO samt att använda XSLT för att generera XSL-FO. Den genererade koden används sedan för att skapa pdf-filer. XML-filen som ska transformeras är "A Midsummer Night's Dream" av William Shakespeare.

Observera att XSL-FO är en omfattande rekommendation, som inte gås igenom i sin helhet i kursen. Därför är det viktigt att ni använder befintliga referenser och sökmotorer för att hitta information om det ni behöver göra. http://www.google.com,http://groups.google.com och http://www.w3.org/Style/XSL/och http://www.w3.org/TR/xsl/ är alla bra källor till visdom. http://www.w3.org/Style/XSL/TestSuite/contrib/FOP/testsuite.html innehåller många exempel och de pdf-resultat de genererar.

Denna sök-del anses vara en del av laborationen eftersom det ofta är på detta sätt man söker information när man kommer ut i verkligheten, och ni definitivt kommer använda det under projektet.

Poäng

Laborationen har en flytande poängskala beroende på hur exakt man lyckas efterlikna måldokumentet. Om man uppfyller minimikraven erhålles 3 poäng. Om man (i stort sett) exakt lyckas återskapa måldokumentet erhålles 10 poäng. Till detta kommer 2 bonuspoäng om laborationen redovisas innan deadline (se schema)

Uppgiften (3 - 10 p)

Ladda ner och packa upp filerna som finns i filen lab-xslfo.zip, packa upp innehållet som lägger sig i en mapp med namnet "lab-xslfo" och lägg den katalogen i kurskatalogen i din webbkatalog.

Programmet som används är Fop, version 0.94, vilken ska finnas installerad på skoldatorerna. Det går också att använda nyare versioner, men det visuella resultatet kan skilja sig något, så du är beredd på det.

Fop ligger installerat på S: men för att kunna köra programmet från valfri katalog krävs det att sökvägen läggs till i systemvariabeln PATH. Detta görs genom att i kommandotolken skriva

PATH=%PATH%;S:\TN\M\TNM065\fop-0.94

Kommandotolken öppnas exempelvis genom att via Start->Run köra "cmd". Detta gäller för Windows-maskinerna som används i labbsalarna. Sitter du hemma får du modifiera instruktionerna på lämpligt sätt (t.ex. sökvägen) för att det ska fungera hemma hos dig.

Sedan cd:ar du till katalogen där du packat upp filerna. Kör sedan

fop -xml mid-short.xml -xsl mid.fo.xsl -pdf out.pdf

Nu kan du titta på resultatet, t.ex. genom att öppna urlen

http://www.student.itn.liu.se/~ditt-anvandarnamn/TNM065/lab-xslfo/out.pdf

Sedan är det bara att börja modifiera filen mid.fo.xsl, som beskrivs under nedan. Det kan dock ofta vara bra att titta inte bara på resultat-pdf-filen, utan även på den genererade FO-koden.

För att göra detta och alltså transformera xml- och xsl-filen till xsl-fo används samma lilla formulär som användes i xslt-laborationen dvs http://xml3.nada.kth.se/~bjornh/xslt.html . Testa att i formuläret skriva in URLar till där du lagt de båda filerna midsummerdream.xml och mid.fo.xsl som du just packat upp. Välj mime-typ text/xml. Om allt går vägen bör du få upp en fin XML-struktur i Firefox.

Genomförande

Börja modifiera filen mid.fo.xsl med målet att slutresultatet ska se ut så här. Ungefärliga mått hittar du här. Fonten är "Times New Roman". Notera att olika versioner av FOP verkar verkar skilja sig lite åt gällande hur resultatet blir, så någon rad per sida kan tänkas bli fel.
Du väljer som sagt var själv ambitionsnivå, men du måste åtminstone få försätts-sidan att se bra ut samt brödtexten att ha två kolumner och någorlunda korrekt utseende vad gäller radfall, fontstorlek och marginaler.

Filen play.dtd kan vara bra att titta på för att snabbt få en översikt över xml-strukturen.

Bilden som används heter shakespeare.jpg

mid-short.xml innehåller en kortare variant av pjäsen som kan vara bra att använda för att det ska gå snabbare under utveckning. midsummerdream.xml är dock den fullständiga pjäsen vilken innehåller problemet att få "ACT"-rubrikerna på rätt ställen.

Errata

Notera att föreläsningsslide 20 är inaktuell, specifikationen har ändrats sedan inspelningen gjordes. Någonting i stil med detta bör funka bättre

<fo:page-sequence-master master-name="act">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference page-position="first" master-reference="act_first"/>
<fo:conditional-page-master-reference page-position="rest" master-reference="act_second"/>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master> 

Errata del två

I "Act 1", tredje "SPEECH", finns det en "STAGEDIR" inuti "SPEECH". Denna visas inte i slut-PDF:en, vilket är en miss. Då vissa kanske redan börjat göra labben enligt detta gör vi så att ni får rätt oavsett om den finns med eller inte

Redovisning

Redovisning sker som vanligt i It's learning, med länkar till platserna där era filer ligger. Ange eventuell lab-partner som "deltagare", så rättas båda gemensamt.