• Nie Znaleziono Wyników

Zastosowanie arkuszy XSLT

N/A
N/A
Protected

Academic year: 2021

Share "Zastosowanie arkuszy XSLT"

Copied!
1
0
0

Pełen tekst

(1)

Zastosowanie arkuszy XSLT

Przydatne wyrażenia ścieżkowe:

/ -> odwołanie do korzenia dokumentu. Np. /ElementGlowny

// -> odwołanie do dowolnego (bezpośredniego lub dalszego) potomka bieżącego elementu;

./ -> odwołanie do bieżącego węzła;

@nazwa1 -> atrybut bieżącego węzła noszący nazwę „nazwa1”;

@* -> dowolny („pierwszy z brzegu”) atrybut bieżącego węzła;

@*[2] -> atrybut bieżącego węzła występujący jako drugi w kolejności;

To indeksowanie przydatne jest raczej dla podelementów, gdyż jak pamiętamy, kolejność atrybutów wg specyfikacji nie jest znacząca. A więc np.

/igrzyskaOlimpijskie/dyscyplina[2]

to drugi z kolei element „dyscyplina”.

Odwołanie w pliku XML do arkusza stylów:

<?xml-stylesheet type="text/xsl" href="naszArkusz.xsl" ?>

Budowa arkusza XSLT:

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

...

</xsl:template>

...

</xsl:stylesheet>

Specyfikowanie rodzaju dokumentu wyjściowego (można pominąć, jeśli to HTML):

Po znaczniku otwierającym arkusza (xsl:stylesheet) umieszczamy:

<xsl:output method=”html” media-type=”text/html” />

<xsl:output method=”xml” media-type=”text/xml” />

<xsl:output method=”text” media-type=”text/txt” />

Dla przykładowego pliku Sydney2000.xml XML spróbuj “podłączyć” doń pusty arkusz stylów.

Wewnątrz głównego szablonu (match=”/”) wpisz dowolny tekst lub kod HTML i sprawdź efekt.

Następnie zamieść w tym szablonie element-polecenie <

xsl:apply-templates />

. Uruchomi to przetwarzanie całego pliku (bo na początku znajdujemy się domyślnie w korzeniu, a nie podaliśmy innego punktu startowego atrybutem

select

) – co robi przeglądarka dla zawartości, dla której nie ma szablonu?

Sposoby definiowania przekształceń

Jedną z metod realizacji przekształceń jest umieszczenie wszystkich poleceń w tym jednym szablonie.

Spróbuj wyświetlić w postaci listy HTML (znaczniki <ul> -> lista nienumerowana; <li> ->

element listy) albo w postaci tabelarycznej (znacznik <table>, nagłowek kolumny: <th>, wiersz kolumny: <tr>, komórka <td>) wybrane pozycje z pliku XML.

Jeśli pozycje te się powtarzają, zastosuj polecenie:

<xsl:for-each select=’ścieżka_do_powtarzajacych_sie_elementow’ >

(2)

… Ozdobniki i znaczniki HTML;

Pobranie danych: <xsl:value-of

select=’sciezka_wzgledem_bieżącego_elementu’>

</xsl:for-each>

Gdy korzystamy z instrukcji

xsl:for-each

, możemy skorzystać z mechanizmu sortowania, umieszczając w jej wnętrzu, jako pierwszą pozycję element

<xsl:sort select=’lokalna- scieżka-do-danej-wg-której-sortujemy’ />

Numeracja oraz sortowanie+numeracja

Jeśli chcemy ponumerować pozycje wyświetlane w instrukcji xsl:for-each, możemy skorzystać z polecenia <xsl:number />

W wypadku jednak, gdy dane pochodzą z różnych węzłów

Najczęściej spotykamy swoistą dekompozycję reguł: uruchamianie z szablonu głównego innych pasujących szablonów:

używamy polecenia

xsl:apply-templates

, ewentualnie z atrybutem

select

=scieżka, określającym punkt startowy (kontekst). Z kolei wybór pasującego w danym kontekście szablonu opiera się na wartości atrybutu „

match

” w elemencie

xsl:template

.

Wołanie konkretnego, nazwanego szablonu:

Służy temu polecenie xsl:call-template. Możemy zastosować ten mechanizm do szablonu, który w zależności od podanego parametru wyświetlałby złotych, srebrnych lub brązowych medalistów.

Przekształcenia XML

Możemy konstruować nowe elementy XML. Można to zrobić albo statycznie:

<naszElement> … </naszElement>

Albo w oparciu o dane dostępne podczas przetwarzania. Wówczas trzeba użyć konstrukcji

<xsl:element name=nazwaElementu> … </xsl:element>

Podobnie w przypadku konstruowania atrybutów:

<xsl:attribute name="nazwaAtrybutu">

<xsl:value-of select='./@nazwaAtrŹródłowego' />

</xsl:attribute>

Aby zobaczyć efekty, może być konieczne skorzystanie z procesora stylów Xalan. Należy go pobrać z katalogu naszych ćwiczeń, rozpakować.

Wołamy z katalogu zawierającego nasze pliki XML, poleceniem (linia komend):

java org.apache.xalan.xslt.Process -IN zrodlo.xml -XSL arkusz.xsl -OUT wynikowy.xml

Proszę sprawdzić w dokumentacji: xalan-j_2_5_D1\docs\commandline.html,

jakie ewentualnie pakiety .jar należy podać do CLASSPATH, aby pomyślnie wywołać to

narzędzie.

Cytaty

Powiązane dokumenty

żółty szalik białą spódnicę kolorowe ubranie niebieskie spodnie 1. To jest czerwony dres. To jest stara bluzka. To są czarne rękawiczki. To jest niebieska czapka. To są modne

Na koniec dodajmy, że jeśli rozpatrujemy rodziny przekształceń zależne przynaj- mniej od jednego parametru, to może zdarzyć się, że pojawianie się opisanego wyżej efektu

Grupa Ady odwdzięczyła się przedstawieniem teatralnym dla maluchów o misiu, który trafił do przedszkola i niczego nie potrafił robić samodzielnie: nie umiał sam jeść,

Dzień chyli się już ku końcowi. Gdy słońce zniża się coraz bardziej, na dworze robi się ciemno... Kolorowe kwiaty też już nie błyszczą tak mocno, a zieleń łąki blednie.

Wpływ programu pokazać można również publikując raporty ewaluacyjne (po ich odpowiednim opracowaniu), przygotowując w oparciu o dane z ewaluacji specjalne materiały informacyjne

Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '04), ACM Press, pp. Evolving an embedded domain-specific language

Częstym sposobem działania szpitali prywatnych, a zarazem elementem ich krytyki jest cream skimming (zjawisko spijania śmietanki – przyp. red.) – szpita- le te skupiają się

Katalońska Agencja Oceny Technologii Me- dycznych i Badań (The Catalan Agency for Health Technology Assessment and Research, CAHTA) zo- stała utworzona w 1994 r. CAHTA jest