wow ! really nice trick ... not quite what i was looking for, but it'll
get the job done, thanks.
i think i wasn't clear enough
with
<music>
<project name="W.A.S.T.E.">
<release name="We all seek total entropy" year="2003"/>
<release name="Violent delights" year="2006"/>
</project>
</music>
i get
attrName: name
attrValue: W.A.S.T.E.
if i had
<music>
<project name="W.A.S.T.E." newThing="qwertyu">
<release name="We all seek total entropy" year="2003"/>
<release name="Violent delights" year="2006"/>
</project>
</music>
the result would be
attrName: name
attrValue: W.A.S.T.E
attrName: newThing
attrValue: qwertyu
thanks again
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
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--