34 lines
1.3 KiB
C#
34 lines
1.3 KiB
C#
|
//------------------------------------------------------------------------------
|
||
|
// <copyright file="IXPathEnvironment.cs" company="Microsoft">
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
// </copyright>
|
||
|
// <owner current="true" primary="true">sdub</owner>
|
||
|
//------------------------------------------------------------------------------
|
||
|
using System.Collections.Generic;
|
||
|
using System.Xml.Xsl.Qil;
|
||
|
|
||
|
namespace System.Xml.Xsl.XPath {
|
||
|
|
||
|
// <spec>http://www.w3.org/TR/xslt20/#dt-focus</spec>
|
||
|
internal interface IFocus {
|
||
|
// The context item: the item currently being processed
|
||
|
QilNode GetCurrent();
|
||
|
|
||
|
// The context position: the position of the context item within the sequence of items
|
||
|
// currently being processed
|
||
|
QilNode GetPosition();
|
||
|
|
||
|
// The context size: the number of items in the sequence of items currently being processed
|
||
|
QilNode GetLast();
|
||
|
}
|
||
|
|
||
|
internal interface IXPathEnvironment : IFocus {
|
||
|
XPathQilFactory Factory { get; }
|
||
|
|
||
|
// Resolution of variables, functions, and prefixes
|
||
|
QilNode ResolveVariable(string prefix, string name);
|
||
|
QilNode ResolveFunction(string prefix, string name, IList<QilNode> args, IFocus env);
|
||
|
string ResolvePrefix (string prefix);
|
||
|
}
|
||
|
}
|