21. januar 2004 - 16:38
Der er
2 kommentarer
Kopiering af attribut værdi
Jeg har et source dokument: <source> <employee attr1="value1" attr2="value2"/> </source> og vil gerne have et resultat med samme layout, hvor værdien af attr2 er kopieret over i attr1, altså: <source> <employee attr1="value2" attr2="value2"/> </source> I praksis indgår eksemplet i et større dokument, som jeg kopierer med. <xsl:template match="*|@*|comment()|text()"> <xsl:copy> <xsl:apply-templates select="*|@*|comment()|text()"/> </xsl:copy> </xsl:template> Men hvordan tilføjer jeg en template der klarer "kopieringen" af attributværdien? Måske noget med: <xsl:template match="*[@attr1 and @attr2]"> og hvad så?? </xsl:template> Hvordan hulen gør man?
Annonceindlæg tema
Cloud & AI
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
21. januar 2004 - 16:47
#1
<xsl:template match="employee"> <employee attr1="{@attr2}" attr2="{@attr2}"> <xsl:apply-templates select="*|@*|comment()|text()"/> </employee> </xsl:template> med store forbehold om hvorvidt jeg husker dette med tuborgparentesene rett.
Slettet bruger
21. januar 2004 - 23:55
#2
Hvis du vil gøre det med attribute-templates, vil jeg foreslå flg.: <xsl:template match="@attr1"> <xsl:value-of select="../@attr2" /> </xsl:template> <xsl:template match="@attr2"> <xsl:value-of select="." /> </xsl:template> /CS
Kurser inden for grundlæggende programmering