using System.Xml.Schema;
using System.Xml.XPath;
using System.Xml.Xsl;
+using Mono.Xml.Xsl;
namespace Mono.Xml.XPath {
internal class IdPattern : LocationPathPattern {
{
ids = arg0.Split (XmlChar.WhitespaceChars);
}
-
+
+ public override XPathNodeType EvaluatedNodeType {
+ get { return XPathNodeType.Element; }
+ }
+
public override bool Matches (XPathNavigator node, XsltContext ctx)
{
- XPathNavigator tmp = node.Clone ();
+ XPathNavigator tmp = ((XsltCompiledContext) ctx).GetNavCache (this, node);
for (int i = 0; i < ids.Length; i++)
if (tmp.MoveToId (ids [i]) && tmp.IsSamePosition (node))
return true;