![]() |
|
|
|
#1 |
|
Can any one tell me how to output the following string?
<%response.write "<tr><td><a href=""file://SERVER/mmlogs/TNAME" & yearmonth & """>"& "MYJUNK" & "</a><BR></td></tr>" %> <xsl:variable name="SERVER" select="MM_NAME" /> <xsl:variable name="TNAME" select="TOOL_NAME" /> I would want SERVER,TNAME and MYJUNK filled in at transform time. I am using Python PYANA ver .8 (which is XLAN) to create the transform. I have spent a lot of time messing around with this to no good end. Bill Sneddon |
|
|
|
|
#2 |
|
Posts: n/a
|
"Bill Sneddon" <> wrote in message news:bdcpse$399$...
> <%response.write "<tr><td><a href=""file://SERVER/mmlogs/TNAME" & > yearmonth & """>"& "MYJUNK" & "</a><BR></td></tr>" %> In your XSLT stylesheet (Python-irrelevant) you'd have the following in an xsl:template (whitespace/indentation added for readability), and you would pass yearmonth (and any other Python variables) to the stylesheet as parameters, <![CDATA[<%response.write "]]> <tr> <td> <a href="file://{$SERVER}/mmlogs/{$TNAME}{$YEARMONTH}" > <xsl:value-of select="$MYJUNK" /> </a> <br/> </td> </tr> %> Both parameters and variables can be referenced within your stylesheet's templates with $PARAM_OR_VARIABLE_NAME. They can be injected into quoted text (ie, attribute values) by enclosing the parameter or variable reference in curly braces, as shown above. > I have spent a lot of time messing around with this to no good end. A few pointers if you'll be modifying the stylesheet to accept global parameters is that it requires <xsl (etc.) tags as the immediate children of the opening <xsl:stylesheet ...> tag. Then your Python environment should offer a means for passing arguments to the stylesheet before kicking off the Transform process. Look for overloaded methods that take a list of arguments in the documentation, and pass the Python variables you're using like yearmonth to the stylesheet beforehand. If yearmonth is a JSP or other after-the-fact variable identifier that you don't have at transformation time, then what else you might try is to set the xsl sections in the stylesheet, like (newlines added for readability): <!-- . . . --> <xsl:text><a href='file://</xsl:text> <xsl:value-of select="$SERVER"/> <xsl:text>/mmlogs/</xsl:text> <xsl:value-of select="$TNAME"/> <xsl:text>" & yearmonth & "'"></xsl:text> <!-- . . . --> Notice I took advantage of HTML's allowance for either single-quote or double-quotes, having runs of """ can be problematic. HTH, Derek Harmon |
|
|
|
#3 |
|
Posts: n/a
|
Thanks Derek,
I was able to make this work by changing the output to text and and escaping all of my <> in my html tags. It is NOT pretty but it works. I did some reading but was unable to figure out how to make the output be & < > inside a html output file. What I would like is the behavior of <xsl within a file. It seem that the <xsl element. So I works for the whole transform. I would like to switch between output methods in a transform where it make the XSL more readable for me. Is there a way to do this? If not, I wonder if it is being concidered for XSL 2.x or beyond Bill Derek Harmon wrote: > "Bill Sneddon" <> wrote in message news:bdcpse$399$... > >><%response.write "<tr><td><a href=""file://SERVER/mmlogs/TNAME" & >>yearmonth & """>"& "MYJUNK" & "</a><BR></td></tr>" %> > > > In your XSLT stylesheet (Python-irrelevant) you'd have the following in an > xsl:template (whitespace/indentation added for readability), and you would > pass yearmonth (and any other Python variables) to the stylesheet as > parameters, > > <![CDATA[<%response.write "]]> > <tr> > <td> > <a href="file://{$SERVER}/mmlogs/{$TNAME}{$YEARMONTH}" > > <xsl:value-of select="$MYJUNK" /> > </a> > <br/> > </td> > </tr> > %> > > Both parameters and variables can be referenced within your stylesheet's > templates with $PARAM_OR_VARIABLE_NAME. They can be injected > into quoted text (ie, attribute values) by enclosing the parameter or variable > reference in curly braces, as shown above. > > >>I have spent a lot of time messing around with this to no good end. > > > A few pointers if you'll be modifying the stylesheet to accept global > parameters is that it requires <xsl > (etc.) tags as the immediate children of the opening <xsl:stylesheet ...> > tag. Then your Python environment should offer a means for passing > arguments to the stylesheet before kicking off the Transform process. > > Look for overloaded methods that take a list of arguments in the > documentation, and pass the Python variables you're using like > yearmonth to the stylesheet beforehand. > > If yearmonth is a JSP or other after-the-fact variable identifier that you > don't have at transformation time, then what else you might try is to > set the xsl > sections in the stylesheet, like (newlines added for readability): > > <!-- . . . --> > <xsl:text><a href='file://</xsl:text> > <xsl:value-of select="$SERVER"/> > <xsl:text>/mmlogs/</xsl:text> > <xsl:value-of select="$TNAME"/> > <xsl:text>" & yearmonth & "'"></xsl:text> > <!-- . . . --> > > Notice I took advantage of HTML's allowance for either single-quote > or double-quotes, having runs of """ can be problematic. > > > HTH, > > Derek Harmon > > |
|