/// <summary> /// Creates a new SifXPathContext /// </summary> /// <param name="parent"></param> /// <param name="context"></param> private SifXPathContext( SifXPathContext parent, SifElement context ) { if ( parent != null ) { fContext = parent.fContext; } else { fContext = new SifXsltContext(); fContext.AddFunctions( "adk", new ClassFunctions( typeof ( AdkFunctions ), null ) ); } SifVersion version = context.SifVersion; if( version == null ) { version = SifVersion.LATEST; } fContextElement = context; fContextPointer = new SifElementPointer( null, fContextElement, version ); fDefaultNavigator = new SifXPathNavigator( fContext, fContextPointer ); }
/// <summary> /// Creates a new SifXPathContext /// </summary> /// <param name="parent"></param> /// <param name="context"></param> private SifXPathContext(SifXPathContext parent, SifElement context) { if (parent != null) { fContext = parent.fContext; } else { fContext = new SifXsltContext(); fContext.AddFunctions("adk", new ClassFunctions(typeof(AdkFunctions), null)); } SifVersion version = context.SifVersion; if (version == null) { version = SifVersion.LATEST; } fContextElement = context; fContextPointer = new SifElementPointer(null, fContextElement, version); fDefaultNavigator = new SifXPathNavigator(fContext, fContextPointer); }
/// <summary> /// Creates an instance of SIFXPathNavigator /// </summary> /// <param name="context">The SIFXPathContext around this navigator</param> /// <param name="pointer">The pointer that this navigator initial points to </param> internal SifXPathNavigator(SifXsltContext context, INodePointer pointer) { fParentContext = context; fNameTable = new NameTable(); fCursor = new RootCursor(pointer); }
/// <summary> /// Creates an instance of SIFXPathNavigator /// </summary> /// <param name="context">The SIFXPathContext around this navigator</param> /// <param name="nameTable">The nametable</param> /// <param name="cursor">The cursor</param> private SifXPathNavigator(SifXsltContext context, XmlNameTable nameTable, INavCursor cursor) { fParentContext = context; fNameTable = nameTable; fCursor = cursor; }