RE: [xsl] The identity transform and all <a> links: xslt 1.0 - nearly there!!

Subject: RE: [xsl] The identity transform and all <a> links: xslt 1.0 - nearly there!!
From: "Marroc" <marrocdanderfluff@xxxxxxxxxxx>
Date: Thu, 24 Jan 2008 15:53:16 -0000
>presumably your input up until now has not been in a namespace.

Ah, thanks David - that is right! Either that or I have been modifying
previously created xsl transforms so someone else has worried about the
necessary declarations.

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:

<?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>

Thanks again,
Richard

Current Thread