Welche Elemente und Attribute?#

Frage?#

Es existiert keine Document Type Definition (dtd) oder eine Schema-Datei (xsd). Wie erhalte ich eine Übersicht mit allen Elementen und Attributen?

Antwort#

Stylesheet anlegen#

Mit einem Stylesheet können die Angabe ausgelesen und tabellarisch dargestellt werden.

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" omit-xml-declaration="yes"
version="1.0" encoding="utf-8" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="/">
    <table border="1">
    <tr>
        <th>Element</th>
        <th>Attribute</th>
        <th>Value</th>
    </tr>
    <xsl:apply-templates select="*"/>
    </table>
</xsl:template>

<xsl:template match="*">
    <tr>
    <td>
        <xsl:value-of select="local-name()"/>
    </td>
    <td/>
    <td>
        <xsl:apply-templates select="text()"/>
    </td>
    </tr>
    <xsl:apply-templates select="@*|*"/>
</xsl:template>

<xsl:template match="@*">
    <tr>
    <td>
        <xsl:value-of select="local-name(..)"/>
    </td>
    <td>
        <xsl:value-of select="local-name()"/>
    </td>
    <td>
        <xsl:value-of select="."/>
    </td>
    </tr>
</xsl:template>

</xsl:stylesheet>

XSL mit XML verknüpfen#

In folgendem Beispiel wird eine einfache Word-Datei analysiert.

java -jar saxon9he.jar -o:struktur.html dokument.xml struktur.xsl

Testdateien#

Das Ergebnis#

Ausschnitt der generierten Tabelle:

../_images/struktur.png