|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: The identity transform and all <a> links: xslt 1.0
On 24/01/2008, Marroc <marrocdanderfluff@xxxxxxxxxxx> wrote: > I now present the completed working transform for the benefit of future list > users. This transform uses the identity transform to transfer everything > from XHTML to XHTML, replete with doctype and namespace declarations, while > converting the links to a new format. Notice particularly how the default > namespace is set in the third line of the stylesheet element: You don't actually need to do that... see below. > <?xml version="1.0"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > > xmlns:xhtml="http://www.w3.org/1999/xhtml" > > xmlns="http://www.w3.org/1999/xhtml" > > exclude-result-prefixes="xhtml"> > > <xsl:output doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" > > doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > indent="yes" encoding="UTF-8" method="xml"/> > > > <xsl:template match="node()"> > <xsl:copy> > <xsl:apply-templates select="@*|node()"/> > </xsl:copy> > </xsl:template> > > <xsl:template match="@*"> > <xsl:copy/> > </xsl:template> > > <xsl:template match="xhtml:a"> > <xsl:element name="a"> > <xsl:attribute > name="href">javascript:include('<xsl:value-of > select="@href"/>?i=1','BODY');</xsl:attribute> > </xsl:element> > </xsl:template> > </xsl:stylesheet> One problem with this is that you aren't copying across any existing attributes on the xhtml:a element (such as @class), so you might be better off restricting the match to just the href attribute: <xsl:template match="xhtml:a/@href"> <xsl:attribute name="href"> <xsl:text>javascript:include('</xsl:text> <xsl:value-of select="."/> <xsl:text>?i=1','BODY');</xsl:text> </xsl:attribute> </xsl:template> Doing that also removes the need to set the default namespace, as you're not creating any new elements, just copying them across. cheers -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Cast Your Vote
We need your help – Vote for DataDirect XML Products!
Winners and finalists announced at SOA World Conference in November. 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
|







