[xsl] Re: Where's a basic "boiler-plate" xslt for <em>, <strong>, etc. in XML -> XHTML?

Subject: [xsl] Re: Where's a basic "boiler-plate" xslt for <em>, <strong>, etc. in XML -> XHTML?
From: Bill Powell <junk@xxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 28 Sep 2007 17:20:31 -0400
Steve - Wonderful! Thanks very much! This is just the sort
of thing that can slip through the cracks; much appreciated.
I went to the #xml channel on irc.freenode.net, and the only
one who answered was having the same problem. I'm going to
post this on my blog with as many searchable terms as I can
think of, as well as a link to the archived thread.

Thanks again!
Bill Powell


+++ Scott Trenda [28/09/07 16:03 -0500]:
> Bill - 
> 
> XSLT handles HTML output beautifully natively. I'm guessing that you'll
> want something like the following: (I'm not sure what all of your
> non-HTML tags are, so just take the pattern from the sect1 template:)
> 
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
>   <xsl:output method="html"/>
> 
>   <!-- This will handle any nodes we don't explicitly define templates
> for.
>        It copies the source as-is, and xsl:output handles the HTML
> format.  -->
>   <xsl:template match="@*|node()">
>     <xsl:copy>
>       <xsl:apply-templates select="@*|node()"/>
>     </xsl:copy>
>   </xsl:template>
> 
>   <!-- sect1 means h1 -->
>   <xsl:template match="sect1">
>     <h1>
>       <xsl:apply-templates select="@*|node()"/>
>     </h1>
>   </xsl:template>
> 
> </xsl:stylesheet>
> 
> 
> And that's it. Basically, the XSLT processor knows how to handle the
> formatting differences between XML and HTML, so we use <xsl:output
> method="html"/> to put it into that mode. The first template is a basic
> "copy everything" template, and after that, just set up a series of
> templates to intercept nodes that need to be renamed or reformatted.
> 
> Simple enough? ~_^
> 
> ~ Scott

Current Thread