Wir haben nun ein XML erzeugt, doch die Ausgabe des XML ist wenig überzeugend.
Wir erweitern daher die XML-Erzeugung durch eine nachfolgende Umwandlung des XML in HTML Code.
Dafür verwenden wir ein XSL Template.
Wir legen für das XSL Template eine Konstantengruppe mit dem Namen XSL Templates an und darin eine mehrzeilige Stringkonstante mit dem Namen Material.
Diese Textkonstante bekommt folgenden Inhalt:
<?xml version="1.0" encoding="UTF-8"?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<body style="font-family:Arial;font-size:12pt;background-color:#EEEEEE">
<xsl:for-each select="Root">
<xsl:value-of select="@Produkt" disable-output-escaping="no"/>
</xsl:for-each>
<br/>
<br/>
<table>
<tr>
<td width="100px">ID</td>
<td width="100px">Anzahl</td>
<td width="300px">Bezeichnung</td>
<td width="200px">Positionspreis</td>
</tr>
<xsl:for-each select="Root/Material">
<tr>
<td width="100px">
<xsl:value-of select="@ID" disable-output-escaping="no"/>
</td>
<td width="100px">
<xsl:value-of select="@Anzahl" disable-output-escaping="no"/>
</td>
<td width="300px">
<xsl:value-of select="@Bezeichnung" disable-output-escaping="no"/>
</td>
<td width="200px">
<xsl:value-of select="@Positionspreis" disable-output-escaping="no"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
Das DOMDocument erlaubt nun die Verknüpfung von den enthaltenen XML-Daten mit einem XSL Template wie diesem zur Erzeugung von HTML-Code. Dafür ändern wir den Programmcode im Click-Event um. Wir legen auch ein Merkmal HTMLOutput vom Typ String in der Klasse Start an, um den HTML Code zu speichern. Auch wird ein neues Formular mit dem Namen Schnittstellenergebnis entworfen, um den HTML Code auszugeben.
Function Click() As Void
Dim DOM As MSXML2.DOMDocument
Schnittstelle(DOM)
Dim DOMXSL As New MSXML2.DOMDocument
DOMXSL.loadXML([XSL Templates].Material)
HTMLOutput := DOM.transformNode(DOMXSL)
Schnittstellenergebnis.Show
End Function
Das Formular erhält ein Steuerelement vom Typ WebBrowser aus der Typbibliothek TCE Multimedia Controls.
Stellen Sie das Steuerelement so ein, dass die Eigenschaft HTML über das Merkmal HTMLOutput gefüllt wird und die Eigenschaft UseHTML mit True initialisiert wird.
Sie sollten das folgende Ergebnis erhalten: