xslt tutorial xslt transformations elements with examples
Ta vadnica pojasnjuje, kaj je XSLT, njegove transformacije, elementi in uporaba s primeri. Zajema tudi pomen XPath za razvoj pretvorbene kode XSLT:
Izraz 'XSLT' je nastal z združevanjem dveh besed, tj. 'XSL' in 'T', 'XSL' je kratka oblika 'Extensible Stylesheet Language' in 'T' je kratka oblika 'Transformation'.
V bistvu je XSLT jezik za pretvorbo, ki se uporablja za pretvorbo / pretvorbo izvornih dokumentov XML v dokumente XML ali v druge formate, kot so HTML, PDF z uporabo XSL-FO (Oblikovanje objektov) itd.
Kaj se boste naučili:
Uvod v XSLT
Transformacija se zgodi s pomočjo procesorja XSLT (kot Saxon, Xalan). Ta procesor XSLT vzame enega ali več dokumentov XML kot vir z eno datoteko XSLT, ki vsebuje zapisano kodo XSLT, rezultati in izhodni dokumenti pa bodo ustvarjeni pozneje, kot je prikazano na spodnjem diagramu.

Procesor XSLT razčleni izvorne dokumente XML s pomočjo X-Path za krmarjenje po različnih izvornih elementih, od korenskega elementa do konca dokumentov.
Priporočeno branje => Vse, kar morate vedeti X-pot
Preoblikovanje XSLT
Za začetek preoblikovanja potrebujemo en dokument XML, v katerem se bo izvajala koda XSLT, sama datoteka s kodo XSLT in orodje ali programska oprema s procesorjem XSLT (v učne namene lahko uporabite katero koli brezplačno ali poskusno različico programske opreme).
# 1) Koda XML
Spodaj je izvorna koda XML, na kateri se bo izvajala koda XSLT.
Ime datoteke: Books.xml
XSLT Programmer's Reference Michael Kay Wrox 4th Head First Java Kathy Sierra O'reilly 1st SQL The Complete Reference James R. Groff McGraw-Hill 3rd # 2) Koda XSLT
Spodaj je koda XSLT, na podlagi katere se bo izvajala v zgornjem dokumentu XML.
Ime datoteke: Knjige.xsl
Books:-
Book ID Book Name Author Name Publisher Price Edition
# 3) Rezultat / izhodna koda
Spodnja koda bo ustvarjena po uporabi kode XSLT v zgornjem dokumentu XML.
Books:-
Book ID Book Name Author Name Publisher Price Edition 5350192956 XSLT Programmer's Reference Michael Kay Wrox 4th 3741122298 Head First Java Kathy Sierra O'reilly 1st 9987436700 SQL The Complete Reference James R. Groff McGraw-Hill 3rd
# 4) Oglejte si rezultat / izhod v spletnem brskalniku
Knjige:
| ID knjige | Ime knjige | Ime avtorja | Založnik | Cena | Edition |
|---|---|---|---|---|---|
| 5350192956 | Referenca programerja XSLT | Michael Kay | Wrox | 40 dolarjev | 4. |
| 3741122298 | Head First Java | Kathy Sierra | O'reilly | 19 dolarjev | 1. |
| 9987436700 | SQL Popolna referenca | James R. Groff | McGraw-Hill | 45 dolarjev | 3. |
Elementi XSLT
Da bi razumeli zgornjo kodo XSLT in deluje, moramo najprej razumeti različne elemente XSLT in njihove atribute.
# 1) ALI
Vsaka koda XSLT se mora začeti s korenskim elementom eitheror
Lastnosti:
- @xmlns: xsl: Poveže dokument XSLT s standardom XSLT.
- @version: Določi različico kode XSLT za razčlenjevalnik.
#two)
Ta izjava definira nabor pravil, ki se uporabljajo za obdelavo ali pretvorbo izbranega vhodnega elementa izvornega dokumenta v definirana pravila ciljnih elementov izhodnih dokumentov.
V bistvu sta na voljo dve vrsti predlog glede na njihove atribute:
(i) Imenovana predloga: Ko element xsl: template vsebuje atribut @name, se to imenuje Named Template.
Poimenovane predloge pokliče element xsl: call-template.
(ii) Predloga ujemanja: Element xsl: template vsebuje atribut @match, ki vsebuje ujemajoč se vzorec ali XPath, uporabljen na vhodnih vozliščih.
Predloge ujemanja pokliče element xsl: apply-template.
xsl: element predloge mora imeti atribut @ match ali atribut @name ali oboje. Element xsl: template, ki nima atributa ujemanja, ne sme imeti atributa načina in atributa prioritete.
Napišimo zgornji XSLT (
do) Koda XSLT, ki temelji na Predlogi za ujemanje z. Glejte spodaj rumeno in sivo poudarjena spremenjena koda, da bo enak zgornji rezultat.
Books:-
Book ID Book Name Author Name Publisher Price Edition
Glejte posnetek zaslona za označeno območje:

b) Koda XSLT na podlagi poimenovane predloge z. Glejte spodaj rumeno in sivo poudarjena spremenjena koda, da bo enak zgornji rezultat.
Books:-
Book ID Book Name Author Name Publisher Price Edition
Glejte posnetek zaslona za označeno območje:

# 3)
Procesor bo našel in uporabil vse predloge, ki imajo XPath definirano v atributu @select.

Atribut @mode se uporablja tudi, če želimo dati več načinov izpisa z isto vhodno vsebino.
# 4)
Procesor bo poklical predloge, ki imajo vrednost znotraj atributa @name (obvezno).

element se uporablja za posredovanje parametrov v predlogo.
kako ustvariti naključna števila v jeziku c ++ med 0 in 100
# 5)
Navedite vrednost niza / besedila glede izraza XPath, definiranega v atributu @select, kot je določeno v zgornji kodi.
To bo dalo vrednost imenu knjige.
# 6): Ponovitev
S tem bodo obdelana navodila za vsak niz vozlišč (xpath, definiran v atributu @select (obvezen)) v razvrščenem zaporedju.
Zgornja koda pomeni za vsak nabor vozlišč trgovine / knjige pomeni:
/ trgovina / knjiga (1)
/ trgovina / knjiga (2)
/ trgovina / knjiga (3)
se lahko uporablja tudi kot podrejeni element xsl: for-each za določitev vrstnega reda razvrščanja.
# 7): Pogojna obdelava
Navodila xsl: if bodo obdelana samo, če bo logična vrednost atributa @test resnična, sicer navodilo ne bo ocenjeno in vrnjeno bo prazno zaporedje.
2'> Condition True: Count of books are more than two. Rezultat: Pogoj drži: Število knjig je več kot dve.
Tu je count () vnaprej določena funkcija.
# 8): Alternativna obdelava pogojev
xsl: izberite ima več primerov za različne pogoje, ki se preizkušajo znotraj atributa @test atributa xsl: when, pogoj testa, ki se najprej uresniči med vsemi xsl: when, ki bo najprej obdelan in obstajajo neobvezni xls: sicer element, tako da, če se noben preskus pogojev ne uresniči, bo upoštevan ta xsl: sicer.
Condition True: Count of book is one. Condition True: Count of book is two. Condition True: Count of book is three. No condition match. Rezultat: Pogoj drži: Število knjige je tri.
# 9)
xsl: copy deluje na elementu konteksta, tj. če je to vozlišče, bo kopiralo vozlišče konteksta na novo ustvarjeno vozlišče in to ne bo kopiralo podrejenih elementov kontekstnega vozlišča. Zaradi tega se temu reče plitva kopija. Za razliko od elementa xsl: copy-of element xsl: copy nima atributa @ select.
V spodnji kodi se kontekstni elementi kopirajo v izhod in xsl: apply-template rekurzivno pokliče in kopira vse podrejene elemente.
vozlišče () | @ * Stoji za vsa vozlišča in vse njihove atribute rekurzivno.
Rezultat: To bo rekurzivno kopiralo vsa vozlišča in atribute izvornega dokumenta v izhodni dokument, tj. Ustvarilo bo natančno kopijo izvornega dokumenta.
# 10)
xsl: copy-of bo kopiral zaporedje vozlišč z vsemi njegovimi podrejenimi in atributi privzeto rekurzivno, zaradi te narave se imenuje tudi globoko kopiranje. Za oceno XPath je potreben atribut @select.
Rezultat: To bo rekurzivno kopiralo vsa vozlišča in atribute izvornega dokumenta v izhodni dokument, tj. Ustvarilo bo natančno kopijo izvornega dokumenta.
Stoji za kopijo trenutnega vozlišča in trenutnega atributa.
#eleven)
Ta element se uporablja za pisanje komentarja na ciljni rezultat, vsa besedilna vsebina, ki stoji ob strani te oznake, bo natisnjena kot pripomba.
To bo natisnjeno za izpis kot vozlišče komentarja.
Rezultat:
# 12)
To bo ustvarilo vozlišče besedila v rezultatskem dokumentu, vrednost znotraj xsl: besedilo se bo natisnilo kot niz za izhod.
To je a
vrstica besedila.
Izhod:
To je a
vrstica besedila.
# 13)
To bo ustvarilo element v rezultatskem dokumentu z imenom, omenjenim v njegovem atributu @name. Atribut imena je obvezen atribut.
Rezultat: 5350192956
# 14)
To bo ustvarilo atribut njegovemu nadrejenemu elementu v rezultatskem dokumentu. Ime atributa je določeno z atributom name, vrednost atributa pa izračuna XPath, omenjen v atributu select, kot je navedeno v spodnji kodi. Atribut imena je obvezen atribut.
Rezultat:
# petnajst)
Ta element bo izbrano vozlišče sortiral zaporedno v naraščajoči ali padajoči smeri. Vozlišče ali XPath je podano prek atributa @select, smer razvrščanja pa je določena z atributom @order.
V spodnji kodi bomo dobili seznam vseh knjig po imenu knjige v abecednem vrstnem redu.
Books:-
Book ID Book Name Author Name Publisher Price Edition
Glejte ta posnetek zaslona za označeno območje:

