Mis on XML?
- XML (Extensible Markup Language) on andmete kirjeldamise ja struktureerimise keel.
- Kasutatakse andmete vahetamiseks, salvestamiseks ja edastamiseks.
- Erinevalt HTML-ist ei kirjelda XML andmete väljanägemist, vaid nende sisu ja struktuuri.
- Näide:
<?xml version="1.0" encoding="utf-8" ?>
<!-- Семейное древо -->
<sugupuu>
<inimene saasta="1944" elukoht="Paldiski">
<nimi>Tamara</nimi>
<perekonnanimi>Zelenina</perekonnanimi>
<lapsed>
<inimene saasta="1966" elukoht="Tallinn">
<nimi>Elena</nimi>
<perekonnanimi>Sergeeva</perekonnanimi>
<lapsed>
<inimene saasta="1986" elukoht="Tallinn">
<nimi>Natalia</nimi>
<perekonnanimi>Volkova</perekonnanimi>
</inimene>
</lapsed>
</inimene>
</lapsed>
</inimene>
</sugupuu>
🔹 Mis on XSLT?
- XSLT (Extensible Stylesheet Language Transformations) on keel, mida kasutatakse XML-dokumentide teisendamiseks.
- Võimaldab muuta XML-i näiteks:
- HTML-leheks (veebis kuvamiseks)
- Teiseks XML-struktuuriks
- Tekstifailiks või muuks väljundiks
- Kasutab XSL stiililehte, mis määrab, kuidas XML-elemente tuleb töödelda.
Näide: XML teisendamine HTML-i
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="xml" indent="yes"/>
<xsl:key name="elukohtKey" match="inimene" use="@elukoht"/>
<xsl:template match="/">
<h2>Inimeste andmed</h2>
<table border="1">
<tr>
<th>Nimi</th>
<th>Perekonnanimi</th>
<th>SünniAasta</th>
<th>Vanus</th>
<th>Elukoht</th>
<th>Laste arv</th>
<th>Lapsed</th>
</tr>
<xsl:for-each select="//inimene">
<xsl:variable name="nimi" select="nimi"/>
<xsl:variable name="lasteArv" select="count(lapsed/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="2025 - number(@saasta)"/></td>
<td><xsl:value-of select="@elukoht"/></td>
<td><xsl:value-of select="$lasteArv"/></td>
<td>
<xsl:for-each select="lapsed/inimene">
<xsl:value-of select="nimi"/>
<xsl:if test="position()!=last()">, </xsl:if>
</xsl:for-each>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
🔹 Mis on XML-skeem (XSD)?
- XML-skeem (XSD – XML Schema Definition) määrab, milline peab XML dokumendi struktuur olema.
- Kirjeldab:
- Millised elemendid ja atribuudid on lubatud
- Millised andmetüübid on (nt number, kuupäev, tekst)
- Millised elemendid peavad esinema ja millised on valikulised
- Tagab XML-andmete korrektsuse ja valideeritavuse.
<sugupuu xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="sugupuu.xsd">
<inimene saasta="1944" elukoht="Paldiski">
<nimi>Tamara</nimi>
<perekonnanimi>Zelenina</perekonnanimi>
</inimene>
</sugupuu>
🔹 Kuidas XML-skeemi luua?
- Määratle XML struktuur (millised elemendid ja atribuudid vaja).
- Kirjuta XSD-fail, kus kirjeldad elemendid, nende tüübid ja järjekorra.
- Valideeri XML skeemi vastu spetsiaalse tööriista või tarkvaraga.
Sugupuu
- Tõsta punasega esile nimi, mis sisaldab tähte “A”
- Tee tabel, kus on näidatud vanaemad ja nende lapselapsed.
- Lisa tabel kellelon auto ja autode nimi.