Subject: Re: [xsl] How to create variable element from a couple of strings From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Thu, 24 May 2001 00:19:48 -0700 (PDT) |
Hi Yang, While you cannot do this with a xsl:variable -- you could create a xsl:variable (but with another prefix) in a stylesheet that will be the output of your transformation. Another possibility for you is to create an RTF (put the output of the templates you're calling into the contents of an xsl:variable) -- something like this: <xsl:variable name="myVar"> <xsl:call-template name="yourTemplate"> <!-- Whatever xsl:with-param-s here--> </xsl:call-template> </xsl:variable> And, of course, in yourTemplate you should be using xsl:element (not xsl:variable) to dynamically construct the desired nodes. Then you'd use the nodes that were dynamically constructed for example like this: <xsl:copy-of select="msxsl(or whatever):node-set($myVar)"/> Cheers, Dimitre Novatchev. sfyang@xxxxxxxxxxxxx wrote: Hi, all I want to set up a set of variable elements from two given strings, (**string** - for variable value and **vname** - for variable name ) <variable name="x1" select="a"/> <variable name="x2" select="b"/> ... I am using recursive method to extract each pair value successfully. However when I add variable statement I get the error of Required attribute 'name' is missing' from mxxml 3 parser. **xslt listing ** <?xml-stylesheet href="decompose.xsl" type="text/xsl"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";> <xsl:param name="string" select="'a,b,c,d,e,f,'"/> <xsl:param name="vname" select="'x1,x2,x3,x4,x5,x6,'"/> <xsl:template match="/"> <xsl:call-template name="decompose"> <xsl:with-param name="s" select="$string"/> <xsl:with-param name="nx" select="$vname"/> </xsl:call-template> </xsl:template> <xsl:template name="decompose"> <xsl:param name="s" /> <xsl:param name="nx" /> <xsl:if test="string($s)" > <xsl:value-of select="substring-before($nx,',')"/> <xsl:value-of select="substring-before($s,',')"/> <!-- following variable element causes error messages --> <xsl:variable> <xsl:attribute name="name"><xsl:value-of select="substring-before($nx,',')"/> </xsl:attribute> <xsl:value-of select="substring-before($s,',')"/> </xsl:variable> <xsl:call-template name="decompose"> <xsl:with-param name="s" select="substring-after($s,',')"/> <xsl:with-param name="nx" select="substring-after($nx,',')"/> </xsl:call-template> </xsl:if> </xsl:template> </xsl:stylesheet> Thanks in advance for any help. Sun-fu Yang sfyang@xxxxxxxxxxxxx __________________________________________________ Do You Yahoo!? Yahoo! Auctions - buy the things you want at great prices http://auctions.yahoo.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to create variable el, Mike Brown | Thread | [xsl] Re:Re:How tocreate variable e, Yang |
RE: [xsl] Java-based XPath tool, DPawson | Date | RE: [xsl] add <br/>, Meltem Kogelbauer |
Month |