Übung Invoicehttps://www.std.ch/IT XML XSLT Ausbildung?&atomFri, 29 Mar 2024 09:00:00 +0000stack.ch
https://stack.ch/
b96abb5f-edaa-11ee-8c11-005056bb85fbSimtech AG - Ausbildung - XML - Kurs XML Transformation - Kurs XML Transformation - Ressourcen - Kurs XML Transformation - Übungen - Übung Invoice
https://www.std.ch/IT XML XSLT Ausbildung
b96abcc1-edaa-11ee-8c11-005056bb85fbFri, 29 Mar 2024 09:00:00 +0000Übung Invoice
https://www.std.ch/IT XML XSLT Ausbildung
b96abe17-edaa-11ee-8c11-005056bb85fbFri, 29 Mar 2024 09:00:00 +0000
https://www.std.ch/IT XML XSLT Ausbildung
b96abf24-edaa-11ee-8c11-005056bb85fbFri, 29 Mar 2024 09:00:00 +0000Mit dieser Übung soll das gegebene XML Dokument "invoice" via XSLT nach HTML transformiert werden. Erstellen Sie in der Eclipse IDE das Projekt "invoice" und die Datei invoice.xml. Kopiere Sie das XML Dokument aus dem folgenden Listing in die Datei invoice.xml:<?xml version="1.0" encoding="UTF-8"?>
<invoice nr="123">
<head>
<customer nr="789">
<name>
<firstname>Hans</firstname>
<lastname>Muster</lastname>
</name>
<address>
<street>Freiburgstrasse 20</street>
<postalcode>3000</postalcode>
<city>Bern</city>
</address>
</customer>
<distributor>
<company>Simtech AG</company>
<address>
<street>Marktgasse 6</street>
<postalcode>3011</postalcode>
<city>Bern</city>
</address>
</distributor>
</head>
<positions>
<position pos="3" price="600" currency="CHF">
<description>PC Intel III 600 Mhz</description>
</position>
<position pos="2" price="700" currency="CHF">
<description>21-Zoll Monitor</description>
</position>
<position pos="4" price="15" currency="CHF">
<description>Maus</description>
</position>
<position pos="1" price="45" currency="EUR">
<description>Tastatur</description>
</position>
</positions>
</invoice>
https://www.std.ch/IT XML XSLT Ausbildung
b96ac3de-edaa-11ee-8c11-005056bb85fbFri, 29 Mar 2024 09:00:00 +0000Programmieren Sie ein XSLT Stylesheet, so dass das folgende HTML Dokument transformiert wird: Das folgende XSLT Listing zeigt eine mögliche Vorlage:<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:template match="/">
<html>
<head>
<title>Invoice</title>
<style type="text/css">
* {
font-family: arial;
}
table {
border:1px solid black;
}
th, td {
padding: 2px;
}
span.label {
display: inline-block;
width: 5em;
}
</style>
</head>
<body>
<h1>Rechnung Nr: ...</h1>
<xsl:apply-templates select="invoice/head/customer"/>
<xsl:apply-templates select="invoice/head/distributor"/>
<p>
<xsl:apply-templates select="invoice/positions"/>
</p>
</body>
</html>
</xsl:template>
<!--
template: customer
-->
<xsl:template match="customer">
<h2>Kunde</h2>
<span class="label">Kundennr:</span>...<br/>
<span class="label">Name:</span>...<br/>
<xsl:apply-templates select="address"/>
</xsl:template>
<!--
template: distributor
-->
<xsl:template match="distributor">
<h2>Lieferant</h2>
<span class="label">Firma:</span>...<br/>
<xsl:apply-templates select="address"/>
</xsl:template>
<!--
template: address
-->
<xsl:template match="address">
<span class="label">Adresse:</span>...,
...
</xsl:template>
<!--
template: positions
-->
<xsl:template match="positions">
<table>
<tr>
<th>Pos</th>
<th>Artikel</th>
<th>Preis</th>
<th>Währung</th>
</tr>
...
</table>
</xsl:template>
<!--
template: position
-->
<xsl:template match="position">
<tr>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
</xsl:template>
</xsl:stylesheet>Erstellen Sie die Datei "invoice1.xsl" und kopieren Sie die obige Vorlage in die Datei. Ergänzen Sie das Script, so dass die Daten in das HTML Dokument korrekt gerendert werden.Das Saxon Script:java -jar ..\saxon\saxon-he-11.4.jar -s:invoice.xml -xsl:invoice1.xsl -o:invoice1.html
https://www.std.ch/IT XML XSLT Ausbildung
b96acffd-edaa-11ee-8c11-005056bb85fbFri, 29 Mar 2024 09:00:00 +0000Mit diesem Schritt wollen wir pro Währung eine separate Tabelle führen. Weiter sollen die geraden und ungeraden Zeilen unterschiedlich dargestellt werden.Definieren Sie ein Template, welches die Tabelle bezogen auf eine Währung anzeigt. Das gleiche Template soll für alle Währungen funktionieren. Steuern Sie das Template über Template Parameter (xsl:with-param). Der Parameter soll die gesuchte Währung (z.B. CHF) mitgeben, welche alsdann im XPath als Kriterium dienen kann.Integrieren Sie das Template in Ihre Transformation, so dass alle Währungen berücksichtigt werden. Es soll für jede Währung eine eigene Tabelle angezeigt werden.Definieren Sie für die geraden (even) und ungeraden (odd) Zeilen ein unterschiedliches Layout. Sie können zwischen geraden und ungeraden Zeilen über die XPath Methode "position()" unterscheiden: <xsl:if test="position() mod 2 = 0">
// even
</xsl:if>
<xsl:if test="position() mod 2 != 0">
// odd
</xsl:if>Das folgende Bild zeigt ein mögliches Layout:Das Saxon Script:java -jar ..\saxon\saxon-he-11.4.jar -s:invoice.xml -xsl:invoice2.xsl -o:invoice2.html
https://www.std.ch/IT XML XSLT Ausbildung
b96ad86b-edaa-11ee-8c11-005056bb85fbFri, 29 Mar 2024 09:00:00 +0000Jetzt möchten wir alle Preise in den Währungen CHF und Euro anzeigen lassen. Schreiben Sie ein Template, welches in einer weiteren Tabelle alle Artikel anzeigt und die Preise in CHF und Euro (je eine Spalte) anzeigt. Suchen Sie den aktuellen Umrechnungskurs im Internet. Fügen Sie in die Tabelle eine letze Zeile mit den Totalpreisen zu den jeweiligen Währungen hinzu. Schreiben Sie hierzu wiederum ein separates Template und setzen Sie für die Summenberechnung die XPath Methode "sum()" ein. Hierzu müssen Sie die Summe der einzelnen Währungen berechnen und alsdann das ganze zusammenzählen (+). Sortieren Sie die Preise aufsteigend. Das folgende Bild zeigt ein mögliches Layout:Das Saxon Script:java -jar ..\saxon\saxon-he-11.4.jar -s:invoice.xml -xsl:invoice3.xsl -o:invoice3.html
https://www.std.ch/IT XML XSLT Ausbildung
b96add5b-edaa-11ee-8c11-005056bb85fbFri, 29 Mar 2024 09:00:00 +0000Lösung zu Step 1 invoice1.xslLösung zu Step 2 invoice2.xslLösung zu Step 3 invoice3.xslÜber uns
https://www.std.ch/about
Fri, 29 Mar 2024 09:00:00 +0000b96ae903-edaa-11ee-8c11-005056bb85fbAktuell
https://www.std.ch/
Fri, 29 Mar 2024 09:00:00 +0000b96ae9a6-edaa-11ee-8c11-005056bb85fbAGB
https://www.std.ch/agb
Fri, 29 Mar 2024 09:00:00 +0000b96aea50-edaa-11ee-8c11-005056bb85fbBildungswege
https://www.std.ch/bildungswege
Fri, 29 Mar 2024 09:00:00 +0000b96aeaea-edaa-11ee-8c11-005056bb85fbBlog
https://www.std.ch/blog
Fri, 29 Mar 2024 09:00:00 +0000b96aee17-edaa-11ee-8c11-005056bb85fbRufen Sie mich an
https://www.std.ch/callus
Fri, 29 Mar 2024 09:00:00 +0000b96aeeb7-edaa-11ee-8c11-005056bb85fbCharts
https://www.std.ch/charts
Fri, 29 Mar 2024 09:00:00 +0000b96aef62-edaa-11ee-8c11-005056bb85fbConsulting
https://www.std.ch/consulting
Fri, 29 Mar 2024 09:00:00 +0000b96af002-edaa-11ee-8c11-005056bb85fbKontakt
https://www.std.ch/contact
Fri, 29 Mar 2024 09:00:00 +0000b96af094-edaa-11ee-8c11-005056bb85fbAusbildung/Kurse
https://www.std.ch/education
Fri, 29 Mar 2024 09:00:00 +0000b96af125-edaa-11ee-8c11-005056bb85fbSoftware Engineering
https://www.std.ch/engineering
Fri, 29 Mar 2024 09:00:00 +0000b96af1c0-edaa-11ee-8c11-005056bb85fbFreelancer
https://www.std.ch/freelancer
Fri, 29 Mar 2024 09:00:00 +0000b96af24d-edaa-11ee-8c11-005056bb85fbImpressum
https://www.std.ch/impressum
Fri, 29 Mar 2024 09:00:00 +0000b96af2d9-edaa-11ee-8c11-005056bb85fbKursleiter
https://www.std.ch/kursleiter
Fri, 29 Mar 2024 09:00:00 +0000b96af365-edaa-11ee-8c11-005056bb85fbNetzwerk
https://www.std.ch/network
Fri, 29 Mar 2024 09:00:00 +0000b96af3f1-edaa-11ee-8c11-005056bb85fbReferenzen
https://www.std.ch/references
Fri, 29 Mar 2024 09:00:00 +0000b96af49c-edaa-11ee-8c11-005056bb85fbSitemap
https://www.std.ch/sitemap
Fri, 29 Mar 2024 09:00:00 +0000b96af532-edaa-11ee-8c11-005056bb85fbTools
https://www.std.ch/tools
Fri, 29 Mar 2024 09:00:00 +0000b96af5c3-edaa-11ee-8c11-005056bb85fbVision
https://www.std.ch/vision
Fri, 29 Mar 2024 09:00:00 +0000b96af654-edaa-11ee-8c11-005056bb85fb