2010-12-27 18 views
1

Ich habe einen Standard-Meta-Tag wie folgt aus:Kann ich den Wert eines Attributnamens mit Xpath festlegen?

<meta name="desc" content="test"/> 

Dass ich in einen neuen Knoten so zu transformieren wollen:

<xsl:template match="meta"> 
<content> 
    <xsl:attribute name="test"/> 
</content> 
</xsl:template> 

einen Weg ‚Test‘ als Attributnamen Gibt es zu ersetzen mit und xpath ausdruck? Kann ich den @name aus dem Meta-Tag irgendwie verwenden?

Antwort

3

Gibt es eine Möglichkeit ‚test‘ als die Attributnamen mit und XPath Ausdruck zu ersetzen?

Ja, verwenden Sie einen Attributwert-Template wie:

Edit: Um mehr klar, das Sheet:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="meta"> 
     <content> 
      <xsl:attribute name="{@name}"> 
       <xsl:value-of select="@content"/> 
      </xsl:attribute> 
     </content> 
    </xsl:template> 
</xsl:stylesheet> 

Ausgang:

<content desc="test" /> 

Edit: Nach Dimitres Raten, wenn Sie wollen

<content name="desc">test</content> 

verwenden Sheet:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="meta"> 
     <content name="{@name}"> 
      <xsl:value-of select="@content"/> 
     </content> 
    </xsl:template> 
</xsl:stylesheet> 
+0

xsl: value-of @name den Namen des Namens zurück. Wenn ich es in name = "{@ name}" ändere, ist es null. Ich habe versucht, den Wert in einer Variablen zu speichern, und zwar in value-of, aber nicht als Ausdruck im name-Attribut. – spyderman4g63

+0

@ Spyderman4g63: Überprüfen Sie mein Update. –

+0

@ Alejandro: Es scheint, dass das OP ' ' –

Verwandte Themen