[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Replacing attribute values [was <spurious title>]
> 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|