Veronika Milovzorova portfolio/ eng

XML ja XSLT

XML

XML (eXtensible Markup Language) on laiendatav märgistuskeel, mida kasutatakse andmete salvestamiseks ja edastamiseks struktureeritud kujul, loetaval nii inimestele kui masinatele.

  • XML-is kasutatakse märgendeid (tags) nagu HTML-is, kuid see ei defineeri välimust, vaid andmestruktuuri.
  • XML on tekstipõhine formaat.
  • Sobib andmete vahetuseks eri süsteemide vahel (nt veebirakendused, API-d).
  • Struktuur on hierarhiline — nagu puu (juurelement, alam-elemendid jne).

Näidis:

<inimene synniaasta="1947" elukoht="Moskva">
	<Name>Ninna</Name>
	<lapsed>
		<inimene synniaasta="1988" elukoht="Tallinn">
			<Name>Olga</Name>
			<lapsed>
				<inimene synniaasta="2006" elukoht="Tallinn">
					<Name>Veronika</Name>
				</inimene>
			</lapsed>
		</inimene>
		<inimene synniaasta="1984" elukoht="Tallinn">
			<Name>Julia</Name>
			<lapsed>
				<inimene synniaasta="2012" elukoht="Tallinn">
					<Name>Eva</Name>
				</inimene>
				<inimene synniaasta="2016" elukoht="Tallinn">
					<Name>Aria</Name>
				</inimene>
				<inimene synniaasta="2022" elukoht="Tallinn">
					<Name>Vladislav</Name>
				</inimene>
			</lapsed>
		</inimene>
	</lapsed>
</inimene>

XSLT

XSLT (eXtensible Stylesheet Language Transformations) on keel XML-andmete teisendamiseks. Sellega saab muuta XML-andmeid teiseks XML-iks, HTML-iks, tekstiks või muuks väljundiks.

  • XSLT loeb algset XML-faili (allikdokument).
  • Sellele rakendatakse XSLT-stiilileht (eeskirjade kogum).
  • Tulemus on uus dokument (nt HTML, uus XML jne).
	<xsl:for-each select="lapsed/inimene">
		<xsl:value-of select="Name"/>
		<xsl:if test="position() != last()">, </xsl:if>
	</xsl:for-each>
</td>
<td>
	<xsl:for-each select="lapsed/inimene">
		<xsl:value-of select="@synniaasta"/>
		<xsl:if test="position() != last()">, </xsl:if>
	</xsl:for-each>
</td>

XML SKEEM

XML skeem (inglise keeles XML Schema) on dokument, mis määratleb XML-faili struktuuri, reeglid ja andmetüübid. See on nagu “reeglistik” või “mall”, mille järgi XML-andmed peavad olema koostatud.

Skeemi abil saab määrata:
  • millised elemendid ja atribuudid on lubatud;
  • milliseid andmetüüpe need elemendid võivad sisaldada;
  • piirangud – kohustuslikud elemendid, kordused jne

XML skeemi loomine

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="inimene">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Name" type="xs:string"/>
        <xs:element name="vanus" type="xs:integer"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

</xs:schema>

en_US