Ausgabe als JSON¶

Lernziel¶
Bisher haben wir HTML als Zielformat gewählt. Hier nun ein Beispiel wie sie die Daten einer XML-Datei in eine JSON-Struktur konvertieren.
Handlungsanweisungen¶
- Aufgaben
Entwickeln Sie bitte eine XSL-Datei, die eine JSON-Datei generieren soll. Benutzen Sie bitte saxon, so dass Sie die JSON-Datei ohne den im Browser integriertem Transformators erstellen. Laden Sie dann die JSON-Datei in einen Online-Validator, um die Struktur auf Gültigkeit zu prüfen.
Weitere Hinweise finden Sie unten in dieser Station. Benutzen Sie folgende XML-Datei.
<telefon>
<eintrag>
<nummer>0331-2345322</nummer>
<name>Heinz Becker</name>
<info>Chef</info>
</eintrag>
<eintrag>
<nummer>0331-2345324</nummer>
<name>Steffi Acht</name>
<info>Admin</info>
</eintrag>
</telefon>
JSON-Dateien erstellen¶
Um JSON-Strukturen zu erstellen, müssen Sie folgenden Hinweise berücksichtigen:
Output-Methode setzen
<xsl:output method="text" />
Wir müssen die Output-Methode von XSL-Dateien auf text setzen. Die Zeile müssen Sie vor das erste Template setzen.
Eine erste Version mit der Sie beginnen können, realisiert die Ausgabe für die PC-Liste. Beachen Sie, dass auch die DTD zur XML vorhanden ist. Was passiert bei der Transformation, wenn Sie die Verbindung zur DTD, in der XML-Datei deaktivieren?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="pcliste">
{
<xsl:apply-templates />
}
</xsl:template>
<xsl:template match="raum">
"<xsl:value-of select="./@bezeichnung"/>":
[<xsl:apply-templates select="rechner"/>]
<xsl:if test="position() != last()">,</xsl:if>
</xsl:template>
<xsl:template match="rechner">
[
"<xsl:value-of select="rechnerip"/>",
"<xsl:value-of select="rechnername"/>",
"<xsl:value-of select="anmerkung"/>"
]
<xsl:if test="position() != last()">,</xsl:if>
</xsl:template>
</xsl:stylesheet>
|