XSLT
XSLT (Extensible Stylesheet Language Transformations) – XML-i teisendamise keel.
XSLT on nagu maagiline reeglite raamat, mis aitab üht tüüpi teavet (XML) teiseks muuta, näiteks veebileheks. See muudab andmed loetavaks ja kasutatavaks, ilma et peaksite koodi keerukusse süvenema.
XSLT lahendab andmete jagamise ja esitamise probleemi. Kujutage ette, et teil on hulk toorandmeid ja te peate need muutma arusaadavaks ja ilusaks. XSLT teebki selle maagia, muutes XML-i HTML-iks, tekstiks või muudeks formaatideks, ilma et oleks vaja kirjutada keerulist koodi nullist.

XSLT alused: esimesed sammud teisenduste maailmas
XSLT ei ole lihtsalt tehnoloogia, see on terve keel, mis võimaldab teil oma XML-andmetega „rääkida” ja need soovitud formaati teisendada. XSLT alused hõlmavad selliste elementide mõistmist nagu mallid, XPath ja XML-i teisendamine HTML-iks. Need vahendid on XSLT tõhusa kasutamise võti.
- Mallid XSLT-s määravad, millised algse XML-i osad tuleb teisendada ja kuidas.
- XPathi kasutatakse XML-dokumendi elementide ja atribuutide navigeerimiseks.
- XML-i teisendamine HTML-iks on ilmselt XSLT kõige levinum rakendus, mis võimaldab luua XML-andmetel põhinevaid veebilehti.
XSLT kasutamise praktilised näited
XSLT näited võivad olla lihtsad või keerulised, kuid alustame põhilisest. Lisaks juba mainitud raamatupoe näitele võib XSLT-d kasutada paljude ülesannete automatiseerimiseks:
- Aruannete koostamine: andmete teisendamine XML-ist loetavasse vormingusse, näiteks HTML-i või PDF-i.
- Andmete koondamine: teabe kogumine erinevatest XML-allikatest ja nende ühendamine ühte dokumenti.
- Andmete filtreerimine: ainult nende andmete väljavõtmine XML-ist, mis vastavad kindlatele kriteeriumidele.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<html>
<head>
<title>Inimeste andmed</title>
</head>
<body>
<h2>Isikute nimekiri</h2>
<table border="1">
<tr>
<th>Nimi</th>
<th>Perekonnanimi</th>
<th>Sünniaasta</th>
<th>Elukoht</th>
</tr>
<xsl:for-each select="//inimene">
<tr>
<td><xsl:value-of select="nimi"/></td>
<td><xsl:value-of select="perekonnanimi"/></td>
<td><xsl:value-of select="@saasta"/></td>
<td><xsl:value-of select="@elukoht"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XSLT rakendusalad:
- XML-i teisendamine teistesse formaatidesse
- XML-i teisendamine HTML-iks veebilehtedel kuvamiseks
- XML-i teisendamine teistesse XML-formaatidesse integreerimiseks erinevate süsteemidega
- Tekstiformaatide genereerimine (nt CSV, JSON, lihttekst)
- Andmete eraldamine esitusest
XSLT võimaldab salvestada andmeid XML-is eraldi nende visuaalsest kuvamisest, muutes stiili ja struktuuri ilma algandmeid muutmata. - Aruannete ja dokumentide automaatne genereerimine
XML-il põhinevate struktureeritud dokumentide, aruannete, arvete jne loomine. - Andmete ühtlustamine ja normaliseerimine
Erinevate XML-dokumentide teisendamine ühtsesse formaati edasiseks töötlemiseks ja analüüsimiseks. - Mitmekeelsuse ja lokaliseerimise tugi
Sisu vormindamine keele või piirkonna järgi XSLT abil.
XSLT kasutamise plussid ja miinused
XSLT õppimine võib avada teile uusi horisonte andmete töötlemisel ja esitamisel, kuid nagu iga tehnoloogia, on ka XSLT-l oma eelised ja puudused.
Plussid:
- Võimsad andmete vormindamise ja teisendamise võimalused.
- Paindlikkus mitme andmete esituse loomisel ühest XML-allikast.
- Ühilduvus tulevaste versioonide ja laiendustega tänu W3C standardimisele.
Miinused:
- Õppimise keerukus algajatele, eriti ilma XML-i ja XPath-i kasutamise kogemuseta.
- Jõudlus võib muutuda probleemiks väga suurte andmemahtude töötlemisel.
XML
XML (Extensible Markup Language) – laiendatav märgistuskeel.
XML on laiendatav märgistuskeel, mis on mõeldud andmete struktureeritud vormis salvestamiseks ja edastamiseks.
See ei ole programmeerimiskeel, vaid ainult viis andmete kirjeldamiseks siltide abil, mis on arusaadavad nii inimestele kui ka masinatele.

XML kasutamise plussid ja miinused
Plussid:
- Universaalsus: andmete edastamine erinevate süsteemide vahel.
- Enesekirjeldus: koos andmetega edastatakse ka nende struktuur.
- Loetavus: arusaadav nii inimesele kui ka masinale.
- Paindlikkus: lihtne muuta ja laiendada ilma täieliku ümbertöötamiseta.
- Standardiseeritus: kasutatakse rahvusvahelistes ja tööstusstandardites (nt SVG, SOAP, RSS).
Miinused:
- Mahukas: võrreldes JSON-i või CSV-ga võtab rohkem ruumi.
- Parsimise keerukus: nõuab süntaksi ranget järgimist.
- Madal jõudlus: töötlemine on aeglasem, eriti suurte failide puhul.
- Loogika toetuse puudumine: XML iseenesest ei tee midagi, vaja on välist programmi.
XMLi rakendusalad:
- Andmete edastamine süsteemide vahel
XMLi kasutatakse andmete vahetamiseks erinevate rakenduste ja formaatide vahel (nt veebisait ↔ raamatupidamissüsteem). - Veebirakendused
XML aitab kujundada veebilehtede struktuuri ja kuvada kasutajale kohandatud andmeid (nt tooted brändi järgi). - Tehniline dokumentatsioon
XML kirjeldab dokumentide struktuuri (pealkirjad, loendid, lõigud) ja seda kasutatakse automaatseks ettevalmistamiseks trükkimiseks või avaldamiseks. - Andmetüüp programmeerimises
Paljud keeled (Java, Python jt) toetavad XML-i kui sisseehitatud andmetüüpi struktureeritud teabe töötlemiseks.
<?xml version="1.0" encoding="utf-8" ?>
<inimene saasta="2006" elukoht="Kherson">
<nimi>Daria</nimi>
<perekonnanimi>Halchenko</perekonnanimi>
</inimene>XML-skeem
XML-skeem (XML Schema, XSD)
XML-skeem on dokument, milles kirjeldatakse XML-faili struktuuri mõningaid reegleid või piiranguid. Neid piiranguid võib kirjeldada mitmel viisil, näiteks:
- Grammatilised reeglid elementide järjekorra määramiseks
- Tingimused „Jah” või „Ei”, millele sisu peab vastama
- XML-failide sisu andmetüübid
- Andmete terviklikkuse piirangud
Näiteks võib raamatupoodide XML-skeem kehtestada järgmised piirangud:
- Raamatu elemendil peavad olema atribuudid title ja author.
- Element book peab olema lisatud elemendile category atribuudi nimega.
- Raamatu hind peab olema eraldi element, mis on lisatud raamatule.
XML-skeemide (XSD) rakendusalad:
- XML-dokumentide valideerimine
XML-struktuuri ja -andmete vastavuse kontrollimine kehtestatud reeglitele (tüüpidele, kohustuslikele elementidele). - Andmestruktuuri määratlemine
Standardite loomine andmevahetuseks süsteemide vahel, et kõik kasutaksid ühtset formaati. - Andmete töötlemise automatiseerimine
Aitab programmidele automaatselt töödelda XML-i, tagades õige formaadi. - Andmete terviklikkuse tagamine
Andmete õigsuse ja täielikkuse kontrollimine edastamisel ja salvestamisel. - Andmete formaadi dokumenteerimine
Teenib andmete struktuuri formaalse kirjeldusena arendajatele ja kasutajatele.
XML-skeemide kasutamise plussid ja miinused
Plussid:
- Andmete struktuuri ja tüüpide selge määratlemine
- Võimaldab kiiresti leida vigu XML-is
- Parandab süsteemide vahelist ühilduvust
- Toetab keerukaid valideerimisreegleid (nt valik mitme variandi hulgast)
- Standardiseeritud ja laialdaselt toetatud formaat
Miinused:
- Võib olla keeruline ja mahukas suuremate struktuuride jaoks
- Nõuab täiendavaid teadmisi loomiseks ja hooldamiseks
- Valideerimine võib aeglustada XML-i töötlemist
- Mõnikord liigne lihtsamate kasutamisjuhtude jaoks
Kuidas luua XML-skeem (XSD)
- Käsitsi
- Kirjutage XML-fail laiendiga .xsd.
- Määrake elemendid (
<xs:element>), nende tüübid (xs:string, xs:integer jne), struktuur (järjekord, pesastamine). - Määrake, millised elemendid on kohustuslikud ja millised valikulised.
2. Automaatselt XML-ist
- Kasutage redaktoreid või veebiteenuseid, mis genereerivad skeemi valmis XML-failist.
- See on mugav, kui teil on dokumendi näidis ja vaja on kiiresti saada XSD.
3. Graafilised tööriistad
- Redaktorid nagu Oxygen XML, Visual Studio, XMLSpy võimaldavad struktuuri visuaalselt luua.
- Need tööriistad genereerivad XSD, lihtsustades tööd.
Kuidas luua XML-skeem Visual Studios
- Avage XML-fail Visual Studio’s.
- Valige menüüribalt XML>Loo skeem.
XML-skeemi dokument luuakse ja avatakse iga XML-faili nimeruumi jaoks. Iga skeem avatakse nagu iga ajutine fail. Skeeme saab salvestada kettale, lisada projekti või kustutada.

Projekti nimele parema hiireklõpsuga -> Add -> New item

Otsingus otsime XML ja valime XML Schema ning loome


Minu projekt

- Tabelis värvisin kõik nimed, mis sisaldavad tähte D, punaseks.
- Tabelis värvisin kõik nimed, millel on vähemalt kaks last, kollaseks.

Minu ülesanne: Tee tabel, kus on näidatud vanaemad ja nende lapselapsed.
Ma tegin eraldi tabeli, kus on kirjas vanaemade nimed ja nende lapselapsed, samuti on eraldi veerus kirjas lapselaste arv.

