示例#1
0
		// Constructor

		private XQueryASTCompiler (XQueryModule module, XQueryCompileOptions options, XQueryCompileContext compileContext, Evidence evidence, XQueryCommandImpl commandImpl)
		{
			this.module = module;
			this.options = options;
			this.compileContext = compileContext;
			this.evidence = evidence;
			this.commandImpl = commandImpl;

			inScopeSchemas = new XmlSchemaSet ();
			localVariables = new Hashtable ();
			localFunctions = new XQueryFunctionTable ();
		}
示例#2
0
		// Don't keep XQueryCompileOptions and XQueryMainModule
		// inside this class. I don't want them affect this instance
		// by being modified externally after the compilation.

		public XQueryStaticContext (
			XQueryCompileOptions options,
			XQueryCompileContext compileContext,
			ExprSequence queryBody,
			XmlSchemaSet inScopeSchemas,
			IDictionary inScopeVariables,
			XQueryFunctionTable functionSignatures,
			IXmlNamespaceResolver nsResolver,
			string defaultFunctionNamespace,
			bool preserveWhitespace,
			bool constructionSpace,
			bool defaultOrdered,
			string baseUri,
			Evidence evidence,
			XQueryCommandImpl commandImpl)
		{
			// Initialization phase.
			compat = options.Compatibility;
			nameTable = options.NameTable;
			this.queryBody = queryBody;
			this.nsResolver = nsResolver;
			this.defaultFunctionNamespace = defaultFunctionNamespace;
//			elemNSManager = new XmlNamespaceManager (nameTable);
//			funcNSManager = new XmlNamespaceManager (nameTable);
			xqueryFlagger = options.XQueryFlagger;
			xqueryStaticFlagger = options.XQueryStaticFlagger;
//			xqueryResolver = options.KnownDocumentResolver;
			knownCollections = (IDictionary) options.KnownCollections.Clone ();
			functions = functionSignatures;
			this.compileContext = compileContext;
			this.inScopeSchemas = inScopeSchemas;
			this.inScopeVariables = inScopeVariables;
			this.preserveWhitespace = preserveWhitespace;
			this.preserveConstructionSpace = constructionSpace;
			this.defaultOrdered = defaultOrdered;
			this.baseUri = baseUri;
			this.defaultCollation = options.DefaultCollation;
			// FIXME: set contextItemStaticType
			// FIXME: set extDocResolver

			this.evidence = evidence;
			this.commandImpl = commandImpl;
		}
示例#3
0
        // Don't keep XQueryCompileOptions and XQueryMainModule
        // inside this class. I don't want them affect this instance
        // by being modified externally after the compilation.

        public XQueryStaticContext(
            XQueryCompileOptions options,
            XQueryCompileContext compileContext,
            ExprSequence queryBody,
            XmlSchemaSet inScopeSchemas,
            IDictionary inScopeVariables,
            XQueryFunctionTable functionSignatures,
            IXmlNamespaceResolver nsResolver,
            string defaultFunctionNamespace,
            bool preserveWhitespace,
            bool constructionSpace,
            bool defaultOrdered,
            string baseUri,
            Evidence evidence,
            XQueryCommandImpl commandImpl)
        {
            // Initialization phase.
            compat          = options.Compatibility;
            nameTable       = options.NameTable;
            this.queryBody  = queryBody;
            this.nsResolver = nsResolver;
            this.defaultFunctionNamespace = defaultFunctionNamespace;
//			elemNSManager = new XmlNamespaceManager (nameTable);
//			funcNSManager = new XmlNamespaceManager (nameTable);
            xqueryFlagger       = options.XQueryFlagger;
            xqueryStaticFlagger = options.XQueryStaticFlagger;
//			xqueryResolver = options.KnownDocumentResolver;
            knownCollections               = (IDictionary)options.KnownCollections.Clone();
            functions                      = functionSignatures;
            this.compileContext            = compileContext;
            this.inScopeSchemas            = inScopeSchemas;
            this.inScopeVariables          = inScopeVariables;
            this.preserveWhitespace        = preserveWhitespace;
            this.preserveConstructionSpace = constructionSpace;
            this.defaultOrdered            = defaultOrdered;
            this.baseUri                   = baseUri;
            this.defaultCollation          = options.DefaultCollation;
            // FIXME: set contextItemStaticType
            // FIXME: set extDocResolver

            this.evidence    = evidence;
            this.commandImpl = commandImpl;
        }
示例#4
0
        // Constructor

        private XQueryASTCompiler(XQueryModule module, XQueryCompileOptions options, XQueryCompileContext compileContext, Evidence evidence, XQueryCommandImpl commandImpl)
        {
            this.module         = module;
            this.options        = options;
            this.compileContext = compileContext;
            this.evidence       = evidence;
            this.commandImpl    = commandImpl;

            inScopeSchemas = new XmlSchemaSet();
            localVariables = new Hashtable();
            localFunctions = new XQueryFunctionTable();
        }
示例#5
0
        // Static method

        public static XQueryStaticContext Compile(XQueryModule module, XQueryCompileOptions options, Evidence evidence, XQueryCommandImpl commandImpl)
        {
            if (options == null)
            {
                options = new XQueryCompileOptions();
            }
            return(new XQueryASTCompiler(module, options, new XQueryCompileContext(), evidence, commandImpl).Compile());
        }
示例#6
0
		// Static method

		public static XQueryStaticContext Compile (XQueryModule module, XQueryCompileOptions options, Evidence evidence, XQueryCommandImpl commandImpl)
		{
			if (options == null)
				options = new XQueryCompileOptions ();
			return new XQueryASTCompiler (module, options, new XQueryCompileContext (), evidence, commandImpl).Compile ();
		}