XSLT poate fi folosit pentru a converti un document XML în XHTML în browser-ul clientului în sine.
În capitolele anterioare, ați aflat cum utilizarea XSLT poate converti un document din XML în XHTML. Acest lucru a fost făcut utilizând un fișier de stil de fișiere XSL care a fost conectat la un fișier XML. După aceea, toate lucrările asupra transformării au fost efectuate de browserul client.
Cu toate acestea, chiar dacă totul funcționează bine în acest caz, există momente când nu este de dorit să includeți o referință la foaia de stil într-un fișier XML (de exemplu, acest lucru nu funcționează cu browserele care nu știu cum să lucreze cu XSLT).
- efectuați verificări specifice browserului
- Utilizați diferite foi de stil în funcție de nevoile utilizatorilor și ale diferitelor browsere
Aceasta este frumusețea XSLT! Unul dintre obiectivele dezvoltării tehnologiei XSLT a fost de a face posibilă conversia datelor dintr-un format în altul cu suportul unor browsere diferite și a nevoilor diferite ale utilizatorilor.
Fișier XML și fișier XSL
Uitați-vă la următorul document XML, care a apărut deja în capitolele anterioare:
Și pe foaia de stil XSL care însoțește:
IMPORTANT. Rețineți că în fișierul XML nu există nici o referință la fișierul XSL. Aceasta înseamnă că un fișier XML poate fi convertit utilizând mai multe foi de stil XSL diferite.
Conversia XML în XHTML într-un browser
Mai jos este codul sursă care convertește un fișier XML în XHTML pe partea clientului:
Funcția loadXMLDoc () face următoarele:
- Creează un obiect XMLHttpRequest
- Utilizând metodele open () și send (), obiectul XMLHttpRequest trimite o cerere către server
- Obține datele XML solicitate de la server
Funcția displayResult () este utilizată pentru a afișa un fișier XML convertit în conformitate cu regulile fișierului XSL:
- Încărcați fișiere XML și XSL
- Verifică ce browser are utilizatorul
- Dacă Internet Explorer:
- Utilizați metoda transformNode () pentru a aplica o foaie de stil XSL unui document XML
- Transferați documentul XML convertit la elementul specificat (id = "example")
- Dacă alte browsere:
- Creați un nou obiect XSLTProcessor și importați fișierul XSL în el
- Folosim metoda transformToFragment () pentru a aplica o foaie de stil XSL unui document XML
- Transferați documentul XML convertit la elementul specificat (id = "example")