Subject: RE: Replacing attribute values [was <spurious title>] From: Kay Michael <Michael.Kay@xxxxxxx> Date: Tue, 18 Jul 2000 13:58:45 +0100 |
> I have element with some attributes and with attribute values > (in my source), example: > > <sem role="error"> > <sem role="user"> > ... > > and i want to change attribute name and value of attribute to > something else. Example: > > (<sem role="error"> --> <sem type="state"> A good solution here is to use template rules: <xsl:template match="sem/@role[.='error']"> <xsl:attribute name="type">state</xsl:attribute> </xsl:template> <xsl:template match="sem/@role[.='user']"> <xsl:attribute name="type">parameter</xsl:attribute> </xsl:template> <xsl:template match="sem"> <xsl:apply-templates select="@*/> </xsl:template> > > This is what I have tried: > > <xsl:template match="sem"> ... > <xsl:if test="sem[@role='user']">state</xsl:if> > This is starting to emerge as one of the most popular mistakes! the current node is a <sem> element, so the test is looking for its <sem> children, and doesn't find any. You need <xsl:if test="@role='user'"> Mike Kay XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: problem generating dynamic name, Dave Carlson | Thread | Variable value and functions, Emmanuel Pietriga |
Re: problem generating dynamic name, David Carlisle | Date | Re: problem generating dynamic name, David Carlisle |
Month |