W poniższych zadaniach wykorzystuję przykłady z książki

"XML na poważnie" P. Kazienko, K. Gwiazda.

Zad 0

Sprawdź działanie szablonu apply1

na pliku xml sprawozdanie wpisując

xsltproc apply1.xsl sprawozdanie.xml

Zad 1.

zmodyfikuj plik apply1

tak aby dla pliku grupa osób z poprzednich

zajęć (grupaStudentow) zostaly wypisane

informacje w postaci

pracownik nr 1 - wiek: ...
pracownik nr 2 - wiek: ...
pracownik nr 3 - wiek: ...

działanie sprawdzamy tak:

xsltproc apply1.xsl GrupaStudentow.xml

Zad 2

użyj atrybutu mode elementu apply-templates,

tak by nazwisko drugiego studenta było wypisane

italikiem, a nazwisko trzeciego wypisane pogrubioną

czcionką, zgodnie z przykładem

apply-mode

Zad 3. (for-each)

Napisz plik xsl wykorzystując funkcję for-each

tak by wynikiem działania na pliku GrupaStudentow

był plik htmlowy z listą (html-ową) imion i nazwisk pracowników

Lista pracowników :

<ul>
<li> imię: ... nazwisko ...</li>
<li> imię: ... nazwisko ... </li>
...
<li> imię ... nazwisko ... </li>
</ul>

kieruj się przykładem foreach który przetwarza plik sprawozdanie

Obejrzyj czy plik dobrze wyświetla się w przeglądarce

Zad 4. (choose)

Napisz szablon który wyświetli w pliku htmlowym

kobiety italikiem, a mężczyzn pogrubioną

czcionką wzorując się na otherwise.xsl

wykorzystaj w tym celu strukturę wyboru:

<xsl:choose>
<xsl:when test="@atrybut=wartosc1">
<!--wypisz z italikiem-->
</xsl:when>
<xsl:when test="@atrybut=wartosc2">
<!--wypisz pogrubionym -->
</xsl:when>
.
.
.
</xsl:choose>

Zad 5. (sort)



w przykładzie do wykładu uczelniaXml.xsl

oraz uczelnia.xml które są tutaj

po elemencie for-each dodaj element

<xsl:sort select="nazwisko" data-type="text"/>

i sprawdź jaki będzie teraz wynik

działania xsltproc. Następnie

napisz analogiczny szablon który wypisze wiek

studentów i posortuje go (w polu data-type wpisz "number")

Zad 6. (if)

wzorując się na w3schools

napisz szablon który wypisuje dane osób które ukończyły 21 lat

(niezależnie od tego czy są pracownikami czy studentami)

w tym celu użyj ścieżki z wyrażeniem | w miejscu for-each

tj. select= jedna_ścieżka | druga_ścieżka