I'm not sure this is a great example - if it can be made more
real world let me know and I'll add it to http://schema-aware.com
As I said, I don't think you need data() very often because atomization
nearly always happens automatically when you need it. Testing a
boolean-valued attribute like if(@married) is a case where it's very easy to
fall into the trap of assuming that atomization will happen when it doesn't.
It's probably especially dangerous when using variables:
<xsl:function name="f">
<xsl:param name="isMarried"/>
<xsl:if test="$isMarried">...
f(@married)
Another good reason for declaring parameter types: if the param is declared
with as="xs:boolean" then the attribute node will be atomized as part of the
function call.
Michael Kay
http://www.saxonica.com/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--