Subject: RE: [xsl] Apply-templates - how to omit top level element tags? From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 8 Sep 2005 14:06:52 +0100 |
<xsl:template match="Product/Name">...</xsl:template> <xsl:template match="Customer/Name">...</xsl:template> Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Mike Schinkel [mailto:mikes@xxxxxxxxx] > Sent: 07 September 2005 20:50 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: RE: [xsl] Apply-templates - how to omit top level > element tags? > > 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: Antsnio Mota [mailto:amsmota@xxxxxxxxx] > Sent: Wednesday, September 07, 2005 3:44 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > 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@xxxxxxxxx> 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">™</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@xxxxxxxxxxxxxxxxxxxxx > > 404-591-5701 (V) > > 404-591-5731 (F)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to do this without up, Mukul Gandhi | Thread | RE: [xsl] Apply-templates - how to , Mike Schinkel |
Re: [xsl] Get value from update.xml, David Carlisle | Date | [xsl] Copy element but transform su, Maximilian Gärber |
Month |