[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] add an attribute to an element, then use it in another template
Subject: RE: [xsl] add an attribute to an element, then use it in another template From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Tue, 4 Mar 2008 19:07:04 -0000 |
In XSLT 2.0 you can do: <xsl:template match="music"> <xsl:call-template name="attr"> <xsl:with-param name="stuff" select="project"/> </xsl:call-template> <xsl:call-template name="attr"> <xsl:with-param name="stuff" as="element()*"> <project newThing="whoKnowsWhat"/> <project adadad="qwertyu"/> </xsl:with-param> </xsl:call-template </xsl:template> Alternatively you can do a 2-phase transformation: phase one takes the input and adds a couple of attributes, phase 2 applies your current logic. Michael Kay http://www.saxonica.com/ > hi, > i'm new using xsl, so please be patient... ;-) > > the input is something like this: > > <music> > > <project name="W.A.S.T.E"> > <release name="We all seek total entropy" year="2003"/> > <release name="Violent delights" year="2006"/> > </project> > > <project name="Winterkalte"> > <release name="Structures of Destruction" year="1997"/> > <release name="Drum 'n' noise" year="1999"/> > </project> > > </music> > > > the xsl: > > <xsl:template match="music"> > <xsl:call-template name="attr"> > <xsl:with-param name="stuff" select="project"/> > </xsl:call-template> > </xsl:template> > > <xsl:template name="attr"> > <xsl:param name="stuff"/> > <xsl:for-each select="$stuff/@*"> > > attrName: <xsl:value-of select="name()"/> > attrValue: <xsl:value-of select="."/> > > </xsl:for-each> > </xsl:template> > > the output: > > attrName: name > attrValue: W.A.S.T.E > > attrName: name > attrValue: Winterkalte > > > what i'm trying to do is add an attribute so the output will be: > > attrName: newThing > attrValue: whoKnowsWhat > > attrName: name > attrValue: W.A.S.T.E > > attrName: name > attrValue: Winterkalte > > attrName: adadad > attrValue qwertyu > > i tried using <xsl:attribute> but i can't make it work... any ideas ? > > thanks
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] add an attribute to an el, Wei, Alice J. | Thread | RE: [xsl] add an attribute to an el, Pablo Sebastián Rodr |
Re: [xsl] replacing diacritical mar, John Snelson | Date | RE: [xsl] replacing diacritical mar, Michael Kay |
Month |