[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: AW: [xsl] '<' and '>' in the value of a variable


Subject: Re: AW: [xsl] '<' and '>' in the value of a variable
From: Ming Yu <myu@xxxxxxxx>
Date: Fri, 01 Aug 2003 10:00:45 -0400

The reason I need to do this is because I have a template function like this:

<xsl:template name="printRawData">
    <xsl:param name="field_label"/>
    <xsl:param name="field"/>
    <xsl:param name="html"/>
    <xsl:param name="bold"/>
    <xsl:param name="endbold"/>
    <xsl:param name="return"/>

    <xsl:if test="string-length($field) &gt; 0">
        <xsl:value-of select="$bold"/>
        <xsl:value-of select="$field_label"/>
        <xsl:value-of select="$endbold"/>
        <xsl:value-of select="xmlconf:convertLWWEntities($field)"/>
    </xsl:if>
    <xsl:value-of select="$return"/>

</xsl:template>

Sometimes, I need to make the field name bold if it's an html output. If it's just a plain text output, I don't need to bold the field name. The same for the return (if it's plain text, I need <xsl:text> tag, otherwise, I need <br/>)

I'm thinking about using if statement to do this but don't know if there is a better way.

Thanks.

Ming

At 07:44 PM 7/31/2003 +0200, you wrote:
Hello Ming,

you don't tell us why you think you need to do this, so my first advice is,
write it as:

<b><xsl:value-of select="'Article: '"/></b>

This is much simpler and it is working. (even simpler is: <b>Article: </b>)


In the case you want to calculate the formatting somehow in the stylesheet, or pass it in as a parameter, try:

<xsl:variable name="bold">b</xsl:variable>

<xsl:element name="{$bold}">
  <xsl:value-of select="'Article: '"/>
</xsl:element>


Hope this helps, Markus __________________________ Markus Abt Comet Computer GmbH http://www.comet.de


---------- Von: Ming Yu Gesendet: Donnerstag, 31. Juli 2003 18:43 An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Betreff: [xsl] '<' and '>' in the value of a variable

Hi,

I'm thinking about putting one of my html tag (bold) in the variable like this:

<xsl:variable name="bold" select="'&lt;b&gt;'"/>
<xsl:variable name="endbold" select="'&lt;/b&gt;'"/>

And then, in the output, I use the values like this:
<xsl:value-of select="$bold"/><xsl:value-of select="'Article:
'"/><xsl:value-of select="$endbold"/>

But the problem is that, when it prints out on the browser, it prints out
<b> and </b> instead of making the "Article:" string bold.

And I cannot put '<' and '>' directly in my variables.

Do you have any suggestion how I might be able to do this?

Thanks in advance.

Ming



XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list

Ming Yu Los Alamos National Laboratory Research Library PO Box 1663, MS P362 Los Alamos, NM 87545-1362 Phone: 859-219-8625 Email: myu@xxxxxxxx And as your days, so may your work be.







XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread