xsl-list
[Top] [All Lists]

Re: Apply-templates - how to omit top level element tags?

2005-09-07 13:01:00
Then you use modes.

<xsl:apply-templates select="Name" mode="PutH1"/>
<xsl:apply-templates select="Name" mode="PutSomeOtherThing"/>

<xsl:template match="Name" mode="PutH1">
   <h1>
      <xsl:value-of select="."/>
   </h1>
</xsl:template>

<xsl:template match="Name" mode="PutSomeOtherThing">
   <h2><b>
      <xsl:value-of select="."/>
   </b></h2>
</xsl:template>

On 9/7/05, Mike Schinkel <mikes(_at_)xtras(_dot_)com> wrote:
Thanks.  Question, I use "Name" in many contexts in my XML.  How can I do 
this when I don't always want "Name" to be handled that way?

-Mike

-----Original Message-----
From: António Mota [mailto:amsmota(_at_)gmail(_dot_)com]
Sent: Wednesday, September 07, 2005 3:44 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Apply-templates - how to omit top level element tags?

You should use
<h1><xsl:apply-templates select="Name"/></h1>

and then a  template for Name

<xsl:template match="Name">
  <xsl:value-of select="."/>
</xsl:template>

or better

<xsl:apply-templates select="Name"/>
<xsl:template match="Name">
   <h1>
      <xsl:value-of select="."/>
   </h1>
</xsl:template>



On 9/7/05, Mike Schinkel <mikes(_at_)xtras(_dot_)com> wrote:
To all:

I'm trying to figure out how to use <xsl:apply-templates> (or anything
else) to get the right output:

I've got an XML file and am generated XHTML.

In my XSL file, I have the following variable and template:

==========================================
<xsl:variable name="trademark-symbol">&#8482;</xsl:variable>
<xsl:template match="htsg:TrademarkSymbol" name="htsg:TrademarkSymbol">
        <xsl:value-of select="$trademark-symbol"/> </xsl:template>
==========================================

In my XML file, I have a fragment that looks like this:

==========================================
<Name>This is the Title of the
Publication<myns:TrademarkSymbol/></Name>
==========================================

I want to generate output that looks like this:

==========================================
<h1>This is the Title of the Publication(tm)</h1>
==========================================

However, if I use this in my XSL:

==========================================
<h1><xsl:apply-templates select="Name"/></h1>
==========================================

I get the following that includes the <Name> element:

==========================================
<h1><Name>This is the Title of the Publication(tm)</Name></h1>
==========================================

When I try instead to use this:

==========================================
<h1><xsl:value-of select="Name/text()"/></h1>
==========================================

I just get this w/o the trademark:

==========================================
<h1>This is the Title of the Publication</h1>
==========================================

Again, this is what I want to generate as output:

==========================================
<h1>This is the Title of the Publication(tm)</h1>
==========================================


I look forward and appreciate any suggestions, even those that might
have be taking a completely different route, but I also really want to
understand how to accomplish this using apply-templates or value-of or
whatever.

Thanks in advance for your help.

-Mike Schinkel
Publisher - How-To-Select(tm) Guides
http://www.howtoselectguides.com/
mailto:mikes(_at_)howtoselectguides(_dot_)com
404-591-5701 (V)
404-591-5731 (F)





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--