Put simply, Saxon will not allow this:
<xsl:number level="any" select="$footciteable"
count="footnote|citation[not(ancestor::footnote)]"/>
Ah, I see what you mean: it doesn't work if you leave out the
for-each. That's a bug.
I haven't been able to identify a bug here. If the function is:
<xsl:function name="bib:footcite" as="xs:string">
<xsl:param name="footciteable" as="element()"/>
<xsl:number level="any" select="."
count="footnote|citation[not(ancestor::footnote)]"/>
</xsl:function>
then Saxon complains rightly that there is no context item (note the
select=".").
If you change it to:
<xsl:function name="bib:footcite" as="xs:string">
<xsl:param name="footciteable" as="element()"/>
<xsl:number level="any" select="$footciteable"
count="footnote|citation[not(ancestor::footnote)]"/>
</xsl:function>
then it runs correctly.
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>
--~--