Samuel Müller: Attribute mit Namespace auslesen

Hi,

ich hab ein kleines Problem mit der Umwandlung einer - nicht von mir - vorgegebenen XML Datei.

Die XML Datei erhalte ich und versuche sie über eine XSL Datei umzuwandeln, damit sie im Browser dargestellt werden kann.

Hier nur die XML Datei:

<myDATA xmlns:a="http://HierstehtderNamespace"
           a:Kunde="Max Mustermann">Bestellung></myDATA>

Hier nun die XSL Datei:

Normalerweise liest man den Attribut-Wert in der XSL mit

<xsl:value-of select="@Kunde" />

aus, da Kunde ja ein Attribut des Elements myDATA ist.
Jedoch wurd hier dem Element ja ein Präfix mit dem Namespace vorangestellt - insofern funktioniert das nicht.

Weiss jemand wie man den Inhalt diese Attributs auslesen kann ?

Vielen Dank

Samuel

  1. Hallo,

    Normalerweise liest man den Attribut-Wert in der XSL mit

    <xsl:value-of select="@Kunde" />

    aus, da Kunde ja ein Attribut des Elements myDATA ist.
    Jedoch wurd hier dem Element ja ein Präfix mit dem Namespace vorangestellt - insofern funktioniert das nicht.

    Doch, eben mit dem Prefix:

    <xsl:value-of select="@a:Kunde" />

    wobei der Namensraum noch beim xsl:stylesheet-Element anzugeben ist und dieser sinnvollerweise von der Ausgabe ausgeschlossen wird (exclude-result-prefixes):

      
    <?xml version="1.0" ... ?>  
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
    xmlns:a="http://HierstehtderNamespace" exclude-result-prefixes="a">  
    ...  
    </xsl:stylesheet>
    

    MfG, Thomas

    1. Hallo Thomas,

      vielen Dank für Deine Antwort. Es klappt jetzt. Merci

      SAM