1. Mis on XML?
XML (eXtensible Markup Language) on universaalne andmete kirjeldamise keel, mida kasutatakse info salvestamiseks ja edastamiseks.
Erinevalt HTML-ist ei kirjelda XML välimust, vaid ainult andmete struktuuri ja väärtusi.
Näide minu failist (davidmSuguPuu.xml):
<inimene aasta="1961">
<nimi>Vanaema Natallia</nimi>
<br/>
<elukoht>Eestonia Tallinn</elukoht>
<br/>
<telefonModel>Samsung A50</telefonModel>
<br/>
</inimene>Siin:
<inimene>– põhiline element.saasta="1961"– atribuut, mis näitab sünniaastat.- Alam-sildid (
nimi,elukoht,Telefon-model) kirjeldavad inimese omadusi. - Elemendid võivad sisaldada ka alam-elemente
<lapsed>, mis moodustavad sugupuu.
2. Mis on XSLT?
XSLT (eXtensible Stylesheet Language Transformations) on transformatsioonikeel, millega saab XML-andmeid teisendada erinevatesse formaatidesse: HTML, XML, TXT, tabelid jne.
Minu failis (davidm2paring.xslt) teisendatakse XML sugupuu andmed HTML-tabeliks, kus iga inimese kohta kuvatakse nimi, elukoht, sünniaasta, vanus ja telefonimudel.
Näide koodist:
<xsl:for-each select="//inimene">
<br/>
<tr>
<td><xsl:value-of select="nimi"/></td>
<br/>
<td><xsl:value-of select="@aasta"/></td>
<br/>
<td><xsl:value-of select="2025 - number(@aasta)"/></td>
<br/>
</tr>
<br/>
</xsl:for-each>See teeb järgmist:
- Võtab kõik
<inimene>elemendid XML-ist. - Loob igaühe kohta tabelirea.
- Kuvab nime, sünniaasta ja arvutab vanuse (2025 – sünniaasta).
Lisaks on kasutatud tingimuslikke vorminguid: kui inimesel on vähemalt kaks last, värvitakse tema rida kollaseks. Samuti muudetakse nime värv punaseks, kui see sisaldab tähe „m/M“.
3. Kuidas luua XML-skeemi
- Ava korraks oma XML-fail.
- Faili keskel on XML-plokk.

- Klõpsa sellel ja loo sinna skeem.

Näide skeemi loomisest:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="inimene">
<xs:complexType>
<xs:sequence>
<xs:element name="nimi" type="xs:string" />
<xs:element name="lapsed">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="inimene">
<xs:complexType>
<xs:sequence>
<xs:element name="nimi" type="xs:string" />
<xs:element minOccurs="0" name="lapsed">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="inimene">
<xs:complexType>
<xs:sequence>
<xs:element name="nimi" type="xs:string" />
</xs:sequence>
<xs:attribute name="saasta" type="xs:unsignedShort" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="saasta" type="xs:unsignedShort" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="saasta" type="xs:unsignedShort" use="required" />
</xs:complexType>
</xs:element>
</xs:schema>See tähendab:
- Põhielement: <inimene>
- Kohustuslikud alam-elementid: nimi, elukoht, Telefon-model
- lapsed võib sisaldada piiramatu arvu <inimene> elemente
- Atribuut saasta on kohustuslik ja peab olema aastaarv (xs:gYear)
Kokkuvõte
- XML – andmete salvestamiseks sugupuu struktuuris.
- XSLT – XML andmete kuvamine tabeli kujul ja tingimuslik vormindamine.
- XSD – määrab XML-faili reeglid ja aitab tagada andmete korrektsuse.
Github ling: https://github.com/DavidMyrseth/xmlDavidm