--- /dev/null
+//
+// System.Xml.Serialization.SchemaImporterExtension.cs
+//
+// Author:
+// Lluis Sanchez Gual (lluis@novell.com)
+//
+// Copyright (C) Novell, Inc., 2004
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0
+
+using System;
+using System.CodeDom;
+using System.CodeDom.Compiler;
+using System.Collections;
+using System.Collections.Specialized;
+using System.Xml.Schema;
+
+namespace System.Xml.Serialization.Advanced
+{
+ public abstract class SchemaImporterExtension
+ {
+ protected SchemaImporterExtension ()
+ {
+ }
+
+ public virtual string ImportAnyElement (
+ XmlSchemaAny any,
+ bool mixed,
+ XmlSchemas schemas,
+ XmlSchemaImporter importer,
+ CodeCompileUnit codeCompileUnit,
+ CodeNamespace codeNamespace,
+ CodeGenerationOptions options,
+ CodeDomProvider codeProvider
+ )
+ {
+ return null;
+ }
+
+ public virtual CodeExpression ImportDefaultValue (string value, string type)
+ {
+ return null;
+ }
+
+ public virtual string ImportSchemaType (
+ XmlSchemaType type,
+ XmlSchemaObject context,
+ XmlSchemas schemas,
+ XmlSchemaImporter importer,
+ CodeCompileUnit codeCompileUnit,
+ CodeNamespace codeNamespace,
+ CodeGenerationOptions options,
+ CodeDomProvider codeProvider
+ )
+ {
+ return null;
+ }
+
+ public virtual string ImportSchemaType (
+ string name,
+ string ns,
+ XmlSchemaObject context,
+ XmlSchemas schemas,
+ XmlSchemaImporter importer,
+ CodeCompileUnit codeCompileUnit,
+ CodeNamespace codeNamespace,
+ CodeGenerationOptions options,
+ CodeDomProvider codeProvider
+ )
+ {
+ return null;
+ }
+ }
+}
+
+#endif
--- /dev/null
+//
+// System.Xml.Serialization.SchemaImporterExtensionCollection.cs
+//
+// Author:
+// Lluis Sanchez Gual (lluis@novell.com)
+// Atsushi Enomoto (atsushi@ximian.com)
+//
+// Copyright (C) Novell, Inc., 2004, 2006
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace System.Xml.Serialization.Advanced
+{
+ public class SchemaImporterExtensionCollection : CollectionBase
+ {
+ Dictionary<string,SchemaImporterExtension> named_items =
+ new Dictionary<string,SchemaImporterExtension> ();
+
+ public SchemaImporterExtensionCollection ()
+ {
+ }
+
+ public int Add (SchemaImporterExtension extension)
+ {
+ if (extension == null)
+ throw new ArgumentNullException ("extension");
+ return List.Add (extension);
+ }
+
+ public int Add (string key, Type type)
+ {
+ if (key == null)
+ throw new ArgumentNullException ("key");
+ if (type == null)
+ throw new ArgumentNullException ("type");
+ if (!type.IsSubclassOf (typeof (SchemaImporterExtension)))
+ throw new ArgumentException ("The type argument must be subclass of SchemaImporterExtension.");
+
+ SchemaImporterExtension e = (SchemaImporterExtension) Activator.CreateInstance (type);
+ if (named_items.ContainsKey (key))
+ throw new InvalidOperationException (String.Format ("A SchemaImporterExtension keyed by '{0}' already exists.", key));
+ int ret = Add (e);
+ named_items.Add (key, e);
+ return ret;
+ }
+
+ public new void Clear ()
+ {
+ named_items.Clear ();
+ List.Clear ();
+ }
+
+ public bool Contains (SchemaImporterExtension extension)
+ {
+ if (extension == null)
+ throw new ArgumentNullException ("extension");
+ foreach (SchemaImporterExtension e in List)
+ if (extension.Equals (e))
+ return true;
+ return false;
+ }
+
+ public void CopyTo (SchemaImporterExtension [] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ public int IndexOf (SchemaImporterExtension extension)
+ {
+ if (extension == null)
+ throw new ArgumentNullException ("extension");
+ int i = 0;
+ foreach (SchemaImporterExtension e in List) {
+ if (extension.Equals (e)) {
+ return i;
+ }
+ i++;
+ }
+ return -1;
+ }
+
+ public void Insert (int index, SchemaImporterExtension extension)
+ {
+ if (extension == null)
+ throw new ArgumentNullException ("extension");
+ List.Insert (index, extension);
+ }
+
+ public void Remove (SchemaImporterExtension extension)
+ {
+ int idx = IndexOf (extension);
+ if (idx >= 0)
+ List.RemoveAt (idx);
+ }
+
+ public void Remove (string name)
+ {
+ if (name == null)
+ throw new ArgumentNullException ("name");
+ if (!named_items.ContainsKey (name))
+ return;
+ SchemaImporterExtension e = named_items [name];
+ Remove (e);
+ named_items.Remove (name);
+ }
+
+ public SchemaImporterExtension this [int index]
+ {
+ get { return (SchemaImporterExtension) List [index]; }
+ set { List [index] = value; }
+ }
+ }
+}
+
+#endif
--- /dev/null
+//
+// DateTimeSerializationSection.cs
+//
+// Author:
+// Atsushi Enomoto <atsushi@ximian.com>
+//
+// Copyright (C) 2006 Novell, Inc.
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0 && CONFIGURATION_DEP
+using System;
+using System.Collections;
+using System.Configuration;
+using System.Globalization;
+using System.Xml;
+using System.Text;
+
+namespace System.Xml.Serialization.Configuration
+{
+ public sealed class DateTimeSerializationSection : ConfigurationSection
+ {
+ static ConfigurationPropertyCollection properties;
+ static ConfigurationProperty mode;
+
+ static DateTimeSerializationSection ()
+ {
+ properties = new ConfigurationPropertyCollection ();
+ mode = new ConfigurationProperty ("mode", typeof (DateTimeSerializationMode), DateTimeSerializationMode.Roundtrip, ConfigurationPropertyOptions.None);
+ properties.Add (mode);
+ }
+
+ public enum DateTimeSerializationMode
+ {
+ Default,
+ Roundtrip,
+ Local,
+ }
+
+ [ConfigurationProperty ("mode", DefaultValue = DateTimeSerializationMode.Roundtrip, Options = ConfigurationPropertyOptions.None)]
+ public DateTimeSerializationMode Mode {
+ get { return (DateTimeSerializationMode) this [mode]; }
+ set { this [mode] = value; }
+ }
+
+ protected override ConfigurationPropertyCollection Properties {
+ get { return properties; }
+ }
+ }
+}
+
+#endif
--- /dev/null
+//
+// SchemaImporterExtensionElement.cs
+//
+// Author:
+// Atsushi Enomoto <atsushi@ximian.com>
+//
+// Copyright (C) 2006 Novell, Inc.
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0 && CONFIGURATION_DEP
+using System;
+using System.Collections;
+using System.ComponentModel;
+using System.Configuration;
+using System.Globalization;
+using System.Xml;
+using System.Text;
+
+namespace System.Xml.Serialization.Configuration
+{
+ public sealed class SchemaImporterExtensionElement : ConfigurationElement
+ {
+ static ConfigurationPropertyCollection properties;
+ static ConfigurationProperty name, type;
+
+ static SchemaImporterExtensionElement ()
+ {
+ properties = new ConfigurationPropertyCollection ();
+ name = new ConfigurationProperty ("name", typeof (string), "", ConfigurationPropertyOptions.IsKey | ConfigurationPropertyOptions.IsRequired);
+ type = new ConfigurationProperty ("type", typeof (Type), null, ConfigurationPropertyOptions.IsRequired);
+ properties.Add (name);
+ properties.Add (type);
+ }
+
+ public SchemaImporterExtensionElement ()
+ {
+ }
+
+ public SchemaImporterExtensionElement (string name, string type)
+ {
+ Name = name;
+ Type = Type.GetType (type);
+ }
+
+ public SchemaImporterExtensionElement (string name, Type type)
+ {
+ Name = name;
+ Type = type;
+ }
+
+ // huh? default value Type ?
+ [ConfigurationProperty ("name", DefaultValue = typeof (object), Options = ConfigurationPropertyOptions.IsKey | ConfigurationPropertyOptions.IsRequired)]
+ public string Name {
+ get { return (string) this [name]; }
+ set { this [name] = value; }
+ }
+
+ [ConfigurationProperty ("type", DefaultValue = typeof (object), Options = ConfigurationPropertyOptions.IsRequired)]
+ [TypeConverter (typeof (TypeConverter))]
+ public Type Type {
+ get { return (Type) this [type]; }
+ set { this [type] = value; }
+ }
+
+ protected override ConfigurationPropertyCollection Properties {
+ get { return properties; }
+ }
+ }
+}
+
+#endif
--- /dev/null
+//
+// SchemaImporterExtensionElementCollection.cs
+//
+// Author:
+// Atsushi Enomoto <atsushi@ximian.com>
+//
+// Copyright (C) 2006 Novell, Inc.
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0 && CONFIGURATION_DEP
+using System;
+using System.Collections;
+using System.Configuration;
+using System.Globalization;
+using System.Xml;
+using System.Text;
+
+namespace System.Xml.Serialization.Configuration
+{
+ [ConfigurationCollection (typeof (SchemaImporterExtensionElement), CollectionType = ConfigurationElementCollectionType.AddRemoveClearMap)]
+ public sealed class SchemaImporterExtensionElementCollection : ConfigurationElementCollection
+ {
+ public SchemaImporterExtensionElement this [int index] {
+ get {
+ int i = 0;
+ if (index >= this.Count || index < 0)
+ throw new ArgumentOutOfRangeException ("index is less than 0 or greater than the count of the collection.");
+ foreach (SchemaImporterExtensionElement e in this)
+ if (i++ == index)
+ return e;
+ return null; // should not happen
+ }
+ set {
+ if (index >= this.Count || index < 0)
+ throw new ArgumentOutOfRangeException ("index is less than 0 or greater than the count of the collection.");
+ RemoveAt (index);
+ BaseAdd (index, value);
+ }
+ }
+ public new SchemaImporterExtensionElement this [string name] {
+ get {
+ foreach (SchemaImporterExtensionElement e in this)
+ if (e.Name == name)
+ return e;
+ return null;
+ }
+ set {
+ Remove (name);
+ Add (value);
+ }
+ }
+
+ protected override ConfigurationElement CreateNewElement ()
+ {
+ return new SchemaImporterExtensionElement ();
+ }
+
+ protected override object GetElementKey (ConfigurationElement element)
+ {
+ return ((SchemaImporterExtensionElement) element).Name;
+ }
+
+ public void Add (SchemaImporterExtensionElement element)
+ {
+ BaseAdd (element);
+ }
+
+ public void Clear ()
+ {
+ BaseClear ();
+ }
+
+ public int IndexOf (SchemaImporterExtensionElement element)
+ {
+ int i = 0;
+ foreach (SchemaImporterExtensionElement e in this) {
+ if (element.Equals (e))
+ return i;
+ i++;
+ }
+ return -1;
+ }
+
+ public void Remove (string name)
+ {
+ foreach (SchemaImporterExtensionElement el in this)
+ if (name == el.Name) {
+ BaseRemove (el);
+ break;
+ }
+ }
+
+ public void Remove (SchemaImporterExtensionElement element)
+ {
+ foreach (SchemaImporterExtensionElement el in this)
+ if (element.Name == el.Name) {
+ BaseRemove (el);
+ break;
+ }
+ }
+
+ public void RemoveAt (int i)
+ {
+ BaseRemoveAt (i);
+ }
+ }
+}
+
+#endif
--- /dev/null
+//
+// SchemaImporterExtensionsSection.cs
+//
+// Author:
+// Atsushi Enomoto <atsushi@ximian.com>
+//
+// Copyright (C) 2006 Novell, Inc.
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0 && CONFIGURATION_DEP
+using System;
+using System.Collections;
+using System.Configuration;
+using System.Globalization;
+using System.Xml;
+using System.Text;
+
+namespace System.Xml.Serialization.Configuration
+{
+ public sealed class SchemaImporterExtensionsSection : ConfigurationSection
+ {
+ static ConfigurationPropertyCollection properties;
+ static ConfigurationProperty extensions;
+
+ static SchemaImporterExtensionsSection ()
+ {
+ properties = new ConfigurationPropertyCollection ();
+ extensions = new ConfigurationProperty ("", typeof (SchemaImporterExtensionElement), null, ConfigurationPropertyOptions.IsDefaultCollection);
+ properties.Add (extensions);
+ }
+
+ [ConfigurationProperty ("", Options = ConfigurationPropertyOptions.IsDefaultCollection)]
+ public SchemaImporterExtensionElementCollection SchemaImporterExtensions {
+ get { return (SchemaImporterExtensionElementCollection) this [extensions]; }
+ }
+
+ protected override ConfigurationPropertyCollection Properties {
+ get { return properties; }
+ }
+ }
+}
+
+#endif
--- /dev/null
+//
+// SerializationSectionGroup.cs
+//
+// Author:
+// Atsushi Enomoto <atsushi@ximian.com>
+//
+// Copyright (C) 2006 Novell, Inc.
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0 && CONFIGURATION_DEP
+using System;
+using System.Collections;
+using System.Configuration;
+using System.Globalization;
+using System.Xml;
+using System.Text;
+
+namespace System.Xml.Serialization.Configuration
+{
+ public sealed class SerializationSectionGroup : ConfigurationSectionGroup
+ {
+ DateTimeSerializationSection dateTime =
+ new DateTimeSerializationSection ();
+ XmlSerializerSection serializer = new XmlSerializerSection ();
+ SchemaImporterExtensionsSection extensions =
+ new SchemaImporterExtensionsSection ();
+
+ [ConfigurationProperty ("dateTimeSerialization")]
+ public DateTimeSerializationSection DateTimeSerialization {
+ get { return dateTime; }
+ }
+
+ [ConfigurationProperty ("schemaImporterExtensions")]
+ public SchemaImporterExtensionsSection SchemaImporterExtensions {
+ get { return extensions; }
+ }
+
+ public XmlSerializerSection XmlSerializer {
+ get { return serializer; }
+ }
+ }
+}
+
+#endif
--- /dev/null
+//
+// XmlSerializerSection.cs
+//
+// Author:
+// Atsushi Enomoto <atsushi@ximian.com>
+//
+// Copyright (C) 2006 Novell, Inc.
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0 && CONFIGURATION_DEP
+using System;
+using System.Collections;
+using System.Configuration;
+using System.Globalization;
+using System.Xml;
+using System.Text;
+
+namespace System.Xml.Serialization.Configuration
+{
+ public sealed class XmlSerializerSection : ConfigurationSection
+ {
+ static ConfigurationPropertyCollection properties;
+ static ConfigurationProperty checkDeserializeAdvances;
+
+ static XmlSerializerSection ()
+ {
+ properties = new ConfigurationPropertyCollection ();
+ checkDeserializeAdvances = new ConfigurationProperty ("checkDeserializeAdvances", typeof (bool), false, ConfigurationPropertyOptions.None);
+ properties.Add (checkDeserializeAdvances);
+ }
+
+ [ConfigurationProperty ("checkDeserializeAdvances", DefaultValue = false, Options = ConfigurationPropertyOptions.None)]
+ public bool CheckDeserializeAdvances {
+ get { return (bool) this [checkDeserializeAdvances]; }
+ set { this [checkDeserializeAdvances] = value; }
+ }
+
+ protected override ConfigurationPropertyCollection Properties {
+ get { return properties; }
+ }
+ }
+}
+
+#endif