public override object Invoke(XsltContext xsltContext, object[] args, XPathNavigator docContext) {
if(args.Length > 0) {
XPathNodeIterator it = ToIterator(args[0]);
if(it.MoveNext()) {
return it.Current.UniqueId;
} else {
// if empty nodeset, return empty string, otherwise return generated id
return string.Empty;
}
} else {
return docContext.UniqueId;
}
}
}