Rezultat: Spodnji seznam vsebuje imena knjig po abecednem vrstnem redu, torej v naraščajočem vrstnem redu.
Knjige:
| ID knjige | Ime knjige | Ime avtorja | Založnik | Cena | Edition |
|---|---|---|---|---|---|
| 3741122298 | Head First Java | Kathy Sierra | O'reilly | 19 dolarjev | 1. |
| 9987436700 | SQL Popolna referenca | James R. Groff | McGraw-Hill | 45 dolarjev | 3. |
| 5350192956 | Referenca programerja XSLT | Michael Kay | Wrox | 40 dolarjev | 4. |
# 16)
Ta element razglasi spremenljivko, ki vsebuje vrednost. Spremenljivka je lahko globalna spremenljivka ali lokalna spremenljivka. Ime spremenljivke je določeno z atributom @name, vrednost, ki jo bo imela ta spremenljivka, pa atribut @select.
Dostop do globalne spremenljivke je globalen, tj. Spremenljivke je mogoče poklicati v katerem koli elementu in ostati dostopne znotraj slogovnega lista.
Če želimo definirati globalno spremenljivko, moramo samo razglasiti, da je poleg korenskega elementa slogovnega lista, kot je prikazano v spodnji kodi rumeno označeno, spremenljivka 'SecondBook' globalna spremenljivka in ima ime druge knjige.
Dostop lokalne spremenljivke je lokalni do elementa, v katerem je definirana, tj. Ta spremenljivka ne bi bila dostopna zunaj elementa, v katerem je definirana, kot je prikazano v spodnji kodi, ki je označena sivo, spremenljivka 'prva knjiga' pa je lokalna spremenljivka in vsebuje ime prve knjige.
Za klic globalne spremenljivke lokalne spremenljivke se pred imenom spremenljivke uporablja simbol dolar ($), kot je prikazano spodaj z rumeno označeno $ .
First Book Name: Second Book Name: Oglejte si posnetek zaslona za označeno območje:

