| 
 
Subject: Re: [xsl] How can place data INSIDE an attribute? From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Thu, 23 Aug 2001 12:38:49 +0100  | 
Hi Phil,
> I am doing an XML -> XML transformation below is how I would like
> the output to look, I know how to get the value '24' in the correct
> place. My problem is putting the value 'eng' in the attribute (if
> that's the correct technical term for it).
Attribute is the right term. The path for the 'eng' value is similar
to the one for '24':
  /table/row/column[@name = 'Language']
[You have a '/.' at the end of the path that you're using, which you
shouldn't have.]
You can set the value of an attribute using an attribute value
template, in which expressions inside {}s are evaluated and inserted
into the attribute value, as follows:
<xsl:template match="/">
  <Product language="{/table/row/column[@name = 'Language']}">
    <xsl:apply-templates
        select="/table/row/column[@name = 'ProductID']" />
  </Product>
</xsl:template>
Alternatively, you could use an xsl:attribute as follows:
<xsl:template match="/">
  <Product>
    <xsl:attribute name="language">
      <xsl:apply-templates
          select="/table/row/column[@name = 'Language']" />
    </xsl:attribute>
    <xsl:apply-templates
        select="/table/row/column[@name = 'ProductID']" />
  </Product>
</xsl:template>
This allows you to apply templates to the column to get its value, if
that's important to you.
I hope that helps,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
| Current Thread | 
|---|
  | 
| <- Previous | Index | Next -> | 
|---|---|---|
| [xsl] How can place data INSIDE an , Phil | Thread | [xsl] MSXML3/4 and Version 1.1 supp, Pywell, Andrew | 
| RE: [xsl] Muenchian keys ... plus a, DPawson | Date | Re: [xsl] MSXML3/4 and Version 1.1 , Jeni Tennison | 
| Month |