Re: [xsl] xsl:include statement is "unexpected element".

Subject: Re: [xsl] xsl:include statement is "unexpected element".
From: Lionel Villard <villardml@xxxxxxx>
Date: Thu, 11 Mar 2010 14:38:15 -0500
Tim,

Is there a way to package and include templates at a level lower than
child-of-stylesheet-or-transform?

it seems that you are looking for conditional stylesheet inclusion, which can't be done in XSLT 1.0.

This is possible in XSLT 2.0 though:

<xsl:include href="module-A.xsl" use-when="system-
property('xsl:vendor')='vendor-A'"/>

More information there: http://www.w3.org/TR/xslt20/#conditional-inclusion

Lionel


On Mar 11, 2010, at 1:23 PM, Tim Hibbs wrote:


Martin -

Ah HA!

I have it several levels down, which is undoubtedly the problem:
<xsl:stylesheet>...
  <xsl:template>...
     <xsl:if>...
        <xsl:include>...

It must be a child, and not a descendant, apparently. Thank you.

Is there a way to package and include templates at a level lower than
child-of-stylesheet-or-transform?

Very much appreciate the help.

Tim

On Thu, Mar 11, 2010 at 11:13 AM, Martin Honnen <Martin.Honnen@xxxxxx> wrote:
Tim Hibbs wrote:

Attempting my first use of <xsl:include> as <xsl:include
href="calledTemplatesFO/ct_AddTableHeader.xsl">. XML Spy indicates the
file
is not valid, with the note
"Unexpected element
xsl:include"


Including file starts thusly:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform";  xmlns:fo="
http://www.w3.org/1999/XSL/Format"; xmlns:frq="
http://www.fedex.com/schemas/freightRateQuotation";
exclude-result-prefixes="frq">

Where exactly have you placed the xsl:include? It needs to be a child of the xsl:stylesheet root element.


--


       Martin Honnen
       http://msmvps.com/blogs/martin_honnen/

Current Thread