XML
- Текстовый формат файла
- Элементы имеет вид HTML но только на первый взгляд
- На XHTML составленная страница – это одно из приложений языка XML
- Все тэги в XHTML должны закрываться. <тэг>
- В XHTML бесконечное количество команд
- XML хранит иерархическую структуру данных
XSL, XSLT
- XSL – язык для преобразования XML документов.
- XSLT – язык семейства XSL
- Для выделения данных есть много способов например PHP
- Преобразования XSLT основаны на шаблонах
XML Sample:
<?xml version="1.0" encoding="utf-8" ?>
<inimesed>
<inimine>
<eesnimi>Jaan</eesnimi>
<perenimi>Krohhin</perenimi>
<synd>2002</synd>
</inimine>
<inimine>
<eesnimi>Sofia</eesnimi>
<perenimi>Morozova</perenimi>
<synd>2002</synd>
</inimine>
<inimine>
<eesnimi>Daniil</eesnimi>
<perenimi>Gorohov</perenimi>
<synd>2002</synd>
</inimine>
<inimine>
<eesnimi>Artjom</eesnimi>
<perenimi>Kabilov</perenimi>
<synd>2003</synd>
</inimine>
<inimine>
<eesnimi>Artem</eesnimi>
<perenimi>Stryzhakov</perenimi>
<synd>2003</synd>
</inimine>
<inimine>
<eesnimi>Nikita</eesnimi>
<perenimi>Rimitsen</perenimi>
<synd>2004</synd>
</inimine>
</inimesed>
XSLT Sample:
<xsl:template match="/">
Esimene inimene:
<xsl:value-of select="/inimesed/inimine[1]/eesnimi"/>
<br></br>
Viimane inimene:
<xsl:value-of select="/inimesed/inimine[last()]/eesnimi"/>
<br></br>
Esitäht
<xsl:value-of select="substring(/inimesed/inimine[1]/eesnimi,1,1)"/>
<br></br>
Oma initsialid:
<xsl:value-of select="concat(
substring(/inimesed/inimine[1]/eesnimi,1,1),'. ',
substring(/inimesed/inimine[1]/perenimi,1,1),'.')"/>
<br></br>
Oma ees- ja perenimi pikkus:
<xsl:value-of select="string-length(/inimesed/inimine[1]/eesnimi) + string-length(/inimesed/inimine[1]/perenimi)"/>
<br></br>
Kui palju inimest failis
<xsl:value-of select="count(/inimesed/inimine)"/>
<br></br>
Kui palju inimest sündisid 2002 aastal:
<xsl:value-of select="count(/inimesed/inimine[synd=2002])"/>
<br></br>
Kui palju inimest sündisid pärast 2002 aastat:
<xsl:value-of select="count(/inimesed/inimine[synd > 2002])"/>
<br></br>
Kui palju inimest sündisid enne 2002 aastat:
<xsl:value-of select="count(/inimesed/inimine[synd < 2002])"/>
<br></br>
kordumine:
<ul>
<xsl:for-each select="/inimesed/inimine">
<li>
<xsl:value-of select="concat(perenimi,'...',synd)"/>
</li>
</xsl:for-each>
</ul>
<br></br>
Naidata koik nimed A
<xsl:for-each select="/inimesed/inimine">
<xsl:if test="starts-with(., 'A')">
<li>
<xsl:value-of select="eesnimi"/>
</li>
</xsl:if>
</xsl:for-each> <br></br>
Naidata koik viimased perenimi tahed
<xsl:for-each select="/inimesed/inimine">
<li>
<xsl:value-of select="substring(perenimi,string-length(perenimi),string-length(perenimi))"/>
</li>
</xsl:for-each> <br></br>
Naidata esimese inimese nimi ja viimast perenimi kokku
<xsl:value-of select="concat(/inimesed/inimine[1]/eesnimi,'',/inimesed/inimine[last()]/perenimi)" />
<br></br>
</xsl:template>
ASPX file
<%@ Page Title="Home Page" Language="C#"%>
<!Doctype html>
<html>
<head runat="server">
<title>Inimeste andmed XSLT</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Xml runat="server" DocumentSource="~/InimesteBaas.xml" TransformSource="~/InimesteLisa.xslt"></asp:Xml>
</div>
</form>
</body>
</html>
Result