Invalid instantiation of 'xsl:include' in 'xsl:template' context


this is my xsl;

i am want to put the code from starting block to  ending block into different xsl like footer.xsl;


can i write like this <xsl:include href="footer.xsl"/>


i am including like this <xsl:include href="footer.xsl"/> in place of the block of code
but i am getting error

XSL-1047: (Error) Invalid instantiation of 'xsl:include' in 'xsl:template' context.


<?xml version="1.0" ?>
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" />
  <xsl:param name="recordsPerPage" select="5" />
  <xsl:param name="pageNumber" select="page/request/parameters/pageNumber" />
  <xsl:param name="recordCount" select="count(//ROW)" />
  <xsl:param name="Operation" select="page/request/parameters/operation" />

 <xsl:template match="page">
  <center><h3><font face='verdana'>Consol Details</font></h3></center>
 <table cellSpacing='0' cellpadding='0'  width='95%'>
 <center>
<THEAD>
 <tr CLASS="formheader">
 <td></td>
      <td onclick="callSorting(this.id);" id="tdConsole"><u>C</u>onsol No</td>
      <td onclick="callSorting(this.id);" id="tdMAWB"><u>M</u>AWB No</td>
      <td onclick="callSorting(this.id);" id="tdOrigin"><u>O</u>rigin</td>
      <td onclick="callSorting(this.id);" id="tdDestination"><u>D</u>estination</td>
      <td onclick="callSorting(this.id);" id="tdAirline"><u>A</u>irline</td>
      <td onclick="callSorting(this.id);" id="tdFlight"><u>F</u>light</td>
      <td onclick="callSorting(this.id);" id="tdETD"><u> E</u>TD</td>
      <td onclick="callSorting(this.id);" id="tdETA"> E<u>T</u>A</td>
      <td onclick="callSorting(this.id);" id="tdCutOffDate"> C<u>u</u>t Off Date</td>
  </tr>
</THEAD>

 <xsl:for-each select="ROWSET/ROW">
 
 <tr id='tr{position()-1}'  class="formdata">
  <td id='refTD{position()-1}' console='{CONSOLEID}'>
  <input name='console' type='radio' value='refTD{position()-1}'>
  <xsl:attribute name ="onClick">highLight('tr<xsl:value-of select="position()-1"/>')</xsl:attribute>
  <xsl:attribute name ="onDblClick">setId('refTD<xsl:value-of select="position()-1"/>')</xsl:attribute>
  </input>
  </td>
 <td id='refTD{position()-1}'>
  <xsl:value-of select="CONSOLEID" />
  </td>
 <td id='refTD{position()-1}'>
  <xsl:value-of select="MASTERDOCID" />
  </td>
 <td id='refTD{position()-1}'>
  <xsl:value-of select="ORIGIN" />
  </td>
 <td id='refTD{position()-1}'>
  <xsl:value-of select="DESTINATION" />
  </td>
 <td id='refTD{position()-1}'>
  <xsl:value-of select="CARRIERID" />
  </td>
 <td id='refTD{position()-1}'>
  <xsl:value-of select="FLIGHT_NO" />
  </td>
 <td id='refTD{position()-1}'>
  <xsl:value-of select="ETD" />
  </td>
 <td id='refTD{position()-1}'>
  <xsl:value-of select="ETA" />
  </td>
 <td id='refTD{position()-1}'>
  <xsl:value-of select="CUTOFF_DATE" />
  </td>
  </tr>
  </xsl:for-each>
  </center>
  </table>

<!-------------------- starting --------------------->
  <table cellSpacing="0" cellpadding="0" border="1" width="95%">
 <tr class="formdata">
 <td width="15%" style="font-size:8pt;">
 <xsl:if test="$pageNumber > 0">
 <xsl:element name="a">
 <xsl:attribute name="href">ETCLOVConsoleIds1.jsp?pagenumber=<xsl:value-of select="number($pageNumber)-1" />
  </xsl:attribute>
  HAWBNO  
  </xsl:element>
  </xsl:if>
  </td>
  </tr>
  </table>
<!-------------------- ending  --------------------->

<br/>
<br/>
<center>
<input type="button" value="Ok" name="Ok" id="Ok" onClick="setId()" class="input"/>
&nbsp;<input type="button" value="Cancel" name="Cancel" id="Cancel" onClick="resetValues();" class="input"/>
</center>
  </xsl:template>
  </xsl:stylesheet>
LVL 20
chaitu chaituAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
ramazanyichConnect With a Mentor Commented:
to solve your problem you should cretate template in your footer.xsl and call it from your main template:

footer.xsl:

<xsl:template name="footer">
do-some-staff
</xsl:template>

in your main xsl file:
<xsl:stylesheet>
<xsl:include href="footer.xsl"/>

<xsl:tempate match="/">
<!--do main staff-->
<!-- now include your footer>
<xsl:call-template name="footer"/>
</xsl:template>

0
 
ramazanyichCommented:
The xsl:include element is only allowed as a top-level element.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.