Rezultat:
top brezplačna aplikacija za prenos glasbe mp3
Ime prve knjige: XSLT Programmer's Reference
Ime druge knjige: Head First Java
# 17)
Ta element se uporablja za deklariranje ključev za ujemanje vrednosti vzorca s tem ključem.
Name je ponudnik tega ključa z atributom @name (“ get-založnik “), Ki se pozneje uporablja znotraj funkcije key (). Atribut @match je na voljo za indeksiranje vhodnega vozlišča z izrazi XPath (' knjigo “), Kot na spodnji rumeno označeni @match se uporablja za indeksiranje vseh knjig, ki so na voljo v trgovini.
Glede na atribut @match se uporablja atribut @use, ki razglasi vozlišče, da dobi vrednost tega ključa z izrazom XPath (»založnik«).

Recimo, če potrebujemo podrobnosti o knjigi, ki jo je objavil samo založnik 'Wrox', potem lahko to vrednost enostavno dobimo prek elementa xsl: key, tako da naredimo par ključ-vrednost.
ključ („get-publisher“, „Wrox“) Key () ima dva parametra, prvi je ime ključa, ki je v tem primeru „get-publisher“, drugi je vrednost niza, ki jo je treba iskati, v našem primeru pa je „Wrox“.
Books:-
Book ID Book Name Author Name Publisher Price Edition
Oglejte si posnetek zaslona za označeno območje:

Rezultat:
Books:-
Book ID Book Name Author Name Publisher Price Edition 5350192956 XSLT Programmer's Reference Michael Kay Wrox 4th
Rezultat / pogled HTML:
Knjige:
| ID knjige | Ime knjige | Ime avtorja | Založnik | Cena | Edition |
|---|---|---|---|---|---|
| 5350192956 | Referenca programerja XSLT | Michael Kay | Wrox | 40 dolarjev | 4. |
# 18)
Ta element se uporablja za odpravljanje napak pri razvoju XSLT. Element odda svoj izhod na standardni izhodni zaslon aplikacije.
Atribut @terminate se uporablja z dvema vrednostma, bodisi 'da' ali 'ne', če je vrednost nastavljena na 'yes', se razčlenjevalnik takoj konča, takoj ko je izpolnjen testni pogoj za izvedbo sporočila.
Da bi to razumeli, domnevamo, da če se v našem vhodnem dokumentu element cene po naključju izprazni, kot v spodnji kodi, se mora obdelava takoj ustaviti, takoj ko procesor naleti na prazen element cene, kar je enostavno doseči z uporabo xsl: sporočilo v pogoju preskusa if, kot v spodnji kodi XSLT.
Opozorilo za razhroščevanje je prikazano na standardnem zaslonu aplikacije: Obdelava se zaključi z xsl: sporočilo v vrstici 21.
Vnesite kodo XML:
SQL The Complete Reference James R. Groff McGraw-Hill 3rd Glejte posnetek zaslona za označeno območje:

Koda XSLT:
Books:-
Book ID Book Name Author Name Publisher Price Edition Terminating: price element is empty.
Glejte posnetek zaslona za označeno območje:

Rezultat: Upoštevajte, da takoj ko razčlenjevalnik naleti na prazno ceno, takoj zaključi obdelavo, zaradi katere zapiralne oznake, in ne bo na koncu datoteke.
poizvedbe oracle sql intervjuvajo vprašanja in odgovore za izkušene
Books:-
Book ID Book Name Author Name Publisher Price Edition 5350192956 XSLT Programmer's Reference Michael Kay Wrox 4th 3741122298 Head First Java Kathy Sierra O'reilly 1st Glejte posnetek zaslona za označeno območje:

# 19) &
element definira parameter za predlogo, če je določen znotraj. Lahko ga definirate bodisi znotraj kot globalni parameter bodisi znotraj kot lokalni parameter za to predlogo.
Vrednost je posredovana / dobavljena, ko je predloga poklicana byor.

prenese vrednost parametra, definiranega znotraj predloge. Atribut kot @name vsebuje ime parametra, ki se mora ujemati z atributom @name elementa. Atribut @Select se uporablja za nastavitev vrednosti tega parametra.

Za pridobitev vrednosti parametra se uporablja enako kot spremenljivka znak za dolar ($).

Izvorna koda XML:
XSLT Programmer's Reference Michael Kay Wrox 4th Head First Java Kathy Sierra O'reilly 1st SQL The Complete Reference James R. Groff McGraw-Hill 3rd Koda XSLT:
List of Books Name :-
Book Name: Glejte posnetek zaslona za označeno območje:

Rezultat rezultata:
List of Books Name :-
Book Name: XSLT Programmer's Reference
Book Name: Head First Java
Book Name: SQL The Complete Reference




