Sugupuu

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 (Meiesugupuu.xml):

<inimene saasta="1955">
<nimi>Gelina Sergeitsik</nimi>
<home>Mustamäe</home>
</inimene>

Siin:

  • <inimene> – põhiline element.
  • saasta="1955" – atribuut, mis näitab sünniaastat.
  • Alam-sildid (nimielukoht) 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 (Meiesugupuu.xslt) teisendatakse XML sugupuu andmed HTML-tabeliks, kus iga inimese kohta kuvatakse nimi, elukoht, sünniaasta ja vanus.

Näide koodist:

<xsl:for-each select="//inimene">
<tr>
<td><xsl:value-of select="nimi"/></td>
<td><xsl:value-of select="@saasta"/></td>
</tr>
</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. Mis on XML-skeem (XSD)?

XML Schema Definition (XSD) määrab, kuidas XML-fail peab olema üles ehitatud. See kontrollib, millised elemendid ja atribuudid on lubatud, ning aitab andmeid valideerida.

Näide skeemist:

<xs:element name="inimene">
<xs:complexType>
<xs:sequence>
<xs:element name="nimi" type="xs:string"/>
<xs:element name="elukoht" type="xs:string"/>
<xs:element name="lapsed" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element ref="inimene" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="saasta" type="xs:gYear" use="required"/>
</xs:complexType>
</xs:element>

See tähendab:

  • Põhielement on <inimene>.
  • Kohustuslikud väljad: nimielukoht
  • lapsed võib sisaldada piiramatu arvu teisi <inimene> elemente.
  • Atribuut saasta on nõutud ja peab olema aastaarv.

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/AleksandrAleksejev/xmlrakendus

Scroll to Top