Übung Invoicehttps://www.cmseo.ch/online-schulung-xslt-kurs-xml-transformation-ressourcen?&atomFri, 29 Mar 2024 14:16:39 +0000stack.ch
https://stack.ch/
f567615d-edd6-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-xslt-kurs-xml-transformation-ressourcen
f56762d7-edd6-11ee-8c11-005056bb85fbFri, 29 Mar 2024 14:16:39 +0000Übung Invoice
https://www.cmseo.ch/online-schulung-xslt-kurs-xml-transformation-ressourcen
f56763fc-edd6-11ee-8c11-005056bb85fbFri, 29 Mar 2024 14:16:39 +0000
https://www.cmseo.ch/online-schulung-xslt-kurs-xml-transformation-ressourcen
f5676504-edd6-11ee-8c11-005056bb85fbFri, 29 Mar 2024 14:16:39 +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-xslt-kurs-xml-transformation-ressourcen
f5676c71-edd6-11ee-8c11-005056bb85fbFri, 29 Mar 2024 14:16:39 +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-xslt-kurs-xml-transformation-ressourcen
f56779eb-edd6-11ee-8c11-005056bb85fbFri, 29 Mar 2024 14:16:39 +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-xslt-kurs-xml-transformation-ressourcen
f5678072-edd6-11ee-8c11-005056bb85fbFri, 29 Mar 2024 14:16:39 +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-xslt-kurs-xml-transformation-ressourcen
f56785e7-edd6-11ee-8c11-005056bb85fbFri, 29 Mar 2024 14:16:39 +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
Fri, 29 Mar 2024 14:16:39 +0000f567916f-edd6-11ee-8c11-005056bb85fbAktuell
https://www.cmseo.ch/
Fri, 29 Mar 2024 14:16:39 +0000f5679232-edd6-11ee-8c11-005056bb85fbAGB
https://www.cmseo.ch/agb
Fri, 29 Mar 2024 14:16:39 +0000f56792db-edd6-11ee-8c11-005056bb85fbBildungswege
https://www.cmseo.ch/bildungswege
Fri, 29 Mar 2024 14:16:39 +0000f5679374-edd6-11ee-8c11-005056bb85fbBlog
https://www.cmseo.ch/blog
Fri, 29 Mar 2024 14:16:39 +0000f567940d-edd6-11ee-8c11-005056bb85fbRufen Sie mich an
https://www.cmseo.ch/callus
Fri, 29 Mar 2024 14:16:39 +0000f56794a9-edd6-11ee-8c11-005056bb85fbCharts
https://www.cmseo.ch/charts
Fri, 29 Mar 2024 14:16:39 +0000f567953f-edd6-11ee-8c11-005056bb85fbConsulting
https://www.cmseo.ch/consulting
Fri, 29 Mar 2024 14:16:39 +0000f56795d5-edd6-11ee-8c11-005056bb85fbKontakt
https://www.cmseo.ch/contact
Fri, 29 Mar 2024 14:16:39 +0000f567966c-edd6-11ee-8c11-005056bb85fbAusbildung/Kurse
https://www.cmseo.ch/education
Fri, 29 Mar 2024 14:16:39 +0000f5679711-edd6-11ee-8c11-005056bb85fbSoftware Engineering
https://www.cmseo.ch/engineering
Fri, 29 Mar 2024 14:16:39 +0000f56797ae-edd6-11ee-8c11-005056bb85fbFreelancer
https://www.cmseo.ch/freelancer
Fri, 29 Mar 2024 14:16:39 +0000f567984a-edd6-11ee-8c11-005056bb85fbImpressum
https://www.cmseo.ch/impressum
Fri, 29 Mar 2024 14:16:39 +0000f56798e4-edd6-11ee-8c11-005056bb85fbKursleiter
https://www.cmseo.ch/kursleiter
Fri, 29 Mar 2024 14:16:39 +0000f567997e-edd6-11ee-8c11-005056bb85fbNetzwerk
https://www.cmseo.ch/network
Fri, 29 Mar 2024 14:16:39 +0000f5679a2e-edd6-11ee-8c11-005056bb85fbReferenzen
https://www.cmseo.ch/references
Fri, 29 Mar 2024 14:16:39 +0000f5679ac9-edd6-11ee-8c11-005056bb85fbSitemap
https://www.cmseo.ch/sitemap
Fri, 29 Mar 2024 14:16:39 +0000f5679b60-edd6-11ee-8c11-005056bb85fbTools
https://www.cmseo.ch/tools
Fri, 29 Mar 2024 14:16:39 +0000f5679c01-edd6-11ee-8c11-005056bb85fbVision
https://www.cmseo.ch/vision
Fri, 29 Mar 2024 14:16:39 +0000f5679c9c-edd6-11ee-8c11-005056bb85fb