On 13/06/2010 23:03, TW wrote:
I'm not sure what you consider "safe"?
I mean, its safe to use the parameter in an xpath without having to test
its type.
The most common reason for getting types wrong is a parameter that is
logically always a node set but optional, people declare it as
<xsl:param name="foo"/>
but then if it is not passed in to a particular call then it defaults to
an empty string so an xpath such as $foo/a/b fails with an error.
If you declare the default as
<xsl:param name="foo" select="/.."/>
This problem goes away.
If you are needing to test the types for some other reason, rather than
ask how to test the types, you should ask yourself why your template is
being called with the parameter set to different types. The set of types
may be (unless they depend on a global stylesheet parameter) determined
in advance by inspecting the stylesheet and it is always possible to
arrange that each parameter is always called with a parameter of the
same type. (If necessary by adding extra parameters, one for each type
used.)
David
________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________