Know-how, prelegere, aplicarea limbajului de transformare xslt

Rezumat: Considerăm generarea de cod prin transformări XSLT. sintaxa XSLT studiat în special aplicarea transformatele, precum și operații cum ar fi filtrarea, sortarea, prelevarea de probe a stării în șabloane. Efectuarea unei transformări software în C #. Avantajele și dezavantajele tehnologiei.

Limba de transformare XSLT

În a doua lecție, am considerat deja un exemplu folosind XSLT. În această prelegere vom lua în considerare această tehnologie în detaliu. XSL (Extensible Stylesheet Language) este tradus ca Extensible Stylesheet Language, și este un limbaj pentru crearea de documente XML stylesheet. XSLT (XSL Transformations) - este limba de transformări XSL și este o parte din ea. Stilul XSLT este destinat să transforme structura și formatul ierarhic al unui document XML. Rezultatul transformării poate fi un fișier XML. fișier text. codul programului, fișierul HTML. fișier în format PDF. și așa mai departe. Această limbă oferă oportunități puternice de manipulare a datelor, a informațiilor și a textului într-o formă ierarhică.

Și asta este exact ceea ce aveți nevoie pentru a genera cod. Utilizarea XSLT poate ajuta foarte mult la generarea de cod. În plus, oferă o alternativă convenabilă la tehnologia șablon T4.

Cum funcționează XSLT

Modelul XSLT include elemente precum:

Documentele XML sunt intrări care trebuie convertite în alte documente. Documentul stil XSLT este un document XML bine format și conține un set de reguli pentru efectuarea conversiei. Cu alte cuvinte, documentul de stil este un șablon.

Procesorul XSLT este o aplicație care acceptă ca intrări documentele XML și foile de stil XSLT. Efectuează o transformare, adică aplicarea unui set de reguli în stilurile XSLT în documentele XML. Rezultatul acestei lucrări este documentele de ieșire.

Procesoarele XSLT au multe implementări și sunt integrate în multe browsere, cum ar fi Internet Explorer, Firefox, Mozilla, Opera și altele. Internet Explorer utilizează instrumentul MSXML dezvoltat de Microsoft. XSLT - procesorul este construit în Internet Explorer, de la versiunea 4.5. Rezultatul generat al exemplelor acestei prelegeri poate fi văzut prin deschiderea fișierelor XML într-unul din browsere. La sfârșitul lecției, vom examina posibilitățile de a începe o transformare programată, utilizând clasele adecvate ale limbajului de programare.

O altă parte a tehnologiei XSL este limba XPath. Aceasta este pentru a accesa nodurile documentului XML specificând căi și expresii. fișierele de limbă XPath utilizate pentru stilurile de navigare din cadrul XML-documentele identifica porțiunile sursă XML-documente care se potrivesc cu unul sau mai multe modele predeterminate. Atunci când se constată o potrivire procesorul XSLT va aplica normele relevante ale fișierului stil și îl convertește într-o parte a documentului rezultat. În foile de stil XSLT, expresiile XPath sunt folosite foarte intens.

Utilizarea XSLT

Limba XSLT constă din multe instrucțiuni scrise sub formă de etichete. Numele fiecărei instrucțiuni începe de obicei cu xsl. Pentru a efectua o transformare, un document stil XSLT trebuie să fie un document XML valid.

Pentru a converti un document XML, trebuie să adăugați o instrucțiune la începutul documentului, care este similară cu următoarea:

Fișierul stil XSL conține de obicei multe elemente, dintre care cel mai important este elementul xsl: stylesheet. Acesta este cel care indică faptul că acest fișier XML este un fișier de stil. Poate conține și alte elemente, de exemplu xsl: șablon. xsl: valoarea-lui. Documentul XML și fișierul de stil sunt transmise procesorului XSLT. care procesează aceste fișiere, efectuează conversia și scoate rezultatul transformării.

Următorul este un document XML. care conține o listă de limbi de programare.

Exemplul 5.1. Limbă.xml fișier

Este necesar să afișați această listă în format HTML. În acest scop, utilizați instrucțiunea xsl: for-each. care va aplica o parte a șablonului în secțiuni ale documentului, al cărui nume este specificat în atributul selectare. În cazul nostru, selectați = "limbi / limbă".

Fișierul de stil va fi aplicat după cum urmează:

Exemplul 5.2. Limbă.xsl fișier

Șablonul din interiorul xsl: pentru fiecare afișează conținutul fiecărui element de limbă din limbi. În acest scop, utilizați instrucțiunea xsl: value-of și atributul select = ".". Aceasta înseamnă că procesorul trebuie să selecteze conținutul text al elementului curent din document. În plus față de conținutul reflectat, puteți specifica numele etichetelor specifice, precum și atributele, pentru a prelua valorile stocate în ele. Exemplele vor fi discutate mai târziu.

Deschideți fișierul XML prin intermediul Internet Explorer sau al unui alt browser. Se va afișa următorul text:

Limbile mele preferate:

Unul dintre cele mai importante elemente din stil este xsl: template. Se utilizează pentru a defini un șablon reutilizabil și conține regulile prin care documentul XML va fi convertit. Atributul de potrivire conține o expresie pentru selectarea nodurilor la care se va aplica șablonul. Atributul nume poate fi, de asemenea, prezent. În acest caz, este posibil să apelați șablonul cu numele xsl: apply-templates.

Pentru a repeta ieșirea șablonului pentru fiecare element al documentului, utilizați instrucțiunea xsl: for-each. Un șablon este executat pentru fiecare element care corespunde condiției specificate în atributul selectare.

Instrumentul xsl: value-of este utilizat pentru a evalua o expresie scrisă în atributul select și apoi a scoate rezultatul la locul în care este localizat elementul în sine.

filtrare

Am considerat cazul când se citesc valorile fiecărui nod. Cu toate acestea, de multe ori devine necesar să selectați doar o parte din date, adică trebuie să fie filtrate. Șabloanele XSLT acceptă două metode de filtrare.

Una dintre ele este utilizarea atributului select al instrucțiunii xsl: for-each. iar al doilea este să utilizezi atributul de potrivire al elementului șablon xsl:. Utilizarea meciului va fi discutată mai târziu, iar acum luați în considerare selectarea.

Să schimbăm un fișier mic cu datele: adăugați atributul ridicat. Indică dacă limba din lista noastră este o limbă de nivel înalt. Extindeți, de asemenea, lista de limbi.

Exemplul 5.3. Limbă4.xml fișier

Rețineți că valoarea false pentru atributul de înaltă este numai pentru valoarea "Assembler". Să schimbăm un fișier mic al foii de stil: