# XSL Transformation xsl:value-of select Attribute mit Namespacekennzeichen lesen



## mage (13. Januar 2006)

Hallo,

ich habe eine vorgegebene XML Struktur:

```
<Workbook xmlns:ss="style">
    <Worksheet ss:Name="Mandanten">
        <table>
           .......
        </table>
    </Worksheet>
</Workbook>
```

Diese soll mittels XSL nach HTML transfomiert werden.


```
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
 ..
    <xsl:for-each select="Workbook/Worksheet">
         <strong><xsl:value-of select="@ss:Name" /></strong>
         ......
     </xsl:for-each> 
      ..   
</xsl:template>

</xsl:stylesheet>
```
Leider läßt sich das Attribute ss:Name nicht ausgeben. Das liegt scheinbar am Namesraum ss. Wie muss der Ausdruck in der value-of select= formuliert werden, um an das Attribute zu kommen?
Wenn in der zu transformieren XML Datei die Namespace Kürzel "ss:" manuell entfernt werden, lässt es sich mit @Name ansprechen.

Mir war in Erinnerung das Attribute grundsätzlich zum Standardnamesraum gehören.
Anmerkung: Das XML Dokument wird von Excel 2003 erzeugt.


----------



## chaertl (3. Februar 2006)

Hiho,

ich glaube das müsste so gehen:

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

Der Punkt steht für das aktuelle Element, über den gerade in der for-each iteriert wird.

Gruß
Christian


----------

