Subject: Re: Search and Replace in XSLT From: Jeni Tennison <jeni.tennison@xxxxxxxxxxxxxxxx> Date: Fri, 11 Aug 2000 12:03:12 +0100 |
Ciaran, >let's say I have: > ><img src="x.bmp" alt="[tag]"/> > >and I want to replace '[' with '<' to get the output > ><img src="x.bmp"> ><tag/> > >using Michaels' technique I get the usual entity problem in XML >i.e. the output becomes: > ><img src="x.bmp"> ><tag/< > >which is no good to me as I need the proper tag. You're thinking about generating XML in the wrong way if you want to use XSLT to do it. Rather than thinking "I am generating a string, with a '<', then the string 'tag', then a '/', then a '>', to give an empty element called 'tag'", you should be thinking "I am generating an empty element called 'tag'". [This goes for other things as well as just generating elements: XSLT processes and produces a *structure*, not a sequence of characters.] To generate an element with a variable name (presumably the @alt attribute could hold anything), you can use the xsl:element element: <xsl:element name="..."> ... </xsl:element> [For an empty element, <xsl:element name="..." />] The value of the @name attribute on xsl:element should be an XPath that selects something with a string value that gives you the name. Let's say you're matching on the 'img' element: <xsl:template match="img"> ... </xsl:template> Within this template, the current node is the 'img' element, so you can get the value of the @alt attribute through the XPath '@alt': <xsl:template match="img"> ... <xsl:element name="@alt" /> </xsl:template> In your case, this would actually give you an element called '[tag]', which isn't a valid name for an element, so you need to do a bit of string-munging to get rid of the '[' and ']' first: <xsl:template match="img"> ... <xsl:element name="string-after(string-before(@alt, ']'), '[')" /> </xsl:template> I hope that this helps, Jeni Dr Jeni Tennison Epistemics Ltd, Strelley Hall, Nottingham, NG8 6PE Telephone 0115 9061301 ? Fax 0115 9061304 ? Email jeni.tennison@xxxxxxxxxxxxxxxx XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Search and Replace in XSLT, David Carlisle | Thread | RE: Search and Replace in XSLT, Ben Robb |
RE: mulitple parameters [was: Spe, Jeni Tennison | Date | RE: Search and Replace in XSLT, Thorbjørn Ravn Ander |
Month |