xsl-list
[Top] [All Lists]

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

2003-08-01 07:00:45
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(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_at_)lanl(_dot_)gov
And as your days, so may your work be.







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



<Prev in Thread] Current Thread [Next in Thread>