Loome mock andmed andmebaasiks

siin on meile mock andmed

siin on tabeli loomine
CREATE TABLE reisid (
id int primary key identity(1,1),
lennujaam varchar(255),
transport varchar(255),
hinnad decimal,
sihtkoht varchar(100),
algus_kuupaev datetime,
lopp_kuupaev datetime,
);siin kuidas me lisame tabelis andmed
insert into reisid (lennujaam, transport, hinnad, sihtkoht, algus_kuupaev, lopp_kuupaev) values ('Puerto La Victoria Airport', 'PY-1', 19.99, 'Peru', '10/4/2024', '3/26/2025');
insert into reisid (lennujaam, transport, hinnad, sihtkoht, algus_kuupaev, lopp_kuupaev) values ('Charles B. Wheeler Downtown Airport', 'US-MO', 2.99, 'Ethiopia', '1/10/2025', '2/5/2025');
#....siin me loome XML faili
SELECT
id AS '@id',
(
SELECT
transport AS '@transport',
lennujaam AS 'text()'
FOR XML PATH('lennujaam'), TYPE
),
hinnad AS 'hinnad',
(
SELECT
sihtkoht AS 'sihtkoht',
algus_kuupaev AS 'algus',
lopp_kuupaev AS 'lopp'
FOR XML PATH('info'), TYPE
)
FROM reisid
FOR XML PATH('reis'), ROOT('reisid');
siin on XML faili viis

Praegune XML koodi näide
<reisid>
<reis id="1">
<lennujaam transport="PY-1">Puerto La Victoria Airport</lennujaam>
<hinnad>20</hinnad>
<info>
<sihtkoht>Peru</sihtkoht>
<algus>2024-10-04T00:00:00</algus>
<lopp>2025-03-26T00:00:00</lopp>
</info>
</reis>
<reis id="2">
<lennujaam transport="US-MO">Charles B. Wheeler Downtown Airport</lennujaam>
<hinnad>3</hinnad>
<info>
<sihtkoht>Ethiopia</sihtkoht>
<algus>2025-01-10T00:00:00</algus>
<lopp>2025-02-05T00:00:00</lopp>
</info>
</reis>
....
<reisid>CSS stiilid
.suurem {
background-color: red !important;
}
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid #999;
padding: 6px;
text-align: left;
}
th {
background: #eee;
}
.highlight {
color: red;
font-weight: bold;
}
.third-level {
background: yellow;
display: inline-block;
padding: 2px 4px;
}
/* 8.Kuva kõik xml andmed tabelina, kus read on üle rea erineva värviga.
*/
tr:nth-child(even) {
background-color: #f2f2f2;
}XSLT
<?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:template match="/">
<xsl:for-each select="//reis">
<!-- 7. Sorteeri kõik reisid vastavalt hinnangule (nt kliendihinnang, kui selline väli on olemas XML-is, kui ei ole kasuta teine numbriline väli).-->
<xsl:sort select="hinnad" order="ascending" data-type="number"/>
<h1>
<xsl:value-of select="info/sihtkoht"/>
<!-- 1. Kuvada iga reisi sihtkoht pealkirjana, kasutades.-->
</h1>
<ul>
<!-- 2. Komponendid peavad olema kuvatud täpploeteluna -->
<li>
<strong>Lennujaam</strong>:
<span class="third-level">
<xsl:value-of select="lennujaam"/>
(<xsl:value-of select="lennujaam/@transport"/>)
</span>
</li>
<li>
<strong>Hinnad</strong>:
<!-- Kui hind on suurem kui 10 siis värvime punaseks -->
<xsl:if test="hinnad > 10">
<span class="suurem">
<xsl:value-of select="hinnad"/> €
</span>
</xsl:if>
<xsl:if test="hinnad < 10">
<span class="third-level">
<xsl:value-of select="hinnad"/> €
</span>
</xsl:if>
</li>
<li>
<strong>Aeg</strong>:
<span class="third-level">
<!-- Kolmanda taseme struktuuri andmed tuleb kuvada kollasel taustal.-->
<xsl:value-of select="info/algus"/>—<xsl:value-of select="info/lopp"/>
</span>
</li>
</ul>
<hr/>
</xsl:for-each>
<!-- Hinna summa -->
<h2>Kogu hind</h2>
<strong>
<xsl:value-of select="sum(reisid/reis/hinnad)"/> €
</strong>
<!--Filtreeri ja kuva ainult need reisid, mille sihtkoht on USA.-->
<h2>Ainult USA sihtkohad</h2>
<xsl:for-each select="//reis[info/sihtkoht='USA']">
<ul>
<li>
<strong>Lennujaam</strong>:
<span class="third-level">
<xsl:value-of select="lennujaam"/>
(<xsl:value-of select="lennujaam/@transport"/>)
</span>
</li>
<li>
<strong>Hinnad</strong>:
<xsl:if test="hinnad > 10">
<span class="suurem">
<xsl:value-of select="hinnad"/> €
</span>
</xsl:if>
<xsl:if test="hinnad < 10">
<span class="third-level">
<xsl:value-of select="hinnad"/> €
</span>
</xsl:if>
</li>
<li>
<strong>Aeg</strong>:
<span class="third-level">
<xsl:value-of select="info/algus"/>—<xsl:value-of select="info/lopp"/>
</span>
</li>
</ul>
</xsl:for-each>
<!--8. Kuva kõik xml andmed tabelina, kus read on üle rea erineva värviga.-->
<h2>Kõik reisid tabelina</h2>
<table>
<thead>
<tr>
<th>ID</th>
<th>Sihtkoht</th>
<th>Lennujaam (transport)</th>
<th>Hinnad</th>
<th>Algus</th>
<th>Lopp</th>
</tr>
</thead>
<tbody>
<xsl:for-each select="//reis">
<tr>
<td>
<xsl:value-of select="@id"/>
</td>
<td>
<xsl:value-of select="info/sihtkoht"/>
</td>
<td>
<xsl:value-of select="lennujaam"/>
(<xsl:value-of select="lennujaam/@transport"/>)
</td>
<td>
<xsl:value-of select="hinnad"/> €
</td>
<td>
<xsl:value-of select="info/algus"/>
</td>
<td>
<xsl:value-of select="info/lopp"/>
</td>
</tr>
</xsl:for-each>
</tbody>
</table>
</xsl:template>
</xsl:stylesheet>Page (ASPX file)
<%@ Page Title="Reisid" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="About.aspx.cs" Inherits="WebApplication3.About" %>
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<asp:Xml ID="Xml1" runat="server"
DocumentSource="reisidXml.xml"
TransformSource="reisid.xslt">
</asp:Xml>
</asp:Content>
XML Skeem
Skeemi loomiseks me peame avama XML faili ja klõpsama “Create Schema” nuppi ( Esiteks tuleb programm peatada )

Pärast seda me näeme XML skeem
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="reisid">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="reis">
<xs:complexType>
<xs:sequence>
<xs:element name="lennujaam">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="transport" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="hinnad" type="xs:unsignedShort" />
<xs:element name="info">
<xs:complexType>
<xs:sequence>
<xs:element name="sihtkoht" type="xs:string" />
<xs:element name="algus" type="xs:dateTime" />
<xs:element name="lopp" type="xs:dateTime" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:unsignedByte" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>Tulemus


