INSTRUKCJE OKREŚLAJĄCE PRZEKSZTAŁCENIA ELEMENTÓW XSL transformations (XSLT) Arkusz XSLT ma następującą strukturę W dokumencie XML, który ma być przekształcamy umieszczamy Zapisujemy go w pliku z rozszerzeniem xsl np. people.xsl.">
Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałApolinary Kałużyński Został zmieniony 4 lata temu
1
XML – eXtensible Markup Language 4
2
XSL transformations (XSLT) XSLT (ang. eXtensible Stylesheet Language Transformations) jest opartym na XML językiem transformacji dokumentów XML XSLT umożliwia przetłumaczenie dokumentów z jednego formatu XML na inny format XML, ale również na HTML, PDF i inne. dokument XML arkusz XSLT plik wyjściowy (dokument XML, HTML, PDF etc.) procesor XSLT Arkusze XSLT określają w jaki sposób przekształcić poszczególne elementy wejściowe pliku XML.
3
4
Alan Turing computer scientist mathematician cryptographer Richard Feynman physicist XSL transformations (XSLT) Rozważmy następujący dokument XML
5
XSL transformations (XSLT) Przykład 1
6
Przykład 2
7
Przykład 3
8
Przykład 4
9
XSL transformations (XSLT) Jeżeli chcemy wybrać z wejściowego dokumentu XML pewien element w arkuszu XSLT stosujemy element Przykład 5
10
XSL transformations (XSLT) Wynik Alan Turing Richard Feynman Procesor napotykając elementy person pobiera z nich wartości elementów name i umieszcza w oddzielnych akapitach. Procesor XSLT przechodzi przez elementy dokumentu XML metodą PREORDER. Atrybututem match elementu template wybieramy węzły przetwarzanego dokumentu XML. Z wyselekcjonowanych w ten sposób węzłów już można pobrać (i wstawić do wyniku) dane, można je także skierować do dalszego przetwarzania, poprzez umieszczenie dyrektywy xsl:apply-templates.
11
XSL transformations (XSLT) Przykład 6
12
XSL transformations (XSLT) Wynik Turing Alan computer scientistmathematiciancryptographer Feynman Richard physicist Jeżeli chcemy aby w dokumencie wynikowym były tylko wartości elementów last_name i first_name musimy wyraźnie to zapisać. Musimy zapisać, że procesor ma przetwarzać element name.
13
Przykład 7
14
XSL transformations (XSLT) Wynik Turing Alan Feynman Richard Kolejność elementów w arkuszu XSLT nie ma znaczenia. Ważna jest tylko kolejność elementów w dokumencie XML. Załóżmy teraz, że chcemy zawartość elementu people umieścić w dokumencie HTML o tytule Famous Scientists. Musimy zatem w odpowiednim miejscu umieścić instrukcję przetwarzania dzieci korzenia ( people )
15
XSL transformations (XSLT) Przykład 8
16
XSL transformations (XSLT) Przykład 8 cd
17
XSL transformations (XSLT) W arkuszach XSLT możemy transformować nie tylko wartości elementów. Możliwe jest także odwoływanie się do atrybutów. Wykorzystujemy w tym celu element … Jeżeli chcemy odwołać się do wszystkich atrybutów jako nazwe_atrybutu podajemy *. …
18
Przykład 9 XSL transformations (XSLT)
19
XSL transformations (XSLT) Wynik AlanTuring Born: 1912 RichardFeynman Born: 1918 Jeżeli chcemy odwołać się do dowolnego elementu w dokumencie XML w arkuszu XSLT stosujemy element * - dowolny element, / - korzeń, | - alternatywa. Powyższy element spowoduje, że procesor dotrze do wszystkich elementów i korzenia z wyjątkiem atrybutów i elementów z przestrzeni nazw które nie są dziećmi swoich rodziców.
20
XSL transformations (XSLT) Dodajmy do rozważanego przykładu przestrzeń nazw: Alan Turing computer scientist mathematician cryptographer Richard Feynman physicist
21
XSL transformations (XSLT) Rozważane wcześniej arkusze XSLT nie mają zastosowania do tak zmodyfikowanego dokumentu XML. Informację o przestrzeni nazw musimy dodać do arkusza XSLT.
22
Przykład 10 XSL transformations (XSLT)
23
XPath XPath to język służący do adresowania części dokumentu XML. Dzięki XPath potrafimy odwoływać się do różnych elementów dokumentu XML. Rozważmy przykładowy dokument XML dla którego zapiszemy przykładowe adresowania.
24
Alan Turing computer scientist mathematician Richard Feynman physicist XPath
25
1. Wszystkie elementy person będące dziećmi elementu people Przykładowe adresowania: /people/person 2. Wszystkie elementy person znajdujące się w dokumencie //person Ogólnie /t1/t2/t3/…/tn W przypadku rozważanego dokumentu XML wyniki powyższych adresowań będą identyczne.
26
XPath 3. Atrybut @born znajdujący się w elemencie person /person/@born 4. Atrybut @born znajdujący się w elemencie person i mający wartość "1912" /person/@born= "1912" 5. Wszystkie osoby urodzone w roku "1912" //person[@born= "1912"] 6. Pierwszy element person z dokumentu XML //person[1]
27
7. Ostatnia profesja ( profession ) z pierwszego elementu person //person[1]/profession[last()] XPath 8. Wszystkie elementy person nie posiadające daty urodzenia //person[not @born]
Podobne prezentacje
© 2018 SlidePlayer.pl Inc.
All rights reserved.