XSL FO dr inż. Wioleta Szwoch 1 Dlaczego korzystamy z FO? " Potrzeba tworzenia profesjonalnie drukowanych dokumentów " Kontrola nad każdym aspektem wyglądu strony marginesy, nagłówki, czcionka, & 2 XSL FO - Formatting Objects " dokładny opis prezentacji danych, które są ujmowane w ramy strony o określonych wymiarach " poprawny dokument XML " struktura hierarchiczna " zorientowany na wydruk " brak oddzielenia treści od sposobu prezentacji " przestrzeń nazw: http://www.w3.org/1999/XSL/Format " standardowy prefiks: fo " 56 obiektów (znaczników) formatujących i 177 własności (atrybuty) " możliwość wizualizacji w pdf, rtf,& 3 Tworzenie dokumentów XSL FO " bezpośrednie utworzenie opisu prezentacji wraz z zawartymi danymi mała ilość danych trudności w przypadku dokonywania zmian trudno wykorzystać inny zestaw danych " zastosowanie dokumentu transformacji oddzielenie danych i sposobu prezentacji możliwość wykorzystania do różnych zestawów danych 4 Przykłady & & & & font-size="28pt" font-weight="bold"> font-family="Times" font-style="italic"> font-size="28pt" font-weight="bold"> font-family="Times" font-style="italic"> Planeta: Merkury Planeta: Planeta: Merkury Planeta:
deklaracja przestrzeni nazw korzeń drzewa dokumentu 7 FO budowa dokumentu " Struktura dokumentu składa się: Zarządcy układów stron (layout-master-set) " Opisów rodzajów stron, które mogą pojawić się w dokumencie szablony stron(simple-page-master) " Sekwencji, w jakiej strony mogą się pojawiać (page-sequence-master) Stron i ich zawartości (page-sequence) 8 FO struktura dokumentu
&
&
9 FO struktura dokumentu " fo:layout-master-set definiuje szablony określające własności tworzonych stron wszystkie opisy nadrzędne dokumentu " fo:page-sequence zawiera treść wraz ze sposobem prezentacji 10 FO struktura dokumentu " fo:layout-master-set Zawiera wszystkie opisy nadrzędne dokumentu fo:simple-page-master " Szablon mający niepowtarzalną nazwę " Opisuje układ i geometrię strony " Możliwe atrybuty margin-left, & master-name page-height,& reference-orientation writing-mode " ma elementy potomne opisujące jeden lub więcej obszarów strony, dzięki czemu można szczegółowo opisać rozkład treści 11 FO struktura dokumentu
12 FO struktura dokumentu " fo:page-sequence-master fo:repeatable-page-master-alternatives " Pozwala na definiowanie warunków przypisujących szablony do poszczególnych stron " fo:conditional-page-master-reference Pojedynczy warunek master-name Wskazuje szablon page-position first, last, rest, any odd-or-even warunki odd, even (nieparzysta) blank-or-not-blank blank, not-blank 13 FO struktura dokumentu " fo:page-sequence Umieszcza się tutaj " treść tekst, obiekt graficzny " sposób prezentacji fo:title " zawiera tekst reprezentujący tytuł dokumentu fo:static-content " zawiera stały tekst, wyświetlany na wszystkich stronach Nagłówek, stopka, & fo:flow " występuje tylko raz " zawiera dane, które mają zostać wyświetlone 14 FO struktura dokumentu
& &
& &
15 FO struktura dokumentu " flow-name atrybut występujący w fo:title, fo:static-content, fo:flow docelowe miejsce dla tekstu, określa przynależność do region-before wybranego regionu region-body Przyjmowane wartości " xsl-region-before " xsl-region-after region-end region-start " xsl-region-start " xsl-region-end " xsl-region-body 16 region-after FO struktura dokumentu " fo:block prostokątne obszary, w których wyświetlane są treści dokumentu możliwość korzystania z wielu atrybutów " Charakterystyka czcionki font-family, font-size, & " Obramowanie, wypełnienie, tło background-image, background-repeat, border-before-color,& " Ustawienia związane z dzieleniem wyrazów country, language,& może zawierać paragrafy, listy, inne bloki 17 18 FO struktura dokumentu
19 Obiekty inline " reprezentują fragmenty większych obszarów (np. bloków) " właściwości fo:inline dotyczące danych " role, source-document głosowe " azimuth, cue-after, cue-before, elevation, pause-after, pause-before, pitch, pitch-range, play- during, richness, speak, speak-header, speak-numeral, speak-punctuation, speech-rate, voice- family, volume, stress obramowanie, wypełnienie, tło " background-attachment, background-color, background-image, background-repeat, background-position-horizontal, background-position-vertical, border-after-color, border-after- style, border-after-width, border-before-color, border-before-style, border-before-width, border-bottom-color, border-bottom-style, border-bottom-width, border-end-color, border-end- style, border-end-width, border-left-color, border-left-style, border-left-width, border-right- color, border-right-style, border-right-width, border-start-color, border-start-style, border-start- width, border-top-color, border-top-style, border-top-width, padding-after, padding-before, padding-bottom, padding-end, padding-left, padding-right, padding-start, padding-top definicje czcionek " font-family, font-selection-strategy, font-size, font-size-adjust, font-stretch, font-style, font- variant, font-weight właściwości marginesów " space-end, space-start pozostałe " alignment-adjust, alignment-baseline, baseline-shift, block-progression-dimension, bottom, color, dominant-baseline, height, id, inline-progression-dimension, keep-together, keep-with- next, keep-with-previous, left, line-height, margin-bottom, margin-left, margin-right, margin- top, relative-position, right, text-decoration, top, visibility, width, wrap-option 20 XSL FO - struktura strony margin-top region-before region-body margin-left region-end region-start margin-right block line region-after inline margin-bottom 21 FO tabele " fo:table Obejmuje całą tabelę fo:table-body " Opisuje treść tabeli " fo:table-row fo:table-cell opisuje poszczególne komórki z danymi Możliwość ustawienia różnorodnych atrybutów dla elementów " Dokładniejszy sposób prezentacji atrybuty określające czcionkę, właściwości tekstu, justowanie, ramki " number-rows-spanned i number-columns-spanned atrybuty należące do elementu fo:table-cell pozwalają na łączenie wierszy oraz kolumn 22 1 - 2
3 - 5
1 - 2 - 3 4
5
23 FO listy Tu umieszczona cała lista Poszczególne pozycje listy Dane umieszczane na liście Do wyróżnienia pozycji listy 24 FO listy 1 Pierwszy element listy
2 Drugi element listy
* Trzeci element listy
25 FO obiekty graficzne " Grafika standardowa (jpeg, gif)
" Obiekty graficzne XML (SVG, MathML)
26 FO linie rozdzielające " fo:leader Tekst przed pierwszą linią rozdzielającą leader-alignment
leader-pattern-width Tekst między dwiema liniami rozdzielającymi rule-style
rule-thickness rule-thickness="4pt" color="red"/> typowe atrybuty: np. kolor
27 FO przypisy " " treść przypisu " elementy te nie mają żadnych atrybutów 28 FO przypisy Procesor FO nie dodaje automatycznie do treści przypisów numerów, więc trzeba to robić samemu Ten przypis 1
1. Treść pierwszego przypisu.
dotyczy tekstu na dole strony.
29 Cechy interaktywne, dzwiękowe " W standardzie FO przewidywano różne media wyjściowe ekran wydruk dzwięk " Standard zawiera elementy służące do sterowania dzwiękiem " barwą lub natężeniem głosu, pauzami, ... interaktywne " do definiowania łączników " Istniejące implementacje dokumenty drukowane 30 Procesory XSL FO " FOP http://xml.apache.org/fop " TeXML Konwertuje dokumenty XML do TeX " UFO procesor napisany w C++; potrafi generować dokument wyjściowy między innymi w formacie pdf, PostScript " SAXESS Wave konwertuje z XML do Showave/Flash " PassiveTeX z XML FO do pdf 31 XSL FO dokument procesor Dokument XML XSLT XSL:FO Dokument procesor XSLT XSL:FO Dokument PDF 32 Transformacja do formatu PDF " FOP (Formatting Object to PDF) " Tworzenie pliku PDF bezpośrednio " Fop -fo linie.fo -pdf linie.pdf pośrednio " Fop -xsl planety.xsl -xml planety.xml -pdf planety.pdf " Polskie znaki diakrytyczne 33