Undress Gaver: Difference between revisions
From ICO wiki
Jump to navigationJump to search
Line 37: | Line 37: | ||
=== XML Fail === | === XML Fail === | ||
<pre> | |||
<?xml version="1.0" encoding="utf-8" ?> | |||
<?xml-stylesheet type="text/xsl" href="Arved.xslt" ?> | |||
<arved> | |||
<arve number="1337420" kuupäev="20.03.2016"> | |||
<koostaja eesnimi="Kaspar" perenimi="Tilk"> | |||
<kontaktandmed> | |||
<kontakt väärtus="kaspar.tilk" tüüp="Skype"/> | |||
<kontakt väärtus="53542343" tüüp="telefon"/> | |||
</kontaktandmed> | |||
</koostaja> | |||
<tellija eesnimi="Mait" perenimi="Poska"/> | |||
<tarneviis nimetus="kuller"> | |||
<tarnija nimi="DPD"/> | |||
</tarneviis> | |||
<tellitudTooted> | |||
<toode nimi="banaan" kogus="2" ühik="kg" kategooria="puuvili" aktiivne="true"> | |||
<tavahind väärtus="2" valuuta="€"/> | |||
<soodushind väärtus="1.50" valuuta="€"/> | |||
<kirjeldus><![CDATA[toores banaan]]></kirjeldus> | |||
</toode> | |||
<toode nimi="õun" kogus="3" ühik="kg" kategooria="puuvili" aktiivne="true"> | |||
<tavahind väärtus="1" valuuta="€"/> | |||
<soodushind väärtus="0.50" valuuta="€"/> | |||
<kirjeldus><![CDATA[hapu õun]]></kirjeldus> | |||
</toode> | |||
</tellitudTooted> | |||
<käibemaksumäär väärtus="0%"/> | |||
<summad> | |||
<käibemaksuta väärtus="3" valuuta="€"/> | |||
<käibemaksuga väärtus="3" valuuta="€"/> | |||
</summad> | |||
<juriidilineInfo ettevõtteNimi="OÜ Puuvili" registrikood="420666" aadress="Keki tn, Keila"> | |||
<pangakontod> | |||
<pangakonto pangaNimi="Swedbank" kontonr="EE12345678"/> | |||
<pangakonto pangaNimi="SEB" kontonr="EE87654321"/> | |||
</pangakontod> | |||
<kontaktandmed> | |||
<kontakt väärtus="puu@vili.ee" tüüp="E-mail"/> | |||
<kontakt väärtus="531337" tüüp="Telefon"/> | |||
</kontaktandmed> | |||
</juriidilineInfo> | |||
<lisainfo><![CDATA[Täname tellimuse eest!]]></lisainfo> | |||
<tähtaeg kuupäev="21.03.2016"/> | |||
</arve> | |||
<arve number="1337420" kuupäev="20.03.2016"> | |||
<koostaja eesnimi="Kaspar" perenimi="Tilk"> | |||
<kontaktandmed> | |||
<kontakt väärtus="kaspar.tilk" tüüp="Skype"/> | |||
<kontakt väärtus="53542343" tüüp="Telefon"/> | |||
</kontaktandmed> | |||
</koostaja> | |||
<tellija eesnimi="Andres" perenimi="Käver"/> | |||
<tarneviis nimetus="kuller"> | |||
<tarnija nimi="DPD"/> | |||
</tarneviis> | |||
<tellitudTooted> | |||
<toode nimi="banaan" kogus="2" ühik="kg" kategooria="puuvili" aktiivne="true"> | |||
<tavahind väärtus="2" valuuta="€"/> | |||
<soodushind väärtus="1.50" valuuta="€"/> | |||
<kirjeldus><![CDATA[toores banaan]]></kirjeldus> | |||
</toode> | |||
<toode nimi="õun" kogus="3" ühik="kg" kategooria="puuvili" aktiivne="true"> | |||
<tavahind väärtus="1" valuuta="€"/> | |||
<soodushind väärtus="0.50" valuuta="€"/> | |||
<kirjeldus><![CDATA[hapu õun]]></kirjeldus> | |||
</toode> | |||
</tellitudTooted> | |||
<käibemaksumäär väärtus="0%"/> | |||
<summad> | |||
<käibemaksuta väärtus="3" valuuta="€"/> | |||
<käibemaksuga väärtus="3" valuuta="€"/> | |||
</summad> | |||
<juriidilineInfo ettevõtteNimi="OÜ Puuvili" registrikood="420666" aadress="Keki tn, Keila"> | |||
<pangakontod> | |||
<pangakonto pangaNimi="Swedbank" kontonr="EE12345678"/> | |||
<pangakonto pangaNimi="SEB" kontonr="EE87654321"/> | |||
</pangakontod> | |||
<kontaktandmed> | |||
<kontakt väärtus="puu@vili.ee" tüüp="E-mail"/> | |||
<kontakt väärtus="531337" tüüp="telefon"/> | |||
</kontaktandmed> | |||
</juriidilineInfo> | |||
<lisainfo><![CDATA[Täname tellimuse eest!]]></lisainfo> | |||
<tähtaeg kuupäev="21.03.2016"/> | |||
</arve> | |||
</arved> | |||
</pre> | |||
=== XML Skeemifail === | === XML Skeemifail === | ||
<pre> | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> | |||
<xs:element name="arved"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="128" name="arve"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element name="koostaja"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element name="kontaktandmed"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="16" name="kontakt"> | |||
<xs:complexType> | |||
<xs:attribute name="väärtus" type="xs:string" use="required" /> | |||
<xs:attribute name="tüüp" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
<xs:attribute name="eesnimi" type="xs:string" use="required" /> | |||
<xs:attribute name="perenimi" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="tellija"> | |||
<xs:complexType> | |||
<xs:attribute name="eesnimi" type="xs:string" use="required" /> | |||
<xs:attribute name="perenimi" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="tarneviis"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element name="tarnija"> | |||
<xs:complexType> | |||
<xs:attribute name="nimi" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
<xs:attribute name="nimetus" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="tellitudTooted"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="128" name="toode"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element name="tavahind"> | |||
<xs:complexType> | |||
<xs:attribute name="väärtus" type="xs:decimal" use="required" /> | |||
<xs:attribute name="valuuta" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="soodushind"> | |||
<xs:complexType> | |||
<xs:attribute name="väärtus" type="xs:decimal" /> | |||
<xs:attribute name="valuuta" type="xs:string" /> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="kirjeldus" type="xs:string" /> | |||
</xs:sequence> | |||
<xs:attribute name="nimi" type="xs:string" use="required" /> | |||
<xs:attribute name="kogus" type="xs:unsignedByte" use="required" /> | |||
<xs:attribute name="ühik" type="xs:string" use="required" /> | |||
<xs:attribute name="kategooria" type="xs:string" /> | |||
<xs:attribute name="aktiivne" type="xs:boolean" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="käibemaksumäär"> | |||
<xs:complexType> | |||
<xs:attribute name="väärtus" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="summad"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element name="käibemaksuta"> | |||
<xs:complexType> | |||
<xs:attribute name="väärtus" type="xs:decimal" use="required" /> | |||
<xs:attribute name="valuuta" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="käibemaksuga"> | |||
<xs:complexType> | |||
<xs:attribute name="väärtus" type="xs:decimal" use="required" /> | |||
<xs:attribute name="valuuta" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="juriidilineInfo"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element name="pangakontod"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="32" name="pangakonto"> | |||
<xs:complexType> | |||
<xs:attribute name="pangaNimi" type="xs:string" use="required" /> | |||
<xs:attribute name="kontonr" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="kontaktandmed"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="32" name="kontakt"> | |||
<xs:complexType> | |||
<xs:attribute name="väärtus" type="xs:string" use="required" /> | |||
<xs:attribute name="tüüp" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
<xs:attribute name="ettevõtteNimi" type="xs:string" use="required" /> | |||
<xs:attribute name="registrikood" type="xs:unsignedInt" use="required" /> | |||
<xs:attribute name="aadress" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="lisainfo" type="xs:string" /> | |||
<xs:element name="tähtaeg"> | |||
<xs:complexType> | |||
<xs:attribute name="kuupäev" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
<xs:attribute name="number" type="xs:unsignedInt" use="required" /> | |||
<xs:attribute name="kuupäev" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:schema> | |||
</pre> | |||
=== XSLT === | |||
<pre> | |||
<?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="html" indent="yes"/> | |||
=== | <xsl:template match="/"> | ||
<html> | |||
<head> | |||
<title>Arved</title> | |||
</head> | |||
<body> | |||
<xsl:for-each select="/arved/arve"> | |||
<div> | |||
<p> | |||
<b>Arve nr <xsl:value-of select="@number"/></b> Koostatud <xsl:value-of select="@kuupäev"/> | |||
</p> | |||
<p> | |||
Koostaja: <xsl:value-of select="koostaja/@eesnimi"/><xsl:value-of select="koostaja/@perenimi"/> | |||
<ul> | |||
<xsl:for-each select="./koostaja/kontaktandmed/kontakt"> | |||
<li> | |||
<xsl:value-of select="@tüüp"/>: <xsl:value-of select="@väärtus"/> | |||
</li> | |||
</xsl:for-each> | |||
</ul> | |||
</p> | |||
<p> | |||
Tellija: <xsl:value-of select="./tellija/@eesnimi"/> <xsl:value-of select="./tellija/@perenimi"/> | |||
</p> | |||
<table border="1" cellpadding="4" cellspacing="0"> | |||
<tr> | |||
<th>Toote nimetus</th> | |||
<th>Kogus</th> | |||
<th>Ühik</th> | |||
<th>Hind</th> | |||
</tr> | |||
<xsl:for-each select="./tellitudTooted/toode"> | |||
<tr align="center"> | |||
<td> | |||
<xsl:value-of select="@nimi"/> | |||
</td> | |||
<td> | |||
<xsl:value-of select="@kogus"/> | |||
</td> | |||
<td> | |||
<xsl:value-of select="@ühik"/> | |||
</td> | |||
<td> | |||
<xsl:value-of select="./tavahind/@väärtus"/><xsl:value-of select="./tavahind/@valuuta"/> | |||
</td> | |||
</tr> | |||
</xsl:for-each> | |||
<tr> | |||
<td colspan="3" align="right"> | |||
Summa käibemaksuta: | |||
</td> | |||
<td colspan="1" align="center"> | |||
<xsl:value-of select="./summad/käibemaksuta/@väärtus"/><xsl:value-of select="./summad/käibemaksuta/@valuuta"/> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td colspan="3" align="right"> | |||
Käibemaksumäär: | |||
</td> | |||
<td colspan="1" align="center"> | |||
<xsl:value-of select="./käibemaksumäär/@väärtus"/> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td colspan="3" align="right"> | |||
<b>Summa käibemaksuga:</b> | |||
</td> | |||
<td colspan="1" align="center"> | |||
<b><xsl:value-of select="./summad/käibemaksuga/@väärtus"/><xsl:value-of select="./summad/käibemaksuga/@valuuta"/></b> | |||
</td> | |||
</tr> | |||
</table> | |||
<p> | |||
<b>Juriidiline info</b> | |||
<xsl:variable name="info" select="./juriidilineInfo"/> | |||
<br/> | |||
Ettevõte: <xsl:value-of select="$info/@ettevõtteNimi"/> | |||
<br/> | |||
Aadress: <xsl:value-of select="$info/@aadress"/> | |||
<br/> | |||
Registrikood: <xsl:value-of select="$info/@registrikood"/> | |||
<br/> | |||
<xsl:for-each select="$info/pangakontod/pangakonto"> | |||
<xsl:value-of select="@pangaNimi"/>: <xsl:value-of select="@kontonr"/> | |||
<br/> | |||
</xsl:for-each> | |||
<xsl:for-each select="$info/kontaktandmed/kontakt"> | |||
<xsl:value-of select="@tüüp"/>: <xsl:value-of select="@väärtus"/> | |||
<br/> | |||
</xsl:for-each> | |||
</p> | |||
<p> | |||
Maksetähtaeg: <b> | |||
<xsl:value-of select="./tähtaeg/@kuupäev"/> | |||
</b> | |||
<br/> | |||
<xsl:value-of select="./lisainfo"/> | |||
</p> | |||
</div> | |||
</xsl:for-each> | |||
</body> | |||
</html> | |||
</xsl:template> | |||
</xsl:stylesheet> | |||
</pre> |
Revision as of 21:01, 20 March 2016
Meeskond ja rollid
- Marko Koiduste - Projektijuht
- Jaanus Türnpuu
- Sergei Fatejev
- Kaspar Tilk
Idee
Kasutatav .NET tehnoloogia
C#, Entity Framework, Web-API, AngularJS klientrakenduse loomiseks
Analüüs
Rakenduse sisu
Rakenduses on olemas järgmised võimalused (Must have):
- 1.
- 2.
- 3.
Rakenduses võiksid olla lisavõimalused (Should have):
- 1.
- 2.
- 3.
Andmebaasiskeem
XML osa
XML Fail
<?xml version="1.0" encoding="utf-8" ?> <?xml-stylesheet type="text/xsl" href="Arved.xslt" ?> <arved> <arve number="1337420" kuupäev="20.03.2016"> <koostaja eesnimi="Kaspar" perenimi="Tilk"> <kontaktandmed> <kontakt väärtus="kaspar.tilk" tüüp="Skype"/> <kontakt väärtus="53542343" tüüp="telefon"/> </kontaktandmed> </koostaja> <tellija eesnimi="Mait" perenimi="Poska"/> <tarneviis nimetus="kuller"> <tarnija nimi="DPD"/> </tarneviis> <tellitudTooted> <toode nimi="banaan" kogus="2" ühik="kg" kategooria="puuvili" aktiivne="true"> <tavahind väärtus="2" valuuta="€"/> <soodushind väärtus="1.50" valuuta="€"/> <kirjeldus><![CDATA[toores banaan]]></kirjeldus> </toode> <toode nimi="õun" kogus="3" ühik="kg" kategooria="puuvili" aktiivne="true"> <tavahind väärtus="1" valuuta="€"/> <soodushind väärtus="0.50" valuuta="€"/> <kirjeldus><![CDATA[hapu õun]]></kirjeldus> </toode> </tellitudTooted> <käibemaksumäär väärtus="0%"/> <summad> <käibemaksuta väärtus="3" valuuta="€"/> <käibemaksuga väärtus="3" valuuta="€"/> </summad> <juriidilineInfo ettevõtteNimi="OÜ Puuvili" registrikood="420666" aadress="Keki tn, Keila"> <pangakontod> <pangakonto pangaNimi="Swedbank" kontonr="EE12345678"/> <pangakonto pangaNimi="SEB" kontonr="EE87654321"/> </pangakontod> <kontaktandmed> <kontakt väärtus="puu@vili.ee" tüüp="E-mail"/> <kontakt väärtus="531337" tüüp="Telefon"/> </kontaktandmed> </juriidilineInfo> <lisainfo><![CDATA[Täname tellimuse eest!]]></lisainfo> <tähtaeg kuupäev="21.03.2016"/> </arve> <arve number="1337420" kuupäev="20.03.2016"> <koostaja eesnimi="Kaspar" perenimi="Tilk"> <kontaktandmed> <kontakt väärtus="kaspar.tilk" tüüp="Skype"/> <kontakt väärtus="53542343" tüüp="Telefon"/> </kontaktandmed> </koostaja> <tellija eesnimi="Andres" perenimi="Käver"/> <tarneviis nimetus="kuller"> <tarnija nimi="DPD"/> </tarneviis> <tellitudTooted> <toode nimi="banaan" kogus="2" ühik="kg" kategooria="puuvili" aktiivne="true"> <tavahind väärtus="2" valuuta="€"/> <soodushind väärtus="1.50" valuuta="€"/> <kirjeldus><![CDATA[toores banaan]]></kirjeldus> </toode> <toode nimi="õun" kogus="3" ühik="kg" kategooria="puuvili" aktiivne="true"> <tavahind väärtus="1" valuuta="€"/> <soodushind väärtus="0.50" valuuta="€"/> <kirjeldus><![CDATA[hapu õun]]></kirjeldus> </toode> </tellitudTooted> <käibemaksumäär väärtus="0%"/> <summad> <käibemaksuta väärtus="3" valuuta="€"/> <käibemaksuga väärtus="3" valuuta="€"/> </summad> <juriidilineInfo ettevõtteNimi="OÜ Puuvili" registrikood="420666" aadress="Keki tn, Keila"> <pangakontod> <pangakonto pangaNimi="Swedbank" kontonr="EE12345678"/> <pangakonto pangaNimi="SEB" kontonr="EE87654321"/> </pangakontod> <kontaktandmed> <kontakt väärtus="puu@vili.ee" tüüp="E-mail"/> <kontakt väärtus="531337" tüüp="telefon"/> </kontaktandmed> </juriidilineInfo> <lisainfo><![CDATA[Täname tellimuse eest!]]></lisainfo> <tähtaeg kuupäev="21.03.2016"/> </arve> </arved>
XML Skeemifail
<?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="arved"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="128" name="arve"> <xs:complexType> <xs:sequence> <xs:element name="koostaja"> <xs:complexType> <xs:sequence> <xs:element name="kontaktandmed"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="16" name="kontakt"> <xs:complexType> <xs:attribute name="väärtus" type="xs:string" use="required" /> <xs:attribute name="tüüp" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="eesnimi" type="xs:string" use="required" /> <xs:attribute name="perenimi" type="xs:string" use="required" /> </xs:complexType> </xs:element> <xs:element name="tellija"> <xs:complexType> <xs:attribute name="eesnimi" type="xs:string" use="required" /> <xs:attribute name="perenimi" type="xs:string" use="required" /> </xs:complexType> </xs:element> <xs:element name="tarneviis"> <xs:complexType> <xs:sequence> <xs:element name="tarnija"> <xs:complexType> <xs:attribute name="nimi" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="nimetus" type="xs:string" use="required" /> </xs:complexType> </xs:element> <xs:element name="tellitudTooted"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="128" name="toode"> <xs:complexType> <xs:sequence> <xs:element name="tavahind"> <xs:complexType> <xs:attribute name="väärtus" type="xs:decimal" use="required" /> <xs:attribute name="valuuta" type="xs:string" use="required" /> </xs:complexType> </xs:element> <xs:element name="soodushind"> <xs:complexType> <xs:attribute name="väärtus" type="xs:decimal" /> <xs:attribute name="valuuta" type="xs:string" /> </xs:complexType> </xs:element> <xs:element name="kirjeldus" type="xs:string" /> </xs:sequence> <xs:attribute name="nimi" type="xs:string" use="required" /> <xs:attribute name="kogus" type="xs:unsignedByte" use="required" /> <xs:attribute name="ühik" type="xs:string" use="required" /> <xs:attribute name="kategooria" type="xs:string" /> <xs:attribute name="aktiivne" type="xs:boolean" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="käibemaksumäär"> <xs:complexType> <xs:attribute name="väärtus" type="xs:string" use="required" /> </xs:complexType> </xs:element> <xs:element name="summad"> <xs:complexType> <xs:sequence> <xs:element name="käibemaksuta"> <xs:complexType> <xs:attribute name="väärtus" type="xs:decimal" use="required" /> <xs:attribute name="valuuta" type="xs:string" use="required" /> </xs:complexType> </xs:element> <xs:element name="käibemaksuga"> <xs:complexType> <xs:attribute name="väärtus" type="xs:decimal" use="required" /> <xs:attribute name="valuuta" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="juriidilineInfo"> <xs:complexType> <xs:sequence> <xs:element name="pangakontod"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="32" name="pangakonto"> <xs:complexType> <xs:attribute name="pangaNimi" type="xs:string" use="required" /> <xs:attribute name="kontonr" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="kontaktandmed"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="32" name="kontakt"> <xs:complexType> <xs:attribute name="väärtus" type="xs:string" use="required" /> <xs:attribute name="tüüp" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="ettevõtteNimi" type="xs:string" use="required" /> <xs:attribute name="registrikood" type="xs:unsignedInt" use="required" /> <xs:attribute name="aadress" type="xs:string" use="required" /> </xs:complexType> </xs:element> <xs:element name="lisainfo" type="xs:string" /> <xs:element name="tähtaeg"> <xs:complexType> <xs:attribute name="kuupäev" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="number" type="xs:unsignedInt" use="required" /> <xs:attribute name="kuupäev" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
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="html" indent="yes"/> <xsl:template match="/"> <html> <head> <title>Arved</title> </head> <body> <xsl:for-each select="/arved/arve"> <div> <p> <b>Arve nr <xsl:value-of select="@number"/></b> Koostatud <xsl:value-of select="@kuupäev"/> </p> <p> Koostaja: <xsl:value-of select="koostaja/@eesnimi"/><xsl:value-of select="koostaja/@perenimi"/> <ul> <xsl:for-each select="./koostaja/kontaktandmed/kontakt"> <li> <xsl:value-of select="@tüüp"/>: <xsl:value-of select="@väärtus"/> </li> </xsl:for-each> </ul> </p> <p> Tellija: <xsl:value-of select="./tellija/@eesnimi"/> <xsl:value-of select="./tellija/@perenimi"/> </p> <table border="1" cellpadding="4" cellspacing="0"> <tr> <th>Toote nimetus</th> <th>Kogus</th> <th>Ühik</th> <th>Hind</th> </tr> <xsl:for-each select="./tellitudTooted/toode"> <tr align="center"> <td> <xsl:value-of select="@nimi"/> </td> <td> <xsl:value-of select="@kogus"/> </td> <td> <xsl:value-of select="@ühik"/> </td> <td> <xsl:value-of select="./tavahind/@väärtus"/><xsl:value-of select="./tavahind/@valuuta"/> </td> </tr> </xsl:for-each> <tr> <td colspan="3" align="right"> Summa käibemaksuta: </td> <td colspan="1" align="center"> <xsl:value-of select="./summad/käibemaksuta/@väärtus"/><xsl:value-of select="./summad/käibemaksuta/@valuuta"/> </td> </tr> <tr> <td colspan="3" align="right"> Käibemaksumäär: </td> <td colspan="1" align="center"> <xsl:value-of select="./käibemaksumäär/@väärtus"/> </td> </tr> <tr> <td colspan="3" align="right"> <b>Summa käibemaksuga:</b> </td> <td colspan="1" align="center"> <b><xsl:value-of select="./summad/käibemaksuga/@väärtus"/><xsl:value-of select="./summad/käibemaksuga/@valuuta"/></b> </td> </tr> </table> <p> <b>Juriidiline info</b> <xsl:variable name="info" select="./juriidilineInfo"/> <br/> Ettevõte: <xsl:value-of select="$info/@ettevõtteNimi"/> <br/> Aadress: <xsl:value-of select="$info/@aadress"/> <br/> Registrikood: <xsl:value-of select="$info/@registrikood"/> <br/> <xsl:for-each select="$info/pangakontod/pangakonto"> <xsl:value-of select="@pangaNimi"/>: <xsl:value-of select="@kontonr"/> <br/> </xsl:for-each> <xsl:for-each select="$info/kontaktandmed/kontakt"> <xsl:value-of select="@tüüp"/>: <xsl:value-of select="@väärtus"/> <br/> </xsl:for-each> </p> <p> Maksetähtaeg: <b> <xsl:value-of select="./tähtaeg/@kuupäev"/> </b> <br/> <xsl:value-of select="./lisainfo"/> </p> </div> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>