Subject: RE: [xsl] Why is apply-templates not called? From: "Dion Houston" <dionh@xxxxxxxxxxxxxxxxxxxxx> Date: Mon, 9 Dec 2002 17:59:39 -0800 |
Hey Jeff: <xsl:apply-templates> always operates on a node list. The node list by default are the child nodes of the node matched on the template. Therefore, if you have an XML like: <Foo> <Bar/> </Foo> And you're in a template: <xsl:template match="Bar"> Then apply-templates will not do anything for this particular source (Bar has no children). Probably what you're looking for is: <xsl:apply-templates select="."/> This will take the current node (in this case the nodes you're iterating through xsl:for-each) and run templates on it. HTH! Dion -----Original Message----- From: Jeff Lowery [mailto:jlowery@xxxxxxxxxxxxxx] Sent: Monday, December 09, 2002 5:36 PM To: 'xsl-list' Subject: [xsl] Why is apply-templates not called? I suspect I'm going to expose a fundamental misunderstanding of how XSLT works, but here goes... Using the following script snippet, both <Color> elements are output correctly: <xsl:template match="jdf:ColorantControl"> <ProcessColorMap> <xsl:for-each select="jdf:ColorPool/jdf:Color[(@Name='Cyan') or (@Name='Yellow') or (@Name='Magenta') or (@Name='Black')]"> <Color colorName="{@Name}" > </Color> </xsl:for-each> </ProcessColorMap> <SpotColorMap> <xsl:for-each select="jdf:ColorPool/jdf:Color[not((@Name='Cyan') or (@Name='Yellow') or (@Name='Magenta') or (@Name='Black'))]"> <Color colorName="{@Name}" > </Color> </xsl:for-each> </SpotColorMap> </xsl:template> This approach works, but contains duplicate XML. What I'd like to do is put this common XML in another template, so I would have: ... <SpotColorMap> <xsl:for-each select="jdf:ColorPool/jdf:Color[not((@Name='Cyan') or (@Name='Yellow') or (@Name='Magenta') or (@Name='Black'))]"> <xsl:apply-templates/> </xsl:for-each> </SpotColorMap> ... <xsl:template match="jdf:Color"> <Color colorName="{@Name}" > </Color> </xsl:template> But she no work! I'm using instant Saxon 6.5.2 XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Why is apply-templates not ca, Jeff Lowery | Thread | RE: [xsl] Why is apply-templates no, Jeff Lowery |
[xsl] Why is apply-templates not ca, Jeff Lowery | Date | RE: [xsl] Why is apply-templates no, Jeff Lowery |
Month |