[xsl] required parameter

Subject: [xsl] required parameter
From: "Merrilees, David" <David.Merrilees@xxxxxxxxxxxx>
Date: Tue, 18 Oct 2011 16:17:33 +0100
Hi

I have an XSLT problem I don't understand. I pass a value in a parameter to a
template like so:

<xsl:template match="/" as="element()">
       <div id="languageOption">
              <xsl:sequence select="model:model/model:LanguageOptions" />
              <xsl:apply-templates select="f:action-form('fLanguage', 'Set',
'Language', 'post')" mode="helper">
                     <xsl:with-param name="language-options"
select="model:model/model:LanguageOptions" />
              </xsl:apply-templates>
       </div>
</xsl:template>

Which is matched by this template:

<xsl:template mode="helper" match="form[@id = 'fLanguage']">
       <xsl:param name="language-options" required="yes"/>
</xsl:template>

and I get the error: 'No value supplied for required parameter
$language-options'. Problem is, if I remove the required attribute, the line
'<xsl:sequence select="model:model/model:LanguageOptions" />' works fine.

Input XML looks like this:

       <model:LanguageOptions>
              <model:SelectListItem>
                     <model:Selected>false</model:Selected>
                     <model:Text>Hesky</model:Text>
                     <model:Value>cs-CZ</model:Value>
              </model:SelectListItem>
              <model:SelectListItem>
                     <model:Selected>true</model:Selected>
                     <model:Text>English</model:Text>
                     <model:Value>en-GB</model:Value>
              </model:SelectListItem>
       </model:LanguageOptions>

Any bright ideas?

Thanks

This is a confidential email. Tesco may monitor and record all emails. The
views expressed in this email are those of the sender and not Tesco.

Tesco Stores Limited
Company Number: 519500
Registered in England
Registered Office: Tesco House, Delamare Road, Cheshunt, Hertfordshire EN8
9SL
VAT Registration Number: GB 220 4302 31

Current Thread