2 // XQueryCompileOptions.cs - XQuery compiler option stucture.
5 // Atsushi Enomoto <atsushi@ximian.com>
7 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31 using System.Collections;
32 using System.Collections.Specialized;
33 using System.Globalization;
35 using System.Xml.Query;
36 using System.Xml.Schema;
37 using Mono.Xml.XPath2;
39 namespace Mono.Xml.XPath2
41 public class XQueryCompileOptions
43 public XQueryCompileOptions ()
44 : this (new NameTable (), null)
48 public XQueryCompileOptions (XmlNameTable nameTable, CultureInfo defaultCollation)
50 this.nameTable = nameTable;
51 this.defaultCollation = defaultCollation;
52 if (this.defaultCollation == null)
53 this.defaultCollation = CultureInfo.InvariantCulture;
55 knownCollections = new Hashtable ();
58 XmlNameTable nameTable;
59 XmlQueryDialect compat;
60 CultureInfo defaultCollation;
61 Hashtable knownCollections;
63 bool xqueryStaticFlagger;
65 // XPath 1.0 Compatibility Mode.
66 public XmlQueryDialect Compatibility {
67 get { return compat; }
68 set { compat = value; }
71 public XmlNameTable NameTable {
72 get { return nameTable; }
73 set { nameTable = value; }
76 public CultureInfo DefaultCollation {
77 get { return defaultCollation; }
78 set { defaultCollation = value; }
82 public bool XQueryFlagger {
83 get { return xqueryFlagger; }
84 set { xqueryFlagger = value; }
88 public bool XQueryStaticFlagger {
89 get { return xqueryStaticFlagger; }
90 set { xqueryStaticFlagger = value; }
94 public Hashtable KnownCollections {
95 get { return knownCollections; }