/// <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> /// Install a library of extension functions within a specific namespace /// </summary> /// <param name="ns"></param> /// <param name="functions"></param> public void AddFunctions(String ns, IXPathFunctionLibrary functions) { fContext.AddFunctions(ns, functions); }