RE: [xsl] exclude-result-prefixes required in each imported stylesheet

Subject: RE: [xsl] exclude-result-prefixes required in each imported stylesheet
From: "Colin Adams" <colinpauladams@xxxxxxxxxxx>
Date: Mon, 18 Sep 2006 17:13:25 +0100
You set it for each individual stylesheet module.

This means that the source text can be understand in terms of itself, plus any texts it depends upon (via xsl:include or xsl:import).

If instead, the importing modules settings were used, then you would need to read the set of all modules that depend upon the txt you are reading - a potentially unbounded set - many of it's members might not yet be written.

So this would be a very bad software engineering practice. Fortunately, the XSLT designers didn't do it that way.

From: "andrew welch" <andrew.j.welch@xxxxxxxxx>

It seems exclude-result-prefixes needs to be explicity set for each
imported stylesheet, rather than using the value in the importing
stylesheet - is that right?

For example:

<xsl:stylesheet version="2.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
 xmlns:xs="http://www.w3.org/2001/XMLSchema";
 exclude-result-prefixes="xs">

<xsl:import href="b.xslt"/>

<xsl:template match="/">
	<xsl:call-template name="foo"/>
</xsl:template>

</xsl:stylesheet>

b.xslt:

<xsl:stylesheet version="2.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
 xmlns:xs="http://www.w3.org/2001/XMLSchema";>

<xsl:template name="foo">
	<foo/>
</xsl:template>

</xsl:stylesheet>

The result is:

<foo xmlns:xs="http://www.w3.org/2001/XMLSchema"; />

Is there any reason why the exclude-result-prefixes value isn't taken
from the importing stylesheet?  Not the biggest issue I know, just
struck me as odd.


_________________________________________________________________
Be the first to hear what's new at MSN - sign up to our free newsletters! http://www.msn.co.uk/newsletters


Current Thread