what about this case?
<xsl:variable name="ttt" as="element()"><ttt/></xsl:variable>
<xsl:template match="/*">
<xsl:apply-templates select="(ttt, $ttt)[1]"></xsl:apply-templates>
</xsl:template>
On Mon, Mar 2, 2009 at 8:07 PM, Michael Kay <mike@xxxxxxxxxxxx> wrote:
>> Also, is there any real advantage to specifying
>> as="element()" other then readability/documentation? You've
>> recently discussed the advantages of doing this for
>> non-element data types (e.g. numeric functions). Are there
>> similar advantages for element()?
>>
>
> It's always a good idea to declare your parameter type.
>
> (a) readability/documentation is a worthwhile end in itself
>
> (b) if your code is wrong, you will typically get error messages that are
> close to the point of failure (rather than just wrong or blank output)
>
> (c) it gives the compiler extra information to work with, which can
> sometimes make a big difference to the optimizability of the code.
>
> Michael Kay
> http://www.saxonica.com/
|