2009-10-28 3 views
5

Ich habe diese XML:Wie bekomme ich den Wert eines Attributs des Wurzelelements in XSLT?

<?xml version="1.0" encoding="utf-8" ?> 
<IMPORT mode="FULL"> 
    .... 
</IMPORT> 

Ich versuche es mit dem folgenden XSLT Sheet zu konvertieren:

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="/"> 
    <xsl:element name="import"> 
     <xsl:attribute name="mode"> 
     <xsl:value-of select="@mode"/> 
     </xsl:attribute> 
      .... 
     </xsl:element> 
    </xsl:template> 

Mein Problem ist, dass die folgende Zeile nicht zu funktionieren scheint:

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

Wie bekomme ich nur

<import mode=""> 

statt der erwarteten:

<import mode="FULL"> 

Irgendwelche Hinweise?

Antwort

7

Versuchen <xsl:value-of select="IMPORT/@mode"/>

+0

Ihnen allen für Ihre Antworten danken – user198063

8

Sie sind nicht wirklich auf dem IMPORT Element zu verwenden.

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="/"> 
    <xsl:apply-templates select="IMPORT"/> 
    </xsl:template> 
    <xsl:template match="IMPORT"> 
    <xsl:element name="import"> 
     <xsl:attribute name="mode"> 
     <xsl:value-of select="@mode"/> 
     </xsl:attribute> 
     ....  
    </xsl:element> 
    </xsl:template> 
1

Try this:

<xsl:template match="IMPORT"> 
    <xsl:element name="import"> 
     <xsl:attribute name="mode"> 
      <xsl:value-of select="@mode"/> 
      </xsl:attribute> 
    </xsl:element> 
</xsl:template> 
Verwandte Themen