Share via


xsl:with-param Element (Windows CE 5.0)

Send Feedback

Passes a parameter to a template.

<xsl:with-param
  name =QName
  select =expression></xsl:with-param>

Attributes

  • name
    [required] Specifies the name of the parameter.
  • select
    An expression to be matched against the current context. There is no default value. An empty string is generated if there is no content.

Element Information

Number of occurrences Unlimited
Parent elements xsl:call-template, xsl:apply-templates
Child elements xsl:apply-templates, xsl:attribute, xsl:call-template, xsl:choose, xsl:comment, xsl:copy, xsl:copy-of, xsl:element, xsl:for-each, xsl:if, xsl:processing-instruction, xsl:text, xsl:value-of, xsl:variable

Remarks

The required name attribute specifies the name of the parameter (the variable, the value of whose binding is to be replaced). The <xsl:with-param> element is allowed within both <xsl:call-template> and <xsl:apply-templates>. The value of the parameter is specified in the same way as for <xsl:variable> and <xsl:param>. The current node and current node-list used for computing the value specified by the <xsl:with-param> element is the same as that used for the <xsl:apply-templates> or <xsl:call-template> element within which it occurs. It is not an error to pass a parameter x to a template that does not have an <xsl:param> element for x; the parameter is simply ignored.

Example

Suppose messages for a language L are stored in an XML file resources/L.xml in the following form.

<messages>
  <message name="problem">A problem was detected.</message>
  <message name="error">An error was detected.</message>
</messages>

A style sheet can use the following approach to localize messages.

<xsl:param name="lang" select="en"/>
<xsl:variable name="messages"
  select="document(concat('resources/', $lang, '.xml'))/messages"/>

<xsl:template name="localized-message">
  <xsl:param name="name"/>
  <xsl:message>
    <xsl:value-of select="$messages/message[@name=$name]"/>
  </xsl:message>
</xsl:template>

<xsl:template name="problem">
  <xsl:call-template name="localized-message"/>
    <xsl:with-param name="name">problem</xsl:with-param>
  </xsl:call-template>
</xsl:template>

See Also

XSLT Elements | xsl:call-template Element | xsl:template Element | xsl:param Element | xsl:variable Element

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.