Subject: RE: RE: Re: [xsl] apply-templates and predicates From: cknell@xxxxxxxxxx Date: Thu, 28 Apr 2005 10:17:02 -0400 |
At the risk of sounding foolish again, I've implemented the logic to apply templates to the children of those elements that don't have matching templates in the stylesheet (unrecognized elements). It does output a message for each unrecognized element encountered. But it also outputs the text value of the unrecognized elements. I had the impression that since the unrecognized elements where matched by <xsl:template match="*"> that the default template would not be invoked as it appears to have been. Would someone be kind enough to enlighten me on this? -- Charles Knell cknell@xxxxxxxxxx - email -----Original Message----- From: cknell@xxxxxxxxxx Sent: Thu, 28 Apr 2005 10:08:20 -0400 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: Re: [xsl] apply-templates and predicates To quote that great American philosopher Homer Simpson, "Doh!" Thanks for pointing out the obvious error of my attempt. I should have seen it myself. -- Charles Knell cknell@xxxxxxxxxx - email -----Original Message----- From: David Carlisle <davidc@xxxxxxxxx> Sent: Thu, 28 Apr 2005 15:04:17 +0100 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] apply-templates and predicates <xsl:template match="*"> <xsl:message>unexpected element encountered: <xsl:value-of select="name()" /></xsl:message> </xsl:template> as always, a match template only executes if you apply templates to a matching node. that version makes a warning and doesn't process children. If you want to process children then <xsl:template match="*"> <xsl:message>unexpected element encountered: <xsl:value-of select="name()" /></xsl:message> <xsl:apply-templates/> </xsl:template> I use either form, depending. If I haven't got round to supporting mathml yet I'd rather get one warning for each mathml:math element at the top level of each expression in the document, I don't really want to be told on every character of every expression that I haven't yet supported mathml:mi, so I'd use the first form. In other cases, the second form, processing children is more useful. Other variants: <xsl:template match="*"> <xsl:message>unexpected element encountered: <xsl:value-of select="name()" /></xsl:message> <div class="error"> <span>unexpected element encountered: <xsl:value-of select="name()" /></span> <xsl:apply-templates/> </div> </xsl:template> so that you not only get a warning, but also a big red block of stuff in the output. David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: Re: [xsl] apply-templates and p, cknell | Thread | Re: [xsl] apply-templates and predi, David Carlisle |
RE: Re: [xsl] apply-templates and p, cknell | Date | Re: [xsl] apply-templates and predi, David Carlisle |
Month |