[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Determining the type of attribute within the match
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|