Subject: Re: [xsl] Determining the type of attribute within the matching template From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Sun, 9 Feb 2003 10:03:25 +0000 |
Hi James, >> In the case above, I think you'd be a lot better off splitting the >> <xsl:choose> into multiple templates: > > The reason that I didn't want to do this is that there is a lot of > common code before the node-specific code, which I snipped in the > example I gave. I have moved this into a separate named template > which is called from each node-specific template, but it would have > been more aesthetic if I could have used an inline "choose" > construct. Have another look at the solution that I suggested: <xsl:template match="*|@*"> ... <xsl:apply-templates select="." mode="content" /> ... </xsl:template> In this first template, the ...s before and after the <xsl:apply-templates> are placeholders for common code that you want to use for all the different element and attribute types. The template is saying, "the output for elements and attributes is always this common header/footer, with the main content being determined by processing the element/attribute in 'content' mode." The 'content' mode templates do the element/attribute-specific processing: <!-- resource types --> <xsl:template match="@rdf:resource" mode="content"> ... </xsl:template> <!-- datatypes --> <xsl:template match="@rdf:datatype" mode="content"> ... </xsl:template> while the default mode template does the general processing. Modes are your friends. Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Determining the type of a, James Carlyle | Thread | Re: [xsl] Determining the type of a, David Carlisle |
[xsl] validation of xslt stylesheet, florian | Date | Re: [xsl] runaway template applicat, Jeni Tennison |
Month |