Subject: Re: [xsl] Confusion with template! From: Mike Brown <mike@xxxxxxxx> Date: Fri, 21 Sep 2001 16:57:15 -0600 (MDT) |
Sumev wrote: > Hi, > > XSLT --> > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="1.0"> > <xsl:template match="/"> > <xsl:element name="ADDRESS"> > <xsl:apply-templates/> > </xsl:element> > </xsl:template> Remember: apply-templates = "go process these nodes" (all children by default); template match = "how to process one of these nodes". Based on your input and desired output, I'd say you want, simply, this: <xsl:template match="/"> <xsl:apply-templates select="ADDRESS/RECORD"/> </xsl:template> <xsl:template match="RECORD"> <RECORD ID="{@ID}"> <PALMRECID> <xsl:value-of select="EXCHNGRECID"/> </PALMRECID> <CATEGORYINDEX> <xsl:value-of select="CATEGORY"/> </CATEGORYINDEX> <NAME> <xsl:value-of select="LASTNAME"/> </NAME> <FIRSTNAME> <xsl:value-of select="FIRSTNAME1"/> </FIRSTNAME> </RECORD> </xsl:template> You want to process each RECORD element. Your stylesheets were not doing that.. you were stopping at the ADDRESS element and trying to obtain data by reaching down further into the tree from there. Also: value-of = "create a text node", and if the select identifies a node-set, the text node is created using only the first node in the set. You don't need to use "//" anywhere. This is usually indicative of desperation :) - Mike ____________________________________________________________________________ mike j. brown, fourthought.com | xml/xslt: http://skew.org/xml/ denver/boulder, colorado, usa | personal: http://hyperreal.org/~mike/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Confusion with template!, Sumev | Thread | RE: [xsl] Confusion with template!, Sumev Kohli |
Re: [xsl] trouble checking "cousins, Chris d'Aquin | Date | Re: [xsl] XML to HTML, Wendell Piez |
Month |