xsl-list
[Top] [All Lists]

Re: Transforming portions of content or values

2003-05-07 08:58:51

Charles,

1. There is not much difference in processing the XML to HTML in both of the cases you provide.
You will probably need the company name and URL in global variables.
<xsl:variable name="companyName" select='XYZ'/>
<xsl:variable name="companyURL" select='www.xyz.com'/>

Then in your template
You need to process the string 'Worked for XYZ Inc.' such that you
1. get the substring before 'XYZ'
2. process the XYZ
3. get the substring after 'XYZ'

     <xsl:template match="experience">
       <xsl:value-of select="substring-before(.,$companyName)"/>
         <a href="{$companyURL}">
            <xsl:value-of select="$companyName"/>
         </a>
       <xsl:value-of select="substring-after(.,$companyName)"/>
    </xsl:template>

2.  You can simply put one in.
<experience dates="1990 - 2000" company="Worked for XYZ Inc.">

     <xsl:template match="experience">
       <xsl:value-of select="@dates"/>
       <xsl:text>&#160;</xsl:text>
       <xsl:value-of select="@company"/>
    </xsl:template>

-rick

At 09:08 AM 5/7/03 +0100, you wrote:
Hi

1.    How do I transform a portion of text in an XML document so that I can
nest it within hyperlink tags in an XSL stylesheet for HTML display, as
follows?

a.    Content:

<experience>Worked for XYZ Inc.</experience>

transformed to HTML (where [XYZ] = hyperlink to www. xyz.com):

Worked for  [XYZ] Inc.

b.    Values:

<experience dates="1990 - 2000" company="Worked for XYZ Inc."/>

transformed to HTML (where [XYZ] = hyperlink to www. xyz.com):

1990 - 2000    Worked for [XYZ] Inc.

2.    Which throws up another question: is it possible to insert a
non-breaking space between text during the transformation e.g. between the
2000 and the 'Worked' as above?


Thanks

Charles


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

Rick Taylor
XML Developer
PPDM Association


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