Übung Invoicehttps://www.cmseo.ch/online-schulung-xml-transformation-kurs-übung-invoice?&atomThu, 28 Mar 2024 19:56:56 +0000stack.ch
https://stack.ch/
54b62d3f-ed3d-11ee-8c11-005056bb85fbSimtech AG - Ausbildung - XML - Kurs XML Transformation - Kurs XML Transformation - Ressourcen - Kurs XML Transformation - Übungen - Übung Invoice
https://www.cmseo.ch/online-schulung-xml-transformation-kurs-übung-invoice
54b62fdd-ed3d-11ee-8c11-005056bb85fbThu, 28 Mar 2024 19:56:56 +0000Übung Invoice
https://www.cmseo.ch/online-schulung-xml-transformation-kurs-übung-invoice
54b63124-ed3d-11ee-8c11-005056bb85fbThu, 28 Mar 2024 19:56:56 +0000
https://www.cmseo.ch/online-schulung-xml-transformation-kurs-übung-invoice
54b6379a-ed3d-11ee-8c11-005056bb85fbThu, 28 Mar 2024 19:56:56 +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.cmseo.ch/online-schulung-xml-transformation-kurs-übung-invoice
54b63d26-ed3d-11ee-8c11-005056bb85fbThu, 28 Mar 2024 19:56:56 +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.cmseo.ch/online-schulung-xml-transformation-kurs-übung-invoice
54b64a92-ed3d-11ee-8c11-005056bb85fbThu, 28 Mar 2024 19:56:56 +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.cmseo.ch/online-schulung-xml-transformation-kurs-übung-invoice
54b65160-ed3d-11ee-8c11-005056bb85fbThu, 28 Mar 2024 19:56:56 +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.cmseo.ch/online-schulung-xml-transformation-kurs-übung-invoice
54b65723-ed3d-11ee-8c11-005056bb85fbThu, 28 Mar 2024 19:56:56 +0000Lösung zu Step 1 invoice1.xslLösung zu Step 2 invoice2.xslLösung zu Step 3 invoice3.xslÜber uns
https://www.cmseo.ch/about
Thu, 28 Mar 2024 19:56:56 +000054b662ca-ed3d-11ee-8c11-005056bb85fbAktuell
https://www.cmseo.ch/
Thu, 28 Mar 2024 19:56:56 +000054b66375-ed3d-11ee-8c11-005056bb85fbAGB
https://www.cmseo.ch/agb
Thu, 28 Mar 2024 19:56:56 +000054b66425-ed3d-11ee-8c11-005056bb85fbBildungswege
https://www.cmseo.ch/bildungswege
Thu, 28 Mar 2024 19:56:56 +000054b664c5-ed3d-11ee-8c11-005056bb85fbBlog
https://www.cmseo.ch/blog
Thu, 28 Mar 2024 19:56:56 +000054b66562-ed3d-11ee-8c11-005056bb85fbRufen Sie mich an
https://www.cmseo.ch/callus
Thu, 28 Mar 2024 19:56:56 +000054b66609-ed3d-11ee-8c11-005056bb85fbCharts
https://www.cmseo.ch/charts
Thu, 28 Mar 2024 19:56:56 +000054b666a0-ed3d-11ee-8c11-005056bb85fbConsulting
https://www.cmseo.ch/consulting
Thu, 28 Mar 2024 19:56:56 +000054b6673d-ed3d-11ee-8c11-005056bb85fbKontakt
https://www.cmseo.ch/contact
Thu, 28 Mar 2024 19:56:56 +000054b667d7-ed3d-11ee-8c11-005056bb85fbAusbildung/Kurse
https://www.cmseo.ch/education
Thu, 28 Mar 2024 19:56:56 +000054b66884-ed3d-11ee-8c11-005056bb85fbSoftware Engineering
https://www.cmseo.ch/engineering
Thu, 28 Mar 2024 19:56:56 +000054b66939-ed3d-11ee-8c11-005056bb85fbFreelancer
https://www.cmseo.ch/freelancer
Thu, 28 Mar 2024 19:56:56 +000054b669e3-ed3d-11ee-8c11-005056bb85fbImpressum
https://www.cmseo.ch/impressum
Thu, 28 Mar 2024 19:56:56 +000054b66a8f-ed3d-11ee-8c11-005056bb85fbKursleiter
https://www.cmseo.ch/kursleiter
Thu, 28 Mar 2024 19:56:56 +000054b66b2e-ed3d-11ee-8c11-005056bb85fbNetzwerk
https://www.cmseo.ch/network
Thu, 28 Mar 2024 19:56:56 +000054b66bca-ed3d-11ee-8c11-005056bb85fbReferenzen
https://www.cmseo.ch/references
Thu, 28 Mar 2024 19:56:56 +000054b66c76-ed3d-11ee-8c11-005056bb85fbSitemap
https://www.cmseo.ch/sitemap
Thu, 28 Mar 2024 19:56:56 +000054b66d1b-ed3d-11ee-8c11-005056bb85fbTools
https://www.cmseo.ch/tools
Thu, 28 Mar 2024 19:56:56 +000054b66db8-ed3d-11ee-8c11-005056bb85fbVision
https://www.cmseo.ch/vision
Thu, 28 Mar 2024 19:56:56 +000054b67041-ed3d-11ee-8c11-005056bb85fb