diff --git a/lib/fluentnhibernate/NHibernate.dll b/lib/fluentnhibernate/NHibernate.dll index f8b0bc264..2bf7d8aa0 100644 Binary files a/lib/fluentnhibernate/NHibernate.dll and b/lib/fluentnhibernate/NHibernate.dll differ diff --git a/lib/fluentnhibernate/NHibernate.xml b/lib/fluentnhibernate/NHibernate.xml index a9e6f2e58..a0ea9215f 100644 --- a/lib/fluentnhibernate/NHibernate.xml +++ b/lib/fluentnhibernate/NHibernate.xml @@ -11831,6 +11831,14 @@ Comes into play whenever the user specifies the "identity" generator. + + + Supports splitting batches using GO T-SQL command + + + Batches http://msdn.microsoft.com/en-us/library/ms175502.aspx + + Defines a contract for implementations that can extract the name of a violated @@ -24756,13 +24764,6 @@ The clone of the root criteria. - - - Error handling in this case will only kick in if we cannot set values on the TLS - this is usally the case if we are called from the finalizer, since this is something - that we do only for logging, we ignore the error. - - Expose the batch functionality in ADO.Net 2.0 @@ -33948,6 +33949,12 @@ Perform the validations. + + + This acts as a template method. Specific Reader instances + override the component methods. + + A implementation based on an explicitly supplied diff --git a/lib/fluentnhibernate/orchard-buildnotes.txt b/lib/fluentnhibernate/orchard-buildnotes.txt new file mode 100644 index 000000000..12b8513d1 --- /dev/null +++ b/lib/fluentnhibernate/orchard-buildnotes.txt @@ -0,0 +1,7 @@ + +== nhibernate == + +https://nhibernate.svn.sourceforge.net/svnroot/nhibernate/branches/2.1.x/nhibernate +at revision #4966 +applied perf-embedded-serializer-and-compiled-schema-reuse.patch +nant -t:net-3.5 -D:project.config=release diff --git a/lib/fluentnhibernate/perf-embedded-serializer-and-compiled-schema-reuse.patch b/lib/fluentnhibernate/perf-embedded-serializer-and-compiled-schema-reuse.patch new file mode 100644 index 000000000..344d05066 --- /dev/null +++ b/lib/fluentnhibernate/perf-embedded-serializer-and-compiled-schema-reuse.patch @@ -0,0 +1,13238 @@ +Index: src/NHibernate/Cfg/MappingSchema/MappingDocumentParser.cs +=================================================================== +--- src/NHibernate/Cfg/MappingSchema/MappingDocumentParser.cs (revision 5264) ++++ src/NHibernate/Cfg/MappingSchema/MappingDocumentParser.cs (working copy) +@@ -1,6 +1,7 @@ + using System; + using System.IO; + using System.Xml.Serialization; ++using Microsoft.Xml.Serialization.GeneratedAssembly; + + namespace NHibernate.Cfg.MappingSchema + { +@@ -11,7 +12,7 @@ + /// Uses an to deserialize HBM. + public class MappingDocumentParser : IMappingDocumentParser + { +- private readonly XmlSerializer serializer = new XmlSerializer(typeof (HbmMapping)); ++ private readonly XmlSerializer serializer = new HbmMappingSerializer(); + + public HbmMapping Parse(Stream stream) + { +Index: src/NHibernate/Cfg/MappingSchema/Serializers.cs +=================================================================== +--- src/NHibernate/Cfg/MappingSchema/Serializers.cs (revision 0) ++++ src/NHibernate/Cfg/MappingSchema/Serializers.cs (revision 0) +@@ -0,0 +1,13086 @@ ++ ++namespace Microsoft.Xml.Serialization.GeneratedAssembly { ++ ++ internal class XmlSerializationWriter1 : System.Xml.Serialization.XmlSerializationWriter { ++ ++ public void Write109_class(object o) { ++ WriteStartDocument(); ++ if (o == null) { ++ WriteEmptyTag(@"class", @"urn:nhibernate-mapping-2.2"); ++ return; ++ } ++ TopLevelElement(); ++ Write98_HbmClass(@"class", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmClass)o), false, false); ++ } ++ ++ public void Write110_hibernatemapping(object o) { ++ WriteStartDocument(); ++ if (o == null) { ++ WriteEmptyTag(@"hibernate-mapping", @"urn:nhibernate-mapping-2.2"); ++ return; ++ } ++ TopLevelElement(); ++ Write108_HbmMapping(@"hibernate-mapping", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMapping)o), false, false); ++ } ++ ++ void Write108_HbmMapping(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmMapping o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmMapping)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"schema", @"", ((global::System.String)o.@schema)); ++ WriteAttribute(@"catalog", @"", ((global::System.String)o.@catalog)); ++ if (((global::System.String)o.@defaultcascade) != @"none") { ++ WriteAttribute(@"default-cascade", @"", ((global::System.String)o.@defaultcascade)); ++ } ++ if (((global::System.String)o.@defaultaccess) != @"property") { ++ WriteAttribute(@"default-access", @"", ((global::System.String)o.@defaultaccess)); ++ } ++ if (((global::System.Boolean)o.@defaultlazy) != true) { ++ WriteAttribute(@"default-lazy", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@defaultlazy))); ++ } ++ if (((global::System.Boolean)o.@autoimport) != true) { ++ WriteAttribute(@"auto-import", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@autoimport))); ++ } ++ WriteAttribute(@"namespace", @"", ((global::System.String)o.@namespace)); ++ WriteAttribute(@"assembly", @"", ((global::System.String)o.@assembly)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmTypedef[] a = (global::NHibernate.Cfg.MappingSchema.HbmTypedef[])o.@typedef; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write99_HbmTypedef(@"typedef", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmTypedef)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmImport[] a = (global::NHibernate.Cfg.MappingSchema.HbmImport[])o.@import; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write100_HbmImport(@"import", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmImport)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmClass) { ++ Write98_HbmClass(@"class", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmClass)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass) { ++ Write93_HbmJoinedSubclass(@"joined-subclass", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass) { ++ Write95_HbmUnionSubclass(@"union-subclass", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmSubclass) { ++ Write94_HbmSubclass(@"subclass", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSubclass)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmResultSet[] a = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])o.@resultset; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write87_HbmResultSet(@"resultset", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmResultSet)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items1; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmQuery) { ++ Write91_HbmQuery(@"query", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmQuery)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmSqlQuery) { ++ Write92_HbmSqlQuery(@"sql-query", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSqlQuery)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmFilterDef[] a = (global::NHibernate.Cfg.MappingSchema.HbmFilterDef[])o.@filterdef; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write102_HbmFilterDef(@"filter-def", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFilterDef)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject[] a = (global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject[])o.@databaseobject; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write107_HbmDatabaseObject(@"database-object", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write107_HbmDatabaseObject(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmDefinition) { ++ Write104_HbmDefinition(@"definition", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmDefinition)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmDrop) { ++ Write105_HbmDrop(@"drop", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmDrop)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmCreate) { ++ Write103_HbmCreate(@"create", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCreate)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmDialectScope[] a = (global::NHibernate.Cfg.MappingSchema.HbmDialectScope[])o.@dialectscope; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write106_HbmDialectScope(@"dialect-scope", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmDialectScope)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write106_HbmDialectScope(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmDialectScope o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmDialectScope)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ { ++ global::System.String[] a = (global::System.String[])o.@Text; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ if ((object)(a[ia]) != null){ ++ WriteValue(((global::System.String)a[ia])); ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write103_HbmCreate(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmCreate o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmCreate)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ { ++ global::System.String[] a = (global::System.String[])o.@Text; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ if ((object)(a[ia]) != null){ ++ WriteValue(((global::System.String)a[ia])); ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write105_HbmDrop(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmDrop o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmDrop)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ { ++ global::System.String[] a = (global::System.String[])o.@Text; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ if ((object)(a[ia]) != null){ ++ WriteValue(((global::System.String)a[ia])); ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write104_HbmDefinition(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmDefinition o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmDefinition)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmParam[] a = (global::NHibernate.Cfg.MappingSchema.HbmParam[])o.@param; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write14_HbmParam(@"param", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmParam)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write14_HbmParam(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmParam o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmParam)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ { ++ global::System.String[] a = (global::System.String[])o.@Text; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ if ((object)(a[ia]) != null){ ++ WriteValue(((global::System.String)a[ia])); ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write102_HbmFilterDef(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmFilterDef o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmFilterDef)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"condition", @"", ((global::System.String)o.@condition)); ++ if (((global::System.Boolean)o.@usemanytoone) != true) { ++ WriteAttribute(@"use-many-to-one", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@usemanytoone))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmFilterParam[] a = (global::NHibernate.Cfg.MappingSchema.HbmFilterParam[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write101_HbmFilterParam(@"filter-param", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFilterParam)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::System.String[] a = (global::System.String[])o.@Text; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ if ((object)(a[ia]) != null){ ++ WriteValue(((global::System.String)a[ia])); ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write101_HbmFilterParam(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmFilterParam o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmFilterParam)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"type", @"", ((global::System.String)o.@type)); ++ WriteEndElement(o); ++ } ++ ++ void Write92_HbmSqlQuery(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmSqlQuery o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmSqlQuery)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"resultset-ref", @"", ((global::System.String)o.@resultsetref)); ++ if (o.@flushmodeSpecified) { ++ WriteAttribute(@"flush-mode", @"", Write89_HbmFlushMode(((global::NHibernate.Cfg.MappingSchema.HbmFlushMode)o.@flushmode))); ++ } ++ if (((global::System.Boolean)o.@cacheable) != false) { ++ WriteAttribute(@"cacheable", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@cacheable))); ++ } ++ WriteAttribute(@"cache-region", @"", ((global::System.String)o.@cacheregion)); ++ if (o.@fetchsizeSpecified) { ++ WriteAttribute(@"fetch-size", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)o.@fetchsize))); ++ } ++ WriteAttribute(@"timeout", @"", ((global::System.String)o.@timeout)); ++ if (o.@cachemodeSpecified) { ++ WriteAttribute(@"cache-mode", @"", Write90_HbmCacheMode(((global::NHibernate.Cfg.MappingSchema.HbmCacheMode)o.@cachemode))); ++ } ++ if (o.@readonlySpecified) { ++ WriteAttribute(@"read-only", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@readonly))); ++ } ++ WriteAttribute(@"comment", @"", ((global::System.String)o.@comment)); ++ if (((global::System.Boolean)o.@callable) != false) { ++ WriteAttribute(@"callable", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@callable))); ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmLoadCollection) { ++ Write84_HbmLoadCollection(@"load-collection", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmLoadCollection)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmQueryParam) { ++ Write88_HbmQueryParam(@"query-param", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmQueryParam)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmSynchronize) { ++ Write9_HbmSynchronize(@"synchronize", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSynchronize)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmReturnJoin) { ++ Write85_HbmReturnJoin(@"return-join", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmReturnJoin)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmReturn) { ++ Write83_HbmReturn(@"return", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmReturn)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmReturnScalar) { ++ Write86_HbmReturnScalar(@"return-scalar", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmReturnScalar)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ { ++ global::System.String[] a = (global::System.String[])o.@Text; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ if ((object)(a[ia]) != null){ ++ WriteValue(((global::System.String)a[ia])); ++ } ++ } ++ } ++ } ++ if (o.@flushmodeSpecified) { ++ } ++ if (o.@fetchsizeSpecified) { ++ } ++ if (o.@cachemodeSpecified) { ++ } ++ if (o.@readonlySpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write86_HbmReturnScalar(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmReturnScalar o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnScalar)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column)); ++ WriteAttribute(@"type", @"", ((global::System.String)o.@type)); ++ WriteEndElement(o); ++ } ++ ++ void Write83_HbmReturn(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmReturn o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmReturn)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"alias", @"", ((global::System.String)o.@alias)); ++ WriteAttribute(@"entity-name", @"", ((global::System.String)o.@entityname)); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ if (((global::NHibernate.Cfg.MappingSchema.HbmLockMode)o.@lockmode) != global::NHibernate.Cfg.MappingSchema.HbmLockMode.@Read) { ++ WriteAttribute(@"lock-mode", @"", Write82_HbmLockMode(((global::NHibernate.Cfg.MappingSchema.HbmLockMode)o.@lockmode))); ++ } ++ Write79_HbmReturnDiscriminator(@"return-discriminator", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmReturnDiscriminator)o.@returndiscriminator), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[] a = (global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[])o.@returnproperty; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write81_HbmReturnProperty(@"return-property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmReturnProperty)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write81_HbmReturnProperty(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmReturnProperty o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnProperty)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmReturnColumn[] a = (global::NHibernate.Cfg.MappingSchema.HbmReturnColumn[])o.@returncolumn; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write80_HbmReturnColumn(@"return-column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmReturnColumn)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write80_HbmReturnColumn(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmReturnColumn o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnColumn)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteEndElement(o); ++ } ++ ++ void Write79_HbmReturnDiscriminator(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmReturnDiscriminator o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnDiscriminator)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column)); ++ WriteEndElement(o); ++ } ++ ++ string Write82_HbmLockMode(global::NHibernate.Cfg.MappingSchema.HbmLockMode v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmLockMode.@None: s = @"none"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmLockMode.@Read: s = @"read"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmLockMode.@Upgrade: s = @"upgrade"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmLockMode.@UpgradeNowait: s = @"upgrade-nowait"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmLockMode.@Write: s = @"write"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmLockMode"); ++ } ++ return s; ++ } ++ ++ void Write85_HbmReturnJoin(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmReturnJoin o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnJoin)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"alias", @"", ((global::System.String)o.@alias)); ++ WriteAttribute(@"property", @"", ((global::System.String)o.@property)); ++ if (((global::NHibernate.Cfg.MappingSchema.HbmLockMode)o.@lockmode) != global::NHibernate.Cfg.MappingSchema.HbmLockMode.@Read) { ++ WriteAttribute(@"lock-mode", @"", Write82_HbmLockMode(((global::NHibernate.Cfg.MappingSchema.HbmLockMode)o.@lockmode))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[] a = (global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[])o.@returnproperty; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write81_HbmReturnProperty(@"return-property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmReturnProperty)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write9_HbmSynchronize(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmSynchronize o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"table", @"", ((global::System.String)o.@table)); ++ WriteEndElement(o); ++ } ++ ++ void Write88_HbmQueryParam(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmQueryParam o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmQueryParam)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"type", @"", ((global::System.String)o.@type)); ++ WriteEndElement(o); ++ } ++ ++ void Write84_HbmLoadCollection(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmLoadCollection o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmLoadCollection)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"alias", @"", ((global::System.String)o.@alias)); ++ WriteAttribute(@"role", @"", ((global::System.String)o.@role)); ++ if (((global::NHibernate.Cfg.MappingSchema.HbmLockMode)o.@lockmode) != global::NHibernate.Cfg.MappingSchema.HbmLockMode.@Read) { ++ WriteAttribute(@"lock-mode", @"", Write82_HbmLockMode(((global::NHibernate.Cfg.MappingSchema.HbmLockMode)o.@lockmode))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[] a = (global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[])o.@returnproperty; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write81_HbmReturnProperty(@"return-property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmReturnProperty)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ string Write90_HbmCacheMode(global::NHibernate.Cfg.MappingSchema.HbmCacheMode v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmCacheMode.@Get: s = @"get"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmCacheMode.@Ignore: s = @"ignore"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmCacheMode.@Normal: s = @"normal"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmCacheMode.@Put: s = @"put"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmCacheMode.@Refresh: s = @"refresh"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmCacheMode"); ++ } ++ return s; ++ } ++ ++ string Write89_HbmFlushMode(global::NHibernate.Cfg.MappingSchema.HbmFlushMode v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmFlushMode.@Auto: s = @"auto"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmFlushMode.@Never: s = @"never"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmFlushMode.@Always: s = @"always"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmFlushMode"); ++ } ++ return s; ++ } ++ ++ void Write91_HbmQuery(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmQuery o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmQuery)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ if (o.@flushmodeSpecified) { ++ WriteAttribute(@"flush-mode", @"", Write89_HbmFlushMode(((global::NHibernate.Cfg.MappingSchema.HbmFlushMode)o.@flushmode))); ++ } ++ if (((global::System.Boolean)o.@cacheable) != false) { ++ WriteAttribute(@"cacheable", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@cacheable))); ++ } ++ WriteAttribute(@"cache-region", @"", ((global::System.String)o.@cacheregion)); ++ if (o.@fetchsizeSpecified) { ++ WriteAttribute(@"fetch-size", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)o.@fetchsize))); ++ } ++ WriteAttribute(@"timeout", @"", ((global::System.String)o.@timeout)); ++ if (o.@cachemodeSpecified) { ++ WriteAttribute(@"cache-mode", @"", Write90_HbmCacheMode(((global::NHibernate.Cfg.MappingSchema.HbmCacheMode)o.@cachemode))); ++ } ++ if (o.@readonlySpecified) { ++ WriteAttribute(@"read-only", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@readonly))); ++ } ++ WriteAttribute(@"comment", @"", ((global::System.String)o.@comment)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmQueryParam[] a = (global::NHibernate.Cfg.MappingSchema.HbmQueryParam[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write88_HbmQueryParam(@"query-param", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmQueryParam)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::System.String[] a = (global::System.String[])o.@Text; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ if ((object)(a[ia]) != null){ ++ WriteValue(((global::System.String)a[ia])); ++ } ++ } ++ } ++ } ++ if (o.@flushmodeSpecified) { ++ } ++ if (o.@fetchsizeSpecified) { ++ } ++ if (o.@cachemodeSpecified) { ++ } ++ if (o.@readonlySpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write87_HbmResultSet(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmResultSet o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmReturnJoin) { ++ Write85_HbmReturnJoin(@"return-join", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmReturnJoin)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmReturnScalar) { ++ Write86_HbmReturnScalar(@"return-scalar", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmReturnScalar)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmReturn) { ++ Write83_HbmReturn(@"return", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmReturn)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmLoadCollection) { ++ Write84_HbmLoadCollection(@"load-collection", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmLoadCollection)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write94_HbmSubclass(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmSubclass o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmSubclass)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"entity-name", @"", ((global::System.String)o.@entityname)); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"proxy", @"", ((global::System.String)o.@proxy)); ++ WriteAttribute(@"discriminator-value", @"", ((global::System.String)o.@discriminatorvalue)); ++ if (((global::System.Boolean)o.@dynamicupdate) != false) { ++ WriteAttribute(@"dynamic-update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@dynamicupdate))); ++ } ++ if (((global::System.Boolean)o.@dynamicinsert) != false) { ++ WriteAttribute(@"dynamic-insert", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@dynamicinsert))); ++ } ++ if (((global::System.Boolean)o.@selectbeforeupdate) != false) { ++ WriteAttribute(@"select-before-update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@selectbeforeupdate))); ++ } ++ WriteAttribute(@"extends", @"", ((global::System.String)o.@extends)); ++ if (o.@lazySpecified) { ++ WriteAttribute(@"lazy", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@lazy))); ++ } ++ if (o.@abstractSpecified) { ++ WriteAttribute(@"abstract", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@abstract))); ++ } ++ WriteAttribute(@"persister", @"", ((global::System.String)o.@persister)); ++ WriteAttribute(@"batch-size", @"", ((global::System.String)o.@batchsize)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmTuplizer[] a = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])o.@tuplizer; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write12_HbmTuplizer(@"tuplizer", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmTuplizer)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])o.@synchronize; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write9_HbmSynchronize(@"synchronize", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSynchronize)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmList) { ++ Write67_HbmList(@"list", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmList)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmIdbag) { ++ Write66_HbmIdbag(@"idbag", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmIdbag)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmMap) { ++ Write58_HbmMap(@"map", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMap)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmComponent) { ++ Write68_HbmComponent(@"component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmManyToOne) { ++ Write29_HbmManyToOne(@"many-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmBag) { ++ Write50_HbmBag(@"bag", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmBag)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmArray) { ++ Write60_HbmArray(@"array", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmArray)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent) { ++ Write69_HbmDynamicComponent(@"dynamic-component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray) { ++ Write64_HbmPrimitiveArray(@"primitive-array", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmProperty) { ++ Write34_HbmProperty(@"property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmProperty)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmAny) { ++ Write36_HbmAny(@"any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmAny)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmOneToOne) { ++ Write61_HbmOneToOne(@"one-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmOneToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmSet) { ++ Write49_HbmSet(@"set", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSet)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmJoin[] a = (global::NHibernate.Cfg.MappingSchema.HbmJoin[])o.@join; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write78_HbmJoin(@"join", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmJoin)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmSubclass[] a = (global::NHibernate.Cfg.MappingSchema.HbmSubclass[])o.@subclass1; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write94_HbmSubclass(@"subclass", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSubclass)a[ia]), false, false); ++ } ++ } ++ } ++ Write44_HbmLoader(@"loader", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmLoader)o.@loader), false, false); ++ Write46_HbmCustomSQL(@"sql-insert", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlinsert), false, false); ++ Write46_HbmCustomSQL(@"sql-update", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlupdate), false, false); ++ Write46_HbmCustomSQL(@"sql-delete", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldelete), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmResultSet[] a = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])o.@resultset; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write87_HbmResultSet(@"resultset", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmResultSet)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items1; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmSqlQuery) { ++ Write92_HbmSqlQuery(@"sql-query", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSqlQuery)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmQuery) { ++ Write91_HbmQuery(@"query", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmQuery)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ if (o.@lazySpecified) { ++ } ++ if (o.@abstractSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write46_HbmCustomSQL(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmCustomSQL o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(@"HbmCustomSQL", @"urn:nhibernate-mapping-2.2"); ++ if (o.@callableSpecified) { ++ WriteAttribute(@"callable", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@callable))); ++ } ++ if (o.@checkSpecified) { ++ WriteAttribute(@"check", @"", Write45_HbmCustomSQLCheck(((global::NHibernate.Cfg.MappingSchema.HbmCustomSQLCheck)o.@check))); ++ } ++ if (o.@callableSpecified) { ++ } ++ if (o.@checkSpecified) { ++ } ++ { ++ global::System.String[] a = (global::System.String[])o.@Text; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ if ((object)(a[ia]) != null){ ++ WriteValue(((global::System.String)a[ia])); ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ string Write45_HbmCustomSQLCheck(global::NHibernate.Cfg.MappingSchema.HbmCustomSQLCheck v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmCustomSQLCheck.@None: s = @"none"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmCustomSQLCheck.@Rowcount: s = @"rowcount"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmCustomSQLCheck.@Param: s = @"param"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmCustomSQLCheck"); ++ } ++ return s; ++ } ++ ++ void Write44_HbmLoader(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmLoader o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmLoader)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"query-ref", @"", ((global::System.String)o.@queryref)); ++ WriteEndElement(o); ++ } ++ ++ void Write78_HbmJoin(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmJoin o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmJoin)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"table", @"", ((global::System.String)o.@table)); ++ WriteAttribute(@"schema", @"", ((global::System.String)o.@schema)); ++ WriteAttribute(@"catalog", @"", ((global::System.String)o.@catalog)); ++ WriteAttribute(@"subselect", @"", ((global::System.String)o.@subselect1)); ++ if (((global::NHibernate.Cfg.MappingSchema.HbmJoinFetch)o.@fetch) != global::NHibernate.Cfg.MappingSchema.HbmJoinFetch.@Join) { ++ WriteAttribute(@"fetch", @"", Write77_HbmJoinFetch(((global::NHibernate.Cfg.MappingSchema.HbmJoinFetch)o.@fetch))); ++ } ++ if (((global::System.Boolean)o.@inverse) != false) { ++ WriteAttribute(@"inverse", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@inverse))); ++ } ++ if (((global::System.Boolean)o.@optional) != false) { ++ WriteAttribute(@"optional", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@optional))); ++ } ++ Write5_HbmSubselect(@"subselect", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSubselect)o.@subselect), false, false); ++ Write10_HbmComment(@"comment", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComment)o.@comment), false, false); ++ Write31_HbmKey(@"key", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKey)o.@key), false, false); ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmManyToOne) { ++ Write29_HbmManyToOne(@"many-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray) { ++ Write64_HbmPrimitiveArray(@"primitive-array", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmIdbag) { ++ Write66_HbmIdbag(@"idbag", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmIdbag)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmProperty) { ++ Write34_HbmProperty(@"property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmProperty)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmMap) { ++ Write58_HbmMap(@"map", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMap)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmSet) { ++ Write49_HbmSet(@"set", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSet)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmList) { ++ Write67_HbmList(@"list", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmList)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmArray) { ++ Write60_HbmArray(@"array", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmArray)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmComponent) { ++ Write68_HbmComponent(@"component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent) { ++ Write69_HbmDynamicComponent(@"dynamic-component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmBag) { ++ Write50_HbmBag(@"bag", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmBag)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmAny) { ++ Write36_HbmAny(@"any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmAny)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ Write46_HbmCustomSQL(@"sql-insert", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlinsert), false, false); ++ Write46_HbmCustomSQL(@"sql-update", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlupdate), false, false); ++ Write46_HbmCustomSQL(@"sql-delete", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldelete), false, false); ++ WriteEndElement(o); ++ } ++ ++ void Write36_HbmAny(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmAny o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmAny)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column1)); ++ WriteAttribute(@"id-type", @"", ((global::System.String)o.@idtype)); ++ WriteAttribute(@"meta-type", @"", ((global::System.String)o.@metatype)); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ if (((global::System.Boolean)o.@insert) != true) { ++ WriteAttribute(@"insert", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@insert))); ++ } ++ if (((global::System.Boolean)o.@update) != true) { ++ WriteAttribute(@"update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@update))); ++ } ++ WriteAttribute(@"cascade", @"", ((global::System.String)o.@cascade)); ++ WriteAttribute(@"index", @"", ((global::System.String)o.@index)); ++ if (((global::System.Boolean)o.@optimisticlock) != true) { ++ WriteAttribute(@"optimistic-lock", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@optimisticlock))); ++ } ++ if (((global::System.Boolean)o.@lazy) != false) { ++ WriteAttribute(@"lazy", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@lazy))); ++ } ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMetaValue[] a = (global::NHibernate.Cfg.MappingSchema.HbmMetaValue[])o.@metavalue; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write35_HbmMetaValue(@"meta-value", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMetaValue)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])o.@column; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write13_HbmColumn(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmColumn o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"length", @"", ((global::System.String)o.@length)); ++ WriteAttribute(@"precision", @"", ((global::System.String)o.@precision)); ++ WriteAttribute(@"scale", @"", ((global::System.String)o.@scale)); ++ if (o.@notnullSpecified) { ++ WriteAttribute(@"not-null", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@notnull))); ++ } ++ if (o.@uniqueSpecified) { ++ WriteAttribute(@"unique", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@unique))); ++ } ++ WriteAttribute(@"unique-key", @"", ((global::System.String)o.@uniquekey)); ++ WriteAttribute(@"sql-type", @"", ((global::System.String)o.@sqltype)); ++ WriteAttribute(@"index", @"", ((global::System.String)o.@index)); ++ WriteAttribute(@"check", @"", ((global::System.String)o.@check)); ++ WriteAttribute(@"default", @"", ((global::System.String)o.@default)); ++ Write10_HbmComment(@"comment", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComment)o.@comment), false, false); ++ if (o.@notnullSpecified) { ++ } ++ if (o.@uniqueSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write10_HbmComment(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmComment o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmComment)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ { ++ global::System.String[] a = (global::System.String[])o.@Text; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ if ((object)(a[ia]) != null){ ++ WriteValue(((global::System.String)a[ia])); ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write35_HbmMetaValue(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmMetaValue o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmMetaValue)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"value", @"", ((global::System.String)o.@value)); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ WriteEndElement(o); ++ } ++ ++ void Write4_HbmMeta(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmMeta o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"attribute", @"", ((global::System.String)o.@attribute)); ++ if (((global::System.Boolean)o.@inherit) != true) { ++ WriteAttribute(@"inherit", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@inherit))); ++ } ++ { ++ global::System.String[] a = (global::System.String[])o.@Text; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ if ((object)(a[ia]) != null){ ++ WriteValue(((global::System.String)a[ia])); ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write50_HbmBag(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmBag o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmBag)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"table", @"", ((global::System.String)o.@table)); ++ WriteAttribute(@"schema", @"", ((global::System.String)o.@schema)); ++ WriteAttribute(@"catalog", @"", ((global::System.String)o.@catalog)); ++ WriteAttribute(@"subselect", @"", ((global::System.String)o.@subselect1)); ++ if (o.@lazySpecified) { ++ WriteAttribute(@"lazy", @"", Write47_HbmCollectionLazy(((global::NHibernate.Cfg.MappingSchema.HbmCollectionLazy)o.@lazy))); ++ } ++ if (((global::System.Boolean)o.@inverse) != false) { ++ WriteAttribute(@"inverse", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@inverse))); ++ } ++ if (((global::System.Boolean)o.@mutable) != true) { ++ WriteAttribute(@"mutable", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@mutable))); ++ } ++ WriteAttribute(@"cascade", @"", ((global::System.String)o.@cascade)); ++ WriteAttribute(@"order-by", @"", ((global::System.String)o.@orderby)); ++ WriteAttribute(@"where", @"", ((global::System.String)o.@where)); ++ if (o.@batchsizeSpecified) { ++ WriteAttribute(@"batch-size", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)o.@batchsize))); ++ } ++ if (o.@outerjoinSpecified) { ++ WriteAttribute(@"outer-join", @"", Write26_HbmOuterJoinStrategy(((global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy)o.@outerjoin))); ++ } ++ if (o.@fetchSpecified) { ++ WriteAttribute(@"fetch", @"", Write48_HbmCollectionFetchMode(((global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode)o.@fetch))); ++ } ++ WriteAttribute(@"persister", @"", ((global::System.String)o.@persister)); ++ WriteAttribute(@"collection-type", @"", ((global::System.String)o.@collectiontype)); ++ WriteAttribute(@"check", @"", ((global::System.String)o.@check)); ++ if (((global::System.Boolean)o.@optimisticlock) != true) { ++ WriteAttribute(@"optimistic-lock", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@optimisticlock))); ++ } ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ if (((global::System.Boolean)o.@embedxml) != true) { ++ WriteAttribute(@"embed-xml", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@embedxml))); ++ } ++ if (o.@genericSpecified) { ++ WriteAttribute(@"generic", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@generic))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ Write5_HbmSubselect(@"subselect", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSubselect)o.@subselect), false, false); ++ Write8_HbmCache(@"cache", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCache)o.@cache), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])o.@synchronize; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write9_HbmSynchronize(@"synchronize", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSynchronize)a[ia]), false, false); ++ } ++ } ++ } ++ Write10_HbmComment(@"comment", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComment)o.@comment), false, false); ++ Write31_HbmKey(@"key", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKey)o.@key), false, false); ++ if ((object)(o.@Item) != null){ ++ if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmManyToMany) { ++ Write42_HbmManyToMany(@"many-to-many", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToMany)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmOneToMany) { ++ Write43_HbmOneToMany(@"one-to-many", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmOneToMany)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmCompositeElement) { ++ Write38_HbmCompositeElement(@"composite-element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCompositeElement)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmManyToAny) { ++ Write40_HbmManyToAny(@"many-to-any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToAny)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmElement) { ++ Write39_HbmElement(@"element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmElement)o.@Item), false, false); ++ } ++ else if ((object)(o.@Item) != null){ ++ throw CreateUnknownTypeException(o.@Item); ++ } ++ } ++ Write44_HbmLoader(@"loader", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmLoader)o.@loader), false, false); ++ Write46_HbmCustomSQL(@"sql-insert", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlinsert), false, false); ++ Write46_HbmCustomSQL(@"sql-update", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlupdate), false, false); ++ Write46_HbmCustomSQL(@"sql-delete", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldelete), false, false); ++ Write46_HbmCustomSQL(@"sql-delete-all", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldeleteall), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmFilter[] a = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])o.@filter; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write41_HbmFilter(@"filter", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFilter)a[ia]), false, false); ++ } ++ } ++ } ++ if (o.@lazySpecified) { ++ } ++ if (o.@batchsizeSpecified) { ++ } ++ if (o.@outerjoinSpecified) { ++ } ++ if (o.@fetchSpecified) { ++ } ++ if (o.@genericSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write41_HbmFilter(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmFilter o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"condition", @"", ((global::System.String)o.@condition)); ++ { ++ global::System.String[] a = (global::System.String[])o.@Text; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ if ((object)(a[ia]) != null){ ++ WriteValue(((global::System.String)a[ia])); ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write39_HbmElement(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmElement o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmElement)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ WriteAttribute(@"formula", @"", ((global::System.String)o.@formula)); ++ WriteAttribute(@"type", @"", ((global::System.String)o.@type1)); ++ WriteAttribute(@"length", @"", ((global::System.String)o.@length)); ++ WriteAttribute(@"precision", @"", ((global::System.String)o.@precision)); ++ WriteAttribute(@"scale", @"", ((global::System.String)o.@scale)); ++ if (((global::System.Boolean)o.@notnull) != false) { ++ WriteAttribute(@"not-null", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@notnull))); ++ } ++ if (((global::System.Boolean)o.@unique) != false) { ++ WriteAttribute(@"unique", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@unique))); ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmColumn) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmFormula) { ++ Write24_HbmFormula(@"formula", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFormula)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ Write15_HbmType(@"type", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmType)o.@type), false, false); ++ WriteEndElement(o); ++ } ++ ++ void Write15_HbmType(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmType o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmType)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmParam[] a = (global::NHibernate.Cfg.MappingSchema.HbmParam[])o.@param; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write14_HbmParam(@"param", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmParam)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write24_HbmFormula(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmFormula o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmFormula)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ { ++ global::System.String[] a = (global::System.String[])o.@Text; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ if ((object)(a[ia]) != null){ ++ WriteValue(((global::System.String)a[ia])); ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write40_HbmManyToAny(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmManyToAny o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmManyToAny)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column1)); ++ WriteAttribute(@"id-type", @"", ((global::System.String)o.@idtype)); ++ WriteAttribute(@"meta-type", @"", ((global::System.String)o.@metatype)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMetaValue[] a = (global::NHibernate.Cfg.MappingSchema.HbmMetaValue[])o.@metavalue; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write35_HbmMetaValue(@"meta-value", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMetaValue)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])o.@column; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write38_HbmCompositeElement(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmCompositeElement o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmCompositeElement)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ Write32_HbmParent(@"parent", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmParent)o.@parent), false, false); ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmManyToOne) { ++ Write29_HbmManyToOne(@"many-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmNestedCompositeElement) { ++ Write37_HbmNestedCompositeElement(@"nested-composite-element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmNestedCompositeElement)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmProperty) { ++ Write34_HbmProperty(@"property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmProperty)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmAny) { ++ Write36_HbmAny(@"any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmAny)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write34_HbmProperty(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmProperty o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmProperty)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"type", @"", ((global::System.String)o.@type1)); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column)); ++ WriteAttribute(@"length", @"", ((global::System.String)o.@length)); ++ WriteAttribute(@"precision", @"", ((global::System.String)o.@precision)); ++ WriteAttribute(@"scale", @"", ((global::System.String)o.@scale)); ++ if (o.@notnullSpecified) { ++ WriteAttribute(@"not-null", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@notnull))); ++ } ++ if (((global::System.Boolean)o.@unique) != false) { ++ WriteAttribute(@"unique", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@unique))); ++ } ++ WriteAttribute(@"unique-key", @"", ((global::System.String)o.@uniquekey)); ++ WriteAttribute(@"index", @"", ((global::System.String)o.@index)); ++ if (o.@updateSpecified) { ++ WriteAttribute(@"update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@update))); ++ } ++ if (o.@insertSpecified) { ++ WriteAttribute(@"insert", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@insert))); ++ } ++ if (((global::System.Boolean)o.@optimisticlock) != true) { ++ WriteAttribute(@"optimistic-lock", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@optimisticlock))); ++ } ++ WriteAttribute(@"formula", @"", ((global::System.String)o.@formula)); ++ if (((global::System.Boolean)o.@lazy) != false) { ++ WriteAttribute(@"lazy", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@lazy))); ++ } ++ if (((global::NHibernate.Cfg.MappingSchema.HbmPropertyGeneration)o.@generated) != global::NHibernate.Cfg.MappingSchema.HbmPropertyGeneration.@Never) { ++ WriteAttribute(@"generated", @"", Write33_HbmPropertyGeneration(((global::NHibernate.Cfg.MappingSchema.HbmPropertyGeneration)o.@generated))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmColumn) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmFormula) { ++ Write24_HbmFormula(@"formula", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFormula)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ Write15_HbmType(@"type", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmType)o.@type), false, false); ++ if (o.@notnullSpecified) { ++ } ++ if (o.@updateSpecified) { ++ } ++ if (o.@insertSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ string Write33_HbmPropertyGeneration(global::NHibernate.Cfg.MappingSchema.HbmPropertyGeneration v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmPropertyGeneration.@Never: s = @"never"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmPropertyGeneration.@Insert: s = @"insert"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmPropertyGeneration.@Always: s = @"always"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmPropertyGeneration"); ++ } ++ return s; ++ } ++ ++ void Write37_HbmNestedCompositeElement(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmNestedCompositeElement o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmNestedCompositeElement)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ Write32_HbmParent(@"parent", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmParent)o.@parent), false, false); ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmManyToOne) { ++ Write29_HbmManyToOne(@"many-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmNestedCompositeElement) { ++ Write37_HbmNestedCompositeElement(@"nested-composite-element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmNestedCompositeElement)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmProperty) { ++ Write34_HbmProperty(@"property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmProperty)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmAny) { ++ Write36_HbmAny(@"any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmAny)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write29_HbmManyToOne(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmManyToOne o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmManyToOne)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ WriteAttribute(@"entity-name", @"", ((global::System.String)o.@entityname)); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column)); ++ if (o.@notnullSpecified) { ++ WriteAttribute(@"not-null", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@notnull))); ++ } ++ if (((global::System.Boolean)o.@unique) != false) { ++ WriteAttribute(@"unique", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@unique))); ++ } ++ WriteAttribute(@"unique-key", @"", ((global::System.String)o.@uniquekey)); ++ WriteAttribute(@"index", @"", ((global::System.String)o.@index)); ++ WriteAttribute(@"cascade", @"", ((global::System.String)o.@cascade)); ++ if (o.@outerjoinSpecified) { ++ WriteAttribute(@"outer-join", @"", Write26_HbmOuterJoinStrategy(((global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy)o.@outerjoin))); ++ } ++ if (o.@fetchSpecified) { ++ WriteAttribute(@"fetch", @"", Write27_HbmFetchMode(((global::NHibernate.Cfg.MappingSchema.HbmFetchMode)o.@fetch))); ++ } ++ if (((global::System.Boolean)o.@update) != true) { ++ WriteAttribute(@"update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@update))); ++ } ++ if (((global::System.Boolean)o.@insert) != true) { ++ WriteAttribute(@"insert", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@insert))); ++ } ++ if (((global::System.Boolean)o.@optimisticlock) != true) { ++ WriteAttribute(@"optimistic-lock", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@optimisticlock))); ++ } ++ WriteAttribute(@"foreign-key", @"", ((global::System.String)o.@foreignkey)); ++ WriteAttribute(@"property-ref", @"", ((global::System.String)o.@propertyref)); ++ WriteAttribute(@"formula", @"", ((global::System.String)o.@formula)); ++ if (o.@lazySpecified) { ++ WriteAttribute(@"lazy", @"", Write28_HbmLaziness(((global::NHibernate.Cfg.MappingSchema.HbmLaziness)o.@lazy))); ++ } ++ if (((global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode)o.@notfound) != global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode.@Exception) { ++ WriteAttribute(@"not-found", @"", Write19_HbmNotFoundMode(((global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode)o.@notfound))); ++ } ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ if (((global::System.Boolean)o.@embedxml) != true) { ++ WriteAttribute(@"embed-xml", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@embedxml))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmColumn) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmFormula) { ++ Write24_HbmFormula(@"formula", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFormula)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ if (o.@notnullSpecified) { ++ } ++ if (o.@outerjoinSpecified) { ++ } ++ if (o.@fetchSpecified) { ++ } ++ if (o.@lazySpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ string Write19_HbmNotFoundMode(global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode.@Ignore: s = @"ignore"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode.@Exception: s = @"exception"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmNotFoundMode"); ++ } ++ return s; ++ } ++ ++ string Write28_HbmLaziness(global::NHibernate.Cfg.MappingSchema.HbmLaziness v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmLaziness.@False: s = @"false"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmLaziness.@Proxy: s = @"proxy"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmLaziness.@NoProxy: s = @"no-proxy"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmLaziness"); ++ } ++ return s; ++ } ++ ++ string Write27_HbmFetchMode(global::NHibernate.Cfg.MappingSchema.HbmFetchMode v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmFetchMode.@Select: s = @"select"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmFetchMode.@Join: s = @"join"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmFetchMode"); ++ } ++ return s; ++ } ++ ++ string Write26_HbmOuterJoinStrategy(global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy.@Auto: s = @"auto"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy.@True: s = @"true"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy.@False: s = @"false"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy"); ++ } ++ return s; ++ } ++ ++ void Write32_HbmParent(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmParent o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmParent)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteEndElement(o); ++ } ++ ++ void Write43_HbmOneToMany(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmOneToMany o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmOneToMany)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ if (((global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode)o.@notfound) != global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode.@Exception) { ++ WriteAttribute(@"not-found", @"", Write19_HbmNotFoundMode(((global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode)o.@notfound))); ++ } ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ if (((global::System.Boolean)o.@embedxml) != true) { ++ WriteAttribute(@"embed-xml", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@embedxml))); ++ } ++ WriteAttribute(@"entity-name", @"", ((global::System.String)o.@entityname)); ++ WriteEndElement(o); ++ } ++ ++ void Write42_HbmManyToMany(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmManyToMany o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmManyToMany)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ if (((global::System.Boolean)o.@embedxml) != true) { ++ WriteAttribute(@"embed-xml", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@embedxml))); ++ } ++ WriteAttribute(@"entity-name", @"", ((global::System.String)o.@entityname)); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column)); ++ WriteAttribute(@"formula", @"", ((global::System.String)o.@formula)); ++ if (((global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode)o.@notfound) != global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode.@Exception) { ++ WriteAttribute(@"not-found", @"", Write19_HbmNotFoundMode(((global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode)o.@notfound))); ++ } ++ if (o.@outerjoinSpecified) { ++ WriteAttribute(@"outer-join", @"", Write26_HbmOuterJoinStrategy(((global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy)o.@outerjoin))); ++ } ++ if (o.@fetchSpecified) { ++ WriteAttribute(@"fetch", @"", Write27_HbmFetchMode(((global::NHibernate.Cfg.MappingSchema.HbmFetchMode)o.@fetch))); ++ } ++ if (o.@lazySpecified) { ++ WriteAttribute(@"lazy", @"", Write18_HbmRestrictedLaziness(((global::NHibernate.Cfg.MappingSchema.HbmRestrictedLaziness)o.@lazy))); ++ } ++ WriteAttribute(@"foreign-key", @"", ((global::System.String)o.@foreignkey)); ++ if (((global::System.Boolean)o.@unique) != false) { ++ WriteAttribute(@"unique", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@unique))); ++ } ++ WriteAttribute(@"where", @"", ((global::System.String)o.@where)); ++ WriteAttribute(@"order-by", @"", ((global::System.String)o.@orderby)); ++ WriteAttribute(@"property-ref", @"", ((global::System.String)o.@propertyref)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmColumn) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmFormula) { ++ Write24_HbmFormula(@"formula", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFormula)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmFilter[] a = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])o.@filter; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write41_HbmFilter(@"filter", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFilter)a[ia]), false, false); ++ } ++ } ++ } ++ if (o.@outerjoinSpecified) { ++ } ++ if (o.@fetchSpecified) { ++ } ++ if (o.@lazySpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ string Write18_HbmRestrictedLaziness(global::NHibernate.Cfg.MappingSchema.HbmRestrictedLaziness v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmRestrictedLaziness.@False: s = @"false"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmRestrictedLaziness.@Proxy: s = @"proxy"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmRestrictedLaziness"); ++ } ++ return s; ++ } ++ ++ void Write31_HbmKey(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmKey o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmKey)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column1)); ++ WriteAttribute(@"property-ref", @"", ((global::System.String)o.@propertyref)); ++ WriteAttribute(@"foreign-key", @"", ((global::System.String)o.@foreignkey)); ++ if (((global::NHibernate.Cfg.MappingSchema.HbmOndelete)o.@ondelete) != global::NHibernate.Cfg.MappingSchema.HbmOndelete.@Noaction) { ++ WriteAttribute(@"on-delete", @"", Write30_HbmOndelete(((global::NHibernate.Cfg.MappingSchema.HbmOndelete)o.@ondelete))); ++ } ++ if (o.@notnullSpecified) { ++ WriteAttribute(@"not-null", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@notnull))); ++ } ++ if (o.@updateSpecified) { ++ WriteAttribute(@"update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@update))); ++ } ++ if (o.@uniqueSpecified) { ++ WriteAttribute(@"unique", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@unique))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])o.@column; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)a[ia]), false, false); ++ } ++ } ++ } ++ if (o.@notnullSpecified) { ++ } ++ if (o.@updateSpecified) { ++ } ++ if (o.@uniqueSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ string Write30_HbmOndelete(global::NHibernate.Cfg.MappingSchema.HbmOndelete v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmOndelete.@Cascade: s = @"cascade"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmOndelete.@Noaction: s = @"noaction"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmOndelete"); ++ } ++ return s; ++ } ++ ++ void Write8_HbmCache(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmCache o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmCache)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"usage", @"", Write6_HbmCacheUsage(((global::NHibernate.Cfg.MappingSchema.HbmCacheUsage)o.@usage))); ++ WriteAttribute(@"region", @"", ((global::System.String)o.@region)); ++ if (((global::NHibernate.Cfg.MappingSchema.HbmCacheInclude)o.@include) != global::NHibernate.Cfg.MappingSchema.HbmCacheInclude.@All) { ++ WriteAttribute(@"include", @"", Write7_HbmCacheInclude(((global::NHibernate.Cfg.MappingSchema.HbmCacheInclude)o.@include))); ++ } ++ WriteEndElement(o); ++ } ++ ++ string Write7_HbmCacheInclude(global::NHibernate.Cfg.MappingSchema.HbmCacheInclude v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmCacheInclude.@All: s = @"all"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmCacheInclude.@NonLazy: s = @"non-lazy"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmCacheInclude"); ++ } ++ return s; ++ } ++ ++ string Write6_HbmCacheUsage(global::NHibernate.Cfg.MappingSchema.HbmCacheUsage v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmCacheUsage.@ReadOnly: s = @"read-only"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmCacheUsage.@ReadWrite: s = @"read-write"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmCacheUsage.@NonstrictReadWrite: s = @"nonstrict-read-write"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmCacheUsage.@Transactional: s = @"transactional"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmCacheUsage"); ++ } ++ return s; ++ } ++ ++ void Write5_HbmSubselect(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmSubselect o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmSubselect)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ { ++ global::System.String[] a = (global::System.String[])o.@Text; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ if ((object)(a[ia]) != null){ ++ WriteValue(((global::System.String)a[ia])); ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ string Write48_HbmCollectionFetchMode(global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode.@Select: s = @"select"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode.@Join: s = @"join"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode.@Subselect: s = @"subselect"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode"); ++ } ++ return s; ++ } ++ ++ string Write47_HbmCollectionLazy(global::NHibernate.Cfg.MappingSchema.HbmCollectionLazy v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmCollectionLazy.@True: s = @"true"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmCollectionLazy.@False: s = @"false"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmCollectionLazy.@Extra: s = @"extra"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmCollectionLazy"); ++ } ++ return s; ++ } ++ ++ void Write69_HbmDynamicComponent(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ if (((global::System.Boolean)o.@unique) != false) { ++ WriteAttribute(@"unique", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@unique))); ++ } ++ if (((global::System.Boolean)o.@update) != true) { ++ WriteAttribute(@"update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@update))); ++ } ++ if (((global::System.Boolean)o.@insert) != true) { ++ WriteAttribute(@"insert", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@insert))); ++ } ++ if (((global::System.Boolean)o.@optimisticlock) != true) { ++ WriteAttribute(@"optimistic-lock", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@optimisticlock))); ++ } ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmList) { ++ Write67_HbmList(@"list", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmList)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray) { ++ Write64_HbmPrimitiveArray(@"primitive-array", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmAny) { ++ Write36_HbmAny(@"any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmAny)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmOneToOne) { ++ Write61_HbmOneToOne(@"one-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmOneToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmMap) { ++ Write58_HbmMap(@"map", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMap)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent) { ++ Write69_HbmDynamicComponent(@"dynamic-component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmBag) { ++ Write50_HbmBag(@"bag", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmBag)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmSet) { ++ Write49_HbmSet(@"set", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSet)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmManyToOne) { ++ Write29_HbmManyToOne(@"many-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmArray) { ++ Write60_HbmArray(@"array", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmArray)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmProperty) { ++ Write34_HbmProperty(@"property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmProperty)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmComponent) { ++ Write68_HbmComponent(@"component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComponent)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write68_HbmComponent(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmComponent o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmComponent)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ if (((global::System.Boolean)o.@unique) != false) { ++ WriteAttribute(@"unique", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@unique))); ++ } ++ if (((global::System.Boolean)o.@update) != true) { ++ WriteAttribute(@"update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@update))); ++ } ++ if (((global::System.Boolean)o.@insert) != true) { ++ WriteAttribute(@"insert", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@insert))); ++ } ++ if (((global::System.Boolean)o.@lazy) != false) { ++ WriteAttribute(@"lazy", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@lazy))); ++ } ++ if (((global::System.Boolean)o.@optimisticlock) != true) { ++ WriteAttribute(@"optimistic-lock", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@optimisticlock))); ++ } ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmTuplizer[] a = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])o.@tuplizer; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write12_HbmTuplizer(@"tuplizer", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmTuplizer)a[ia]), false, false); ++ } ++ } ++ } ++ Write32_HbmParent(@"parent", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmParent)o.@parent), false, false); ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmIdbag) { ++ Write66_HbmIdbag(@"idbag", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmIdbag)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmComponent) { ++ Write68_HbmComponent(@"component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmBag) { ++ Write50_HbmBag(@"bag", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmBag)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent) { ++ Write69_HbmDynamicComponent(@"dynamic-component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmAny) { ++ Write36_HbmAny(@"any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmAny)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmList) { ++ Write67_HbmList(@"list", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmList)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmSet) { ++ Write49_HbmSet(@"set", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSet)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmArray) { ++ Write60_HbmArray(@"array", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmArray)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmManyToOne) { ++ Write29_HbmManyToOne(@"many-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmMap) { ++ Write58_HbmMap(@"map", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMap)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmProperty) { ++ Write34_HbmProperty(@"property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmProperty)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray) { ++ Write64_HbmPrimitiveArray(@"primitive-array", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmOneToOne) { ++ Write61_HbmOneToOne(@"one-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmOneToOne)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write61_HbmOneToOne(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmOneToOne o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmOneToOne)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"formula", @"", ((global::System.String)o.@formula1)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ WriteAttribute(@"entity-name", @"", ((global::System.String)o.@entityname)); ++ WriteAttribute(@"cascade", @"", ((global::System.String)o.@cascade)); ++ if (o.@outerjoinSpecified) { ++ WriteAttribute(@"outer-join", @"", Write26_HbmOuterJoinStrategy(((global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy)o.@outerjoin))); ++ } ++ if (o.@fetchSpecified) { ++ WriteAttribute(@"fetch", @"", Write27_HbmFetchMode(((global::NHibernate.Cfg.MappingSchema.HbmFetchMode)o.@fetch))); ++ } ++ if (((global::System.Boolean)o.@constrained) != false) { ++ WriteAttribute(@"constrained", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@constrained))); ++ } ++ WriteAttribute(@"foreign-key", @"", ((global::System.String)o.@foreignkey)); ++ WriteAttribute(@"property-ref", @"", ((global::System.String)o.@propertyref)); ++ if (o.@lazySpecified) { ++ WriteAttribute(@"lazy", @"", Write28_HbmLaziness(((global::NHibernate.Cfg.MappingSchema.HbmLaziness)o.@lazy))); ++ } ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ if (((global::System.Boolean)o.@embedxml) != true) { ++ WriteAttribute(@"embed-xml", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@embedxml))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmFormula[] a = (global::NHibernate.Cfg.MappingSchema.HbmFormula[])o.@formula; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write24_HbmFormula(@"formula", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFormula)a[ia]), false, false); ++ } ++ } ++ } ++ if (o.@outerjoinSpecified) { ++ } ++ if (o.@fetchSpecified) { ++ } ++ if (o.@lazySpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write64_HbmPrimitiveArray(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"table", @"", ((global::System.String)o.@table)); ++ WriteAttribute(@"schema", @"", ((global::System.String)o.@schema)); ++ WriteAttribute(@"catalog", @"", ((global::System.String)o.@catalog)); ++ WriteAttribute(@"subselect", @"", ((global::System.String)o.@subselect1)); ++ if (((global::System.Boolean)o.@mutable) != true) { ++ WriteAttribute(@"mutable", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@mutable))); ++ } ++ WriteAttribute(@"where", @"", ((global::System.String)o.@where)); ++ WriteAttribute(@"batch-size", @"", ((global::System.String)o.@batchsize)); ++ if (o.@outerjoinSpecified) { ++ WriteAttribute(@"outer-join", @"", Write62_HbmPrimitivearrayOuterjoin(((global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayOuterjoin)o.@outerjoin))); ++ } ++ if (o.@fetchSpecified) { ++ WriteAttribute(@"fetch", @"", Write63_HbmPrimitivearrayFetch(((global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayFetch)o.@fetch))); ++ } ++ WriteAttribute(@"persister", @"", ((global::System.String)o.@persister)); ++ WriteAttribute(@"collection-type", @"", ((global::System.String)o.@collectiontype)); ++ WriteAttribute(@"check", @"", ((global::System.String)o.@check)); ++ if (((global::System.Boolean)o.@optimisticlock) != true) { ++ WriteAttribute(@"optimistic-lock", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@optimisticlock))); ++ } ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ if (((global::System.Boolean)o.@embedxml) != true) { ++ WriteAttribute(@"embed-xml", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@embedxml))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ Write5_HbmSubselect(@"subselect", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSubselect)o.@subselect), false, false); ++ Write8_HbmCache(@"cache", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCache)o.@cache), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])o.@synchronize; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write9_HbmSynchronize(@"synchronize", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSynchronize)a[ia]), false, false); ++ } ++ } ++ } ++ Write10_HbmComment(@"comment", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComment)o.@comment), false, false); ++ Write31_HbmKey(@"key", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKey)o.@key), false, false); ++ if ((object)(o.@Item) != null){ ++ if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmIndex) { ++ Write55_HbmIndex(@"index", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmIndex)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmListIndex) { ++ Write59_HbmListIndex(@"list-index", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmListIndex)o.@Item), false, false); ++ } ++ else if ((object)(o.@Item) != null){ ++ throw CreateUnknownTypeException(o.@Item); ++ } ++ } ++ Write39_HbmElement(@"element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmElement)o.@element), false, false); ++ Write44_HbmLoader(@"loader", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmLoader)o.@loader), false, false); ++ Write46_HbmCustomSQL(@"sql-insert", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlinsert), false, false); ++ Write46_HbmCustomSQL(@"sql-update", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlupdate), false, false); ++ Write46_HbmCustomSQL(@"sql-delete", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldelete), false, false); ++ Write46_HbmCustomSQL(@"sql-delete-all", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldeleteall), false, false); ++ if (o.@outerjoinSpecified) { ++ } ++ if (o.@fetchSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write59_HbmListIndex(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmListIndex o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmListIndex)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column1)); ++ WriteAttribute(@"base", @"", ((global::System.String)o.@base)); ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)o.@column), false, false); ++ WriteEndElement(o); ++ } ++ ++ void Write55_HbmIndex(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmIndex o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmIndex)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column1)); ++ WriteAttribute(@"type", @"", ((global::System.String)o.@type)); ++ WriteAttribute(@"length", @"", ((global::System.String)o.@length)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])o.@column; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ string Write63_HbmPrimitivearrayFetch(global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayFetch v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayFetch.@Join: s = @"join"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayFetch.@Select: s = @"select"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayFetch.@Subselect: s = @"subselect"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmPrimitivearrayFetch"); ++ } ++ return s; ++ } ++ ++ string Write62_HbmPrimitivearrayOuterjoin(global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayOuterjoin v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayOuterjoin.@True: s = @"true"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayOuterjoin.@False: s = @"false"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayOuterjoin.@Auto: s = @"auto"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmPrimitivearrayOuterjoin"); ++ } ++ return s; ++ } ++ ++ void Write58_HbmMap(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmMap o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmMap)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"table", @"", ((global::System.String)o.@table)); ++ WriteAttribute(@"schema", @"", ((global::System.String)o.@schema)); ++ WriteAttribute(@"catalog", @"", ((global::System.String)o.@catalog)); ++ WriteAttribute(@"subselect", @"", ((global::System.String)o.@subselect1)); ++ if (o.@lazySpecified) { ++ WriteAttribute(@"lazy", @"", Write47_HbmCollectionLazy(((global::NHibernate.Cfg.MappingSchema.HbmCollectionLazy)o.@lazy))); ++ } ++ if (((global::System.Boolean)o.@inverse) != false) { ++ WriteAttribute(@"inverse", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@inverse))); ++ } ++ if (((global::System.Boolean)o.@mutable) != true) { ++ WriteAttribute(@"mutable", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@mutable))); ++ } ++ WriteAttribute(@"cascade", @"", ((global::System.String)o.@cascade)); ++ WriteAttribute(@"order-by", @"", ((global::System.String)o.@orderby)); ++ WriteAttribute(@"where", @"", ((global::System.String)o.@where)); ++ if (o.@batchsizeSpecified) { ++ WriteAttribute(@"batch-size", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)o.@batchsize))); ++ } ++ if (o.@outerjoinSpecified) { ++ WriteAttribute(@"outer-join", @"", Write26_HbmOuterJoinStrategy(((global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy)o.@outerjoin))); ++ } ++ if (o.@fetchSpecified) { ++ WriteAttribute(@"fetch", @"", Write48_HbmCollectionFetchMode(((global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode)o.@fetch))); ++ } ++ WriteAttribute(@"persister", @"", ((global::System.String)o.@persister)); ++ WriteAttribute(@"collection-type", @"", ((global::System.String)o.@collectiontype)); ++ WriteAttribute(@"check", @"", ((global::System.String)o.@check)); ++ if (((global::System.Boolean)o.@optimisticlock) != true) { ++ WriteAttribute(@"optimistic-lock", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@optimisticlock))); ++ } ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ if (((global::System.Boolean)o.@embedxml) != true) { ++ WriteAttribute(@"embed-xml", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@embedxml))); ++ } ++ if (o.@genericSpecified) { ++ WriteAttribute(@"generic", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@generic))); ++ } ++ WriteAttribute(@"sort", @"", ((global::System.String)o.@sort)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ Write5_HbmSubselect(@"subselect", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSubselect)o.@subselect), false, false); ++ Write8_HbmCache(@"cache", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCache)o.@cache), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])o.@synchronize; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write9_HbmSynchronize(@"synchronize", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSynchronize)a[ia]), false, false); ++ } ++ } ++ } ++ Write10_HbmComment(@"comment", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComment)o.@comment), false, false); ++ Write31_HbmKey(@"key", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKey)o.@key), false, false); ++ if ((object)(o.@Item) != null){ ++ if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmIndex) { ++ Write55_HbmIndex(@"index", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmIndex)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmIndexManyToAny) { ++ Write56_HbmIndexManyToAny(@"index-many-to-any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmIndexManyToAny)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmMapKey) { ++ Write57_HbmMapKey(@"map-key", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMapKey)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmCompositeMapKey) { ++ Write54_HbmCompositeMapKey(@"composite-map-key", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCompositeMapKey)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmIndexManyToMany) { ++ Write51_HbmIndexManyToMany(@"index-many-to-many", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmIndexManyToMany)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmMapKeyManyToMany) { ++ Write52_HbmMapKeyManyToMany(@"map-key-many-to-many", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMapKeyManyToMany)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmCompositeIndex) { ++ Write53_HbmCompositeIndex(@"composite-index", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCompositeIndex)o.@Item), false, false); ++ } ++ else if ((object)(o.@Item) != null){ ++ throw CreateUnknownTypeException(o.@Item); ++ } ++ } ++ if ((object)(o.@Item1) != null){ ++ if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmElement) { ++ Write39_HbmElement(@"element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmElement)o.@Item1), false, false); ++ } ++ else if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmManyToAny) { ++ Write40_HbmManyToAny(@"many-to-any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToAny)o.@Item1), false, false); ++ } ++ else if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmManyToMany) { ++ Write42_HbmManyToMany(@"many-to-many", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToMany)o.@Item1), false, false); ++ } ++ else if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmCompositeElement) { ++ Write38_HbmCompositeElement(@"composite-element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCompositeElement)o.@Item1), false, false); ++ } ++ else if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmOneToMany) { ++ Write43_HbmOneToMany(@"one-to-many", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmOneToMany)o.@Item1), false, false); ++ } ++ else if ((object)(o.@Item1) != null){ ++ throw CreateUnknownTypeException(o.@Item1); ++ } ++ } ++ Write44_HbmLoader(@"loader", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmLoader)o.@loader), false, false); ++ Write46_HbmCustomSQL(@"sql-insert", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlinsert), false, false); ++ Write46_HbmCustomSQL(@"sql-update", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlupdate), false, false); ++ Write46_HbmCustomSQL(@"sql-delete", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldelete), false, false); ++ Write46_HbmCustomSQL(@"sql-delete-all", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldeleteall), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmFilter[] a = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])o.@filter; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write41_HbmFilter(@"filter", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFilter)a[ia]), false, false); ++ } ++ } ++ } ++ if (o.@lazySpecified) { ++ } ++ if (o.@batchsizeSpecified) { ++ } ++ if (o.@outerjoinSpecified) { ++ } ++ if (o.@fetchSpecified) { ++ } ++ if (o.@genericSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write53_HbmCompositeIndex(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmCompositeIndex o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmCompositeIndex)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmKeyManyToOne) { ++ Write20_HbmKeyManyToOne(@"key-many-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKeyManyToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmKeyProperty) { ++ Write21_HbmKeyProperty(@"key-property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKeyProperty)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write21_HbmKeyProperty(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmKeyProperty o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmKeyProperty)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"type", @"", ((global::System.String)o.@type1)); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column1)); ++ WriteAttribute(@"length", @"", ((global::System.String)o.@length)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])o.@column; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)a[ia]), false, false); ++ } ++ } ++ } ++ Write15_HbmType(@"type", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmType)o.@type), false, false); ++ WriteEndElement(o); ++ } ++ ++ void Write20_HbmKeyManyToOne(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmKeyManyToOne o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmKeyManyToOne)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ WriteAttribute(@"entity-name", @"", ((global::System.String)o.@entityname)); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column1)); ++ WriteAttribute(@"foreign-key", @"", ((global::System.String)o.@foreignkey)); ++ if (o.@lazySpecified) { ++ WriteAttribute(@"lazy", @"", Write18_HbmRestrictedLaziness(((global::NHibernate.Cfg.MappingSchema.HbmRestrictedLaziness)o.@lazy))); ++ } ++ if (((global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode)o.@notfound) != global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode.@Exception) { ++ WriteAttribute(@"not-found", @"", Write19_HbmNotFoundMode(((global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode)o.@notfound))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])o.@column; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)a[ia]), false, false); ++ } ++ } ++ } ++ if (o.@lazySpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write52_HbmMapKeyManyToMany(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmMapKeyManyToMany o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmMapKeyManyToMany)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ WriteAttribute(@"entity-name", @"", ((global::System.String)o.@entityname)); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column)); ++ WriteAttribute(@"formula", @"", ((global::System.String)o.@formula)); ++ WriteAttribute(@"foreign-key", @"", ((global::System.String)o.@foreignkey)); ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmColumn) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmFormula) { ++ Write24_HbmFormula(@"formula", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFormula)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write51_HbmIndexManyToMany(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmIndexManyToMany o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmIndexManyToMany)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ WriteAttribute(@"entity-name", @"", ((global::System.String)o.@entityname)); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column1)); ++ WriteAttribute(@"foreign-key", @"", ((global::System.String)o.@foreignkey)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])o.@column; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write54_HbmCompositeMapKey(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmCompositeMapKey o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmCompositeMapKey)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmKeyProperty) { ++ Write21_HbmKeyProperty(@"key-property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKeyProperty)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmKeyManyToOne) { ++ Write20_HbmKeyManyToOne(@"key-many-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKeyManyToOne)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write57_HbmMapKey(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmMapKey o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmMapKey)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column)); ++ WriteAttribute(@"formula", @"", ((global::System.String)o.@formula)); ++ WriteAttribute(@"type", @"", ((global::System.String)o.@type)); ++ WriteAttribute(@"length", @"", ((global::System.String)o.@length)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmFormula) { ++ Write24_HbmFormula(@"formula", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFormula)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmColumn) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write56_HbmIndexManyToAny(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmIndexManyToAny o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmIndexManyToAny)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"id-type", @"", ((global::System.String)o.@idtype)); ++ WriteAttribute(@"meta-type", @"", ((global::System.String)o.@metatype)); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column1)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])o.@column; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write60_HbmArray(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmArray o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmArray)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"table", @"", ((global::System.String)o.@table)); ++ WriteAttribute(@"schema", @"", ((global::System.String)o.@schema)); ++ WriteAttribute(@"catalog", @"", ((global::System.String)o.@catalog)); ++ WriteAttribute(@"subselect", @"", ((global::System.String)o.@subselect1)); ++ if (((global::System.Boolean)o.@inverse) != false) { ++ WriteAttribute(@"inverse", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@inverse))); ++ } ++ if (((global::System.Boolean)o.@mutable) != true) { ++ WriteAttribute(@"mutable", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@mutable))); ++ } ++ WriteAttribute(@"element-class", @"", ((global::System.String)o.@elementclass)); ++ WriteAttribute(@"cascade", @"", ((global::System.String)o.@cascade)); ++ WriteAttribute(@"where", @"", ((global::System.String)o.@where)); ++ if (o.@batchsizeSpecified) { ++ WriteAttribute(@"batch-size", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)o.@batchsize))); ++ } ++ if (o.@outerjoinSpecified) { ++ WriteAttribute(@"outer-join", @"", Write26_HbmOuterJoinStrategy(((global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy)o.@outerjoin))); ++ } ++ if (o.@fetchSpecified) { ++ WriteAttribute(@"fetch", @"", Write48_HbmCollectionFetchMode(((global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode)o.@fetch))); ++ } ++ WriteAttribute(@"persister", @"", ((global::System.String)o.@persister)); ++ WriteAttribute(@"collection-type", @"", ((global::System.String)o.@collectiontype)); ++ WriteAttribute(@"check", @"", ((global::System.String)o.@check)); ++ if (((global::System.Boolean)o.@optimisticlock) != true) { ++ WriteAttribute(@"optimistic-lock", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@optimisticlock))); ++ } ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ if (((global::System.Boolean)o.@embedxml) != true) { ++ WriteAttribute(@"embed-xml", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@embedxml))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ Write5_HbmSubselect(@"subselect", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSubselect)o.@subselect), false, false); ++ Write8_HbmCache(@"cache", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCache)o.@cache), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])o.@synchronize; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write9_HbmSynchronize(@"synchronize", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSynchronize)a[ia]), false, false); ++ } ++ } ++ } ++ Write10_HbmComment(@"comment", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComment)o.@comment), false, false); ++ Write31_HbmKey(@"key", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKey)o.@key), false, false); ++ if ((object)(o.@Item) != null){ ++ if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmIndex) { ++ Write55_HbmIndex(@"index", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmIndex)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmListIndex) { ++ Write59_HbmListIndex(@"list-index", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmListIndex)o.@Item), false, false); ++ } ++ else if ((object)(o.@Item) != null){ ++ throw CreateUnknownTypeException(o.@Item); ++ } ++ } ++ if ((object)(o.@Item1) != null){ ++ if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmManyToAny) { ++ Write40_HbmManyToAny(@"many-to-any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToAny)o.@Item1), false, false); ++ } ++ else if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmCompositeElement) { ++ Write38_HbmCompositeElement(@"composite-element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCompositeElement)o.@Item1), false, false); ++ } ++ else if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmElement) { ++ Write39_HbmElement(@"element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmElement)o.@Item1), false, false); ++ } ++ else if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmManyToMany) { ++ Write42_HbmManyToMany(@"many-to-many", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToMany)o.@Item1), false, false); ++ } ++ else if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmOneToMany) { ++ Write43_HbmOneToMany(@"one-to-many", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmOneToMany)o.@Item1), false, false); ++ } ++ else if ((object)(o.@Item1) != null){ ++ throw CreateUnknownTypeException(o.@Item1); ++ } ++ } ++ Write44_HbmLoader(@"loader", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmLoader)o.@loader), false, false); ++ Write46_HbmCustomSQL(@"sql-insert", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlinsert), false, false); ++ Write46_HbmCustomSQL(@"sql-update", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlupdate), false, false); ++ Write46_HbmCustomSQL(@"sql-delete", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldelete), false, false); ++ Write46_HbmCustomSQL(@"sql-delete-all", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldeleteall), false, false); ++ if (o.@batchsizeSpecified) { ++ } ++ if (o.@outerjoinSpecified) { ++ } ++ if (o.@fetchSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write49_HbmSet(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmSet o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmSet)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"table", @"", ((global::System.String)o.@table)); ++ WriteAttribute(@"schema", @"", ((global::System.String)o.@schema)); ++ WriteAttribute(@"catalog", @"", ((global::System.String)o.@catalog)); ++ WriteAttribute(@"subselect", @"", ((global::System.String)o.@subselect1)); ++ if (o.@lazySpecified) { ++ WriteAttribute(@"lazy", @"", Write47_HbmCollectionLazy(((global::NHibernate.Cfg.MappingSchema.HbmCollectionLazy)o.@lazy))); ++ } ++ if (((global::System.Boolean)o.@inverse) != false) { ++ WriteAttribute(@"inverse", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@inverse))); ++ } ++ if (((global::System.Boolean)o.@mutable) != true) { ++ WriteAttribute(@"mutable", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@mutable))); ++ } ++ WriteAttribute(@"cascade", @"", ((global::System.String)o.@cascade)); ++ WriteAttribute(@"order-by", @"", ((global::System.String)o.@orderby)); ++ WriteAttribute(@"where", @"", ((global::System.String)o.@where)); ++ if (o.@batchsizeSpecified) { ++ WriteAttribute(@"batch-size", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)o.@batchsize))); ++ } ++ if (o.@outerjoinSpecified) { ++ WriteAttribute(@"outer-join", @"", Write26_HbmOuterJoinStrategy(((global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy)o.@outerjoin))); ++ } ++ if (o.@fetchSpecified) { ++ WriteAttribute(@"fetch", @"", Write48_HbmCollectionFetchMode(((global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode)o.@fetch))); ++ } ++ WriteAttribute(@"persister", @"", ((global::System.String)o.@persister)); ++ WriteAttribute(@"collection-type", @"", ((global::System.String)o.@collectiontype)); ++ WriteAttribute(@"check", @"", ((global::System.String)o.@check)); ++ if (((global::System.Boolean)o.@optimisticlock) != true) { ++ WriteAttribute(@"optimistic-lock", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@optimisticlock))); ++ } ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ if (((global::System.Boolean)o.@embedxml) != true) { ++ WriteAttribute(@"embed-xml", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@embedxml))); ++ } ++ if (o.@genericSpecified) { ++ WriteAttribute(@"generic", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@generic))); ++ } ++ WriteAttribute(@"sort", @"", ((global::System.String)o.@sort)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ Write5_HbmSubselect(@"subselect", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSubselect)o.@subselect), false, false); ++ Write8_HbmCache(@"cache", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCache)o.@cache), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])o.@synchronize; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write9_HbmSynchronize(@"synchronize", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSynchronize)a[ia]), false, false); ++ } ++ } ++ } ++ Write10_HbmComment(@"comment", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComment)o.@comment), false, false); ++ Write31_HbmKey(@"key", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKey)o.@key), false, false); ++ if ((object)(o.@Item) != null){ ++ if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmManyToMany) { ++ Write42_HbmManyToMany(@"many-to-many", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToMany)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmOneToMany) { ++ Write43_HbmOneToMany(@"one-to-many", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmOneToMany)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmManyToAny) { ++ Write40_HbmManyToAny(@"many-to-any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToAny)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmCompositeElement) { ++ Write38_HbmCompositeElement(@"composite-element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCompositeElement)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmElement) { ++ Write39_HbmElement(@"element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmElement)o.@Item), false, false); ++ } ++ else if ((object)(o.@Item) != null){ ++ throw CreateUnknownTypeException(o.@Item); ++ } ++ } ++ Write44_HbmLoader(@"loader", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmLoader)o.@loader), false, false); ++ Write46_HbmCustomSQL(@"sql-insert", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlinsert), false, false); ++ Write46_HbmCustomSQL(@"sql-update", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlupdate), false, false); ++ Write46_HbmCustomSQL(@"sql-delete", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldelete), false, false); ++ Write46_HbmCustomSQL(@"sql-delete-all", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldeleteall), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmFilter[] a = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])o.@filter; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write41_HbmFilter(@"filter", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFilter)a[ia]), false, false); ++ } ++ } ++ } ++ if (o.@lazySpecified) { ++ } ++ if (o.@batchsizeSpecified) { ++ } ++ if (o.@outerjoinSpecified) { ++ } ++ if (o.@fetchSpecified) { ++ } ++ if (o.@genericSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write67_HbmList(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmList o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmList)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"table", @"", ((global::System.String)o.@table)); ++ WriteAttribute(@"schema", @"", ((global::System.String)o.@schema)); ++ WriteAttribute(@"catalog", @"", ((global::System.String)o.@catalog)); ++ WriteAttribute(@"subselect", @"", ((global::System.String)o.@subselect1)); ++ if (o.@lazySpecified) { ++ WriteAttribute(@"lazy", @"", Write47_HbmCollectionLazy(((global::NHibernate.Cfg.MappingSchema.HbmCollectionLazy)o.@lazy))); ++ } ++ if (((global::System.Boolean)o.@inverse) != false) { ++ WriteAttribute(@"inverse", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@inverse))); ++ } ++ if (((global::System.Boolean)o.@mutable) != true) { ++ WriteAttribute(@"mutable", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@mutable))); ++ } ++ WriteAttribute(@"cascade", @"", ((global::System.String)o.@cascade)); ++ WriteAttribute(@"order-by", @"", ((global::System.String)o.@orderby)); ++ WriteAttribute(@"where", @"", ((global::System.String)o.@where)); ++ if (o.@batchsizeSpecified) { ++ WriteAttribute(@"batch-size", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)o.@batchsize))); ++ } ++ if (o.@outerjoinSpecified) { ++ WriteAttribute(@"outer-join", @"", Write26_HbmOuterJoinStrategy(((global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy)o.@outerjoin))); ++ } ++ if (o.@fetchSpecified) { ++ WriteAttribute(@"fetch", @"", Write48_HbmCollectionFetchMode(((global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode)o.@fetch))); ++ } ++ WriteAttribute(@"persister", @"", ((global::System.String)o.@persister)); ++ WriteAttribute(@"collection-type", @"", ((global::System.String)o.@collectiontype)); ++ WriteAttribute(@"check", @"", ((global::System.String)o.@check)); ++ if (((global::System.Boolean)o.@optimisticlock) != true) { ++ WriteAttribute(@"optimistic-lock", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@optimisticlock))); ++ } ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ if (((global::System.Boolean)o.@embedxml) != true) { ++ WriteAttribute(@"embed-xml", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@embedxml))); ++ } ++ if (o.@genericSpecified) { ++ WriteAttribute(@"generic", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@generic))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ Write5_HbmSubselect(@"subselect", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSubselect)o.@subselect), false, false); ++ Write8_HbmCache(@"cache", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCache)o.@cache), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])o.@synchronize; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write9_HbmSynchronize(@"synchronize", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSynchronize)a[ia]), false, false); ++ } ++ } ++ } ++ Write10_HbmComment(@"comment", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComment)o.@comment), false, false); ++ Write31_HbmKey(@"key", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKey)o.@key), false, false); ++ if ((object)(o.@Item) != null){ ++ if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmListIndex) { ++ Write59_HbmListIndex(@"list-index", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmListIndex)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmIndex) { ++ Write55_HbmIndex(@"index", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmIndex)o.@Item), false, false); ++ } ++ else if ((object)(o.@Item) != null){ ++ throw CreateUnknownTypeException(o.@Item); ++ } ++ } ++ if ((object)(o.@Item1) != null){ ++ if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmManyToMany) { ++ Write42_HbmManyToMany(@"many-to-many", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToMany)o.@Item1), false, false); ++ } ++ else if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmOneToMany) { ++ Write43_HbmOneToMany(@"one-to-many", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmOneToMany)o.@Item1), false, false); ++ } ++ else if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmManyToAny) { ++ Write40_HbmManyToAny(@"many-to-any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToAny)o.@Item1), false, false); ++ } ++ else if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmCompositeElement) { ++ Write38_HbmCompositeElement(@"composite-element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCompositeElement)o.@Item1), false, false); ++ } ++ else if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmElement) { ++ Write39_HbmElement(@"element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmElement)o.@Item1), false, false); ++ } ++ else if ((object)(o.@Item1) != null){ ++ throw CreateUnknownTypeException(o.@Item1); ++ } ++ } ++ Write44_HbmLoader(@"loader", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmLoader)o.@loader), false, false); ++ Write46_HbmCustomSQL(@"sql-insert", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlinsert), false, false); ++ Write46_HbmCustomSQL(@"sql-update", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlupdate), false, false); ++ Write46_HbmCustomSQL(@"sql-delete", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldelete), false, false); ++ Write46_HbmCustomSQL(@"sql-delete-all", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldeleteall), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmFilter[] a = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])o.@filter; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write41_HbmFilter(@"filter", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFilter)a[ia]), false, false); ++ } ++ } ++ } ++ if (o.@lazySpecified) { ++ } ++ if (o.@batchsizeSpecified) { ++ } ++ if (o.@outerjoinSpecified) { ++ } ++ if (o.@fetchSpecified) { ++ } ++ if (o.@genericSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write66_HbmIdbag(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmIdbag o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmIdbag)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"table", @"", ((global::System.String)o.@table)); ++ WriteAttribute(@"schema", @"", ((global::System.String)o.@schema)); ++ WriteAttribute(@"catalog", @"", ((global::System.String)o.@catalog)); ++ WriteAttribute(@"subselect", @"", ((global::System.String)o.@subselect1)); ++ if (o.@lazySpecified) { ++ WriteAttribute(@"lazy", @"", Write47_HbmCollectionLazy(((global::NHibernate.Cfg.MappingSchema.HbmCollectionLazy)o.@lazy))); ++ } ++ if (((global::System.Boolean)o.@inverse) != false) { ++ WriteAttribute(@"inverse", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@inverse))); ++ } ++ if (((global::System.Boolean)o.@mutable) != true) { ++ WriteAttribute(@"mutable", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@mutable))); ++ } ++ WriteAttribute(@"cascade", @"", ((global::System.String)o.@cascade)); ++ WriteAttribute(@"order-by", @"", ((global::System.String)o.@orderby)); ++ WriteAttribute(@"where", @"", ((global::System.String)o.@where)); ++ if (o.@batchsizeSpecified) { ++ WriteAttribute(@"batch-size", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)o.@batchsize))); ++ } ++ if (o.@outerjoinSpecified) { ++ WriteAttribute(@"outer-join", @"", Write26_HbmOuterJoinStrategy(((global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy)o.@outerjoin))); ++ } ++ if (o.@fetchSpecified) { ++ WriteAttribute(@"fetch", @"", Write48_HbmCollectionFetchMode(((global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode)o.@fetch))); ++ } ++ WriteAttribute(@"persister", @"", ((global::System.String)o.@persister)); ++ WriteAttribute(@"collection-type", @"", ((global::System.String)o.@collectiontype)); ++ WriteAttribute(@"check", @"", ((global::System.String)o.@check)); ++ if (((global::System.Boolean)o.@optimisticlock) != true) { ++ WriteAttribute(@"optimistic-lock", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@optimisticlock))); ++ } ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ if (((global::System.Boolean)o.@embedxml) != true) { ++ WriteAttribute(@"embed-xml", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@embedxml))); ++ } ++ if (o.@genericSpecified) { ++ WriteAttribute(@"generic", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@generic))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ Write5_HbmSubselect(@"subselect", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSubselect)o.@subselect), false, false); ++ Write8_HbmCache(@"cache", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCache)o.@cache), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])o.@synchronize; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write9_HbmSynchronize(@"synchronize", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSynchronize)a[ia]), false, false); ++ } ++ } ++ } ++ Write10_HbmComment(@"comment", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComment)o.@comment), false, false); ++ Write65_HbmCollectionId(@"collection-id", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCollectionId)o.@collectionid), false, false); ++ Write31_HbmKey(@"key", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKey)o.@key), false, false); ++ if ((object)(o.@Item) != null){ ++ if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmManyToAny) { ++ Write40_HbmManyToAny(@"many-to-any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToAny)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmManyToMany) { ++ Write42_HbmManyToMany(@"many-to-many", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToMany)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmElement) { ++ Write39_HbmElement(@"element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmElement)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmCompositeElement) { ++ Write38_HbmCompositeElement(@"composite-element", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCompositeElement)o.@Item), false, false); ++ } ++ else if ((object)(o.@Item) != null){ ++ throw CreateUnknownTypeException(o.@Item); ++ } ++ } ++ Write44_HbmLoader(@"loader", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmLoader)o.@loader), false, false); ++ Write46_HbmCustomSQL(@"sql-insert", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlinsert), false, false); ++ Write46_HbmCustomSQL(@"sql-update", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlupdate), false, false); ++ Write46_HbmCustomSQL(@"sql-delete", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldelete), false, false); ++ Write46_HbmCustomSQL(@"sql-delete-all", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldeleteall), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmFilter[] a = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])o.@filter; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write41_HbmFilter(@"filter", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFilter)a[ia]), false, false); ++ } ++ } ++ } ++ if (o.@lazySpecified) { ++ } ++ if (o.@batchsizeSpecified) { ++ } ++ if (o.@outerjoinSpecified) { ++ } ++ if (o.@fetchSpecified) { ++ } ++ if (o.@genericSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write65_HbmCollectionId(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmCollectionId o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmCollectionId)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column1)); ++ WriteAttribute(@"type", @"", ((global::System.String)o.@type)); ++ WriteAttribute(@"length", @"", ((global::System.String)o.@length)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])o.@column; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)a[ia]), false, false); ++ } ++ } ++ } ++ Write16_HbmGenerator(@"generator", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmGenerator)o.@generator), false, false); ++ WriteEndElement(o); ++ } ++ ++ void Write16_HbmGenerator(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmGenerator o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmGenerator)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmParam[] a = (global::NHibernate.Cfg.MappingSchema.HbmParam[])o.@param; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write14_HbmParam(@"param", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmParam)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write12_HbmTuplizer(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmTuplizer o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ if (o.@entitymodeSpecified) { ++ WriteAttribute(@"entity-mode", @"", Write11_HbmTuplizerEntitymode(((global::NHibernate.Cfg.MappingSchema.HbmTuplizerEntitymode)o.@entitymode))); ++ } ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ if (o.@entitymodeSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ string Write11_HbmTuplizerEntitymode(global::NHibernate.Cfg.MappingSchema.HbmTuplizerEntitymode v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmTuplizerEntitymode.@Poco: s = @"poco"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmTuplizerEntitymode.@Xml: s = @"xml"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmTuplizerEntitymode.@DynamicMap: s = @"dynamic-map"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmTuplizerEntitymode"); ++ } ++ return s; ++ } ++ ++ string Write77_HbmJoinFetch(global::NHibernate.Cfg.MappingSchema.HbmJoinFetch v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmJoinFetch.@Join: s = @"join"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmJoinFetch.@Select: s = @"select"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmJoinFetch"); ++ } ++ return s; ++ } ++ ++ void Write95_HbmUnionSubclass(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"entity-name", @"", ((global::System.String)o.@entityname)); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"proxy", @"", ((global::System.String)o.@proxy)); ++ WriteAttribute(@"table", @"", ((global::System.String)o.@table)); ++ WriteAttribute(@"schema", @"", ((global::System.String)o.@schema)); ++ WriteAttribute(@"catalog", @"", ((global::System.String)o.@catalog)); ++ WriteAttribute(@"subselect", @"", ((global::System.String)o.@subselect1)); ++ if (((global::System.Boolean)o.@dynamicupdate) != false) { ++ WriteAttribute(@"dynamic-update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@dynamicupdate))); ++ } ++ if (((global::System.Boolean)o.@dynamicinsert) != false) { ++ WriteAttribute(@"dynamic-insert", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@dynamicinsert))); ++ } ++ if (((global::System.Boolean)o.@selectbeforeupdate) != false) { ++ WriteAttribute(@"select-before-update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@selectbeforeupdate))); ++ } ++ WriteAttribute(@"extends", @"", ((global::System.String)o.@extends)); ++ if (o.@lazySpecified) { ++ WriteAttribute(@"lazy", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@lazy))); ++ } ++ if (o.@abstractSpecified) { ++ WriteAttribute(@"abstract", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@abstract))); ++ } ++ WriteAttribute(@"persister", @"", ((global::System.String)o.@persister)); ++ WriteAttribute(@"check", @"", ((global::System.String)o.@check)); ++ WriteAttribute(@"batch-size", @"", ((global::System.String)o.@batchsize)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ Write5_HbmSubselect(@"subselect", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSubselect)o.@subselect), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])o.@synchronize; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write9_HbmSynchronize(@"synchronize", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSynchronize)a[ia]), false, false); ++ } ++ } ++ } ++ Write10_HbmComment(@"comment", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComment)o.@comment), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmTuplizer[] a = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])o.@tuplizer; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write12_HbmTuplizer(@"tuplizer", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmTuplizer)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray) { ++ Write64_HbmPrimitiveArray(@"primitive-array", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmArray) { ++ Write60_HbmArray(@"array", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmArray)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmMap) { ++ Write58_HbmMap(@"map", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMap)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmProperties) { ++ Write76_HbmProperties(@"properties", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmProperties)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmAny) { ++ Write36_HbmAny(@"any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmAny)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmSet) { ++ Write49_HbmSet(@"set", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSet)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmProperty) { ++ Write34_HbmProperty(@"property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmProperty)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmComponent) { ++ Write68_HbmComponent(@"component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmBag) { ++ Write50_HbmBag(@"bag", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmBag)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmOneToOne) { ++ Write61_HbmOneToOne(@"one-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmOneToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent) { ++ Write69_HbmDynamicComponent(@"dynamic-component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmManyToOne) { ++ Write29_HbmManyToOne(@"many-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmList) { ++ Write67_HbmList(@"list", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmList)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmIdbag) { ++ Write66_HbmIdbag(@"idbag", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmIdbag)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass[] a = (global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass[])o.@unionsubclass1; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write95_HbmUnionSubclass(@"union-subclass", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass)a[ia]), false, false); ++ } ++ } ++ } ++ Write44_HbmLoader(@"loader", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmLoader)o.@loader), false, false); ++ Write46_HbmCustomSQL(@"sql-insert", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlinsert), false, false); ++ Write46_HbmCustomSQL(@"sql-update", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlupdate), false, false); ++ Write46_HbmCustomSQL(@"sql-delete", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldelete), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmResultSet[] a = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])o.@resultset; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write87_HbmResultSet(@"resultset", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmResultSet)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items1; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmQuery) { ++ Write91_HbmQuery(@"query", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmQuery)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmSqlQuery) { ++ Write92_HbmSqlQuery(@"sql-query", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSqlQuery)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ if (o.@lazySpecified) { ++ } ++ if (o.@abstractSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write76_HbmProperties(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmProperties o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmProperties)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ if (((global::System.Boolean)o.@unique) != false) { ++ WriteAttribute(@"unique", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@unique))); ++ } ++ if (((global::System.Boolean)o.@insert) != true) { ++ WriteAttribute(@"insert", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@insert))); ++ } ++ if (((global::System.Boolean)o.@update) != true) { ++ WriteAttribute(@"update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@update))); ++ } ++ if (((global::System.Boolean)o.@optimisticlock) != true) { ++ WriteAttribute(@"optimistic-lock", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@optimisticlock))); ++ } ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmComponent) { ++ Write68_HbmComponent(@"component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmManyToOne) { ++ Write29_HbmManyToOne(@"many-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent) { ++ Write69_HbmDynamicComponent(@"dynamic-component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmProperty) { ++ Write34_HbmProperty(@"property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmProperty)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write93_HbmJoinedSubclass(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"entity-name", @"", ((global::System.String)o.@entityname)); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"proxy", @"", ((global::System.String)o.@proxy)); ++ WriteAttribute(@"table", @"", ((global::System.String)o.@table)); ++ WriteAttribute(@"schema", @"", ((global::System.String)o.@schema)); ++ WriteAttribute(@"catalog", @"", ((global::System.String)o.@catalog)); ++ WriteAttribute(@"subselect", @"", ((global::System.String)o.@subselect1)); ++ if (((global::System.Boolean)o.@dynamicupdate) != false) { ++ WriteAttribute(@"dynamic-update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@dynamicupdate))); ++ } ++ if (((global::System.Boolean)o.@dynamicinsert) != false) { ++ WriteAttribute(@"dynamic-insert", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@dynamicinsert))); ++ } ++ if (((global::System.Boolean)o.@selectbeforeupdate) != false) { ++ WriteAttribute(@"select-before-update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@selectbeforeupdate))); ++ } ++ WriteAttribute(@"extends", @"", ((global::System.String)o.@extends)); ++ if (o.@lazySpecified) { ++ WriteAttribute(@"lazy", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@lazy))); ++ } ++ if (o.@abstractSpecified) { ++ WriteAttribute(@"abstract", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@abstract))); ++ } ++ WriteAttribute(@"persister", @"", ((global::System.String)o.@persister)); ++ WriteAttribute(@"check", @"", ((global::System.String)o.@check)); ++ WriteAttribute(@"batch-size", @"", ((global::System.String)o.@batchsize)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ Write5_HbmSubselect(@"subselect", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSubselect)o.@subselect), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])o.@synchronize; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write9_HbmSynchronize(@"synchronize", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSynchronize)a[ia]), false, false); ++ } ++ } ++ } ++ Write10_HbmComment(@"comment", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComment)o.@comment), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmTuplizer[] a = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])o.@tuplizer; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write12_HbmTuplizer(@"tuplizer", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmTuplizer)a[ia]), false, false); ++ } ++ } ++ } ++ Write31_HbmKey(@"key", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKey)o.@key), false, false); ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray) { ++ Write64_HbmPrimitiveArray(@"primitive-array", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmSet) { ++ Write49_HbmSet(@"set", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSet)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmProperty) { ++ Write34_HbmProperty(@"property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmProperty)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmIdbag) { ++ Write66_HbmIdbag(@"idbag", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmIdbag)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmBag) { ++ Write50_HbmBag(@"bag", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmBag)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmArray) { ++ Write60_HbmArray(@"array", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmArray)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmAny) { ++ Write36_HbmAny(@"any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmAny)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmList) { ++ Write67_HbmList(@"list", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmList)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent) { ++ Write69_HbmDynamicComponent(@"dynamic-component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmMap) { ++ Write58_HbmMap(@"map", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMap)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmComponent) { ++ Write68_HbmComponent(@"component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmOneToOne) { ++ Write61_HbmOneToOne(@"one-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmOneToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmProperties) { ++ Write76_HbmProperties(@"properties", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmProperties)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmManyToOne) { ++ Write29_HbmManyToOne(@"many-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToOne)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass[] a = (global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass[])o.@joinedsubclass1; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write93_HbmJoinedSubclass(@"joined-subclass", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass)a[ia]), false, false); ++ } ++ } ++ } ++ Write44_HbmLoader(@"loader", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmLoader)o.@loader), false, false); ++ Write46_HbmCustomSQL(@"sql-insert", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlinsert), false, false); ++ Write46_HbmCustomSQL(@"sql-update", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlupdate), false, false); ++ Write46_HbmCustomSQL(@"sql-delete", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldelete), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmResultSet[] a = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])o.@resultset; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write87_HbmResultSet(@"resultset", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmResultSet)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items1; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmSqlQuery) { ++ Write92_HbmSqlQuery(@"sql-query", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSqlQuery)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmQuery) { ++ Write91_HbmQuery(@"query", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmQuery)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ if (o.@lazySpecified) { ++ } ++ if (o.@abstractSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write98_HbmClass(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmClass o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmClass)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"entity-name", @"", ((global::System.String)o.@entityname)); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"proxy", @"", ((global::System.String)o.@proxy)); ++ if (o.@lazySpecified) { ++ WriteAttribute(@"lazy", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@lazy))); ++ } ++ WriteAttribute(@"schema-action", @"", ((global::System.String)o.@schemaaction)); ++ WriteAttribute(@"table", @"", ((global::System.String)o.@table)); ++ WriteAttribute(@"schema", @"", ((global::System.String)o.@schema)); ++ WriteAttribute(@"catalog", @"", ((global::System.String)o.@catalog)); ++ WriteAttribute(@"subselect", @"", ((global::System.String)o.@subselect1)); ++ WriteAttribute(@"discriminator-value", @"", ((global::System.String)o.@discriminatorvalue)); ++ if (((global::System.Boolean)o.@mutable) != true) { ++ WriteAttribute(@"mutable", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@mutable))); ++ } ++ if (o.@abstractSpecified) { ++ WriteAttribute(@"abstract", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@abstract))); ++ } ++ if (((global::NHibernate.Cfg.MappingSchema.HbmPolymorphismType)o.@polymorphism) != global::NHibernate.Cfg.MappingSchema.HbmPolymorphismType.@Implicit) { ++ WriteAttribute(@"polymorphism", @"", Write96_HbmPolymorphismType(((global::NHibernate.Cfg.MappingSchema.HbmPolymorphismType)o.@polymorphism))); ++ } ++ WriteAttribute(@"where", @"", ((global::System.String)o.@where)); ++ WriteAttribute(@"persister", @"", ((global::System.String)o.@persister)); ++ if (((global::System.Boolean)o.@dynamicupdate) != false) { ++ WriteAttribute(@"dynamic-update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@dynamicupdate))); ++ } ++ if (((global::System.Boolean)o.@dynamicinsert) != false) { ++ WriteAttribute(@"dynamic-insert", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@dynamicinsert))); ++ } ++ if (o.@batchsizeSpecified) { ++ WriteAttribute(@"batch-size", @"", System.Xml.XmlConvert.ToString((global::System.Int32)((global::System.Int32)o.@batchsize))); ++ } ++ if (((global::System.Boolean)o.@selectbeforeupdate) != false) { ++ WriteAttribute(@"select-before-update", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@selectbeforeupdate))); ++ } ++ if (((global::NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode)o.@optimisticlock) != global::NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode.@Version) { ++ WriteAttribute(@"optimistic-lock", @"", Write97_HbmOptimisticLockMode(((global::NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode)o.@optimisticlock))); ++ } ++ WriteAttribute(@"check", @"", ((global::System.String)o.@check)); ++ WriteAttribute(@"rowid", @"", ((global::System.String)o.@rowid)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ Write5_HbmSubselect(@"subselect", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSubselect)o.@subselect), false, false); ++ Write8_HbmCache(@"cache", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCache)o.@cache), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])o.@synchronize; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write9_HbmSynchronize(@"synchronize", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSynchronize)a[ia]), false, false); ++ } ++ } ++ } ++ Write10_HbmComment(@"comment", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComment)o.@comment), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmTuplizer[] a = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])o.@tuplizer; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write12_HbmTuplizer(@"tuplizer", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmTuplizer)a[ia]), false, false); ++ } ++ } ++ } ++ if ((object)(o.@Item) != null){ ++ if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmCompositeId) { ++ Write23_HbmCompositeId(@"composite-id", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCompositeId)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmId) { ++ Write17_HbmId(@"id", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmId)o.@Item), false, false); ++ } ++ else if ((object)(o.@Item) != null){ ++ throw CreateUnknownTypeException(o.@Item); ++ } ++ } ++ Write25_HbmDiscriminator(@"discriminator", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmDiscriminator)o.@discriminator), false, false); ++ Write70_HbmNaturalId(@"natural-id", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmNaturalId)o.@naturalid), false, false); ++ if ((object)(o.@Item1) != null){ ++ if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmVersion) { ++ Write75_HbmVersion(@"version", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmVersion)o.@Item1), false, false); ++ } ++ else if (o.@Item1 is global::NHibernate.Cfg.MappingSchema.HbmTimestamp) { ++ Write74_HbmTimestamp(@"timestamp", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmTimestamp)o.@Item1), false, false); ++ } ++ else if ((object)(o.@Item1) != null){ ++ throw CreateUnknownTypeException(o.@Item1); ++ } ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmAny) { ++ Write36_HbmAny(@"any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmAny)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmMap) { ++ Write58_HbmMap(@"map", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMap)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmManyToOne) { ++ Write29_HbmManyToOne(@"many-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray) { ++ Write64_HbmPrimitiveArray(@"primitive-array", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmSet) { ++ Write49_HbmSet(@"set", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSet)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmProperty) { ++ Write34_HbmProperty(@"property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmProperty)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmProperties) { ++ Write76_HbmProperties(@"properties", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmProperties)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmBag) { ++ Write50_HbmBag(@"bag", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmBag)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmArray) { ++ Write60_HbmArray(@"array", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmArray)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmOneToOne) { ++ Write61_HbmOneToOne(@"one-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmOneToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmComponent) { ++ Write68_HbmComponent(@"component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmList) { ++ Write67_HbmList(@"list", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmList)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmIdbag) { ++ Write66_HbmIdbag(@"idbag", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmIdbag)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent) { ++ Write69_HbmDynamicComponent(@"dynamic-component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items1; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmSubclass) { ++ Write94_HbmSubclass(@"subclass", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSubclass)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass) { ++ Write95_HbmUnionSubclass(@"union-subclass", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmJoin) { ++ Write78_HbmJoin(@"join", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmJoin)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass) { ++ Write93_HbmJoinedSubclass(@"joined-subclass", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ Write44_HbmLoader(@"loader", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmLoader)o.@loader), false, false); ++ Write46_HbmCustomSQL(@"sql-insert", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlinsert), false, false); ++ Write46_HbmCustomSQL(@"sql-update", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqlupdate), false, false); ++ Write46_HbmCustomSQL(@"sql-delete", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmCustomSQL)o.@sqldelete), false, false); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmFilter[] a = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])o.@filter; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write41_HbmFilter(@"filter", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFilter)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmResultSet[] a = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])o.@resultset; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write87_HbmResultSet(@"resultset", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmResultSet)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items2; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmSqlQuery) { ++ Write92_HbmSqlQuery(@"sql-query", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmSqlQuery)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmQuery) { ++ Write91_HbmQuery(@"query", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmQuery)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ if (o.@lazySpecified) { ++ } ++ if (o.@abstractSpecified) { ++ } ++ if (o.@batchsizeSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write74_HbmTimestamp(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmTimestamp o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmTimestamp)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ if (o.@unsavedvalueSpecified) { ++ WriteAttribute(@"unsaved-value", @"", Write71_HbmTimestampUnsavedvalue(((global::NHibernate.Cfg.MappingSchema.HbmTimestampUnsavedvalue)o.@unsavedvalue))); ++ } ++ if (((global::NHibernate.Cfg.MappingSchema.HbmTimestampSource)o.@source) != global::NHibernate.Cfg.MappingSchema.HbmTimestampSource.@Vm) { ++ WriteAttribute(@"source", @"", Write72_HbmTimestampSource(((global::NHibernate.Cfg.MappingSchema.HbmTimestampSource)o.@source))); ++ } ++ if (((global::NHibernate.Cfg.MappingSchema.HbmVersionGeneration)o.@generated) != global::NHibernate.Cfg.MappingSchema.HbmVersionGeneration.@Never) { ++ WriteAttribute(@"generated", @"", Write73_HbmVersionGeneration(((global::NHibernate.Cfg.MappingSchema.HbmVersionGeneration)o.@generated))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ if (o.@unsavedvalueSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ string Write73_HbmVersionGeneration(global::NHibernate.Cfg.MappingSchema.HbmVersionGeneration v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmVersionGeneration.@Never: s = @"never"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmVersionGeneration.@Always: s = @"always"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmVersionGeneration"); ++ } ++ return s; ++ } ++ ++ string Write72_HbmTimestampSource(global::NHibernate.Cfg.MappingSchema.HbmTimestampSource v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmTimestampSource.@Vm: s = @"vm"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmTimestampSource.@Db: s = @"db"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmTimestampSource"); ++ } ++ return s; ++ } ++ ++ string Write71_HbmTimestampUnsavedvalue(global::NHibernate.Cfg.MappingSchema.HbmTimestampUnsavedvalue v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmTimestampUnsavedvalue.@Null: s = @"null"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmTimestampUnsavedvalue.@Undefined: s = @"undefined"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmTimestampUnsavedvalue"); ++ } ++ return s; ++ } ++ ++ void Write75_HbmVersion(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmVersion o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmVersion)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column1)); ++ if (((global::System.String)o.@type) != @"Int32") { ++ WriteAttribute(@"type", @"", ((global::System.String)o.@type)); ++ } ++ WriteAttribute(@"unsaved-value", @"", ((global::System.String)o.@unsavedvalue)); ++ if (((global::NHibernate.Cfg.MappingSchema.HbmVersionGeneration)o.@generated) != global::NHibernate.Cfg.MappingSchema.HbmVersionGeneration.@Never) { ++ WriteAttribute(@"generated", @"", Write73_HbmVersionGeneration(((global::NHibernate.Cfg.MappingSchema.HbmVersionGeneration)o.@generated))); ++ } ++ if (o.@insertSpecified) { ++ WriteAttribute(@"insert", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@insert))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])o.@column; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)a[ia]), false, false); ++ } ++ } ++ } ++ if (o.@insertSpecified) { ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write70_HbmNaturalId(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmNaturalId o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmNaturalId)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ if (((global::System.Boolean)o.@mutable) != false) { ++ WriteAttribute(@"mutable", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@mutable))); ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmComponent) { ++ Write68_HbmComponent(@"component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmManyToOne) { ++ Write29_HbmManyToOne(@"many-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmManyToOne)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmProperty) { ++ Write34_HbmProperty(@"property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmProperty)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent) { ++ Write69_HbmDynamicComponent(@"dynamic-component", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmAny) { ++ Write36_HbmAny(@"any", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmAny)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write25_HbmDiscriminator(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmDiscriminator o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmDiscriminator)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column)); ++ WriteAttribute(@"formula", @"", ((global::System.String)o.@formula)); ++ if (((global::System.String)o.@type) != @"string") { ++ WriteAttribute(@"type", @"", ((global::System.String)o.@type)); ++ } ++ if (((global::System.Boolean)o.@notnull) != true) { ++ WriteAttribute(@"not-null", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@notnull))); ++ } ++ WriteAttribute(@"length", @"", ((global::System.String)o.@length)); ++ if (((global::System.Boolean)o.@force) != false) { ++ WriteAttribute(@"force", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@force))); ++ } ++ if (((global::System.Boolean)o.@insert) != true) { ++ WriteAttribute(@"insert", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@insert))); ++ } ++ if ((object)(o.@Item) != null){ ++ if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmColumn) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)o.@Item), false, false); ++ } ++ else if (o.@Item is global::NHibernate.Cfg.MappingSchema.HbmFormula) { ++ Write24_HbmFormula(@"formula", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmFormula)o.@Item), false, false); ++ } ++ else if ((object)(o.@Item) != null){ ++ throw CreateUnknownTypeException(o.@Item); ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ void Write17_HbmId(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmId o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmId)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ WriteAttribute(@"column", @"", ((global::System.String)o.@column1)); ++ WriteAttribute(@"type", @"", ((global::System.String)o.@type1)); ++ WriteAttribute(@"length", @"", ((global::System.String)o.@length)); ++ WriteAttribute(@"unsaved-value", @"", ((global::System.String)o.@unsavedvalue)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])o.@column; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write13_HbmColumn(@"column", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmColumn)a[ia]), false, false); ++ } ++ } ++ } ++ Write15_HbmType(@"type", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmType)o.@type), false, false); ++ Write16_HbmGenerator(@"generator", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmGenerator)o.@generator), false, false); ++ WriteEndElement(o); ++ } ++ ++ void Write23_HbmCompositeId(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmCompositeId o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmCompositeId)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ if (((global::System.Boolean)o.@mapped) != false) { ++ WriteAttribute(@"mapped", @"", System.Xml.XmlConvert.ToString((global::System.Boolean)((global::System.Boolean)o.@mapped))); ++ } ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ WriteAttribute(@"node", @"", ((global::System.String)o.@node)); ++ WriteAttribute(@"access", @"", ((global::System.String)o.@access)); ++ if (((global::NHibernate.Cfg.MappingSchema.HbmUnsavedValueType)o.@unsavedvalue) != global::NHibernate.Cfg.MappingSchema.HbmUnsavedValueType.@Undefined) { ++ WriteAttribute(@"unsaved-value", @"", Write22_HbmUnsavedValueType(((global::NHibernate.Cfg.MappingSchema.HbmUnsavedValueType)o.@unsavedvalue))); ++ } ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])o.@meta; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write4_HbmMeta(@"meta", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmMeta)a[ia]), false, false); ++ } ++ } ++ } ++ { ++ global::System.Object[] a = (global::System.Object[])o.@Items; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ global::System.Object ai = (global::System.Object)a[ia]; ++ if ((object)(ai) != null){ ++ if (ai is global::NHibernate.Cfg.MappingSchema.HbmKeyProperty) { ++ Write21_HbmKeyProperty(@"key-property", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKeyProperty)ai), false, false); ++ } ++ else if (ai is global::NHibernate.Cfg.MappingSchema.HbmKeyManyToOne) { ++ Write20_HbmKeyManyToOne(@"key-many-to-one", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmKeyManyToOne)ai), false, false); ++ } ++ else if ((object)(ai) != null){ ++ throw CreateUnknownTypeException(ai); ++ } ++ } ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ string Write22_HbmUnsavedValueType(global::NHibernate.Cfg.MappingSchema.HbmUnsavedValueType v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmUnsavedValueType.@Undefined: s = @"undefined"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmUnsavedValueType.@Any: s = @"any"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmUnsavedValueType.@None: s = @"none"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmUnsavedValueType"); ++ } ++ return s; ++ } ++ ++ string Write97_HbmOptimisticLockMode(global::NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode.@None: s = @"none"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode.@Version: s = @"version"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode.@Dirty: s = @"dirty"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode.@All: s = @"all"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode"); ++ } ++ return s; ++ } ++ ++ string Write96_HbmPolymorphismType(global::NHibernate.Cfg.MappingSchema.HbmPolymorphismType v) { ++ string s = null; ++ switch (v) { ++ case global::NHibernate.Cfg.MappingSchema.HbmPolymorphismType.@Implicit: s = @"implicit"; break; ++ case global::NHibernate.Cfg.MappingSchema.HbmPolymorphismType.@Explicit: s = @"explicit"; break; ++ default: throw CreateInvalidEnumValueException(((System.Int64)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"NHibernate.Cfg.MappingSchema.HbmPolymorphismType"); ++ } ++ return s; ++ } ++ ++ void Write100_HbmImport(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmImport o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmImport)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ WriteAttribute(@"rename", @"", ((global::System.String)o.@rename)); ++ WriteEndElement(o); ++ } ++ ++ void Write99_HbmTypedef(string n, string ns, global::NHibernate.Cfg.MappingSchema.HbmTypedef o, bool isNullable, bool needType) { ++ if ((object)o == null) { ++ if (isNullable) WriteNullTagLiteral(n, ns); ++ return; ++ } ++ if (!needType) { ++ System.Type t = o.GetType(); ++ if (t == typeof(global::NHibernate.Cfg.MappingSchema.HbmTypedef)) { ++ } ++ else { ++ throw CreateUnknownTypeException(o); ++ } ++ } ++ WriteStartElement(n, ns, o, false, null); ++ if (needType) WriteXsiType(null, @"urn:nhibernate-mapping-2.2"); ++ WriteAttribute(@"class", @"", ((global::System.String)o.@class)); ++ WriteAttribute(@"name", @"", ((global::System.String)o.@name)); ++ { ++ global::NHibernate.Cfg.MappingSchema.HbmParam[] a = (global::NHibernate.Cfg.MappingSchema.HbmParam[])o.@param; ++ if (a != null) { ++ for (int ia = 0; ia < a.Length; ia++) { ++ Write14_HbmParam(@"param", @"urn:nhibernate-mapping-2.2", ((global::NHibernate.Cfg.MappingSchema.HbmParam)a[ia]), false, false); ++ } ++ } ++ } ++ WriteEndElement(o); ++ } ++ ++ protected override void InitCallbacks() { ++ } ++ } ++ ++ internal class XmlSerializationReader1 : System.Xml.Serialization.XmlSerializationReader { ++ ++ public object Read109_class() { ++ object o = null; ++ Reader.MoveToContent(); ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o = Read98_HbmClass(false, true); ++ } ++ else { ++ throw CreateUnknownNodeException(); ++ } ++ } ++ else { ++ UnknownNode(null, @"urn:nhibernate-mapping-2.2:class"); ++ } ++ return (object)o; ++ } ++ ++ public object Read110_hibernatemapping() { ++ object o = null; ++ Reader.MoveToContent(); ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id3_hibernatemapping && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o = Read108_HbmMapping(false, true); ++ } ++ else { ++ throw CreateUnknownNodeException(); ++ } ++ } ++ else { ++ UnknownNode(null, @"urn:nhibernate-mapping-2.2:hibernate-mapping"); ++ } ++ return (object)o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmMapping Read108_HbmMapping(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmMapping o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmMapping(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmTypedef[] a_1 = null; ++ int ca_1 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmImport[] a_2 = null; ++ int ca_2 = 0; ++ global::System.Object[] a_3 = null; ++ int ca_3 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmResultSet[] a_4 = null; ++ int ca_4 = 0; ++ global::System.Object[] a_5 = null; ++ int ca_5 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmFilterDef[] a_6 = null; ++ int ca_6 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject[] a_7 = null; ++ int ca_7 = 0; ++ bool[] paramsRead = new bool[16]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[8] && ((object) Reader.LocalName == (object)id5_schema && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@schema = Reader.Value; ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id6_catalog && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@catalog = Reader.Value; ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id7_defaultcascade && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@defaultcascade = Reader.Value; ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id8_defaultaccess && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@defaultaccess = Reader.Value; ++ paramsRead[11] = true; ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id9_defaultlazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@defaultlazy = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[12] = true; ++ } ++ else if (!paramsRead[13] && ((object) Reader.LocalName == (object)id10_autoimport && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@autoimport = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[13] = true; ++ } ++ else if (!paramsRead[14] && ((object) Reader.LocalName == (object)id11_namespace && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@namespace = Reader.Value; ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id12_assembly && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@assembly = Reader.Value; ++ paramsRead[15] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":schema, :catalog, :default-cascade, :default-access, :default-lazy, :auto-import, :namespace, :assembly"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@typedef = (global::NHibernate.Cfg.MappingSchema.HbmTypedef[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmTypedef), true); ++ o.@import = (global::NHibernate.Cfg.MappingSchema.HbmImport[])ShrinkArray(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmImport), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_3, ca_3, typeof(global::System.Object), true); ++ o.@resultset = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])ShrinkArray(a_4, ca_4, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet), true); ++ o.@Items1 = (global::System.Object[])ShrinkArray(a_5, ca_5, typeof(global::System.Object), true); ++ o.@filterdef = (global::NHibernate.Cfg.MappingSchema.HbmFilterDef[])ShrinkArray(a_6, ca_6, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilterDef), true); ++ o.@databaseobject = (global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject[])ShrinkArray(a_7, ca_7, typeof(global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations0 = 0; ++ int readerCount0 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id14_typedef && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::NHibernate.Cfg.MappingSchema.HbmTypedef[])EnsureArrayIndex(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmTypedef));a_1[ca_1++] = Read99_HbmTypedef(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id15_import && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_2 = (global::NHibernate.Cfg.MappingSchema.HbmImport[])EnsureArrayIndex(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmImport));a_2[ca_2++] = Read100_HbmImport(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id16_unionsubclass && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read95_HbmUnionSubclass(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id17_subclass && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read94_HbmSubclass(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read98_HbmClass(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id18_joinedsubclass && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read93_HbmJoinedSubclass(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id19_resultset && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_4 = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])EnsureArrayIndex(a_4, ca_4, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet));a_4[ca_4++] = Read87_HbmResultSet(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id20_sqlquery && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read92_HbmSqlQuery(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id21_query && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read91_HbmQuery(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id22_filterdef && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::NHibernate.Cfg.MappingSchema.HbmFilterDef[])EnsureArrayIndex(a_6, ca_6, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilterDef));a_6[ca_6++] = Read102_HbmFilterDef(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id23_databaseobject && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_7 = (global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject[])EnsureArrayIndex(a_7, ca_7, typeof(global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject));a_7[ca_7++] = Read107_HbmDatabaseObject(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:typedef, urn:nhibernate-mapping-2.2:import, urn:nhibernate-mapping-2.2:union-subclass, urn:nhibernate-mapping-2.2:subclass, urn:nhibernate-mapping-2.2:class, urn:nhibernate-mapping-2.2:joined-subclass, urn:nhibernate-mapping-2.2:resultset, urn:nhibernate-mapping-2.2:sql-query, urn:nhibernate-mapping-2.2:query, urn:nhibernate-mapping-2.2:filter-def, urn:nhibernate-mapping-2.2:database-object"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:typedef, urn:nhibernate-mapping-2.2:import, urn:nhibernate-mapping-2.2:union-subclass, urn:nhibernate-mapping-2.2:subclass, urn:nhibernate-mapping-2.2:class, urn:nhibernate-mapping-2.2:joined-subclass, urn:nhibernate-mapping-2.2:resultset, urn:nhibernate-mapping-2.2:sql-query, urn:nhibernate-mapping-2.2:query, urn:nhibernate-mapping-2.2:filter-def, urn:nhibernate-mapping-2.2:database-object"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations0, ref readerCount0); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@typedef = (global::NHibernate.Cfg.MappingSchema.HbmTypedef[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmTypedef), true); ++ o.@import = (global::NHibernate.Cfg.MappingSchema.HbmImport[])ShrinkArray(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmImport), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_3, ca_3, typeof(global::System.Object), true); ++ o.@resultset = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])ShrinkArray(a_4, ca_4, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet), true); ++ o.@Items1 = (global::System.Object[])ShrinkArray(a_5, ca_5, typeof(global::System.Object), true); ++ o.@filterdef = (global::NHibernate.Cfg.MappingSchema.HbmFilterDef[])ShrinkArray(a_6, ca_6, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilterDef), true); ++ o.@databaseobject = (global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject[])ShrinkArray(a_7, ca_7, typeof(global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject Read107_HbmDatabaseObject(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmDatabaseObject(); ++ global::System.Object[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmDialectScope[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ o.@dialectscope = (global::NHibernate.Cfg.MappingSchema.HbmDialectScope[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmDialectScope), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations1 = 0; ++ int readerCount1 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id24_create && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read103_HbmCreate(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id25_definition && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read104_HbmDefinition(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id26_drop && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read105_HbmDrop(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id27_dialectscope && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::NHibernate.Cfg.MappingSchema.HbmDialectScope[])EnsureArrayIndex(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmDialectScope));a_1[ca_1++] = Read106_HbmDialectScope(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:create, urn:nhibernate-mapping-2.2:definition, urn:nhibernate-mapping-2.2:drop, urn:nhibernate-mapping-2.2:dialect-scope"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:create, urn:nhibernate-mapping-2.2:definition, urn:nhibernate-mapping-2.2:drop, urn:nhibernate-mapping-2.2:dialect-scope"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations1, ref readerCount1); ++ } ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ o.@dialectscope = (global::NHibernate.Cfg.MappingSchema.HbmDialectScope[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmDialectScope), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmDialectScope Read106_HbmDialectScope(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmDialectScope o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmDialectScope(); ++ global::System.String[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Text = (global::System.String[])ShrinkArray(a_1, ca_1, typeof(global::System.String), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations2 = 0; ++ int readerCount2 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ string tmp = null; ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else if (Reader.NodeType == System.Xml.XmlNodeType.Text || ++ Reader.NodeType == System.Xml.XmlNodeType.CDATA || ++ Reader.NodeType == System.Xml.XmlNodeType.Whitespace || ++ Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace) { ++ a_1 = (global::System.String[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.String));a_1[ca_1++] = Reader.ReadString(); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations2, ref readerCount2); ++ } ++ o.@Text = (global::System.String[])ShrinkArray(a_1, ca_1, typeof(global::System.String), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmDrop Read105_HbmDrop(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmDrop o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmDrop(); ++ global::System.String[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[1]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Text = (global::System.String[])ShrinkArray(a_0, ca_0, typeof(global::System.String), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations3 = 0; ++ int readerCount3 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ string tmp = null; ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else if (Reader.NodeType == System.Xml.XmlNodeType.Text || ++ Reader.NodeType == System.Xml.XmlNodeType.CDATA || ++ Reader.NodeType == System.Xml.XmlNodeType.Whitespace || ++ Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace) { ++ a_0 = (global::System.String[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.String));a_0[ca_0++] = Reader.ReadString(); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations3, ref readerCount3); ++ } ++ o.@Text = (global::System.String[])ShrinkArray(a_0, ca_0, typeof(global::System.String), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmDefinition Read104_HbmDefinition(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmDefinition o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmDefinition(); ++ global::NHibernate.Cfg.MappingSchema.HbmParam[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":class"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@param = (global::NHibernate.Cfg.MappingSchema.HbmParam[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmParam), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations4 = 0; ++ int readerCount4 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id29_param && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmParam[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmParam));a_0[ca_0++] = Read14_HbmParam(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:param"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:param"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations4, ref readerCount4); ++ } ++ o.@param = (global::NHibernate.Cfg.MappingSchema.HbmParam[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmParam), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmParam Read14_HbmParam(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmParam o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmParam(); ++ global::System.String[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Text = (global::System.String[])ShrinkArray(a_1, ca_1, typeof(global::System.String), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations5 = 0; ++ int readerCount5 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ string tmp = null; ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else if (Reader.NodeType == System.Xml.XmlNodeType.Text || ++ Reader.NodeType == System.Xml.XmlNodeType.CDATA || ++ Reader.NodeType == System.Xml.XmlNodeType.Whitespace || ++ Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace) { ++ a_1 = (global::System.String[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.String));a_1[ca_1++] = Reader.ReadString(); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations5, ref readerCount5); ++ } ++ o.@Text = (global::System.String[])ShrinkArray(a_1, ca_1, typeof(global::System.String), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmCreate Read103_HbmCreate(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmCreate o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmCreate(); ++ global::System.String[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[1]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Text = (global::System.String[])ShrinkArray(a_0, ca_0, typeof(global::System.String), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations6 = 0; ++ int readerCount6 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ string tmp = null; ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else if (Reader.NodeType == System.Xml.XmlNodeType.Text || ++ Reader.NodeType == System.Xml.XmlNodeType.CDATA || ++ Reader.NodeType == System.Xml.XmlNodeType.Whitespace || ++ Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace) { ++ a_0 = (global::System.String[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.String));a_0[ca_0++] = Reader.ReadString(); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations6, ref readerCount6); ++ } ++ o.@Text = (global::System.String[])ShrinkArray(a_0, ca_0, typeof(global::System.String), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmFilterDef Read102_HbmFilterDef(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmFilterDef o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmFilterDef(); ++ global::NHibernate.Cfg.MappingSchema.HbmFilterParam[] a_0 = null; ++ int ca_0 = 0; ++ global::System.String[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[5]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id30_condition && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@condition = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id31_usemanytoone && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@usemanytoone = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[4] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :condition, :use-many-to-one"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::NHibernate.Cfg.MappingSchema.HbmFilterParam[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilterParam), true); ++ o.@Text = (global::System.String[])ShrinkArray(a_1, ca_1, typeof(global::System.String), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations7 = 0; ++ int readerCount7 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ string tmp = null; ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id32_filterparam && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmFilterParam[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilterParam));a_0[ca_0++] = Read101_HbmFilterParam(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:filter-param"); ++ } ++ } ++ else if (Reader.NodeType == System.Xml.XmlNodeType.Text || ++ Reader.NodeType == System.Xml.XmlNodeType.CDATA || ++ Reader.NodeType == System.Xml.XmlNodeType.Whitespace || ++ Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace) { ++ a_1 = (global::System.String[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.String));a_1[ca_1++] = Reader.ReadString(); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:filter-param"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations7, ref readerCount7); ++ } ++ o.@Items = (global::NHibernate.Cfg.MappingSchema.HbmFilterParam[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilterParam), true); ++ o.@Text = (global::System.String[])ShrinkArray(a_1, ca_1, typeof(global::System.String), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmFilterParam Read101_HbmFilterParam(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmFilterParam o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmFilterParam(); ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@type = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :type"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations8 = 0; ++ int readerCount8 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations8, ref readerCount8); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmQuery Read91_HbmQuery(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmQuery o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmQuery(); ++ global::NHibernate.Cfg.MappingSchema.HbmQueryParam[] a_0 = null; ++ int ca_0 = 0; ++ global::System.String[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[11]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id34_flushmode && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@flushmode = Read89_HbmFlushMode(Reader.Value); ++ o.@flushmodeSpecified = true; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id35_cacheable && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cacheable = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id36_cacheregion && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cacheregion = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id37_fetchsize && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@fetchsize = System.Xml.XmlConvert.ToInt32(Reader.Value); ++ o.@fetchsizeSpecified = true; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id38_timeout && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@timeout = CollapseWhitespace(Reader.Value); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id39_cachemode && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cachemode = Read90_HbmCacheMode(Reader.Value); ++ o.@cachemodeSpecified = true; ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id40_readonly && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@readonly = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@readonlySpecified = true; ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id41_comment && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@comment = Reader.Value; ++ paramsRead[10] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :flush-mode, :cacheable, :cache-region, :fetch-size, :timeout, :cache-mode, :read-only, :comment"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::NHibernate.Cfg.MappingSchema.HbmQueryParam[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmQueryParam), true); ++ o.@Text = (global::System.String[])ShrinkArray(a_1, ca_1, typeof(global::System.String), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations9 = 0; ++ int readerCount9 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ string tmp = null; ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id42_queryparam && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmQueryParam[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmQueryParam));a_0[ca_0++] = Read88_HbmQueryParam(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:query-param"); ++ } ++ } ++ else if (Reader.NodeType == System.Xml.XmlNodeType.Text || ++ Reader.NodeType == System.Xml.XmlNodeType.CDATA || ++ Reader.NodeType == System.Xml.XmlNodeType.Whitespace || ++ Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace) { ++ a_1 = (global::System.String[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.String));a_1[ca_1++] = Reader.ReadString(); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:query-param"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations9, ref readerCount9); ++ } ++ o.@Items = (global::NHibernate.Cfg.MappingSchema.HbmQueryParam[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmQueryParam), true); ++ o.@Text = (global::System.String[])ShrinkArray(a_1, ca_1, typeof(global::System.String), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmQueryParam Read88_HbmQueryParam(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmQueryParam o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmQueryParam(); ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@type = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :type"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations10 = 0; ++ int readerCount10 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations10, ref readerCount10); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmCacheMode Read90_HbmCacheMode(string s) { ++ switch (s) { ++ case @"get": return global::NHibernate.Cfg.MappingSchema.HbmCacheMode.@Get; ++ case @"ignore": return global::NHibernate.Cfg.MappingSchema.HbmCacheMode.@Ignore; ++ case @"normal": return global::NHibernate.Cfg.MappingSchema.HbmCacheMode.@Normal; ++ case @"put": return global::NHibernate.Cfg.MappingSchema.HbmCacheMode.@Put; ++ case @"refresh": return global::NHibernate.Cfg.MappingSchema.HbmCacheMode.@Refresh; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmCacheMode)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmFlushMode Read89_HbmFlushMode(string s) { ++ switch (s) { ++ case @"auto": return global::NHibernate.Cfg.MappingSchema.HbmFlushMode.@Auto; ++ case @"never": return global::NHibernate.Cfg.MappingSchema.HbmFlushMode.@Never; ++ case @"always": return global::NHibernate.Cfg.MappingSchema.HbmFlushMode.@Always; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmFlushMode)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmSqlQuery Read92_HbmSqlQuery(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmSqlQuery o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmSqlQuery(); ++ global::System.Object[] a_0 = null; ++ int ca_0 = 0; ++ global::System.String[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[13]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id43_resultsetref && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@resultsetref = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id34_flushmode && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@flushmode = Read89_HbmFlushMode(Reader.Value); ++ o.@flushmodeSpecified = true; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id35_cacheable && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cacheable = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id36_cacheregion && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cacheregion = Reader.Value; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id37_fetchsize && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@fetchsize = System.Xml.XmlConvert.ToInt32(Reader.Value); ++ o.@fetchsizeSpecified = true; ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id38_timeout && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@timeout = CollapseWhitespace(Reader.Value); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id39_cachemode && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cachemode = Read90_HbmCacheMode(Reader.Value); ++ o.@cachemodeSpecified = true; ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id40_readonly && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@readonly = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@readonlySpecified = true; ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id41_comment && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@comment = Reader.Value; ++ paramsRead[11] = true; ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id44_callable && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@callable = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[12] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :resultset-ref, :flush-mode, :cacheable, :cache-region, :fetch-size, :timeout, :cache-mode, :read-only, :comment, :callable"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ o.@Text = (global::System.String[])ShrinkArray(a_1, ca_1, typeof(global::System.String), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations11 = 0; ++ int readerCount11 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ string tmp = null; ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id45_returnjoin && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read85_HbmReturnJoin(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id46_return && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read83_HbmReturn(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id47_returnscalar && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read86_HbmReturnScalar(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id48_loadcollection && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read84_HbmLoadCollection(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id42_queryparam && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read88_HbmQueryParam(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id49_synchronize && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read9_HbmSynchronize(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:return-join, urn:nhibernate-mapping-2.2:return, urn:nhibernate-mapping-2.2:return-scalar, urn:nhibernate-mapping-2.2:load-collection, urn:nhibernate-mapping-2.2:query-param, urn:nhibernate-mapping-2.2:synchronize"); ++ } ++ } ++ else if (Reader.NodeType == System.Xml.XmlNodeType.Text || ++ Reader.NodeType == System.Xml.XmlNodeType.CDATA || ++ Reader.NodeType == System.Xml.XmlNodeType.Whitespace || ++ Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace) { ++ a_1 = (global::System.String[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.String));a_1[ca_1++] = Reader.ReadString(); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:return-join, urn:nhibernate-mapping-2.2:return, urn:nhibernate-mapping-2.2:return-scalar, urn:nhibernate-mapping-2.2:load-collection, urn:nhibernate-mapping-2.2:query-param, urn:nhibernate-mapping-2.2:synchronize"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations11, ref readerCount11); ++ } ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ o.@Text = (global::System.String[])ShrinkArray(a_1, ca_1, typeof(global::System.String), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize Read9_HbmSynchronize(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmSynchronize(); ++ bool[] paramsRead = new bool[1]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id50_table && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@table = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":table"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations12 = 0; ++ int readerCount12 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations12, ref readerCount12); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmLoadCollection Read84_HbmLoadCollection(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmLoadCollection o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmLoadCollection(); ++ global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[4]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id51_alias && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@alias = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id52_role && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@role = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id53_lockmode && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lockmode = Read82_HbmLockMode(Reader.Value); ++ paramsRead[3] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":alias, :role, :lock-mode"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@returnproperty = (global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnProperty), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations13 = 0; ++ int readerCount13 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id54_returnproperty && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnProperty));a_0[ca_0++] = Read81_HbmReturnProperty(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:return-property"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:return-property"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations13, ref readerCount13); ++ } ++ o.@returnproperty = (global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnProperty), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmReturnProperty Read81_HbmReturnProperty(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmReturnProperty o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmReturnProperty(); ++ global::NHibernate.Cfg.MappingSchema.HbmReturnColumn[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[3]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :column"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@returncolumn = (global::NHibernate.Cfg.MappingSchema.HbmReturnColumn[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnColumn), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations14 = 0; ++ int readerCount14 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id56_returncolumn && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmReturnColumn[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnColumn));a_0[ca_0++] = Read80_HbmReturnColumn(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:return-column"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:return-column"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations14, ref readerCount14); ++ } ++ o.@returncolumn = (global::NHibernate.Cfg.MappingSchema.HbmReturnColumn[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnColumn), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmReturnColumn Read80_HbmReturnColumn(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmReturnColumn o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmReturnColumn(); ++ bool[] paramsRead = new bool[1]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations15 = 0; ++ int readerCount15 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations15, ref readerCount15); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmLockMode Read82_HbmLockMode(string s) { ++ switch (s) { ++ case @"none": return global::NHibernate.Cfg.MappingSchema.HbmLockMode.@None; ++ case @"read": return global::NHibernate.Cfg.MappingSchema.HbmLockMode.@Read; ++ case @"upgrade": return global::NHibernate.Cfg.MappingSchema.HbmLockMode.@Upgrade; ++ case @"upgrade-nowait": return global::NHibernate.Cfg.MappingSchema.HbmLockMode.@UpgradeNowait; ++ case @"write": return global::NHibernate.Cfg.MappingSchema.HbmLockMode.@Write; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmLockMode)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmReturnScalar Read86_HbmReturnScalar(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmReturnScalar o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmReturnScalar(); ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@type = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":column, :type"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations16 = 0; ++ int readerCount16 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations16, ref readerCount16); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmReturn Read83_HbmReturn(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmReturn o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmReturn(); ++ global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[6]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id51_alias && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@alias = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id57_entityname && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@entityname = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id53_lockmode && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lockmode = Read82_HbmLockMode(Reader.Value); ++ paramsRead[5] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":alias, :entity-name, :class, :lock-mode"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@returnproperty = (global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnProperty), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations17 = 0; ++ int readerCount17 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id58_returndiscriminator && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@returndiscriminator = Read79_HbmReturnDiscriminator(false, true); ++ paramsRead[0] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id54_returnproperty && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[])EnsureArrayIndex(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnProperty));a_1[ca_1++] = Read81_HbmReturnProperty(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:return-discriminator, urn:nhibernate-mapping-2.2:return-property"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:return-discriminator, urn:nhibernate-mapping-2.2:return-property"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations17, ref readerCount17); ++ } ++ o.@returnproperty = (global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnProperty), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmReturnDiscriminator Read79_HbmReturnDiscriminator(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmReturnDiscriminator o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmReturnDiscriminator(); ++ bool[] paramsRead = new bool[1]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":column"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations18 = 0; ++ int readerCount18 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations18, ref readerCount18); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmReturnJoin Read85_HbmReturnJoin(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmReturnJoin o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmReturnJoin(); ++ global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[4]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id51_alias && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@alias = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id59_property && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@property = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id53_lockmode && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lockmode = Read82_HbmLockMode(Reader.Value); ++ paramsRead[3] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":alias, :property, :lock-mode"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@returnproperty = (global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnProperty), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations19 = 0; ++ int readerCount19 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id54_returnproperty && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnProperty));a_0[ca_0++] = Read81_HbmReturnProperty(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:return-property"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:return-property"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations19, ref readerCount19); ++ } ++ o.@returnproperty = (global::NHibernate.Cfg.MappingSchema.HbmReturnProperty[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmReturnProperty), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmResultSet Read87_HbmResultSet(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmResultSet o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmResultSet(); ++ global::System.Object[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations20 = 0; ++ int readerCount20 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id46_return && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read83_HbmReturn(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id48_loadcollection && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read84_HbmLoadCollection(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id45_returnjoin && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read85_HbmReturnJoin(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id47_returnscalar && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read86_HbmReturnScalar(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:return, urn:nhibernate-mapping-2.2:load-collection, urn:nhibernate-mapping-2.2:return-join, urn:nhibernate-mapping-2.2:return-scalar"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:return, urn:nhibernate-mapping-2.2:load-collection, urn:nhibernate-mapping-2.2:return-join, urn:nhibernate-mapping-2.2:return-scalar"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations20, ref readerCount20); ++ } ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass Read93_HbmJoinedSubclass(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a_2 = null; ++ int ca_2 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmTuplizer[] a_4 = null; ++ int ca_4 = 0; ++ global::System.Object[] a_6 = null; ++ int ca_6 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass[] a_7 = null; ++ int ca_7 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmResultSet[] a_12 = null; ++ int ca_12 = 0; ++ global::System.Object[] a_13 = null; ++ int ca_13 = 0; ++ bool[] paramsRead = new bool[31]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[14] && ((object) Reader.LocalName == (object)id57_entityname && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@entityname = Reader.Value; ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[15] = true; ++ } ++ else if (!paramsRead[16] && ((object) Reader.LocalName == (object)id60_proxy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@proxy = Reader.Value; ++ paramsRead[16] = true; ++ } ++ else if (!paramsRead[17] && ((object) Reader.LocalName == (object)id50_table && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@table = Reader.Value; ++ paramsRead[17] = true; ++ } ++ else if (!paramsRead[18] && ((object) Reader.LocalName == (object)id5_schema && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@schema = Reader.Value; ++ paramsRead[18] = true; ++ } ++ else if (!paramsRead[19] && ((object) Reader.LocalName == (object)id6_catalog && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@catalog = Reader.Value; ++ paramsRead[19] = true; ++ } ++ else if (!paramsRead[20] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@subselect1 = Reader.Value; ++ paramsRead[20] = true; ++ } ++ else if (!paramsRead[21] && ((object) Reader.LocalName == (object)id62_dynamicupdate && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@dynamicupdate = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[21] = true; ++ } ++ else if (!paramsRead[22] && ((object) Reader.LocalName == (object)id63_dynamicinsert && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@dynamicinsert = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[22] = true; ++ } ++ else if (!paramsRead[23] && ((object) Reader.LocalName == (object)id64_selectbeforeupdate && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@selectbeforeupdate = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[23] = true; ++ } ++ else if (!paramsRead[24] && ((object) Reader.LocalName == (object)id65_extends && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@extends = Reader.Value; ++ paramsRead[24] = true; ++ } ++ else if (!paramsRead[25] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@lazySpecified = true; ++ paramsRead[25] = true; ++ } ++ else if (!paramsRead[26] && ((object) Reader.LocalName == (object)id67_abstract && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@abstract = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@abstractSpecified = true; ++ paramsRead[26] = true; ++ } ++ else if (!paramsRead[27] && ((object) Reader.LocalName == (object)id68_persister && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@persister = Reader.Value; ++ paramsRead[27] = true; ++ } ++ else if (!paramsRead[28] && ((object) Reader.LocalName == (object)id69_check && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@check = Reader.Value; ++ paramsRead[28] = true; ++ } ++ else if (!paramsRead[29] && ((object) Reader.LocalName == (object)id70_batchsize && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@batchsize = CollapseWhitespace(Reader.Value); ++ paramsRead[29] = true; ++ } ++ else if (!paramsRead[30] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[30] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":entity-name, :name, :proxy, :table, :schema, :catalog, :subselect, :dynamic-update, :dynamic-insert, :select-before-update, :extends, :lazy, :abstract, :persister, :check, :batch-size, :node"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@tuplizer = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])ShrinkArray(a_4, ca_4, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_6, ca_6, typeof(global::System.Object), true); ++ o.@joinedsubclass1 = (global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass[])ShrinkArray(a_7, ca_7, typeof(global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass), true); ++ o.@resultset = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])ShrinkArray(a_12, ca_12, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet), true); ++ o.@Items1 = (global::System.Object[])ShrinkArray(a_13, ca_13, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations21 = 0; ++ int readerCount21 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@subselect = Read5_HbmSubselect(false, true); ++ paramsRead[1] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id49_synchronize && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_2 = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])EnsureArrayIndex(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize));a_2[ca_2++] = Read9_HbmSynchronize(false, true); ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id41_comment && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@comment = Read10_HbmComment(false, true); ++ paramsRead[3] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id72_tuplizer && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_4 = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])EnsureArrayIndex(a_4, ca_4, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer));a_4[ca_4++] = Read12_HbmTuplizer(false, true); ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id73_key && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@key = Read31_HbmKey(false, true); ++ paramsRead[5] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id74_map && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::System.Object[])EnsureArrayIndex(a_6, ca_6, typeof(global::System.Object));a_6[ca_6++] = Read58_HbmMap(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id75_dynamiccomponent && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::System.Object[])EnsureArrayIndex(a_6, ca_6, typeof(global::System.Object));a_6[ca_6++] = Read69_HbmDynamicComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id76_list && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::System.Object[])EnsureArrayIndex(a_6, ca_6, typeof(global::System.Object));a_6[ca_6++] = Read67_HbmList(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id77_component && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::System.Object[])EnsureArrayIndex(a_6, ca_6, typeof(global::System.Object));a_6[ca_6++] = Read68_HbmComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id78_manytoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::System.Object[])EnsureArrayIndex(a_6, ca_6, typeof(global::System.Object));a_6[ca_6++] = Read29_HbmManyToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id79_properties && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::System.Object[])EnsureArrayIndex(a_6, ca_6, typeof(global::System.Object));a_6[ca_6++] = Read76_HbmProperties(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id80_onetoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::System.Object[])EnsureArrayIndex(a_6, ca_6, typeof(global::System.Object));a_6[ca_6++] = Read61_HbmOneToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id59_property && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::System.Object[])EnsureArrayIndex(a_6, ca_6, typeof(global::System.Object));a_6[ca_6++] = Read34_HbmProperty(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id81_set && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::System.Object[])EnsureArrayIndex(a_6, ca_6, typeof(global::System.Object));a_6[ca_6++] = Read49_HbmSet(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id82_primitivearray && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::System.Object[])EnsureArrayIndex(a_6, ca_6, typeof(global::System.Object));a_6[ca_6++] = Read64_HbmPrimitiveArray(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id83_idbag && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::System.Object[])EnsureArrayIndex(a_6, ca_6, typeof(global::System.Object));a_6[ca_6++] = Read66_HbmIdbag(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id84_any && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::System.Object[])EnsureArrayIndex(a_6, ca_6, typeof(global::System.Object));a_6[ca_6++] = Read36_HbmAny(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id85_array && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::System.Object[])EnsureArrayIndex(a_6, ca_6, typeof(global::System.Object));a_6[ca_6++] = Read60_HbmArray(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id86_bag && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::System.Object[])EnsureArrayIndex(a_6, ca_6, typeof(global::System.Object));a_6[ca_6++] = Read50_HbmBag(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id18_joinedsubclass && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_7 = (global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass[])EnsureArrayIndex(a_7, ca_7, typeof(global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass));a_7[ca_7++] = Read93_HbmJoinedSubclass(false, true); ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id87_loader && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@loader = Read44_HbmLoader(false, true); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id88_sqlinsert && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlinsert = Read46_HbmCustomSQL(false, true); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id89_sqlupdate && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlupdate = Read46_HbmCustomSQL(false, true); ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id90_sqldelete && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldelete = Read46_HbmCustomSQL(false, true); ++ paramsRead[11] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id19_resultset && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_12 = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])EnsureArrayIndex(a_12, ca_12, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet));a_12[ca_12++] = Read87_HbmResultSet(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id21_query && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_13 = (global::System.Object[])EnsureArrayIndex(a_13, ca_13, typeof(global::System.Object));a_13[ca_13++] = Read91_HbmQuery(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id20_sqlquery && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_13 = (global::System.Object[])EnsureArrayIndex(a_13, ca_13, typeof(global::System.Object));a_13[ca_13++] = Read92_HbmSqlQuery(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:tuplizer, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:map, urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:list, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:properties, urn:nhibernate-mapping-2.2:one-to-one, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:set, urn:nhibernate-mapping-2.2:primitive-array, urn:nhibernate-mapping-2.2:idbag, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:array, urn:nhibernate-mapping-2.2:bag, urn:nhibernate-mapping-2.2:joined-subclass, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:resultset, urn:nhibernate-mapping-2.2:query, urn:nhibernate-mapping-2.2:sql-query"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:tuplizer, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:map, urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:list, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:properties, urn:nhibernate-mapping-2.2:one-to-one, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:set, urn:nhibernate-mapping-2.2:primitive-array, urn:nhibernate-mapping-2.2:idbag, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:array, urn:nhibernate-mapping-2.2:bag, urn:nhibernate-mapping-2.2:joined-subclass, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:resultset, urn:nhibernate-mapping-2.2:query, urn:nhibernate-mapping-2.2:sql-query"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations21, ref readerCount21); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@tuplizer = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])ShrinkArray(a_4, ca_4, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_6, ca_6, typeof(global::System.Object), true); ++ o.@joinedsubclass1 = (global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass[])ShrinkArray(a_7, ca_7, typeof(global::NHibernate.Cfg.MappingSchema.HbmJoinedSubclass), true); ++ o.@resultset = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])ShrinkArray(a_12, ca_12, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet), true); ++ o.@Items1 = (global::System.Object[])ShrinkArray(a_13, ca_13, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmCustomSQL Read46_HbmCustomSQL(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id91_HbmCustomSQL && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmCustomSQL o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmCustomSQL(); ++ global::System.String[] a_2 = null; ++ int ca_2 = 0; ++ bool[] paramsRead = new bool[3]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id44_callable && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@callable = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@callableSpecified = true; ++ paramsRead[0] = true; ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id69_check && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@check = Read45_HbmCustomSQLCheck(Reader.Value); ++ o.@checkSpecified = true; ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":callable, :check"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Text = (global::System.String[])ShrinkArray(a_2, ca_2, typeof(global::System.String), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations22 = 0; ++ int readerCount22 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ string tmp = null; ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else if (Reader.NodeType == System.Xml.XmlNodeType.Text || ++ Reader.NodeType == System.Xml.XmlNodeType.CDATA || ++ Reader.NodeType == System.Xml.XmlNodeType.Whitespace || ++ Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace) { ++ a_2 = (global::System.String[])EnsureArrayIndex(a_2, ca_2, typeof(global::System.String));a_2[ca_2++] = Reader.ReadString(); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations22, ref readerCount22); ++ } ++ o.@Text = (global::System.String[])ShrinkArray(a_2, ca_2, typeof(global::System.String), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmCustomSQLCheck Read45_HbmCustomSQLCheck(string s) { ++ switch (s) { ++ case @"none": return global::NHibernate.Cfg.MappingSchema.HbmCustomSQLCheck.@None; ++ case @"rowcount": return global::NHibernate.Cfg.MappingSchema.HbmCustomSQLCheck.@Rowcount; ++ case @"param": return global::NHibernate.Cfg.MappingSchema.HbmCustomSQLCheck.@Param; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmCustomSQLCheck)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmLoader Read44_HbmLoader(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmLoader o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmLoader(); ++ bool[] paramsRead = new bool[1]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id92_queryref && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@queryref = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":query-ref"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations23 = 0; ++ int readerCount23 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations23, ref readerCount23); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmBag Read50_HbmBag(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmBag o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmBag(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a_3 = null; ++ int ca_3 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmFilter[] a_12 = null; ++ int ca_12 = 0; ++ bool[] paramsRead = new bool[35]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[13] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[13] = true; ++ } ++ else if (!paramsRead[14] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id50_table && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@table = Reader.Value; ++ paramsRead[15] = true; ++ } ++ else if (!paramsRead[16] && ((object) Reader.LocalName == (object)id5_schema && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@schema = Reader.Value; ++ paramsRead[16] = true; ++ } ++ else if (!paramsRead[17] && ((object) Reader.LocalName == (object)id6_catalog && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@catalog = Reader.Value; ++ paramsRead[17] = true; ++ } ++ else if (!paramsRead[18] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@subselect1 = Reader.Value; ++ paramsRead[18] = true; ++ } ++ else if (!paramsRead[19] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = Read47_HbmCollectionLazy(Reader.Value); ++ o.@lazySpecified = true; ++ paramsRead[19] = true; ++ } ++ else if (!paramsRead[20] && ((object) Reader.LocalName == (object)id94_inverse && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@inverse = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[20] = true; ++ } ++ else if (!paramsRead[21] && ((object) Reader.LocalName == (object)id95_mutable && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@mutable = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[21] = true; ++ } ++ else if (!paramsRead[22] && ((object) Reader.LocalName == (object)id96_cascade && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cascade = Reader.Value; ++ paramsRead[22] = true; ++ } ++ else if (!paramsRead[23] && ((object) Reader.LocalName == (object)id97_orderby && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@orderby = Reader.Value; ++ paramsRead[23] = true; ++ } ++ else if (!paramsRead[24] && ((object) Reader.LocalName == (object)id98_where && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@where = Reader.Value; ++ paramsRead[24] = true; ++ } ++ else if (!paramsRead[25] && ((object) Reader.LocalName == (object)id70_batchsize && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@batchsize = System.Xml.XmlConvert.ToInt32(Reader.Value); ++ o.@batchsizeSpecified = true; ++ paramsRead[25] = true; ++ } ++ else if (!paramsRead[26] && ((object) Reader.LocalName == (object)id99_outerjoin && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@outerjoin = Read26_HbmOuterJoinStrategy(Reader.Value); ++ o.@outerjoinSpecified = true; ++ paramsRead[26] = true; ++ } ++ else if (!paramsRead[27] && ((object) Reader.LocalName == (object)id100_fetch && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@fetch = Read48_HbmCollectionFetchMode(Reader.Value); ++ o.@fetchSpecified = true; ++ paramsRead[27] = true; ++ } ++ else if (!paramsRead[28] && ((object) Reader.LocalName == (object)id68_persister && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@persister = Reader.Value; ++ paramsRead[28] = true; ++ } ++ else if (!paramsRead[29] && ((object) Reader.LocalName == (object)id101_collectiontype && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@collectiontype = Reader.Value; ++ paramsRead[29] = true; ++ } ++ else if (!paramsRead[30] && ((object) Reader.LocalName == (object)id69_check && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@check = Reader.Value; ++ paramsRead[30] = true; ++ } ++ else if (!paramsRead[31] && ((object) Reader.LocalName == (object)id102_optimisticlock && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optimisticlock = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[31] = true; ++ } ++ else if (!paramsRead[32] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[32] = true; ++ } ++ else if (!paramsRead[33] && ((object) Reader.LocalName == (object)id103_embedxml && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@embedxml = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[33] = true; ++ } ++ else if (!paramsRead[34] && ((object) Reader.LocalName == (object)id104_generic && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@generic = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@genericSpecified = true; ++ paramsRead[34] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :access, :table, :schema, :catalog, :subselect, :lazy, :inverse, :mutable, :cascade, :order-by, :where, :batch-size, :outer-join, :fetch, :persister, :collection-type, :check, :optimistic-lock, :node, :embed-xml, :generic"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@filter = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])ShrinkArray(a_12, ca_12, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations24 = 0; ++ int readerCount24 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@subselect = Read5_HbmSubselect(false, true); ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id105_cache && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@cache = Read8_HbmCache(false, true); ++ paramsRead[2] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id49_synchronize && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])EnsureArrayIndex(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize));a_3[ca_3++] = Read9_HbmSynchronize(false, true); ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id41_comment && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@comment = Read10_HbmComment(false, true); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id73_key && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@key = Read31_HbmKey(false, true); ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id106_manytoany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read40_HbmManyToAny(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id107_element && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read39_HbmElement(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id108_compositeelement && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read38_HbmCompositeElement(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id109_manytomany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read42_HbmManyToMany(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id110_onetomany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read43_HbmOneToMany(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id87_loader && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@loader = Read44_HbmLoader(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id88_sqlinsert && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlinsert = Read46_HbmCustomSQL(false, true); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id89_sqlupdate && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlupdate = Read46_HbmCustomSQL(false, true); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id90_sqldelete && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldelete = Read46_HbmCustomSQL(false, true); ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id111_sqldeleteall && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldeleteall = Read46_HbmCustomSQL(false, true); ++ paramsRead[11] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id112_filter && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_12 = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])EnsureArrayIndex(a_12, ca_12, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter));a_12[ca_12++] = Read41_HbmFilter(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:many-to-any, urn:nhibernate-mapping-2.2:element, urn:nhibernate-mapping-2.2:composite-element, urn:nhibernate-mapping-2.2:many-to-many, urn:nhibernate-mapping-2.2:one-to-many, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:sql-delete-all, urn:nhibernate-mapping-2.2:filter"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:many-to-any, urn:nhibernate-mapping-2.2:element, urn:nhibernate-mapping-2.2:composite-element, urn:nhibernate-mapping-2.2:many-to-many, urn:nhibernate-mapping-2.2:one-to-many, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:sql-delete-all, urn:nhibernate-mapping-2.2:filter"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations24, ref readerCount24); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@filter = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])ShrinkArray(a_12, ca_12, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmFilter Read41_HbmFilter(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmFilter o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmFilter(); ++ global::System.String[] a_2 = null; ++ int ca_2 = 0; ++ bool[] paramsRead = new bool[3]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id30_condition && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@condition = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :condition"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Text = (global::System.String[])ShrinkArray(a_2, ca_2, typeof(global::System.String), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations25 = 0; ++ int readerCount25 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ string tmp = null; ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else if (Reader.NodeType == System.Xml.XmlNodeType.Text || ++ Reader.NodeType == System.Xml.XmlNodeType.CDATA || ++ Reader.NodeType == System.Xml.XmlNodeType.Whitespace || ++ Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace) { ++ a_2 = (global::System.String[])EnsureArrayIndex(a_2, ca_2, typeof(global::System.String));a_2[ca_2++] = Reader.ReadString(); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations25, ref readerCount25); ++ } ++ o.@Text = (global::System.String[])ShrinkArray(a_2, ca_2, typeof(global::System.String), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmOneToMany Read43_HbmOneToMany(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmOneToMany o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmOneToMany(); ++ bool[] paramsRead = new bool[5]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id113_notfound && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@notfound = Read19_HbmNotFoundMode(Reader.Value); ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id103_embedxml && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@embedxml = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id57_entityname && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@entityname = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":class, :not-found, :node, :embed-xml, :entity-name"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations26 = 0; ++ int readerCount26 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations26, ref readerCount26); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode Read19_HbmNotFoundMode(string s) { ++ switch (s) { ++ case @"ignore": return global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode.@Ignore; ++ case @"exception": return global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode.@Exception; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmNotFoundMode)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmManyToMany Read42_HbmManyToMany(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmManyToMany o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmManyToMany(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::System.Object[] a_1 = null; ++ int ca_1 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmFilter[] a_2 = null; ++ int ca_2 = 0; ++ bool[] paramsRead = new bool[18]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id103_embedxml && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@embedxml = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id57_entityname && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@entityname = Reader.Value; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column = Reader.Value; ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@formula = Reader.Value; ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id113_notfound && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@notfound = Read19_HbmNotFoundMode(Reader.Value); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id99_outerjoin && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@outerjoin = Read26_HbmOuterJoinStrategy(Reader.Value); ++ o.@outerjoinSpecified = true; ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id100_fetch && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@fetch = Read27_HbmFetchMode(Reader.Value); ++ o.@fetchSpecified = true; ++ paramsRead[11] = true; ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = Read18_HbmRestrictedLaziness(Reader.Value); ++ o.@lazySpecified = true; ++ paramsRead[12] = true; ++ } ++ else if (!paramsRead[13] && ((object) Reader.LocalName == (object)id115_foreignkey && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@foreignkey = Reader.Value; ++ paramsRead[13] = true; ++ } ++ else if (!paramsRead[14] && ((object) Reader.LocalName == (object)id116_unique && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@unique = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id98_where && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@where = Reader.Value; ++ paramsRead[15] = true; ++ } ++ else if (!paramsRead[16] && ((object) Reader.LocalName == (object)id97_orderby && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@orderby = Reader.Value; ++ paramsRead[16] = true; ++ } ++ else if (!paramsRead[17] && ((object) Reader.LocalName == (object)id117_propertyref && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@propertyref = Reader.Value; ++ paramsRead[17] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":class, :node, :embed-xml, :entity-name, :column, :formula, :not-found, :outer-join, :fetch, :lazy, :foreign-key, :unique, :where, :order-by, :property-ref"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_1, ca_1, typeof(global::System.Object), true); ++ o.@filter = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])ShrinkArray(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations27 = 0; ++ int readerCount27 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::System.Object[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.Object));a_1[ca_1++] = Read24_HbmFormula(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::System.Object[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.Object));a_1[ca_1++] = Read13_HbmColumn(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id112_filter && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_2 = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])EnsureArrayIndex(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter));a_2[ca_2++] = Read41_HbmFilter(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:formula, urn:nhibernate-mapping-2.2:column, urn:nhibernate-mapping-2.2:filter"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:formula, urn:nhibernate-mapping-2.2:column, urn:nhibernate-mapping-2.2:filter"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations27, ref readerCount27); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_1, ca_1, typeof(global::System.Object), true); ++ o.@filter = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])ShrinkArray(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmColumn Read13_HbmColumn(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmColumn o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmColumn(); ++ bool[] paramsRead = new bool[12]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id118_length && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@length = CollapseWhitespace(Reader.Value); ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id119_precision && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@precision = CollapseWhitespace(Reader.Value); ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id120_scale && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@scale = CollapseWhitespace(Reader.Value); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id121_notnull && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@notnull = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@notnullSpecified = true; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id116_unique && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@unique = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@uniqueSpecified = true; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id122_uniquekey && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@uniquekey = Reader.Value; ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id123_sqltype && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@sqltype = Reader.Value; ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id124_index && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@index = Reader.Value; ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id69_check && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@check = Reader.Value; ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id125_default && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@default = Reader.Value; ++ paramsRead[11] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :length, :precision, :scale, :not-null, :unique, :unique-key, :sql-type, :index, :check, :default"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations28 = 0; ++ int readerCount28 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id41_comment && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@comment = Read10_HbmComment(false, true); ++ paramsRead[0] = true; ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:comment"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:comment"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations28, ref readerCount28); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmComment Read10_HbmComment(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmComment o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmComment(); ++ global::System.String[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[1]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Text = (global::System.String[])ShrinkArray(a_0, ca_0, typeof(global::System.String), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations29 = 0; ++ int readerCount29 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ string tmp = null; ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else if (Reader.NodeType == System.Xml.XmlNodeType.Text || ++ Reader.NodeType == System.Xml.XmlNodeType.CDATA || ++ Reader.NodeType == System.Xml.XmlNodeType.Whitespace || ++ Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace) { ++ a_0 = (global::System.String[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.String));a_0[ca_0++] = Reader.ReadString(); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations29, ref readerCount29); ++ } ++ o.@Text = (global::System.String[])ShrinkArray(a_0, ca_0, typeof(global::System.String), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmFormula Read24_HbmFormula(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmFormula o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmFormula(); ++ global::System.String[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[1]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Text = (global::System.String[])ShrinkArray(a_0, ca_0, typeof(global::System.String), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations30 = 0; ++ int readerCount30 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ string tmp = null; ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else if (Reader.NodeType == System.Xml.XmlNodeType.Text || ++ Reader.NodeType == System.Xml.XmlNodeType.CDATA || ++ Reader.NodeType == System.Xml.XmlNodeType.Whitespace || ++ Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace) { ++ a_0 = (global::System.String[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.String));a_0[ca_0++] = Reader.ReadString(); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations30, ref readerCount30); ++ } ++ o.@Text = (global::System.String[])ShrinkArray(a_0, ca_0, typeof(global::System.String), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmMeta Read4_HbmMeta(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmMeta o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmMeta(); ++ global::System.String[] a_2 = null; ++ int ca_2 = 0; ++ bool[] paramsRead = new bool[3]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id126_attribute && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@attribute = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id127_inherit && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@inherit = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":attribute, :inherit"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Text = (global::System.String[])ShrinkArray(a_2, ca_2, typeof(global::System.String), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations31 = 0; ++ int readerCount31 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ string tmp = null; ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else if (Reader.NodeType == System.Xml.XmlNodeType.Text || ++ Reader.NodeType == System.Xml.XmlNodeType.CDATA || ++ Reader.NodeType == System.Xml.XmlNodeType.Whitespace || ++ Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace) { ++ a_2 = (global::System.String[])EnsureArrayIndex(a_2, ca_2, typeof(global::System.String));a_2[ca_2++] = Reader.ReadString(); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations31, ref readerCount31); ++ } ++ o.@Text = (global::System.String[])ShrinkArray(a_2, ca_2, typeof(global::System.String), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmRestrictedLaziness Read18_HbmRestrictedLaziness(string s) { ++ switch (s) { ++ case @"false": return global::NHibernate.Cfg.MappingSchema.HbmRestrictedLaziness.@False; ++ case @"proxy": return global::NHibernate.Cfg.MappingSchema.HbmRestrictedLaziness.@Proxy; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmRestrictedLaziness)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmFetchMode Read27_HbmFetchMode(string s) { ++ switch (s) { ++ case @"select": return global::NHibernate.Cfg.MappingSchema.HbmFetchMode.@Select; ++ case @"join": return global::NHibernate.Cfg.MappingSchema.HbmFetchMode.@Join; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmFetchMode)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy Read26_HbmOuterJoinStrategy(string s) { ++ switch (s) { ++ case @"auto": return global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy.@Auto; ++ case @"true": return global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy.@True; ++ case @"false": return global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy.@False; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmOuterJoinStrategy)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmCompositeElement Read38_HbmCompositeElement(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmCompositeElement o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmCompositeElement(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::System.Object[] a_2 = null; ++ int ca_2 = 0; ++ bool[] paramsRead = new bool[5]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":class, :node"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_2, ca_2, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations32 = 0; ++ int readerCount32 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id128_parent && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@parent = Read32_HbmParent(false, true); ++ paramsRead[1] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id59_property && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_2 = (global::System.Object[])EnsureArrayIndex(a_2, ca_2, typeof(global::System.Object));a_2[ca_2++] = Read34_HbmProperty(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id84_any && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_2 = (global::System.Object[])EnsureArrayIndex(a_2, ca_2, typeof(global::System.Object));a_2[ca_2++] = Read36_HbmAny(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id78_manytoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_2 = (global::System.Object[])EnsureArrayIndex(a_2, ca_2, typeof(global::System.Object));a_2[ca_2++] = Read29_HbmManyToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id129_nestedcompositeelement && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_2 = (global::System.Object[])EnsureArrayIndex(a_2, ca_2, typeof(global::System.Object));a_2[ca_2++] = Read37_HbmNestedCompositeElement(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:parent, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:nested-composite-element"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:parent, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:nested-composite-element"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations32, ref readerCount32); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_2, ca_2, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmNestedCompositeElement Read37_HbmNestedCompositeElement(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmNestedCompositeElement o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmNestedCompositeElement(); ++ global::System.Object[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[6]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":class, :name, :access, :node"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::System.Object[])ShrinkArray(a_1, ca_1, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations33 = 0; ++ int readerCount33 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id128_parent && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@parent = Read32_HbmParent(false, true); ++ paramsRead[0] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id59_property && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::System.Object[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.Object));a_1[ca_1++] = Read34_HbmProperty(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id84_any && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::System.Object[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.Object));a_1[ca_1++] = Read36_HbmAny(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id78_manytoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::System.Object[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.Object));a_1[ca_1++] = Read29_HbmManyToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id129_nestedcompositeelement && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::System.Object[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.Object));a_1[ca_1++] = Read37_HbmNestedCompositeElement(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:parent, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:nested-composite-element"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:parent, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:nested-composite-element"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations33, ref readerCount33); ++ } ++ o.@Items = (global::System.Object[])ShrinkArray(a_1, ca_1, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmManyToOne Read29_HbmManyToOne(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmManyToOne o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmManyToOne(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::System.Object[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[24]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id57_entityname && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@entityname = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column = Reader.Value; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id121_notnull && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@notnull = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@notnullSpecified = true; ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id116_unique && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@unique = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id122_uniquekey && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@uniquekey = Reader.Value; ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id124_index && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@index = Reader.Value; ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id96_cascade && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cascade = Reader.Value; ++ paramsRead[11] = true; ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id99_outerjoin && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@outerjoin = Read26_HbmOuterJoinStrategy(Reader.Value); ++ o.@outerjoinSpecified = true; ++ paramsRead[12] = true; ++ } ++ else if (!paramsRead[13] && ((object) Reader.LocalName == (object)id100_fetch && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@fetch = Read27_HbmFetchMode(Reader.Value); ++ o.@fetchSpecified = true; ++ paramsRead[13] = true; ++ } ++ else if (!paramsRead[14] && ((object) Reader.LocalName == (object)id130_update && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@update = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id131_insert && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@insert = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[15] = true; ++ } ++ else if (!paramsRead[16] && ((object) Reader.LocalName == (object)id102_optimisticlock && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optimisticlock = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[16] = true; ++ } ++ else if (!paramsRead[17] && ((object) Reader.LocalName == (object)id115_foreignkey && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@foreignkey = Reader.Value; ++ paramsRead[17] = true; ++ } ++ else if (!paramsRead[18] && ((object) Reader.LocalName == (object)id117_propertyref && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@propertyref = Reader.Value; ++ paramsRead[18] = true; ++ } ++ else if (!paramsRead[19] && ((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@formula = Reader.Value; ++ paramsRead[19] = true; ++ } ++ else if (!paramsRead[20] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = Read28_HbmLaziness(Reader.Value); ++ o.@lazySpecified = true; ++ paramsRead[20] = true; ++ } ++ else if (!paramsRead[21] && ((object) Reader.LocalName == (object)id113_notfound && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@notfound = Read19_HbmNotFoundMode(Reader.Value); ++ paramsRead[21] = true; ++ } ++ else if (!paramsRead[22] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[22] = true; ++ } ++ else if (!paramsRead[23] && ((object) Reader.LocalName == (object)id103_embedxml && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@embedxml = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[23] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :access, :class, :entity-name, :column, :not-null, :unique, :unique-key, :index, :cascade, :outer-join, :fetch, :update, :insert, :optimistic-lock, :foreign-key, :property-ref, :formula, :lazy, :not-found, :node, :embed-xml"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_1, ca_1, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations34 = 0; ++ int readerCount34 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::System.Object[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.Object));a_1[ca_1++] = Read24_HbmFormula(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::System.Object[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.Object));a_1[ca_1++] = Read13_HbmColumn(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:formula, urn:nhibernate-mapping-2.2:column"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:formula, urn:nhibernate-mapping-2.2:column"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations34, ref readerCount34); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_1, ca_1, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmLaziness Read28_HbmLaziness(string s) { ++ switch (s) { ++ case @"false": return global::NHibernate.Cfg.MappingSchema.HbmLaziness.@False; ++ case @"proxy": return global::NHibernate.Cfg.MappingSchema.HbmLaziness.@Proxy; ++ case @"no-proxy": return global::NHibernate.Cfg.MappingSchema.HbmLaziness.@NoProxy; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmLaziness)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmAny Read36_HbmAny(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmAny o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmAny(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmMetaValue[] a_1 = null; ++ int ca_1 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a_2 = null; ++ int ca_2 = 0; ++ bool[] paramsRead = new bool[15]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column1 = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id132_idtype && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@idtype = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id133_metatype && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@metatype = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id131_insert && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@insert = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id130_update && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@update = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id96_cascade && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cascade = Reader.Value; ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id124_index && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@index = Reader.Value; ++ paramsRead[11] = true; ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id102_optimisticlock && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optimisticlock = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[12] = true; ++ } ++ else if (!paramsRead[13] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[13] = true; ++ } ++ else if (!paramsRead[14] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[14] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":column, :id-type, :meta-type, :name, :access, :insert, :update, :cascade, :index, :optimistic-lock, :lazy, :node"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@metavalue = (global::NHibernate.Cfg.MappingSchema.HbmMetaValue[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmMetaValue), true); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations35 = 0; ++ int readerCount35 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id134_metavalue && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::NHibernate.Cfg.MappingSchema.HbmMetaValue[])EnsureArrayIndex(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmMetaValue));a_1[ca_1++] = Read35_HbmMetaValue(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_2 = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])EnsureArrayIndex(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn));a_2[ca_2++] = Read13_HbmColumn(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:meta-value, urn:nhibernate-mapping-2.2:column"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:meta-value, urn:nhibernate-mapping-2.2:column"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations35, ref readerCount35); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@metavalue = (global::NHibernate.Cfg.MappingSchema.HbmMetaValue[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmMetaValue), true); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmMetaValue Read35_HbmMetaValue(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmMetaValue o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmMetaValue(); ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id135_value && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@value = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":value, :class"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations36 = 0; ++ int readerCount36 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations36, ref readerCount36); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmProperty Read34_HbmProperty(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmProperty o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmProperty(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::System.Object[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[21]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@type1 = Reader.Value; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column = Reader.Value; ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id118_length && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@length = CollapseWhitespace(Reader.Value); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id119_precision && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@precision = CollapseWhitespace(Reader.Value); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id120_scale && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@scale = CollapseWhitespace(Reader.Value); ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id121_notnull && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@notnull = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@notnullSpecified = true; ++ paramsRead[11] = true; ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id116_unique && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@unique = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[12] = true; ++ } ++ else if (!paramsRead[13] && ((object) Reader.LocalName == (object)id122_uniquekey && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@uniquekey = Reader.Value; ++ paramsRead[13] = true; ++ } ++ else if (!paramsRead[14] && ((object) Reader.LocalName == (object)id124_index && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@index = Reader.Value; ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id130_update && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@update = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@updateSpecified = true; ++ paramsRead[15] = true; ++ } ++ else if (!paramsRead[16] && ((object) Reader.LocalName == (object)id131_insert && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@insert = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@insertSpecified = true; ++ paramsRead[16] = true; ++ } ++ else if (!paramsRead[17] && ((object) Reader.LocalName == (object)id102_optimisticlock && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optimisticlock = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[17] = true; ++ } ++ else if (!paramsRead[18] && ((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@formula = Reader.Value; ++ paramsRead[18] = true; ++ } ++ else if (!paramsRead[19] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[19] = true; ++ } ++ else if (!paramsRead[20] && ((object) Reader.LocalName == (object)id136_generated && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@generated = Read33_HbmPropertyGeneration(Reader.Value); ++ paramsRead[20] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :node, :access, :type, :column, :length, :precision, :scale, :not-null, :unique, :unique-key, :index, :update, :insert, :optimistic-lock, :formula, :lazy, :generated"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_1, ca_1, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations37 = 0; ++ int readerCount37 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::System.Object[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.Object));a_1[ca_1++] = Read24_HbmFormula(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::System.Object[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.Object));a_1[ca_1++] = Read13_HbmColumn(false, true); ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@type = Read15_HbmType(false, true); ++ paramsRead[2] = true; ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:formula, urn:nhibernate-mapping-2.2:column, urn:nhibernate-mapping-2.2:type"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:formula, urn:nhibernate-mapping-2.2:column, urn:nhibernate-mapping-2.2:type"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations37, ref readerCount37); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_1, ca_1, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmType Read15_HbmType(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmType o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmType(); ++ global::NHibernate.Cfg.MappingSchema.HbmParam[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@param = (global::NHibernate.Cfg.MappingSchema.HbmParam[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmParam), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations38 = 0; ++ int readerCount38 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id29_param && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmParam[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmParam));a_0[ca_0++] = Read14_HbmParam(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:param"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:param"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations38, ref readerCount38); ++ } ++ o.@param = (global::NHibernate.Cfg.MappingSchema.HbmParam[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmParam), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmPropertyGeneration Read33_HbmPropertyGeneration(string s) { ++ switch (s) { ++ case @"never": return global::NHibernate.Cfg.MappingSchema.HbmPropertyGeneration.@Never; ++ case @"insert": return global::NHibernate.Cfg.MappingSchema.HbmPropertyGeneration.@Insert; ++ case @"always": return global::NHibernate.Cfg.MappingSchema.HbmPropertyGeneration.@Always; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmPropertyGeneration)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmParent Read32_HbmParent(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmParent o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmParent(); ++ bool[] paramsRead = new bool[1]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations39 = 0; ++ int readerCount39 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations39, ref readerCount39); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmElement Read39_HbmElement(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmElement o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmElement(); ++ global::System.Object[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[11]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@formula = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@type1 = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id118_length && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@length = CollapseWhitespace(Reader.Value); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id119_precision && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@precision = CollapseWhitespace(Reader.Value); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id120_scale && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@scale = CollapseWhitespace(Reader.Value); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id121_notnull && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@notnull = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id116_unique && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@unique = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[10] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":column, :node, :formula, :type, :length, :precision, :scale, :not-null, :unique"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations40 = 0; ++ int readerCount40 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read24_HbmFormula(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read13_HbmColumn(false, true); ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@type = Read15_HbmType(false, true); ++ paramsRead[1] = true; ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:formula, urn:nhibernate-mapping-2.2:column, urn:nhibernate-mapping-2.2:type"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:formula, urn:nhibernate-mapping-2.2:column, urn:nhibernate-mapping-2.2:type"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations40, ref readerCount40); ++ } ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmManyToAny Read40_HbmManyToAny(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmManyToAny o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmManyToAny(); ++ global::NHibernate.Cfg.MappingSchema.HbmMetaValue[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[5]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column1 = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id132_idtype && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@idtype = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id133_metatype && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@metatype = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":column, :id-type, :meta-type"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@metavalue = (global::NHibernate.Cfg.MappingSchema.HbmMetaValue[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMetaValue), true); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations41 = 0; ++ int readerCount41 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id134_metavalue && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMetaValue[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMetaValue));a_0[ca_0++] = Read35_HbmMetaValue(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])EnsureArrayIndex(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn));a_1[ca_1++] = Read13_HbmColumn(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta-value, urn:nhibernate-mapping-2.2:column"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta-value, urn:nhibernate-mapping-2.2:column"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations41, ref readerCount41); ++ } ++ o.@metavalue = (global::NHibernate.Cfg.MappingSchema.HbmMetaValue[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMetaValue), true); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmKey Read31_HbmKey(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmKey o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmKey(); ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[8]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column1 = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id117_propertyref && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@propertyref = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id115_foreignkey && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@foreignkey = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id137_ondelete && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@ondelete = Read30_HbmOndelete(Reader.Value); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id121_notnull && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@notnull = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@notnullSpecified = true; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id130_update && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@update = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@updateSpecified = true; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id116_unique && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@unique = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@uniqueSpecified = true; ++ paramsRead[7] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":column, :property-ref, :foreign-key, :on-delete, :not-null, :update, :unique"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations42 = 0; ++ int readerCount42 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn));a_0[ca_0++] = Read13_HbmColumn(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:column"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:column"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations42, ref readerCount42); ++ } ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmOndelete Read30_HbmOndelete(string s) { ++ switch (s) { ++ case @"cascade": return global::NHibernate.Cfg.MappingSchema.HbmOndelete.@Cascade; ++ case @"noaction": return global::NHibernate.Cfg.MappingSchema.HbmOndelete.@Noaction; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmOndelete)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmCache Read8_HbmCache(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmCache o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmCache(); ++ bool[] paramsRead = new bool[3]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id138_usage && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@usage = Read6_HbmCacheUsage(Reader.Value); ++ paramsRead[0] = true; ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id139_region && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@region = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id140_include && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@include = Read7_HbmCacheInclude(Reader.Value); ++ paramsRead[2] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":usage, :region, :include"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations43 = 0; ++ int readerCount43 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations43, ref readerCount43); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmCacheInclude Read7_HbmCacheInclude(string s) { ++ switch (s) { ++ case @"all": return global::NHibernate.Cfg.MappingSchema.HbmCacheInclude.@All; ++ case @"non-lazy": return global::NHibernate.Cfg.MappingSchema.HbmCacheInclude.@NonLazy; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmCacheInclude)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmCacheUsage Read6_HbmCacheUsage(string s) { ++ switch (s) { ++ case @"read-only": return global::NHibernate.Cfg.MappingSchema.HbmCacheUsage.@ReadOnly; ++ case @"read-write": return global::NHibernate.Cfg.MappingSchema.HbmCacheUsage.@ReadWrite; ++ case @"nonstrict-read-write": return global::NHibernate.Cfg.MappingSchema.HbmCacheUsage.@NonstrictReadWrite; ++ case @"transactional": return global::NHibernate.Cfg.MappingSchema.HbmCacheUsage.@Transactional; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmCacheUsage)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmSubselect Read5_HbmSubselect(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmSubselect o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmSubselect(); ++ global::System.String[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[1]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Text = (global::System.String[])ShrinkArray(a_0, ca_0, typeof(global::System.String), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations44 = 0; ++ int readerCount44 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ string tmp = null; ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else if (Reader.NodeType == System.Xml.XmlNodeType.Text || ++ Reader.NodeType == System.Xml.XmlNodeType.CDATA || ++ Reader.NodeType == System.Xml.XmlNodeType.Whitespace || ++ Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace) { ++ a_0 = (global::System.String[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.String));a_0[ca_0++] = Reader.ReadString(); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations44, ref readerCount44); ++ } ++ o.@Text = (global::System.String[])ShrinkArray(a_0, ca_0, typeof(global::System.String), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode Read48_HbmCollectionFetchMode(string s) { ++ switch (s) { ++ case @"select": return global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode.@Select; ++ case @"join": return global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode.@Join; ++ case @"subselect": return global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode.@Subselect; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmCollectionFetchMode)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmCollectionLazy Read47_HbmCollectionLazy(string s) { ++ switch (s) { ++ case @"true": return global::NHibernate.Cfg.MappingSchema.HbmCollectionLazy.@True; ++ case @"false": return global::NHibernate.Cfg.MappingSchema.HbmCollectionLazy.@False; ++ case @"extra": return global::NHibernate.Cfg.MappingSchema.HbmCollectionLazy.@Extra; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmCollectionLazy)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmArray Read60_HbmArray(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmArray o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmArray(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a_3 = null; ++ int ca_3 = 0; ++ bool[] paramsRead = new bool[33]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[13] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[13] = true; ++ } ++ else if (!paramsRead[14] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id50_table && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@table = Reader.Value; ++ paramsRead[15] = true; ++ } ++ else if (!paramsRead[16] && ((object) Reader.LocalName == (object)id5_schema && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@schema = Reader.Value; ++ paramsRead[16] = true; ++ } ++ else if (!paramsRead[17] && ((object) Reader.LocalName == (object)id6_catalog && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@catalog = Reader.Value; ++ paramsRead[17] = true; ++ } ++ else if (!paramsRead[18] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@subselect1 = Reader.Value; ++ paramsRead[18] = true; ++ } ++ else if (!paramsRead[19] && ((object) Reader.LocalName == (object)id94_inverse && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@inverse = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[19] = true; ++ } ++ else if (!paramsRead[20] && ((object) Reader.LocalName == (object)id95_mutable && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@mutable = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[20] = true; ++ } ++ else if (!paramsRead[21] && ((object) Reader.LocalName == (object)id141_elementclass && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@elementclass = Reader.Value; ++ paramsRead[21] = true; ++ } ++ else if (!paramsRead[22] && ((object) Reader.LocalName == (object)id96_cascade && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cascade = Reader.Value; ++ paramsRead[22] = true; ++ } ++ else if (!paramsRead[23] && ((object) Reader.LocalName == (object)id98_where && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@where = Reader.Value; ++ paramsRead[23] = true; ++ } ++ else if (!paramsRead[24] && ((object) Reader.LocalName == (object)id70_batchsize && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@batchsize = System.Xml.XmlConvert.ToInt32(Reader.Value); ++ o.@batchsizeSpecified = true; ++ paramsRead[24] = true; ++ } ++ else if (!paramsRead[25] && ((object) Reader.LocalName == (object)id99_outerjoin && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@outerjoin = Read26_HbmOuterJoinStrategy(Reader.Value); ++ o.@outerjoinSpecified = true; ++ paramsRead[25] = true; ++ } ++ else if (!paramsRead[26] && ((object) Reader.LocalName == (object)id100_fetch && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@fetch = Read48_HbmCollectionFetchMode(Reader.Value); ++ o.@fetchSpecified = true; ++ paramsRead[26] = true; ++ } ++ else if (!paramsRead[27] && ((object) Reader.LocalName == (object)id68_persister && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@persister = Reader.Value; ++ paramsRead[27] = true; ++ } ++ else if (!paramsRead[28] && ((object) Reader.LocalName == (object)id101_collectiontype && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@collectiontype = Reader.Value; ++ paramsRead[28] = true; ++ } ++ else if (!paramsRead[29] && ((object) Reader.LocalName == (object)id69_check && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@check = Reader.Value; ++ paramsRead[29] = true; ++ } ++ else if (!paramsRead[30] && ((object) Reader.LocalName == (object)id102_optimisticlock && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optimisticlock = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[30] = true; ++ } ++ else if (!paramsRead[31] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[31] = true; ++ } ++ else if (!paramsRead[32] && ((object) Reader.LocalName == (object)id103_embedxml && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@embedxml = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[32] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :access, :table, :schema, :catalog, :subselect, :inverse, :mutable, :element-class, :cascade, :where, :batch-size, :outer-join, :fetch, :persister, :collection-type, :check, :optimistic-lock, :node, :embed-xml"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations45 = 0; ++ int readerCount45 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@subselect = Read5_HbmSubselect(false, true); ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id105_cache && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@cache = Read8_HbmCache(false, true); ++ paramsRead[2] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id49_synchronize && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])EnsureArrayIndex(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize));a_3[ca_3++] = Read9_HbmSynchronize(false, true); ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id41_comment && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@comment = Read10_HbmComment(false, true); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id73_key && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@key = Read31_HbmKey(false, true); ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id142_listindex && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read59_HbmListIndex(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id124_index && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read55_HbmIndex(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id109_manytomany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read42_HbmManyToMany(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id110_onetomany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read43_HbmOneToMany(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id107_element && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read39_HbmElement(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id106_manytoany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read40_HbmManyToAny(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id108_compositeelement && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read38_HbmCompositeElement(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id87_loader && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@loader = Read44_HbmLoader(false, true); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id88_sqlinsert && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlinsert = Read46_HbmCustomSQL(false, true); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id89_sqlupdate && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlupdate = Read46_HbmCustomSQL(false, true); ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id90_sqldelete && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldelete = Read46_HbmCustomSQL(false, true); ++ paramsRead[11] = true; ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id111_sqldeleteall && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldeleteall = Read46_HbmCustomSQL(false, true); ++ paramsRead[12] = true; ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:list-index, urn:nhibernate-mapping-2.2:index, urn:nhibernate-mapping-2.2:many-to-many, urn:nhibernate-mapping-2.2:one-to-many, urn:nhibernate-mapping-2.2:element, urn:nhibernate-mapping-2.2:many-to-any, urn:nhibernate-mapping-2.2:composite-element, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:sql-delete-all"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:list-index, urn:nhibernate-mapping-2.2:index, urn:nhibernate-mapping-2.2:many-to-many, urn:nhibernate-mapping-2.2:one-to-many, urn:nhibernate-mapping-2.2:element, urn:nhibernate-mapping-2.2:many-to-any, urn:nhibernate-mapping-2.2:composite-element, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:sql-delete-all"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations45, ref readerCount45); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmIndex Read55_HbmIndex(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmIndex o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmIndex(); ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[4]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column1 = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@type = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id118_length && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@length = CollapseWhitespace(Reader.Value); ++ paramsRead[3] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":column, :type, :length"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations46 = 0; ++ int readerCount46 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn));a_0[ca_0++] = Read13_HbmColumn(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:column"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:column"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations46, ref readerCount46); ++ } ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmListIndex Read59_HbmListIndex(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmListIndex o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmListIndex(); ++ bool[] paramsRead = new bool[3]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column1 = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id143_base && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@base = CollapseWhitespace(Reader.Value); ++ paramsRead[2] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":column, :base"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations47 = 0; ++ int readerCount47 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@column = Read13_HbmColumn(false, true); ++ paramsRead[0] = true; ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:column"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:column"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations47, ref readerCount47); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmIdbag Read66_HbmIdbag(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmIdbag o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmIdbag(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a_3 = null; ++ int ca_3 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmFilter[] a_13 = null; ++ int ca_13 = 0; ++ bool[] paramsRead = new bool[36]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[14] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[15] = true; ++ } ++ else if (!paramsRead[16] && ((object) Reader.LocalName == (object)id50_table && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@table = Reader.Value; ++ paramsRead[16] = true; ++ } ++ else if (!paramsRead[17] && ((object) Reader.LocalName == (object)id5_schema && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@schema = Reader.Value; ++ paramsRead[17] = true; ++ } ++ else if (!paramsRead[18] && ((object) Reader.LocalName == (object)id6_catalog && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@catalog = Reader.Value; ++ paramsRead[18] = true; ++ } ++ else if (!paramsRead[19] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@subselect1 = Reader.Value; ++ paramsRead[19] = true; ++ } ++ else if (!paramsRead[20] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = Read47_HbmCollectionLazy(Reader.Value); ++ o.@lazySpecified = true; ++ paramsRead[20] = true; ++ } ++ else if (!paramsRead[21] && ((object) Reader.LocalName == (object)id94_inverse && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@inverse = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[21] = true; ++ } ++ else if (!paramsRead[22] && ((object) Reader.LocalName == (object)id95_mutable && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@mutable = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[22] = true; ++ } ++ else if (!paramsRead[23] && ((object) Reader.LocalName == (object)id96_cascade && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cascade = Reader.Value; ++ paramsRead[23] = true; ++ } ++ else if (!paramsRead[24] && ((object) Reader.LocalName == (object)id97_orderby && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@orderby = Reader.Value; ++ paramsRead[24] = true; ++ } ++ else if (!paramsRead[25] && ((object) Reader.LocalName == (object)id98_where && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@where = Reader.Value; ++ paramsRead[25] = true; ++ } ++ else if (!paramsRead[26] && ((object) Reader.LocalName == (object)id70_batchsize && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@batchsize = System.Xml.XmlConvert.ToInt32(Reader.Value); ++ o.@batchsizeSpecified = true; ++ paramsRead[26] = true; ++ } ++ else if (!paramsRead[27] && ((object) Reader.LocalName == (object)id99_outerjoin && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@outerjoin = Read26_HbmOuterJoinStrategy(Reader.Value); ++ o.@outerjoinSpecified = true; ++ paramsRead[27] = true; ++ } ++ else if (!paramsRead[28] && ((object) Reader.LocalName == (object)id100_fetch && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@fetch = Read48_HbmCollectionFetchMode(Reader.Value); ++ o.@fetchSpecified = true; ++ paramsRead[28] = true; ++ } ++ else if (!paramsRead[29] && ((object) Reader.LocalName == (object)id68_persister && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@persister = Reader.Value; ++ paramsRead[29] = true; ++ } ++ else if (!paramsRead[30] && ((object) Reader.LocalName == (object)id101_collectiontype && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@collectiontype = Reader.Value; ++ paramsRead[30] = true; ++ } ++ else if (!paramsRead[31] && ((object) Reader.LocalName == (object)id69_check && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@check = Reader.Value; ++ paramsRead[31] = true; ++ } ++ else if (!paramsRead[32] && ((object) Reader.LocalName == (object)id102_optimisticlock && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optimisticlock = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[32] = true; ++ } ++ else if (!paramsRead[33] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[33] = true; ++ } ++ else if (!paramsRead[34] && ((object) Reader.LocalName == (object)id103_embedxml && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@embedxml = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[34] = true; ++ } ++ else if (!paramsRead[35] && ((object) Reader.LocalName == (object)id104_generic && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@generic = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@genericSpecified = true; ++ paramsRead[35] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :access, :table, :schema, :catalog, :subselect, :lazy, :inverse, :mutable, :cascade, :order-by, :where, :batch-size, :outer-join, :fetch, :persister, :collection-type, :check, :optimistic-lock, :node, :embed-xml, :generic"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@filter = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])ShrinkArray(a_13, ca_13, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations48 = 0; ++ int readerCount48 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@subselect = Read5_HbmSubselect(false, true); ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id105_cache && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@cache = Read8_HbmCache(false, true); ++ paramsRead[2] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id49_synchronize && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])EnsureArrayIndex(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize));a_3[ca_3++] = Read9_HbmSynchronize(false, true); ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id41_comment && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@comment = Read10_HbmComment(false, true); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id144_collectionid && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@collectionid = Read65_HbmCollectionId(false, true); ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id73_key && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@key = Read31_HbmKey(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id107_element && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read39_HbmElement(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id108_compositeelement && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read38_HbmCompositeElement(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id106_manytoany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read40_HbmManyToAny(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id109_manytomany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read42_HbmManyToMany(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id87_loader && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@loader = Read44_HbmLoader(false, true); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id88_sqlinsert && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlinsert = Read46_HbmCustomSQL(false, true); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id89_sqlupdate && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlupdate = Read46_HbmCustomSQL(false, true); ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id90_sqldelete && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldelete = Read46_HbmCustomSQL(false, true); ++ paramsRead[11] = true; ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id111_sqldeleteall && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldeleteall = Read46_HbmCustomSQL(false, true); ++ paramsRead[12] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id112_filter && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_13 = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])EnsureArrayIndex(a_13, ca_13, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter));a_13[ca_13++] = Read41_HbmFilter(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:collection-id, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:element, urn:nhibernate-mapping-2.2:composite-element, urn:nhibernate-mapping-2.2:many-to-any, urn:nhibernate-mapping-2.2:many-to-many, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:sql-delete-all, urn:nhibernate-mapping-2.2:filter"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:collection-id, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:element, urn:nhibernate-mapping-2.2:composite-element, urn:nhibernate-mapping-2.2:many-to-any, urn:nhibernate-mapping-2.2:many-to-many, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:sql-delete-all, urn:nhibernate-mapping-2.2:filter"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations48, ref readerCount48); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@filter = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])ShrinkArray(a_13, ca_13, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmCollectionId Read65_HbmCollectionId(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmCollectionId o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmCollectionId(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[6]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column1 = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@type = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id118_length && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@length = CollapseWhitespace(Reader.Value); ++ paramsRead[5] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":column, :type, :length"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations49 = 0; ++ int readerCount49 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])EnsureArrayIndex(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn));a_1[ca_1++] = Read13_HbmColumn(false, true); ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id145_generator && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@generator = Read16_HbmGenerator(false, true); ++ paramsRead[2] = true; ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:column, urn:nhibernate-mapping-2.2:generator"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:column, urn:nhibernate-mapping-2.2:generator"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations49, ref readerCount49); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmGenerator Read16_HbmGenerator(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmGenerator o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmGenerator(); ++ global::NHibernate.Cfg.MappingSchema.HbmParam[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":class"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@param = (global::NHibernate.Cfg.MappingSchema.HbmParam[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmParam), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations50 = 0; ++ int readerCount50 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id29_param && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmParam[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmParam));a_0[ca_0++] = Read14_HbmParam(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:param"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:param"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations50, ref readerCount50); ++ } ++ o.@param = (global::NHibernate.Cfg.MappingSchema.HbmParam[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmParam), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray Read64_HbmPrimitiveArray(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmPrimitiveArray(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a_3 = null; ++ int ca_3 = 0; ++ bool[] paramsRead = new bool[30]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[13] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[13] = true; ++ } ++ else if (!paramsRead[14] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id50_table && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@table = Reader.Value; ++ paramsRead[15] = true; ++ } ++ else if (!paramsRead[16] && ((object) Reader.LocalName == (object)id5_schema && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@schema = Reader.Value; ++ paramsRead[16] = true; ++ } ++ else if (!paramsRead[17] && ((object) Reader.LocalName == (object)id6_catalog && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@catalog = Reader.Value; ++ paramsRead[17] = true; ++ } ++ else if (!paramsRead[18] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@subselect1 = Reader.Value; ++ paramsRead[18] = true; ++ } ++ else if (!paramsRead[19] && ((object) Reader.LocalName == (object)id95_mutable && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@mutable = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[19] = true; ++ } ++ else if (!paramsRead[20] && ((object) Reader.LocalName == (object)id98_where && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@where = Reader.Value; ++ paramsRead[20] = true; ++ } ++ else if (!paramsRead[21] && ((object) Reader.LocalName == (object)id70_batchsize && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@batchsize = CollapseWhitespace(Reader.Value); ++ paramsRead[21] = true; ++ } ++ else if (!paramsRead[22] && ((object) Reader.LocalName == (object)id99_outerjoin && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@outerjoin = Read62_HbmPrimitivearrayOuterjoin(Reader.Value); ++ o.@outerjoinSpecified = true; ++ paramsRead[22] = true; ++ } ++ else if (!paramsRead[23] && ((object) Reader.LocalName == (object)id100_fetch && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@fetch = Read63_HbmPrimitivearrayFetch(Reader.Value); ++ o.@fetchSpecified = true; ++ paramsRead[23] = true; ++ } ++ else if (!paramsRead[24] && ((object) Reader.LocalName == (object)id68_persister && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@persister = Reader.Value; ++ paramsRead[24] = true; ++ } ++ else if (!paramsRead[25] && ((object) Reader.LocalName == (object)id101_collectiontype && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@collectiontype = Reader.Value; ++ paramsRead[25] = true; ++ } ++ else if (!paramsRead[26] && ((object) Reader.LocalName == (object)id69_check && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@check = Reader.Value; ++ paramsRead[26] = true; ++ } ++ else if (!paramsRead[27] && ((object) Reader.LocalName == (object)id102_optimisticlock && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optimisticlock = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[27] = true; ++ } ++ else if (!paramsRead[28] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[28] = true; ++ } ++ else if (!paramsRead[29] && ((object) Reader.LocalName == (object)id103_embedxml && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@embedxml = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[29] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :access, :table, :schema, :catalog, :subselect, :mutable, :where, :batch-size, :outer-join, :fetch, :persister, :collection-type, :check, :optimistic-lock, :node, :embed-xml"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations51 = 0; ++ int readerCount51 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@subselect = Read5_HbmSubselect(false, true); ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id105_cache && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@cache = Read8_HbmCache(false, true); ++ paramsRead[2] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id49_synchronize && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])EnsureArrayIndex(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize));a_3[ca_3++] = Read9_HbmSynchronize(false, true); ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id41_comment && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@comment = Read10_HbmComment(false, true); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id73_key && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@key = Read31_HbmKey(false, true); ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id142_listindex && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read59_HbmListIndex(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id124_index && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read55_HbmIndex(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id107_element && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@element = Read39_HbmElement(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id87_loader && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@loader = Read44_HbmLoader(false, true); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id88_sqlinsert && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlinsert = Read46_HbmCustomSQL(false, true); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id89_sqlupdate && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlupdate = Read46_HbmCustomSQL(false, true); ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id90_sqldelete && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldelete = Read46_HbmCustomSQL(false, true); ++ paramsRead[11] = true; ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id111_sqldeleteall && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldeleteall = Read46_HbmCustomSQL(false, true); ++ paramsRead[12] = true; ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:list-index, urn:nhibernate-mapping-2.2:index, urn:nhibernate-mapping-2.2:element, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:sql-delete-all"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:list-index, urn:nhibernate-mapping-2.2:index, urn:nhibernate-mapping-2.2:element, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:sql-delete-all"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations51, ref readerCount51); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayFetch Read63_HbmPrimitivearrayFetch(string s) { ++ switch (s) { ++ case @"join": return global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayFetch.@Join; ++ case @"select": return global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayFetch.@Select; ++ case @"subselect": return global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayFetch.@Subselect; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayFetch)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayOuterjoin Read62_HbmPrimitivearrayOuterjoin(string s) { ++ switch (s) { ++ case @"true": return global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayOuterjoin.@True; ++ case @"false": return global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayOuterjoin.@False; ++ case @"auto": return global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayOuterjoin.@Auto; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmPrimitivearrayOuterjoin)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmSet Read49_HbmSet(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmSet o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmSet(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a_3 = null; ++ int ca_3 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmFilter[] a_12 = null; ++ int ca_12 = 0; ++ bool[] paramsRead = new bool[36]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[13] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[13] = true; ++ } ++ else if (!paramsRead[14] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id50_table && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@table = Reader.Value; ++ paramsRead[15] = true; ++ } ++ else if (!paramsRead[16] && ((object) Reader.LocalName == (object)id5_schema && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@schema = Reader.Value; ++ paramsRead[16] = true; ++ } ++ else if (!paramsRead[17] && ((object) Reader.LocalName == (object)id6_catalog && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@catalog = Reader.Value; ++ paramsRead[17] = true; ++ } ++ else if (!paramsRead[18] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@subselect1 = Reader.Value; ++ paramsRead[18] = true; ++ } ++ else if (!paramsRead[19] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = Read47_HbmCollectionLazy(Reader.Value); ++ o.@lazySpecified = true; ++ paramsRead[19] = true; ++ } ++ else if (!paramsRead[20] && ((object) Reader.LocalName == (object)id94_inverse && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@inverse = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[20] = true; ++ } ++ else if (!paramsRead[21] && ((object) Reader.LocalName == (object)id95_mutable && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@mutable = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[21] = true; ++ } ++ else if (!paramsRead[22] && ((object) Reader.LocalName == (object)id96_cascade && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cascade = Reader.Value; ++ paramsRead[22] = true; ++ } ++ else if (!paramsRead[23] && ((object) Reader.LocalName == (object)id97_orderby && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@orderby = Reader.Value; ++ paramsRead[23] = true; ++ } ++ else if (!paramsRead[24] && ((object) Reader.LocalName == (object)id98_where && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@where = Reader.Value; ++ paramsRead[24] = true; ++ } ++ else if (!paramsRead[25] && ((object) Reader.LocalName == (object)id70_batchsize && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@batchsize = System.Xml.XmlConvert.ToInt32(Reader.Value); ++ o.@batchsizeSpecified = true; ++ paramsRead[25] = true; ++ } ++ else if (!paramsRead[26] && ((object) Reader.LocalName == (object)id99_outerjoin && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@outerjoin = Read26_HbmOuterJoinStrategy(Reader.Value); ++ o.@outerjoinSpecified = true; ++ paramsRead[26] = true; ++ } ++ else if (!paramsRead[27] && ((object) Reader.LocalName == (object)id100_fetch && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@fetch = Read48_HbmCollectionFetchMode(Reader.Value); ++ o.@fetchSpecified = true; ++ paramsRead[27] = true; ++ } ++ else if (!paramsRead[28] && ((object) Reader.LocalName == (object)id68_persister && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@persister = Reader.Value; ++ paramsRead[28] = true; ++ } ++ else if (!paramsRead[29] && ((object) Reader.LocalName == (object)id101_collectiontype && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@collectiontype = Reader.Value; ++ paramsRead[29] = true; ++ } ++ else if (!paramsRead[30] && ((object) Reader.LocalName == (object)id69_check && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@check = Reader.Value; ++ paramsRead[30] = true; ++ } ++ else if (!paramsRead[31] && ((object) Reader.LocalName == (object)id102_optimisticlock && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optimisticlock = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[31] = true; ++ } ++ else if (!paramsRead[32] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[32] = true; ++ } ++ else if (!paramsRead[33] && ((object) Reader.LocalName == (object)id103_embedxml && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@embedxml = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[33] = true; ++ } ++ else if (!paramsRead[34] && ((object) Reader.LocalName == (object)id104_generic && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@generic = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@genericSpecified = true; ++ paramsRead[34] = true; ++ } ++ else if (!paramsRead[35] && ((object) Reader.LocalName == (object)id146_sort && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@sort = Reader.Value; ++ paramsRead[35] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :access, :table, :schema, :catalog, :subselect, :lazy, :inverse, :mutable, :cascade, :order-by, :where, :batch-size, :outer-join, :fetch, :persister, :collection-type, :check, :optimistic-lock, :node, :embed-xml, :generic, :sort"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@filter = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])ShrinkArray(a_12, ca_12, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations52 = 0; ++ int readerCount52 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@subselect = Read5_HbmSubselect(false, true); ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id105_cache && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@cache = Read8_HbmCache(false, true); ++ paramsRead[2] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id49_synchronize && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])EnsureArrayIndex(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize));a_3[ca_3++] = Read9_HbmSynchronize(false, true); ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id41_comment && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@comment = Read10_HbmComment(false, true); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id73_key && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@key = Read31_HbmKey(false, true); ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id108_compositeelement && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read38_HbmCompositeElement(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id107_element && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read39_HbmElement(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id106_manytoany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read40_HbmManyToAny(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id109_manytomany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read42_HbmManyToMany(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id110_onetomany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read43_HbmOneToMany(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id87_loader && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@loader = Read44_HbmLoader(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id88_sqlinsert && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlinsert = Read46_HbmCustomSQL(false, true); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id89_sqlupdate && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlupdate = Read46_HbmCustomSQL(false, true); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id90_sqldelete && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldelete = Read46_HbmCustomSQL(false, true); ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id111_sqldeleteall && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldeleteall = Read46_HbmCustomSQL(false, true); ++ paramsRead[11] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id112_filter && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_12 = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])EnsureArrayIndex(a_12, ca_12, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter));a_12[ca_12++] = Read41_HbmFilter(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:composite-element, urn:nhibernate-mapping-2.2:element, urn:nhibernate-mapping-2.2:many-to-any, urn:nhibernate-mapping-2.2:many-to-many, urn:nhibernate-mapping-2.2:one-to-many, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:sql-delete-all, urn:nhibernate-mapping-2.2:filter"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:composite-element, urn:nhibernate-mapping-2.2:element, urn:nhibernate-mapping-2.2:many-to-any, urn:nhibernate-mapping-2.2:many-to-many, urn:nhibernate-mapping-2.2:one-to-many, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:sql-delete-all, urn:nhibernate-mapping-2.2:filter"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations52, ref readerCount52); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@filter = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])ShrinkArray(a_12, ca_12, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmOneToOne Read61_HbmOneToOne(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmOneToOne o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmOneToOne(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmFormula[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[16]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@formula1 = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id57_entityname && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@entityname = Reader.Value; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id96_cascade && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cascade = Reader.Value; ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id99_outerjoin && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@outerjoin = Read26_HbmOuterJoinStrategy(Reader.Value); ++ o.@outerjoinSpecified = true; ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id100_fetch && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@fetch = Read27_HbmFetchMode(Reader.Value); ++ o.@fetchSpecified = true; ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id147_constrained && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@constrained = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id115_foreignkey && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@foreignkey = Reader.Value; ++ paramsRead[11] = true; ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id117_propertyref && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@propertyref = Reader.Value; ++ paramsRead[12] = true; ++ } ++ else if (!paramsRead[13] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = Read28_HbmLaziness(Reader.Value); ++ o.@lazySpecified = true; ++ paramsRead[13] = true; ++ } ++ else if (!paramsRead[14] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id103_embedxml && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@embedxml = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[15] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :formula, :access, :class, :entity-name, :cascade, :outer-join, :fetch, :constrained, :foreign-key, :property-ref, :lazy, :node, :embed-xml"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@formula = (global::NHibernate.Cfg.MappingSchema.HbmFormula[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmFormula), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations53 = 0; ++ int readerCount53 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::NHibernate.Cfg.MappingSchema.HbmFormula[])EnsureArrayIndex(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmFormula));a_1[ca_1++] = Read24_HbmFormula(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:formula"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:formula"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations53, ref readerCount53); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@formula = (global::NHibernate.Cfg.MappingSchema.HbmFormula[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmFormula), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmProperties Read76_HbmProperties(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmProperties o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmProperties(); ++ global::System.Object[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[7]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id116_unique && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@unique = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id131_insert && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@insert = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id130_update && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@update = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id102_optimisticlock && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optimisticlock = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[6] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :unique, :insert, :update, :optimistic-lock, :node"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations54 = 0; ++ int readerCount54 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id75_dynamiccomponent && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read69_HbmDynamicComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id59_property && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read34_HbmProperty(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id77_component && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read68_HbmComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id78_manytoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read29_HbmManyToOne(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:many-to-one"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:many-to-one"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations54, ref readerCount54); ++ } ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmComponent Read68_HbmComponent(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmComponent o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmComponent(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmTuplizer[] a_1 = null; ++ int ca_1 = 0; ++ global::System.Object[] a_3 = null; ++ int ca_3 = 0; ++ bool[] paramsRead = new bool[13]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[4] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id116_unique && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@unique = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id130_update && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@update = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id131_insert && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@insert = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id102_optimisticlock && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optimisticlock = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[11] = true; ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[12] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":class, :name, :access, :unique, :update, :insert, :lazy, :optimistic-lock, :node"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@tuplizer = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_3, ca_3, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations55 = 0; ++ int readerCount55 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id72_tuplizer && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])EnsureArrayIndex(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer));a_1[ca_1++] = Read12_HbmTuplizer(false, true); ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id128_parent && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@parent = Read32_HbmParent(false, true); ++ paramsRead[2] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id74_map && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read58_HbmMap(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id78_manytoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read29_HbmManyToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id85_array && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read60_HbmArray(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id80_onetoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read61_HbmOneToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id82_primitivearray && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read64_HbmPrimitiveArray(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id59_property && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read34_HbmProperty(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id81_set && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read49_HbmSet(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id86_bag && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read50_HbmBag(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id77_component && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read68_HbmComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id83_idbag && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read66_HbmIdbag(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id76_list && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read67_HbmList(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id84_any && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read36_HbmAny(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id75_dynamiccomponent && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read69_HbmDynamicComponent(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:tuplizer, urn:nhibernate-mapping-2.2:parent, urn:nhibernate-mapping-2.2:map, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:array, urn:nhibernate-mapping-2.2:one-to-one, urn:nhibernate-mapping-2.2:primitive-array, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:set, urn:nhibernate-mapping-2.2:bag, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:idbag, urn:nhibernate-mapping-2.2:list, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:dynamic-component"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:tuplizer, urn:nhibernate-mapping-2.2:parent, urn:nhibernate-mapping-2.2:map, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:array, urn:nhibernate-mapping-2.2:one-to-one, urn:nhibernate-mapping-2.2:primitive-array, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:set, urn:nhibernate-mapping-2.2:bag, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:idbag, urn:nhibernate-mapping-2.2:list, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:dynamic-component"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations55, ref readerCount55); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@tuplizer = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_3, ca_3, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent Read69_HbmDynamicComponent(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmDynamicComponent(); ++ global::System.Object[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[8]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id116_unique && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@unique = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id130_update && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@update = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id131_insert && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@insert = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id102_optimisticlock && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optimisticlock = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[7] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :access, :unique, :update, :insert, :optimistic-lock, :node"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations56 = 0; ++ int readerCount56 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id78_manytoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read29_HbmManyToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id81_set && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read49_HbmSet(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id86_bag && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read50_HbmBag(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id77_component && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read68_HbmComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id59_property && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read34_HbmProperty(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id85_array && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read60_HbmArray(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id84_any && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read36_HbmAny(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id82_primitivearray && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read64_HbmPrimitiveArray(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id76_list && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read67_HbmList(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id75_dynamiccomponent && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read69_HbmDynamicComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id74_map && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read58_HbmMap(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id80_onetoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read61_HbmOneToOne(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:set, urn:nhibernate-mapping-2.2:bag, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:array, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:primitive-array, urn:nhibernate-mapping-2.2:list, urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:map, urn:nhibernate-mapping-2.2:one-to-one"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:set, urn:nhibernate-mapping-2.2:bag, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:array, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:primitive-array, urn:nhibernate-mapping-2.2:list, urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:map, urn:nhibernate-mapping-2.2:one-to-one"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations56, ref readerCount56); ++ } ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmMap Read58_HbmMap(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmMap o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmMap(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a_3 = null; ++ int ca_3 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmFilter[] a_13 = null; ++ int ca_13 = 0; ++ bool[] paramsRead = new bool[37]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[14] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[15] = true; ++ } ++ else if (!paramsRead[16] && ((object) Reader.LocalName == (object)id50_table && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@table = Reader.Value; ++ paramsRead[16] = true; ++ } ++ else if (!paramsRead[17] && ((object) Reader.LocalName == (object)id5_schema && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@schema = Reader.Value; ++ paramsRead[17] = true; ++ } ++ else if (!paramsRead[18] && ((object) Reader.LocalName == (object)id6_catalog && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@catalog = Reader.Value; ++ paramsRead[18] = true; ++ } ++ else if (!paramsRead[19] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@subselect1 = Reader.Value; ++ paramsRead[19] = true; ++ } ++ else if (!paramsRead[20] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = Read47_HbmCollectionLazy(Reader.Value); ++ o.@lazySpecified = true; ++ paramsRead[20] = true; ++ } ++ else if (!paramsRead[21] && ((object) Reader.LocalName == (object)id94_inverse && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@inverse = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[21] = true; ++ } ++ else if (!paramsRead[22] && ((object) Reader.LocalName == (object)id95_mutable && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@mutable = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[22] = true; ++ } ++ else if (!paramsRead[23] && ((object) Reader.LocalName == (object)id96_cascade && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cascade = Reader.Value; ++ paramsRead[23] = true; ++ } ++ else if (!paramsRead[24] && ((object) Reader.LocalName == (object)id97_orderby && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@orderby = Reader.Value; ++ paramsRead[24] = true; ++ } ++ else if (!paramsRead[25] && ((object) Reader.LocalName == (object)id98_where && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@where = Reader.Value; ++ paramsRead[25] = true; ++ } ++ else if (!paramsRead[26] && ((object) Reader.LocalName == (object)id70_batchsize && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@batchsize = System.Xml.XmlConvert.ToInt32(Reader.Value); ++ o.@batchsizeSpecified = true; ++ paramsRead[26] = true; ++ } ++ else if (!paramsRead[27] && ((object) Reader.LocalName == (object)id99_outerjoin && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@outerjoin = Read26_HbmOuterJoinStrategy(Reader.Value); ++ o.@outerjoinSpecified = true; ++ paramsRead[27] = true; ++ } ++ else if (!paramsRead[28] && ((object) Reader.LocalName == (object)id100_fetch && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@fetch = Read48_HbmCollectionFetchMode(Reader.Value); ++ o.@fetchSpecified = true; ++ paramsRead[28] = true; ++ } ++ else if (!paramsRead[29] && ((object) Reader.LocalName == (object)id68_persister && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@persister = Reader.Value; ++ paramsRead[29] = true; ++ } ++ else if (!paramsRead[30] && ((object) Reader.LocalName == (object)id101_collectiontype && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@collectiontype = Reader.Value; ++ paramsRead[30] = true; ++ } ++ else if (!paramsRead[31] && ((object) Reader.LocalName == (object)id69_check && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@check = Reader.Value; ++ paramsRead[31] = true; ++ } ++ else if (!paramsRead[32] && ((object) Reader.LocalName == (object)id102_optimisticlock && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optimisticlock = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[32] = true; ++ } ++ else if (!paramsRead[33] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[33] = true; ++ } ++ else if (!paramsRead[34] && ((object) Reader.LocalName == (object)id103_embedxml && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@embedxml = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[34] = true; ++ } ++ else if (!paramsRead[35] && ((object) Reader.LocalName == (object)id104_generic && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@generic = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@genericSpecified = true; ++ paramsRead[35] = true; ++ } ++ else if (!paramsRead[36] && ((object) Reader.LocalName == (object)id146_sort && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@sort = Reader.Value; ++ paramsRead[36] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :access, :table, :schema, :catalog, :subselect, :lazy, :inverse, :mutable, :cascade, :order-by, :where, :batch-size, :outer-join, :fetch, :persister, :collection-type, :check, :optimistic-lock, :node, :embed-xml, :generic, :sort"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@filter = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])ShrinkArray(a_13, ca_13, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations57 = 0; ++ int readerCount57 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@subselect = Read5_HbmSubselect(false, true); ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id105_cache && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@cache = Read8_HbmCache(false, true); ++ paramsRead[2] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id49_synchronize && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])EnsureArrayIndex(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize));a_3[ca_3++] = Read9_HbmSynchronize(false, true); ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id41_comment && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@comment = Read10_HbmComment(false, true); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id73_key && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@key = Read31_HbmKey(false, true); ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id148_indexmanytomany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read51_HbmIndexManyToMany(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id149_mapkeymanytomany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read52_HbmMapKeyManyToMany(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id150_compositeindex && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read53_HbmCompositeIndex(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id151_compositemapkey && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read54_HbmCompositeMapKey(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id124_index && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read55_HbmIndex(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id152_indexmanytoany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read56_HbmIndexManyToAny(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id153_mapkey && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read57_HbmMapKey(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id108_compositeelement && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read38_HbmCompositeElement(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id110_onetomany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read43_HbmOneToMany(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id109_manytomany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read42_HbmManyToMany(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id107_element && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read39_HbmElement(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id106_manytoany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read40_HbmManyToAny(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id87_loader && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@loader = Read44_HbmLoader(false, true); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id88_sqlinsert && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlinsert = Read46_HbmCustomSQL(false, true); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id89_sqlupdate && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlupdate = Read46_HbmCustomSQL(false, true); ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id90_sqldelete && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldelete = Read46_HbmCustomSQL(false, true); ++ paramsRead[11] = true; ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id111_sqldeleteall && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldeleteall = Read46_HbmCustomSQL(false, true); ++ paramsRead[12] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id112_filter && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_13 = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])EnsureArrayIndex(a_13, ca_13, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter));a_13[ca_13++] = Read41_HbmFilter(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:index-many-to-many, urn:nhibernate-mapping-2.2:map-key-many-to-many, urn:nhibernate-mapping-2.2:composite-index, urn:nhibernate-mapping-2.2:composite-map-key, urn:nhibernate-mapping-2.2:index, urn:nhibernate-mapping-2.2:index-many-to-any, urn:nhibernate-mapping-2.2:map-key, urn:nhibernate-mapping-2.2:composite-element, urn:nhibernate-mapping-2.2:one-to-many, urn:nhibernate-mapping-2.2:many-to-many, urn:nhibernate-mapping-2.2:element, urn:nhibernate-mapping-2.2:many-to-any, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:sql-delete-all, urn:nhibernate-mapping-2.2:filter"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:index-many-to-many, urn:nhibernate-mapping-2.2:map-key-many-to-many, urn:nhibernate-mapping-2.2:composite-index, urn:nhibernate-mapping-2.2:composite-map-key, urn:nhibernate-mapping-2.2:index, urn:nhibernate-mapping-2.2:index-many-to-any, urn:nhibernate-mapping-2.2:map-key, urn:nhibernate-mapping-2.2:composite-element, urn:nhibernate-mapping-2.2:one-to-many, urn:nhibernate-mapping-2.2:many-to-many, urn:nhibernate-mapping-2.2:element, urn:nhibernate-mapping-2.2:many-to-any, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:sql-delete-all, urn:nhibernate-mapping-2.2:filter"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations57, ref readerCount57); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@filter = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])ShrinkArray(a_13, ca_13, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmMapKey Read57_HbmMapKey(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmMapKey o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmMapKey(); ++ global::System.Object[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[6]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@formula = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@type = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id118_length && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@length = CollapseWhitespace(Reader.Value); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":column, :formula, :type, :length, :node"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations58 = 0; ++ int readerCount58 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read13_HbmColumn(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read24_HbmFormula(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:column, urn:nhibernate-mapping-2.2:formula"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:column, urn:nhibernate-mapping-2.2:formula"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations58, ref readerCount58); ++ } ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmIndexManyToAny Read56_HbmIndexManyToAny(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmIndexManyToAny o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmIndexManyToAny(); ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[4]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id132_idtype && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@idtype = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id133_metatype && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@metatype = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column1 = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":id-type, :meta-type, :column"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations59 = 0; ++ int readerCount59 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn));a_0[ca_0++] = Read13_HbmColumn(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:column"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:column"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations59, ref readerCount59); ++ } ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmCompositeMapKey Read54_HbmCompositeMapKey(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmCompositeMapKey o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmCompositeMapKey(); ++ global::System.Object[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":class"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations60 = 0; ++ int readerCount60 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id154_keymanytoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read20_HbmKeyManyToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id155_keyproperty && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read21_HbmKeyProperty(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:key-many-to-one, urn:nhibernate-mapping-2.2:key-property"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:key-many-to-one, urn:nhibernate-mapping-2.2:key-property"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations60, ref readerCount60); ++ } ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmKeyProperty Read21_HbmKeyProperty(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmKeyProperty o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmKeyProperty(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[9]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[3] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@type1 = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column1 = Reader.Value; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id118_length && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@length = CollapseWhitespace(Reader.Value); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[8] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :access, :type, :column, :length, :node"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations61 = 0; ++ int readerCount61 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])EnsureArrayIndex(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn));a_1[ca_1++] = Read13_HbmColumn(false, true); ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@type = Read15_HbmType(false, true); ++ paramsRead[2] = true; ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:column, urn:nhibernate-mapping-2.2:type"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:column, urn:nhibernate-mapping-2.2:type"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations61, ref readerCount61); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmKeyManyToOne Read20_HbmKeyManyToOne(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmKeyManyToOne o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmKeyManyToOne(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[10]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id57_entityname && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@entityname = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column1 = Reader.Value; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id115_foreignkey && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@foreignkey = Reader.Value; ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = Read18_HbmRestrictedLaziness(Reader.Value); ++ o.@lazySpecified = true; ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id113_notfound && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@notfound = Read19_HbmNotFoundMode(Reader.Value); ++ paramsRead[9] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :access, :class, :entity-name, :column, :foreign-key, :lazy, :not-found"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations62 = 0; ++ int readerCount62 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])EnsureArrayIndex(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn));a_1[ca_1++] = Read13_HbmColumn(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:column"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:column"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations62, ref readerCount62); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmCompositeIndex Read53_HbmCompositeIndex(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmCompositeIndex o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmCompositeIndex(); ++ global::System.Object[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":class"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations63 = 0; ++ int readerCount63 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id155_keyproperty && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read21_HbmKeyProperty(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id154_keymanytoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read20_HbmKeyManyToOne(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:key-property, urn:nhibernate-mapping-2.2:key-many-to-one"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:key-property, urn:nhibernate-mapping-2.2:key-many-to-one"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations63, ref readerCount63); ++ } ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmMapKeyManyToMany Read52_HbmMapKeyManyToMany(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmMapKeyManyToMany o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmMapKeyManyToMany(); ++ global::System.Object[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[6]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id57_entityname && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@entityname = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@formula = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id115_foreignkey && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@foreignkey = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":class, :entity-name, :column, :formula, :foreign-key"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations64 = 0; ++ int readerCount64 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read24_HbmFormula(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read13_HbmColumn(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:formula, urn:nhibernate-mapping-2.2:column"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:formula, urn:nhibernate-mapping-2.2:column"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations64, ref readerCount64); ++ } ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmIndexManyToMany Read51_HbmIndexManyToMany(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmIndexManyToMany o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmIndexManyToMany(); ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[5]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id57_entityname && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@entityname = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column1 = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id115_foreignkey && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@foreignkey = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":class, :entity-name, :column, :foreign-key"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations65 = 0; ++ int readerCount65 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn));a_0[ca_0++] = Read13_HbmColumn(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:column"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:column"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations65, ref readerCount65); ++ } ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmList Read67_HbmList(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmList o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmList(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a_3 = null; ++ int ca_3 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmFilter[] a_13 = null; ++ int ca_13 = 0; ++ bool[] paramsRead = new bool[36]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[14] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[15] = true; ++ } ++ else if (!paramsRead[16] && ((object) Reader.LocalName == (object)id50_table && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@table = Reader.Value; ++ paramsRead[16] = true; ++ } ++ else if (!paramsRead[17] && ((object) Reader.LocalName == (object)id5_schema && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@schema = Reader.Value; ++ paramsRead[17] = true; ++ } ++ else if (!paramsRead[18] && ((object) Reader.LocalName == (object)id6_catalog && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@catalog = Reader.Value; ++ paramsRead[18] = true; ++ } ++ else if (!paramsRead[19] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@subselect1 = Reader.Value; ++ paramsRead[19] = true; ++ } ++ else if (!paramsRead[20] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = Read47_HbmCollectionLazy(Reader.Value); ++ o.@lazySpecified = true; ++ paramsRead[20] = true; ++ } ++ else if (!paramsRead[21] && ((object) Reader.LocalName == (object)id94_inverse && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@inverse = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[21] = true; ++ } ++ else if (!paramsRead[22] && ((object) Reader.LocalName == (object)id95_mutable && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@mutable = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[22] = true; ++ } ++ else if (!paramsRead[23] && ((object) Reader.LocalName == (object)id96_cascade && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@cascade = Reader.Value; ++ paramsRead[23] = true; ++ } ++ else if (!paramsRead[24] && ((object) Reader.LocalName == (object)id97_orderby && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@orderby = Reader.Value; ++ paramsRead[24] = true; ++ } ++ else if (!paramsRead[25] && ((object) Reader.LocalName == (object)id98_where && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@where = Reader.Value; ++ paramsRead[25] = true; ++ } ++ else if (!paramsRead[26] && ((object) Reader.LocalName == (object)id70_batchsize && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@batchsize = System.Xml.XmlConvert.ToInt32(Reader.Value); ++ o.@batchsizeSpecified = true; ++ paramsRead[26] = true; ++ } ++ else if (!paramsRead[27] && ((object) Reader.LocalName == (object)id99_outerjoin && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@outerjoin = Read26_HbmOuterJoinStrategy(Reader.Value); ++ o.@outerjoinSpecified = true; ++ paramsRead[27] = true; ++ } ++ else if (!paramsRead[28] && ((object) Reader.LocalName == (object)id100_fetch && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@fetch = Read48_HbmCollectionFetchMode(Reader.Value); ++ o.@fetchSpecified = true; ++ paramsRead[28] = true; ++ } ++ else if (!paramsRead[29] && ((object) Reader.LocalName == (object)id68_persister && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@persister = Reader.Value; ++ paramsRead[29] = true; ++ } ++ else if (!paramsRead[30] && ((object) Reader.LocalName == (object)id101_collectiontype && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@collectiontype = Reader.Value; ++ paramsRead[30] = true; ++ } ++ else if (!paramsRead[31] && ((object) Reader.LocalName == (object)id69_check && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@check = Reader.Value; ++ paramsRead[31] = true; ++ } ++ else if (!paramsRead[32] && ((object) Reader.LocalName == (object)id102_optimisticlock && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optimisticlock = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[32] = true; ++ } ++ else if (!paramsRead[33] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[33] = true; ++ } ++ else if (!paramsRead[34] && ((object) Reader.LocalName == (object)id103_embedxml && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@embedxml = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[34] = true; ++ } ++ else if (!paramsRead[35] && ((object) Reader.LocalName == (object)id104_generic && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@generic = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@genericSpecified = true; ++ paramsRead[35] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :access, :table, :schema, :catalog, :subselect, :lazy, :inverse, :mutable, :cascade, :order-by, :where, :batch-size, :outer-join, :fetch, :persister, :collection-type, :check, :optimistic-lock, :node, :embed-xml, :generic"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@filter = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])ShrinkArray(a_13, ca_13, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations66 = 0; ++ int readerCount66 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@subselect = Read5_HbmSubselect(false, true); ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id105_cache && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@cache = Read8_HbmCache(false, true); ++ paramsRead[2] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id49_synchronize && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])EnsureArrayIndex(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize));a_3[ca_3++] = Read9_HbmSynchronize(false, true); ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id41_comment && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@comment = Read10_HbmComment(false, true); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id73_key && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@key = Read31_HbmKey(false, true); ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id124_index && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read55_HbmIndex(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id142_listindex && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read59_HbmListIndex(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id108_compositeelement && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read38_HbmCompositeElement(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id107_element && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read39_HbmElement(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id106_manytoany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read40_HbmManyToAny(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id109_manytomany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read42_HbmManyToMany(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id110_onetomany && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read43_HbmOneToMany(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id87_loader && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@loader = Read44_HbmLoader(false, true); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id88_sqlinsert && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlinsert = Read46_HbmCustomSQL(false, true); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id89_sqlupdate && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlupdate = Read46_HbmCustomSQL(false, true); ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id90_sqldelete && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldelete = Read46_HbmCustomSQL(false, true); ++ paramsRead[11] = true; ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id111_sqldeleteall && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldeleteall = Read46_HbmCustomSQL(false, true); ++ paramsRead[12] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id112_filter && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_13 = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])EnsureArrayIndex(a_13, ca_13, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter));a_13[ca_13++] = Read41_HbmFilter(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:index, urn:nhibernate-mapping-2.2:list-index, urn:nhibernate-mapping-2.2:composite-element, urn:nhibernate-mapping-2.2:element, urn:nhibernate-mapping-2.2:many-to-any, urn:nhibernate-mapping-2.2:many-to-many, urn:nhibernate-mapping-2.2:one-to-many, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:sql-delete-all, urn:nhibernate-mapping-2.2:filter"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:index, urn:nhibernate-mapping-2.2:list-index, urn:nhibernate-mapping-2.2:composite-element, urn:nhibernate-mapping-2.2:element, urn:nhibernate-mapping-2.2:many-to-any, urn:nhibernate-mapping-2.2:many-to-many, urn:nhibernate-mapping-2.2:one-to-many, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:sql-delete-all, urn:nhibernate-mapping-2.2:filter"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations66, ref readerCount66); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@filter = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])ShrinkArray(a_13, ca_13, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmTuplizer Read12_HbmTuplizer(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmTuplizer o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmTuplizer(); ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id156_entitymode && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@entitymode = Read11_HbmTuplizerEntitymode(Reader.Value); ++ o.@entitymodeSpecified = true; ++ paramsRead[0] = true; ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":entity-mode, :class"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations67 = 0; ++ int readerCount67 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations67, ref readerCount67); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmTuplizerEntitymode Read11_HbmTuplizerEntitymode(string s) { ++ switch (s) { ++ case @"poco": return global::NHibernate.Cfg.MappingSchema.HbmTuplizerEntitymode.@Poco; ++ case @"xml": return global::NHibernate.Cfg.MappingSchema.HbmTuplizerEntitymode.@Xml; ++ case @"dynamic-map": return global::NHibernate.Cfg.MappingSchema.HbmTuplizerEntitymode.@DynamicMap; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizerEntitymode)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmClass Read98_HbmClass(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmClass o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmClass(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a_3 = null; ++ int ca_3 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmTuplizer[] a_5 = null; ++ int ca_5 = 0; ++ global::System.Object[] a_10 = null; ++ int ca_10 = 0; ++ global::System.Object[] a_11 = null; ++ int ca_11 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmFilter[] a_16 = null; ++ int ca_16 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmResultSet[] a_17 = null; ++ int ca_17 = 0; ++ global::System.Object[] a_18 = null; ++ int ca_18 = 0; ++ bool[] paramsRead = new bool[42]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[19] && ((object) Reader.LocalName == (object)id57_entityname && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@entityname = Reader.Value; ++ paramsRead[19] = true; ++ } ++ else if (!paramsRead[20] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[20] = true; ++ } ++ else if (!paramsRead[21] && ((object) Reader.LocalName == (object)id60_proxy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@proxy = Reader.Value; ++ paramsRead[21] = true; ++ } ++ else if (!paramsRead[22] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@lazySpecified = true; ++ paramsRead[22] = true; ++ } ++ else if (!paramsRead[23] && ((object) Reader.LocalName == (object)id157_schemaaction && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@schemaaction = Reader.Value; ++ paramsRead[23] = true; ++ } ++ else if (!paramsRead[24] && ((object) Reader.LocalName == (object)id50_table && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@table = Reader.Value; ++ paramsRead[24] = true; ++ } ++ else if (!paramsRead[25] && ((object) Reader.LocalName == (object)id5_schema && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@schema = Reader.Value; ++ paramsRead[25] = true; ++ } ++ else if (!paramsRead[26] && ((object) Reader.LocalName == (object)id6_catalog && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@catalog = Reader.Value; ++ paramsRead[26] = true; ++ } ++ else if (!paramsRead[27] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@subselect1 = Reader.Value; ++ paramsRead[27] = true; ++ } ++ else if (!paramsRead[28] && ((object) Reader.LocalName == (object)id158_discriminatorvalue && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@discriminatorvalue = Reader.Value; ++ paramsRead[28] = true; ++ } ++ else if (!paramsRead[29] && ((object) Reader.LocalName == (object)id95_mutable && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@mutable = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[29] = true; ++ } ++ else if (!paramsRead[30] && ((object) Reader.LocalName == (object)id67_abstract && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@abstract = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@abstractSpecified = true; ++ paramsRead[30] = true; ++ } ++ else if (!paramsRead[31] && ((object) Reader.LocalName == (object)id159_polymorphism && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@polymorphism = Read96_HbmPolymorphismType(Reader.Value); ++ paramsRead[31] = true; ++ } ++ else if (!paramsRead[32] && ((object) Reader.LocalName == (object)id98_where && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@where = Reader.Value; ++ paramsRead[32] = true; ++ } ++ else if (!paramsRead[33] && ((object) Reader.LocalName == (object)id68_persister && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@persister = Reader.Value; ++ paramsRead[33] = true; ++ } ++ else if (!paramsRead[34] && ((object) Reader.LocalName == (object)id62_dynamicupdate && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@dynamicupdate = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[34] = true; ++ } ++ else if (!paramsRead[35] && ((object) Reader.LocalName == (object)id63_dynamicinsert && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@dynamicinsert = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[35] = true; ++ } ++ else if (!paramsRead[36] && ((object) Reader.LocalName == (object)id70_batchsize && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@batchsize = System.Xml.XmlConvert.ToInt32(Reader.Value); ++ o.@batchsizeSpecified = true; ++ paramsRead[36] = true; ++ } ++ else if (!paramsRead[37] && ((object) Reader.LocalName == (object)id64_selectbeforeupdate && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@selectbeforeupdate = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[37] = true; ++ } ++ else if (!paramsRead[38] && ((object) Reader.LocalName == (object)id102_optimisticlock && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optimisticlock = Read97_HbmOptimisticLockMode(Reader.Value); ++ paramsRead[38] = true; ++ } ++ else if (!paramsRead[39] && ((object) Reader.LocalName == (object)id69_check && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@check = Reader.Value; ++ paramsRead[39] = true; ++ } ++ else if (!paramsRead[40] && ((object) Reader.LocalName == (object)id160_rowid && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@rowid = Reader.Value; ++ paramsRead[40] = true; ++ } ++ else if (!paramsRead[41] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[41] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":entity-name, :name, :proxy, :lazy, :schema-action, :table, :schema, :catalog, :subselect, :discriminator-value, :mutable, :abstract, :polymorphism, :where, :persister, :dynamic-update, :dynamic-insert, :batch-size, :select-before-update, :optimistic-lock, :check, :rowid, :node"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@tuplizer = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])ShrinkArray(a_5, ca_5, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_10, ca_10, typeof(global::System.Object), true); ++ o.@Items1 = (global::System.Object[])ShrinkArray(a_11, ca_11, typeof(global::System.Object), true); ++ o.@filter = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])ShrinkArray(a_16, ca_16, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter), true); ++ o.@resultset = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])ShrinkArray(a_17, ca_17, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet), true); ++ o.@Items2 = (global::System.Object[])ShrinkArray(a_18, ca_18, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations68 = 0; ++ int readerCount68 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@subselect = Read5_HbmSubselect(false, true); ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id105_cache && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@cache = Read8_HbmCache(false, true); ++ paramsRead[2] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id49_synchronize && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])EnsureArrayIndex(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize));a_3[ca_3++] = Read9_HbmSynchronize(false, true); ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id41_comment && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@comment = Read10_HbmComment(false, true); ++ paramsRead[4] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id72_tuplizer && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])EnsureArrayIndex(a_5, ca_5, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer));a_5[ca_5++] = Read12_HbmTuplizer(false, true); ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id161_id && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read17_HbmId(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id162_compositeid && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read23_HbmCompositeId(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id163_discriminator && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@discriminator = Read25_HbmDiscriminator(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id164_naturalid && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@naturalid = Read70_HbmNaturalId(false, true); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id165_timestamp && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read74_HbmTimestamp(false, true); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id166_version && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item1 = Read75_HbmVersion(false, true); ++ paramsRead[9] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id80_onetoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::System.Object[])EnsureArrayIndex(a_10, ca_10, typeof(global::System.Object));a_10[ca_10++] = Read61_HbmOneToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id85_array && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::System.Object[])EnsureArrayIndex(a_10, ca_10, typeof(global::System.Object));a_10[ca_10++] = Read60_HbmArray(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id86_bag && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::System.Object[])EnsureArrayIndex(a_10, ca_10, typeof(global::System.Object));a_10[ca_10++] = Read50_HbmBag(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id77_component && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::System.Object[])EnsureArrayIndex(a_10, ca_10, typeof(global::System.Object));a_10[ca_10++] = Read68_HbmComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id75_dynamiccomponent && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::System.Object[])EnsureArrayIndex(a_10, ca_10, typeof(global::System.Object));a_10[ca_10++] = Read69_HbmDynamicComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id83_idbag && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::System.Object[])EnsureArrayIndex(a_10, ca_10, typeof(global::System.Object));a_10[ca_10++] = Read66_HbmIdbag(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id76_list && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::System.Object[])EnsureArrayIndex(a_10, ca_10, typeof(global::System.Object));a_10[ca_10++] = Read67_HbmList(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id78_manytoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::System.Object[])EnsureArrayIndex(a_10, ca_10, typeof(global::System.Object));a_10[ca_10++] = Read29_HbmManyToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id74_map && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::System.Object[])EnsureArrayIndex(a_10, ca_10, typeof(global::System.Object));a_10[ca_10++] = Read58_HbmMap(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id84_any && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::System.Object[])EnsureArrayIndex(a_10, ca_10, typeof(global::System.Object));a_10[ca_10++] = Read36_HbmAny(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id82_primitivearray && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::System.Object[])EnsureArrayIndex(a_10, ca_10, typeof(global::System.Object));a_10[ca_10++] = Read64_HbmPrimitiveArray(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id79_properties && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::System.Object[])EnsureArrayIndex(a_10, ca_10, typeof(global::System.Object));a_10[ca_10++] = Read76_HbmProperties(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id59_property && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::System.Object[])EnsureArrayIndex(a_10, ca_10, typeof(global::System.Object));a_10[ca_10++] = Read34_HbmProperty(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id81_set && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::System.Object[])EnsureArrayIndex(a_10, ca_10, typeof(global::System.Object));a_10[ca_10++] = Read49_HbmSet(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id167_join && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_11 = (global::System.Object[])EnsureArrayIndex(a_11, ca_11, typeof(global::System.Object));a_11[ca_11++] = Read78_HbmJoin(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id18_joinedsubclass && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_11 = (global::System.Object[])EnsureArrayIndex(a_11, ca_11, typeof(global::System.Object));a_11[ca_11++] = Read93_HbmJoinedSubclass(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id17_subclass && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_11 = (global::System.Object[])EnsureArrayIndex(a_11, ca_11, typeof(global::System.Object));a_11[ca_11++] = Read94_HbmSubclass(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id16_unionsubclass && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_11 = (global::System.Object[])EnsureArrayIndex(a_11, ca_11, typeof(global::System.Object));a_11[ca_11++] = Read95_HbmUnionSubclass(false, true); ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id87_loader && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@loader = Read44_HbmLoader(false, true); ++ paramsRead[12] = true; ++ } ++ else if (!paramsRead[13] && ((object) Reader.LocalName == (object)id88_sqlinsert && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlinsert = Read46_HbmCustomSQL(false, true); ++ paramsRead[13] = true; ++ } ++ else if (!paramsRead[14] && ((object) Reader.LocalName == (object)id89_sqlupdate && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlupdate = Read46_HbmCustomSQL(false, true); ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id90_sqldelete && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldelete = Read46_HbmCustomSQL(false, true); ++ paramsRead[15] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id112_filter && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_16 = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])EnsureArrayIndex(a_16, ca_16, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter));a_16[ca_16++] = Read41_HbmFilter(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id19_resultset && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_17 = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])EnsureArrayIndex(a_17, ca_17, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet));a_17[ca_17++] = Read87_HbmResultSet(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id21_query && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_18 = (global::System.Object[])EnsureArrayIndex(a_18, ca_18, typeof(global::System.Object));a_18[ca_18++] = Read91_HbmQuery(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id20_sqlquery && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_18 = (global::System.Object[])EnsureArrayIndex(a_18, ca_18, typeof(global::System.Object));a_18[ca_18++] = Read92_HbmSqlQuery(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:tuplizer, urn:nhibernate-mapping-2.2:id, urn:nhibernate-mapping-2.2:composite-id, urn:nhibernate-mapping-2.2:discriminator, urn:nhibernate-mapping-2.2:natural-id, urn:nhibernate-mapping-2.2:timestamp, urn:nhibernate-mapping-2.2:version, urn:nhibernate-mapping-2.2:one-to-one, urn:nhibernate-mapping-2.2:array, urn:nhibernate-mapping-2.2:bag, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:idbag, urn:nhibernate-mapping-2.2:list, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:map, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:primitive-array, urn:nhibernate-mapping-2.2:properties, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:set, urn:nhibernate-mapping-2.2:join, urn:nhibernate-mapping-2.2:joined-subclass, urn:nhibernate-mapping-2.2:subclass, urn:nhibernate-mapping-2.2:union-subclass, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:filter, urn:nhibernate-mapping-2.2:resultset, urn:nhibernate-mapping-2.2:query, urn:nhibernate-mapping-2.2:sql-query"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:cache, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:tuplizer, urn:nhibernate-mapping-2.2:id, urn:nhibernate-mapping-2.2:composite-id, urn:nhibernate-mapping-2.2:discriminator, urn:nhibernate-mapping-2.2:natural-id, urn:nhibernate-mapping-2.2:timestamp, urn:nhibernate-mapping-2.2:version, urn:nhibernate-mapping-2.2:one-to-one, urn:nhibernate-mapping-2.2:array, urn:nhibernate-mapping-2.2:bag, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:idbag, urn:nhibernate-mapping-2.2:list, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:map, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:primitive-array, urn:nhibernate-mapping-2.2:properties, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:set, urn:nhibernate-mapping-2.2:join, urn:nhibernate-mapping-2.2:joined-subclass, urn:nhibernate-mapping-2.2:subclass, urn:nhibernate-mapping-2.2:union-subclass, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:filter, urn:nhibernate-mapping-2.2:resultset, urn:nhibernate-mapping-2.2:query, urn:nhibernate-mapping-2.2:sql-query"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations68, ref readerCount68); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_3, ca_3, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@tuplizer = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])ShrinkArray(a_5, ca_5, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_10, ca_10, typeof(global::System.Object), true); ++ o.@Items1 = (global::System.Object[])ShrinkArray(a_11, ca_11, typeof(global::System.Object), true); ++ o.@filter = (global::NHibernate.Cfg.MappingSchema.HbmFilter[])ShrinkArray(a_16, ca_16, typeof(global::NHibernate.Cfg.MappingSchema.HbmFilter), true); ++ o.@resultset = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])ShrinkArray(a_17, ca_17, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet), true); ++ o.@Items2 = (global::System.Object[])ShrinkArray(a_18, ca_18, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass Read95_HbmUnionSubclass(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a_2 = null; ++ int ca_2 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmTuplizer[] a_4 = null; ++ int ca_4 = 0; ++ global::System.Object[] a_5 = null; ++ int ca_5 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass[] a_6 = null; ++ int ca_6 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmResultSet[] a_11 = null; ++ int ca_11 = 0; ++ global::System.Object[] a_12 = null; ++ int ca_12 = 0; ++ bool[] paramsRead = new bool[30]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[13] && ((object) Reader.LocalName == (object)id57_entityname && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@entityname = Reader.Value; ++ paramsRead[13] = true; ++ } ++ else if (!paramsRead[14] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id60_proxy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@proxy = Reader.Value; ++ paramsRead[15] = true; ++ } ++ else if (!paramsRead[16] && ((object) Reader.LocalName == (object)id50_table && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@table = Reader.Value; ++ paramsRead[16] = true; ++ } ++ else if (!paramsRead[17] && ((object) Reader.LocalName == (object)id5_schema && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@schema = Reader.Value; ++ paramsRead[17] = true; ++ } ++ else if (!paramsRead[18] && ((object) Reader.LocalName == (object)id6_catalog && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@catalog = Reader.Value; ++ paramsRead[18] = true; ++ } ++ else if (!paramsRead[19] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@subselect1 = Reader.Value; ++ paramsRead[19] = true; ++ } ++ else if (!paramsRead[20] && ((object) Reader.LocalName == (object)id62_dynamicupdate && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@dynamicupdate = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[20] = true; ++ } ++ else if (!paramsRead[21] && ((object) Reader.LocalName == (object)id63_dynamicinsert && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@dynamicinsert = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[21] = true; ++ } ++ else if (!paramsRead[22] && ((object) Reader.LocalName == (object)id64_selectbeforeupdate && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@selectbeforeupdate = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[22] = true; ++ } ++ else if (!paramsRead[23] && ((object) Reader.LocalName == (object)id65_extends && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@extends = Reader.Value; ++ paramsRead[23] = true; ++ } ++ else if (!paramsRead[24] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@lazySpecified = true; ++ paramsRead[24] = true; ++ } ++ else if (!paramsRead[25] && ((object) Reader.LocalName == (object)id67_abstract && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@abstract = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@abstractSpecified = true; ++ paramsRead[25] = true; ++ } ++ else if (!paramsRead[26] && ((object) Reader.LocalName == (object)id68_persister && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@persister = Reader.Value; ++ paramsRead[26] = true; ++ } ++ else if (!paramsRead[27] && ((object) Reader.LocalName == (object)id69_check && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@check = Reader.Value; ++ paramsRead[27] = true; ++ } ++ else if (!paramsRead[28] && ((object) Reader.LocalName == (object)id70_batchsize && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@batchsize = CollapseWhitespace(Reader.Value); ++ paramsRead[28] = true; ++ } ++ else if (!paramsRead[29] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[29] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":entity-name, :name, :proxy, :table, :schema, :catalog, :subselect, :dynamic-update, :dynamic-insert, :select-before-update, :extends, :lazy, :abstract, :persister, :check, :batch-size, :node"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@tuplizer = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])ShrinkArray(a_4, ca_4, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_5, ca_5, typeof(global::System.Object), true); ++ o.@unionsubclass1 = (global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass[])ShrinkArray(a_6, ca_6, typeof(global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass), true); ++ o.@resultset = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])ShrinkArray(a_11, ca_11, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet), true); ++ o.@Items1 = (global::System.Object[])ShrinkArray(a_12, ca_12, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations69 = 0; ++ int readerCount69 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@subselect = Read5_HbmSubselect(false, true); ++ paramsRead[1] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id49_synchronize && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_2 = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])EnsureArrayIndex(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize));a_2[ca_2++] = Read9_HbmSynchronize(false, true); ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id41_comment && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@comment = Read10_HbmComment(false, true); ++ paramsRead[3] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id72_tuplizer && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_4 = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])EnsureArrayIndex(a_4, ca_4, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer));a_4[ca_4++] = Read12_HbmTuplizer(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id80_onetoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read61_HbmOneToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id86_bag && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read50_HbmBag(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id77_component && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read68_HbmComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id75_dynamiccomponent && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read69_HbmDynamicComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id83_idbag && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read66_HbmIdbag(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id76_list && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read67_HbmList(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id78_manytoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read29_HbmManyToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id74_map && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read58_HbmMap(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id85_array && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read60_HbmArray(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id82_primitivearray && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read64_HbmPrimitiveArray(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id79_properties && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read76_HbmProperties(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id59_property && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read34_HbmProperty(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id81_set && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read49_HbmSet(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id84_any && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::System.Object[])EnsureArrayIndex(a_5, ca_5, typeof(global::System.Object));a_5[ca_5++] = Read36_HbmAny(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id16_unionsubclass && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_6 = (global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass[])EnsureArrayIndex(a_6, ca_6, typeof(global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass));a_6[ca_6++] = Read95_HbmUnionSubclass(false, true); ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id87_loader && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@loader = Read44_HbmLoader(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id88_sqlinsert && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlinsert = Read46_HbmCustomSQL(false, true); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id89_sqlupdate && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlupdate = Read46_HbmCustomSQL(false, true); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id90_sqldelete && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldelete = Read46_HbmCustomSQL(false, true); ++ paramsRead[10] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id19_resultset && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_11 = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])EnsureArrayIndex(a_11, ca_11, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet));a_11[ca_11++] = Read87_HbmResultSet(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id20_sqlquery && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_12 = (global::System.Object[])EnsureArrayIndex(a_12, ca_12, typeof(global::System.Object));a_12[ca_12++] = Read92_HbmSqlQuery(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id21_query && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_12 = (global::System.Object[])EnsureArrayIndex(a_12, ca_12, typeof(global::System.Object));a_12[ca_12++] = Read91_HbmQuery(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:tuplizer, urn:nhibernate-mapping-2.2:one-to-one, urn:nhibernate-mapping-2.2:bag, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:idbag, urn:nhibernate-mapping-2.2:list, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:map, urn:nhibernate-mapping-2.2:array, urn:nhibernate-mapping-2.2:primitive-array, urn:nhibernate-mapping-2.2:properties, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:set, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:union-subclass, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:resultset, urn:nhibernate-mapping-2.2:sql-query, urn:nhibernate-mapping-2.2:query"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:tuplizer, urn:nhibernate-mapping-2.2:one-to-one, urn:nhibernate-mapping-2.2:bag, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:idbag, urn:nhibernate-mapping-2.2:list, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:map, urn:nhibernate-mapping-2.2:array, urn:nhibernate-mapping-2.2:primitive-array, urn:nhibernate-mapping-2.2:properties, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:set, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:union-subclass, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:resultset, urn:nhibernate-mapping-2.2:sql-query, urn:nhibernate-mapping-2.2:query"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations69, ref readerCount69); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@tuplizer = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])ShrinkArray(a_4, ca_4, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_5, ca_5, typeof(global::System.Object), true); ++ o.@unionsubclass1 = (global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass[])ShrinkArray(a_6, ca_6, typeof(global::NHibernate.Cfg.MappingSchema.HbmUnionSubclass), true); ++ o.@resultset = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])ShrinkArray(a_11, ca_11, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet), true); ++ o.@Items1 = (global::System.Object[])ShrinkArray(a_12, ca_12, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmSubclass Read94_HbmSubclass(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmSubclass o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmSubclass(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmTuplizer[] a_1 = null; ++ int ca_1 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmSynchronize[] a_2 = null; ++ int ca_2 = 0; ++ global::System.Object[] a_3 = null; ++ int ca_3 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmJoin[] a_4 = null; ++ int ca_4 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmSubclass[] a_5 = null; ++ int ca_5 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmResultSet[] a_10 = null; ++ int ca_10 = 0; ++ global::System.Object[] a_11 = null; ++ int ca_11 = 0; ++ bool[] paramsRead = new bool[25]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[12] && ((object) Reader.LocalName == (object)id57_entityname && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@entityname = Reader.Value; ++ paramsRead[12] = true; ++ } ++ else if (!paramsRead[13] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[13] = true; ++ } ++ else if (!paramsRead[14] && ((object) Reader.LocalName == (object)id60_proxy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@proxy = Reader.Value; ++ paramsRead[14] = true; ++ } ++ else if (!paramsRead[15] && ((object) Reader.LocalName == (object)id158_discriminatorvalue && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@discriminatorvalue = Reader.Value; ++ paramsRead[15] = true; ++ } ++ else if (!paramsRead[16] && ((object) Reader.LocalName == (object)id62_dynamicupdate && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@dynamicupdate = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[16] = true; ++ } ++ else if (!paramsRead[17] && ((object) Reader.LocalName == (object)id63_dynamicinsert && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@dynamicinsert = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[17] = true; ++ } ++ else if (!paramsRead[18] && ((object) Reader.LocalName == (object)id64_selectbeforeupdate && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@selectbeforeupdate = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[18] = true; ++ } ++ else if (!paramsRead[19] && ((object) Reader.LocalName == (object)id65_extends && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@extends = Reader.Value; ++ paramsRead[19] = true; ++ } ++ else if (!paramsRead[20] && ((object) Reader.LocalName == (object)id66_lazy && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@lazy = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@lazySpecified = true; ++ paramsRead[20] = true; ++ } ++ else if (!paramsRead[21] && ((object) Reader.LocalName == (object)id67_abstract && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@abstract = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@abstractSpecified = true; ++ paramsRead[21] = true; ++ } ++ else if (!paramsRead[22] && ((object) Reader.LocalName == (object)id68_persister && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@persister = Reader.Value; ++ paramsRead[22] = true; ++ } ++ else if (!paramsRead[23] && ((object) Reader.LocalName == (object)id70_batchsize && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@batchsize = CollapseWhitespace(Reader.Value); ++ paramsRead[23] = true; ++ } ++ else if (!paramsRead[24] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[24] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":entity-name, :name, :proxy, :discriminator-value, :dynamic-update, :dynamic-insert, :select-before-update, :extends, :lazy, :abstract, :persister, :batch-size, :node"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@tuplizer = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_3, ca_3, typeof(global::System.Object), true); ++ o.@join = (global::NHibernate.Cfg.MappingSchema.HbmJoin[])ShrinkArray(a_4, ca_4, typeof(global::NHibernate.Cfg.MappingSchema.HbmJoin), true); ++ o.@subclass1 = (global::NHibernate.Cfg.MappingSchema.HbmSubclass[])ShrinkArray(a_5, ca_5, typeof(global::NHibernate.Cfg.MappingSchema.HbmSubclass), true); ++ o.@resultset = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])ShrinkArray(a_10, ca_10, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet), true); ++ o.@Items1 = (global::System.Object[])ShrinkArray(a_11, ca_11, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations70 = 0; ++ int readerCount70 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id72_tuplizer && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])EnsureArrayIndex(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer));a_1[ca_1++] = Read12_HbmTuplizer(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id49_synchronize && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_2 = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])EnsureArrayIndex(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize));a_2[ca_2++] = Read9_HbmSynchronize(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id59_property && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read34_HbmProperty(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id82_primitivearray && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read64_HbmPrimitiveArray(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id75_dynamiccomponent && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read69_HbmDynamicComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id81_set && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read49_HbmSet(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id80_onetoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read61_HbmOneToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id84_any && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read36_HbmAny(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id85_array && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read60_HbmArray(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id74_map && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read58_HbmMap(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id83_idbag && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read66_HbmIdbag(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id76_list && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read67_HbmList(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id86_bag && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read50_HbmBag(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id78_manytoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read29_HbmManyToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id77_component && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read68_HbmComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id167_join && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_4 = (global::NHibernate.Cfg.MappingSchema.HbmJoin[])EnsureArrayIndex(a_4, ca_4, typeof(global::NHibernate.Cfg.MappingSchema.HbmJoin));a_4[ca_4++] = Read78_HbmJoin(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id17_subclass && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_5 = (global::NHibernate.Cfg.MappingSchema.HbmSubclass[])EnsureArrayIndex(a_5, ca_5, typeof(global::NHibernate.Cfg.MappingSchema.HbmSubclass));a_5[ca_5++] = Read94_HbmSubclass(false, true); ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id87_loader && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@loader = Read44_HbmLoader(false, true); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id88_sqlinsert && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlinsert = Read46_HbmCustomSQL(false, true); ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id89_sqlupdate && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlupdate = Read46_HbmCustomSQL(false, true); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id90_sqldelete && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldelete = Read46_HbmCustomSQL(false, true); ++ paramsRead[9] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id19_resultset && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_10 = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])EnsureArrayIndex(a_10, ca_10, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet));a_10[ca_10++] = Read87_HbmResultSet(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id21_query && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_11 = (global::System.Object[])EnsureArrayIndex(a_11, ca_11, typeof(global::System.Object));a_11[ca_11++] = Read91_HbmQuery(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id20_sqlquery && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_11 = (global::System.Object[])EnsureArrayIndex(a_11, ca_11, typeof(global::System.Object));a_11[ca_11++] = Read92_HbmSqlQuery(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:tuplizer, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:primitive-array, urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:set, urn:nhibernate-mapping-2.2:one-to-one, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:array, urn:nhibernate-mapping-2.2:map, urn:nhibernate-mapping-2.2:idbag, urn:nhibernate-mapping-2.2:list, urn:nhibernate-mapping-2.2:bag, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:join, urn:nhibernate-mapping-2.2:subclass, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:resultset, urn:nhibernate-mapping-2.2:query, urn:nhibernate-mapping-2.2:sql-query"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:tuplizer, urn:nhibernate-mapping-2.2:synchronize, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:primitive-array, urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:set, urn:nhibernate-mapping-2.2:one-to-one, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:array, urn:nhibernate-mapping-2.2:map, urn:nhibernate-mapping-2.2:idbag, urn:nhibernate-mapping-2.2:list, urn:nhibernate-mapping-2.2:bag, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:join, urn:nhibernate-mapping-2.2:subclass, urn:nhibernate-mapping-2.2:loader, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete, urn:nhibernate-mapping-2.2:resultset, urn:nhibernate-mapping-2.2:query, urn:nhibernate-mapping-2.2:sql-query"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations70, ref readerCount70); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@tuplizer = (global::NHibernate.Cfg.MappingSchema.HbmTuplizer[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmTuplizer), true); ++ o.@synchronize = (global::NHibernate.Cfg.MappingSchema.HbmSynchronize[])ShrinkArray(a_2, ca_2, typeof(global::NHibernate.Cfg.MappingSchema.HbmSynchronize), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_3, ca_3, typeof(global::System.Object), true); ++ o.@join = (global::NHibernate.Cfg.MappingSchema.HbmJoin[])ShrinkArray(a_4, ca_4, typeof(global::NHibernate.Cfg.MappingSchema.HbmJoin), true); ++ o.@subclass1 = (global::NHibernate.Cfg.MappingSchema.HbmSubclass[])ShrinkArray(a_5, ca_5, typeof(global::NHibernate.Cfg.MappingSchema.HbmSubclass), true); ++ o.@resultset = (global::NHibernate.Cfg.MappingSchema.HbmResultSet[])ShrinkArray(a_10, ca_10, typeof(global::NHibernate.Cfg.MappingSchema.HbmResultSet), true); ++ o.@Items1 = (global::System.Object[])ShrinkArray(a_11, ca_11, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmJoin Read78_HbmJoin(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmJoin o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmJoin(); ++ global::System.Object[] a_3 = null; ++ int ca_3 = 0; ++ bool[] paramsRead = new bool[14]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[7] && ((object) Reader.LocalName == (object)id50_table && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@table = Reader.Value; ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id5_schema && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@schema = Reader.Value; ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id6_catalog && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@catalog = Reader.Value; ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@subselect1 = Reader.Value; ++ paramsRead[10] = true; ++ } ++ else if (!paramsRead[11] && ((object) Reader.LocalName == (object)id100_fetch && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@fetch = Read77_HbmJoinFetch(Reader.Value); ++ paramsRead[11] = true; ++ } ++ else if (!paramsRead[12] && ((object) Reader.LocalName == (object)id94_inverse && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@inverse = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[12] = true; ++ } ++ else if (!paramsRead[13] && ((object) Reader.LocalName == (object)id168_optional && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@optional = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[13] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":table, :schema, :catalog, :subselect, :fetch, :inverse, :optional"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::System.Object[])ShrinkArray(a_3, ca_3, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations71 = 0; ++ int readerCount71 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id61_subselect && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@subselect = Read5_HbmSubselect(false, true); ++ paramsRead[0] = true; ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id41_comment && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@comment = Read10_HbmComment(false, true); ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id73_key && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@key = Read31_HbmKey(false, true); ++ paramsRead[2] = true; ++ } ++ else if (((object) Reader.LocalName == (object)id77_component && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read68_HbmComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id85_array && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read60_HbmArray(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id76_list && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read67_HbmList(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id84_any && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read36_HbmAny(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id86_bag && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read50_HbmBag(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id75_dynamiccomponent && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read69_HbmDynamicComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id83_idbag && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read66_HbmIdbag(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id82_primitivearray && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read64_HbmPrimitiveArray(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id78_manytoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read29_HbmManyToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id81_set && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read49_HbmSet(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id74_map && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read58_HbmMap(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id59_property && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_3 = (global::System.Object[])EnsureArrayIndex(a_3, ca_3, typeof(global::System.Object));a_3[ca_3++] = Read34_HbmProperty(false, true); ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id88_sqlinsert && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlinsert = Read46_HbmCustomSQL(false, true); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id89_sqlupdate && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqlupdate = Read46_HbmCustomSQL(false, true); ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id90_sqldelete && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@sqldelete = Read46_HbmCustomSQL(false, true); ++ paramsRead[6] = true; ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:array, urn:nhibernate-mapping-2.2:list, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:bag, urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:idbag, urn:nhibernate-mapping-2.2:primitive-array, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:set, urn:nhibernate-mapping-2.2:map, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:subselect, urn:nhibernate-mapping-2.2:comment, urn:nhibernate-mapping-2.2:key, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:array, urn:nhibernate-mapping-2.2:list, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:bag, urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:idbag, urn:nhibernate-mapping-2.2:primitive-array, urn:nhibernate-mapping-2.2:many-to-one, urn:nhibernate-mapping-2.2:set, urn:nhibernate-mapping-2.2:map, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:sql-insert, urn:nhibernate-mapping-2.2:sql-update, urn:nhibernate-mapping-2.2:sql-delete"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations71, ref readerCount71); ++ } ++ o.@Items = (global::System.Object[])ShrinkArray(a_3, ca_3, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmJoinFetch Read77_HbmJoinFetch(string s) { ++ switch (s) { ++ case @"join": return global::NHibernate.Cfg.MappingSchema.HbmJoinFetch.@Join; ++ case @"select": return global::NHibernate.Cfg.MappingSchema.HbmJoinFetch.@Select; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmJoinFetch)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmVersion Read75_HbmVersion(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmVersion o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmVersion(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[10]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column1 = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@type = Reader.Value; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id169_unsavedvalue && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@unsavedvalue = Reader.Value; ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id136_generated && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@generated = Read73_HbmVersionGeneration(Reader.Value); ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id131_insert && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@insert = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ o.@insertSpecified = true; ++ paramsRead[9] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :node, :access, :column, :type, :unsaved-value, :generated, :insert"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations72 = 0; ++ int readerCount72 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])EnsureArrayIndex(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn));a_1[ca_1++] = Read13_HbmColumn(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:column"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:column"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations72, ref readerCount72); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmVersionGeneration Read73_HbmVersionGeneration(string s) { ++ switch (s) { ++ case @"never": return global::NHibernate.Cfg.MappingSchema.HbmVersionGeneration.@Never; ++ case @"always": return global::NHibernate.Cfg.MappingSchema.HbmVersionGeneration.@Always; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmVersionGeneration)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmTimestamp Read74_HbmTimestamp(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmTimestamp o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmTimestamp(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[8]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id169_unsavedvalue && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@unsavedvalue = Read71_HbmTimestampUnsavedvalue(Reader.Value); ++ o.@unsavedvalueSpecified = true; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id170_source && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@source = Read72_HbmTimestampSource(Reader.Value); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id136_generated && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@generated = Read73_HbmVersionGeneration(Reader.Value); ++ paramsRead[7] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :node, :column, :access, :unsaved-value, :source, :generated"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations73 = 0; ++ int readerCount73 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations73, ref readerCount73); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmTimestampSource Read72_HbmTimestampSource(string s) { ++ switch (s) { ++ case @"vm": return global::NHibernate.Cfg.MappingSchema.HbmTimestampSource.@Vm; ++ case @"db": return global::NHibernate.Cfg.MappingSchema.HbmTimestampSource.@Db; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmTimestampSource)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmTimestampUnsavedvalue Read71_HbmTimestampUnsavedvalue(string s) { ++ switch (s) { ++ case @"null": return global::NHibernate.Cfg.MappingSchema.HbmTimestampUnsavedvalue.@Null; ++ case @"undefined": return global::NHibernate.Cfg.MappingSchema.HbmTimestampUnsavedvalue.@Undefined; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmTimestampUnsavedvalue)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmNaturalId Read70_HbmNaturalId(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmNaturalId o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmNaturalId(); ++ global::System.Object[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id95_mutable && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@mutable = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":mutable"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations74 = 0; ++ int readerCount74 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id75_dynamiccomponent && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read69_HbmDynamicComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id84_any && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read36_HbmAny(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id59_property && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read34_HbmProperty(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id77_component && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read68_HbmComponent(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id78_manytoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::System.Object[])EnsureArrayIndex(a_0, ca_0, typeof(global::System.Object));a_0[ca_0++] = Read29_HbmManyToOne(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:many-to-one"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:dynamic-component, urn:nhibernate-mapping-2.2:any, urn:nhibernate-mapping-2.2:property, urn:nhibernate-mapping-2.2:component, urn:nhibernate-mapping-2.2:many-to-one"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations74, ref readerCount74); ++ } ++ o.@Items = (global::System.Object[])ShrinkArray(a_0, ca_0, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmDiscriminator Read25_HbmDiscriminator(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmDiscriminator o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmDiscriminator(); ++ bool[] paramsRead = new bool[8]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@formula = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@type = Reader.Value; ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id121_notnull && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@notnull = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id118_length && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@length = CollapseWhitespace(Reader.Value); ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id171_force && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@force = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id131_insert && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@insert = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[7] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":column, :formula, :type, :not-null, :length, :force, :insert"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations75 = 0; ++ int readerCount75 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id114_formula && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read24_HbmFormula(false, true); ++ paramsRead[0] = true; ++ } ++ else if (!paramsRead[0] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@Item = Read13_HbmColumn(false, true); ++ paramsRead[0] = true; ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:formula, urn:nhibernate-mapping-2.2:column"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:formula, urn:nhibernate-mapping-2.2:column"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations75, ref readerCount75); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmCompositeId Read23_HbmCompositeId(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmCompositeId o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmCompositeId(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::System.Object[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[8]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[2] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id172_mapped && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@mapped = System.Xml.XmlConvert.ToBoolean(Reader.Value); ++ paramsRead[3] = true; ++ } ++ else if (!paramsRead[4] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id169_unsavedvalue && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@unsavedvalue = Read22_HbmUnsavedValueType(Reader.Value); ++ paramsRead[7] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":class, :mapped, :name, :node, :access, :unsaved-value"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_1, ca_1, typeof(global::System.Object), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations76 = 0; ++ int readerCount76 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id154_keymanytoone && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::System.Object[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.Object));a_1[ca_1++] = Read20_HbmKeyManyToOne(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id155_keyproperty && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::System.Object[])EnsureArrayIndex(a_1, ca_1, typeof(global::System.Object));a_1[ca_1++] = Read21_HbmKeyProperty(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:key-many-to-one, urn:nhibernate-mapping-2.2:key-property"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:key-many-to-one, urn:nhibernate-mapping-2.2:key-property"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations76, ref readerCount76); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@Items = (global::System.Object[])ShrinkArray(a_1, ca_1, typeof(global::System.Object), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmUnsavedValueType Read22_HbmUnsavedValueType(string s) { ++ switch (s) { ++ case @"undefined": return global::NHibernate.Cfg.MappingSchema.HbmUnsavedValueType.@Undefined; ++ case @"any": return global::NHibernate.Cfg.MappingSchema.HbmUnsavedValueType.@Any; ++ case @"none": return global::NHibernate.Cfg.MappingSchema.HbmUnsavedValueType.@None; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmUnsavedValueType)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmId Read17_HbmId(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmId o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmId(); ++ global::NHibernate.Cfg.MappingSchema.HbmMeta[] a_0 = null; ++ int ca_0 = 0; ++ global::NHibernate.Cfg.MappingSchema.HbmColumn[] a_1 = null; ++ int ca_1 = 0; ++ bool[] paramsRead = new bool[11]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[4] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[4] = true; ++ } ++ else if (!paramsRead[5] && ((object) Reader.LocalName == (object)id71_node && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@node = Reader.Value; ++ paramsRead[5] = true; ++ } ++ else if (!paramsRead[6] && ((object) Reader.LocalName == (object)id93_access && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@access = Reader.Value; ++ paramsRead[6] = true; ++ } ++ else if (!paramsRead[7] && ((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@column1 = Reader.Value; ++ paramsRead[7] = true; ++ } ++ else if (!paramsRead[8] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@type1 = Reader.Value; ++ paramsRead[8] = true; ++ } ++ else if (!paramsRead[9] && ((object) Reader.LocalName == (object)id118_length && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@length = CollapseWhitespace(Reader.Value); ++ paramsRead[9] = true; ++ } ++ else if (!paramsRead[10] && ((object) Reader.LocalName == (object)id169_unsavedvalue && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@unsavedvalue = Reader.Value; ++ paramsRead[10] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":name, :node, :access, :column, :type, :length, :unsaved-value"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations77 = 0; ++ int readerCount77 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id13_meta && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta));a_0[ca_0++] = Read4_HbmMeta(false, true); ++ } ++ else if (((object) Reader.LocalName == (object)id55_column && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_1 = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])EnsureArrayIndex(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn));a_1[ca_1++] = Read13_HbmColumn(false, true); ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id33_type && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@type = Read15_HbmType(false, true); ++ paramsRead[2] = true; ++ } ++ else if (!paramsRead[3] && ((object) Reader.LocalName == (object)id145_generator && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ o.@generator = Read16_HbmGenerator(false, true); ++ paramsRead[3] = true; ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:column, urn:nhibernate-mapping-2.2:type, urn:nhibernate-mapping-2.2:generator"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:meta, urn:nhibernate-mapping-2.2:column, urn:nhibernate-mapping-2.2:type, urn:nhibernate-mapping-2.2:generator"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations77, ref readerCount77); ++ } ++ o.@meta = (global::NHibernate.Cfg.MappingSchema.HbmMeta[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmMeta), true); ++ o.@column = (global::NHibernate.Cfg.MappingSchema.HbmColumn[])ShrinkArray(a_1, ca_1, typeof(global::NHibernate.Cfg.MappingSchema.HbmColumn), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode Read97_HbmOptimisticLockMode(string s) { ++ switch (s) { ++ case @"none": return global::NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode.@None; ++ case @"version": return global::NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode.@Version; ++ case @"dirty": return global::NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode.@Dirty; ++ case @"all": return global::NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode.@All; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmOptimisticLockMode)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmPolymorphismType Read96_HbmPolymorphismType(string s) { ++ switch (s) { ++ case @"implicit": return global::NHibernate.Cfg.MappingSchema.HbmPolymorphismType.@Implicit; ++ case @"explicit": return global::NHibernate.Cfg.MappingSchema.HbmPolymorphismType.@Explicit; ++ default: throw CreateUnknownConstantException(s, typeof(global::NHibernate.Cfg.MappingSchema.HbmPolymorphismType)); ++ } ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmImport Read100_HbmImport(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmImport o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmImport(); ++ bool[] paramsRead = new bool[2]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[0] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[0] = true; ++ } ++ else if (!paramsRead[1] && ((object) Reader.LocalName == (object)id173_rename && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@rename = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":class, :rename"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations78 = 0; ++ int readerCount78 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ UnknownNode((object)o, @""); ++ } ++ else { ++ UnknownNode((object)o, @""); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations78, ref readerCount78); ++ } ++ ReadEndElement(); ++ return o; ++ } ++ ++ global::NHibernate.Cfg.MappingSchema.HbmTypedef Read99_HbmTypedef(bool isNullable, bool checkType) { ++ System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null; ++ bool isNull = false; ++ if (isNullable) isNull = ReadNull(); ++ if (checkType) { ++ if (xsiType == null || ((object) ((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_Item && (object) ((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_urnnhibernatemapping22)) { ++ } ++ else ++ throw CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType); ++ } ++ if (isNull) return null; ++ global::NHibernate.Cfg.MappingSchema.HbmTypedef o; ++ o = new global::NHibernate.Cfg.MappingSchema.HbmTypedef(); ++ global::NHibernate.Cfg.MappingSchema.HbmParam[] a_0 = null; ++ int ca_0 = 0; ++ bool[] paramsRead = new bool[3]; ++ while (Reader.MoveToNextAttribute()) { ++ if (!paramsRead[1] && ((object) Reader.LocalName == (object)id1_class && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@class = Reader.Value; ++ paramsRead[1] = true; ++ } ++ else if (!paramsRead[2] && ((object) Reader.LocalName == (object)id28_name && (object) Reader.NamespaceURI == (object)id4_Item)) { ++ o.@name = Reader.Value; ++ paramsRead[2] = true; ++ } ++ else if (!IsXmlnsAttribute(Reader.Name)) { ++ UnknownNode((object)o, @":class, :name"); ++ } ++ } ++ Reader.MoveToElement(); ++ if (Reader.IsEmptyElement) { ++ Reader.Skip(); ++ o.@param = (global::NHibernate.Cfg.MappingSchema.HbmParam[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmParam), true); ++ return o; ++ } ++ Reader.ReadStartElement(); ++ Reader.MoveToContent(); ++ int whileIterations79 = 0; ++ int readerCount79 = ReaderCount; ++ while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None) { ++ if (Reader.NodeType == System.Xml.XmlNodeType.Element) { ++ if (((object) Reader.LocalName == (object)id29_param && (object) Reader.NamespaceURI == (object)id2_urnnhibernatemapping22)) { ++ a_0 = (global::NHibernate.Cfg.MappingSchema.HbmParam[])EnsureArrayIndex(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmParam));a_0[ca_0++] = Read14_HbmParam(false, true); ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:param"); ++ } ++ } ++ else { ++ UnknownNode((object)o, @"urn:nhibernate-mapping-2.2:param"); ++ } ++ Reader.MoveToContent(); ++ CheckReaderCount(ref whileIterations79, ref readerCount79); ++ } ++ o.@param = (global::NHibernate.Cfg.MappingSchema.HbmParam[])ShrinkArray(a_0, ca_0, typeof(global::NHibernate.Cfg.MappingSchema.HbmParam), true); ++ ReadEndElement(); ++ return o; ++ } ++ ++ protected override void InitCallbacks() { ++ } ++ ++ string id49_synchronize; ++ string id166_version; ++ string id69_check; ++ string id88_sqlinsert; ++ string id76_list; ++ string id20_sqlquery; ++ string id73_key; ++ string id120_scale; ++ string id121_notnull; ++ string id117_propertyref; ++ string id15_import; ++ string id50_table; ++ string id129_nestedcompositeelement; ++ string id157_schemaaction; ++ string id16_unionsubclass; ++ string id86_bag; ++ string id37_fetchsize; ++ string id142_listindex; ++ string id1_class; ++ string id92_queryref; ++ string id79_properties; ++ string id67_abstract; ++ string id57_entityname; ++ string id89_sqlupdate; ++ string id172_mapped; ++ string id106_manytoany; ++ string id35_cacheable; ++ string id147_constrained; ++ string id124_index; ++ string id14_typedef; ++ string id143_base; ++ string id149_mapkeymanytomany; ++ string id156_entitymode; ++ string id40_readonly; ++ string id10_autoimport; ++ string id70_batchsize; ++ string id66_lazy; ++ string id41_comment; ++ string id137_ondelete; ++ string id12_assembly; ++ string id45_returnjoin; ++ string id52_role; ++ string id154_keymanytoone; ++ string id91_HbmCustomSQL; ++ string id98_where; ++ string id108_compositeelement; ++ string id112_filter; ++ string id64_selectbeforeupdate; ++ string id135_value; ++ string id43_resultsetref; ++ string id133_metatype; ++ string id56_returncolumn; ++ string id170_source; ++ string id115_foreignkey; ++ string id145_generator; ++ string id114_formula; ++ string id47_returnscalar; ++ string id61_subselect; ++ string id59_property; ++ string id155_keyproperty; ++ string id122_uniquekey; ++ string id119_precision; ++ string id136_generated; ++ string id4_Item; ++ string id77_component; ++ string id9_defaultlazy; ++ string id130_update; ++ string id36_cacheregion; ++ string id151_compositemapkey; ++ string id160_rowid; ++ string id80_onetoone; ++ string id144_collectionid; ++ string id161_id; ++ string id131_insert; ++ string id110_onetomany; ++ string id34_flushmode; ++ string id44_callable; ++ string id29_param; ++ string id171_force; ++ string id13_meta; ++ string id65_extends; ++ string id95_mutable; ++ string id68_persister; ++ string id81_set; ++ string id2_urnnhibernatemapping22; ++ string id118_length; ++ string id85_array; ++ string id164_naturalid; ++ string id96_cascade; ++ string id165_timestamp; ++ string id169_unsavedvalue; ++ string id51_alias; ++ string id173_rename; ++ string id74_map; ++ string id7_defaultcascade; ++ string id139_region; ++ string id21_query; ++ string id116_unique; ++ string id78_manytoone; ++ string id126_attribute; ++ string id93_access; ++ string id148_indexmanytomany; ++ string id31_usemanytoone; ++ string id138_usage; ++ string id146_sort; ++ string id168_optional; ++ string id46_return; ++ string id24_create; ++ string id100_fetch; ++ string id19_resultset; ++ string id25_definition; ++ string id104_generic; ++ string id152_indexmanytoany; ++ string id32_filterparam; ++ string id63_dynamicinsert; ++ string id103_embedxml; ++ string id140_include; ++ string id82_primitivearray; ++ string id22_filterdef; ++ string id75_dynamiccomponent; ++ string id38_timeout; ++ string id94_inverse; ++ string id134_metavalue; ++ string id72_tuplizer; ++ string id84_any; ++ string id90_sqldelete; ++ string id42_queryparam; ++ string id99_outerjoin; ++ string id163_discriminator; ++ string id71_node; ++ string id125_default; ++ string id54_returnproperty; ++ string id27_dialectscope; ++ string id6_catalog; ++ string id3_hibernatemapping; ++ string id158_discriminatorvalue; ++ string id162_compositeid; ++ string id26_drop; ++ string id97_orderby; ++ string id28_name; ++ string id132_idtype; ++ string id62_dynamicupdate; ++ string id113_notfound; ++ string id17_subclass; ++ string id87_loader; ++ string id18_joinedsubclass; ++ string id101_collectiontype; ++ string id150_compositeindex; ++ string id33_type; ++ string id111_sqldeleteall; ++ string id109_manytomany; ++ string id55_column; ++ string id159_polymorphism; ++ string id53_lockmode; ++ string id48_loadcollection; ++ string id127_inherit; ++ string id153_mapkey; ++ string id128_parent; ++ string id8_defaultaccess; ++ string id5_schema; ++ string id105_cache; ++ string id58_returndiscriminator; ++ string id167_join; ++ string id39_cachemode; ++ string id30_condition; ++ string id60_proxy; ++ string id107_element; ++ string id11_namespace; ++ string id102_optimisticlock; ++ string id123_sqltype; ++ string id23_databaseobject; ++ string id83_idbag; ++ string id141_elementclass; ++ ++ protected override void InitIDs() { ++ id49_synchronize = Reader.NameTable.Add(@"synchronize"); ++ id166_version = Reader.NameTable.Add(@"version"); ++ id69_check = Reader.NameTable.Add(@"check"); ++ id88_sqlinsert = Reader.NameTable.Add(@"sql-insert"); ++ id76_list = Reader.NameTable.Add(@"list"); ++ id20_sqlquery = Reader.NameTable.Add(@"sql-query"); ++ id73_key = Reader.NameTable.Add(@"key"); ++ id120_scale = Reader.NameTable.Add(@"scale"); ++ id121_notnull = Reader.NameTable.Add(@"not-null"); ++ id117_propertyref = Reader.NameTable.Add(@"property-ref"); ++ id15_import = Reader.NameTable.Add(@"import"); ++ id50_table = Reader.NameTable.Add(@"table"); ++ id129_nestedcompositeelement = Reader.NameTable.Add(@"nested-composite-element"); ++ id157_schemaaction = Reader.NameTable.Add(@"schema-action"); ++ id16_unionsubclass = Reader.NameTable.Add(@"union-subclass"); ++ id86_bag = Reader.NameTable.Add(@"bag"); ++ id37_fetchsize = Reader.NameTable.Add(@"fetch-size"); ++ id142_listindex = Reader.NameTable.Add(@"list-index"); ++ id1_class = Reader.NameTable.Add(@"class"); ++ id92_queryref = Reader.NameTable.Add(@"query-ref"); ++ id79_properties = Reader.NameTable.Add(@"properties"); ++ id67_abstract = Reader.NameTable.Add(@"abstract"); ++ id57_entityname = Reader.NameTable.Add(@"entity-name"); ++ id89_sqlupdate = Reader.NameTable.Add(@"sql-update"); ++ id172_mapped = Reader.NameTable.Add(@"mapped"); ++ id106_manytoany = Reader.NameTable.Add(@"many-to-any"); ++ id35_cacheable = Reader.NameTable.Add(@"cacheable"); ++ id147_constrained = Reader.NameTable.Add(@"constrained"); ++ id124_index = Reader.NameTable.Add(@"index"); ++ id14_typedef = Reader.NameTable.Add(@"typedef"); ++ id143_base = Reader.NameTable.Add(@"base"); ++ id149_mapkeymanytomany = Reader.NameTable.Add(@"map-key-many-to-many"); ++ id156_entitymode = Reader.NameTable.Add(@"entity-mode"); ++ id40_readonly = Reader.NameTable.Add(@"read-only"); ++ id10_autoimport = Reader.NameTable.Add(@"auto-import"); ++ id70_batchsize = Reader.NameTable.Add(@"batch-size"); ++ id66_lazy = Reader.NameTable.Add(@"lazy"); ++ id41_comment = Reader.NameTable.Add(@"comment"); ++ id137_ondelete = Reader.NameTable.Add(@"on-delete"); ++ id12_assembly = Reader.NameTable.Add(@"assembly"); ++ id45_returnjoin = Reader.NameTable.Add(@"return-join"); ++ id52_role = Reader.NameTable.Add(@"role"); ++ id154_keymanytoone = Reader.NameTable.Add(@"key-many-to-one"); ++ id91_HbmCustomSQL = Reader.NameTable.Add(@"HbmCustomSQL"); ++ id98_where = Reader.NameTable.Add(@"where"); ++ id108_compositeelement = Reader.NameTable.Add(@"composite-element"); ++ id112_filter = Reader.NameTable.Add(@"filter"); ++ id64_selectbeforeupdate = Reader.NameTable.Add(@"select-before-update"); ++ id135_value = Reader.NameTable.Add(@"value"); ++ id43_resultsetref = Reader.NameTable.Add(@"resultset-ref"); ++ id133_metatype = Reader.NameTable.Add(@"meta-type"); ++ id56_returncolumn = Reader.NameTable.Add(@"return-column"); ++ id170_source = Reader.NameTable.Add(@"source"); ++ id115_foreignkey = Reader.NameTable.Add(@"foreign-key"); ++ id145_generator = Reader.NameTable.Add(@"generator"); ++ id114_formula = Reader.NameTable.Add(@"formula"); ++ id47_returnscalar = Reader.NameTable.Add(@"return-scalar"); ++ id61_subselect = Reader.NameTable.Add(@"subselect"); ++ id59_property = Reader.NameTable.Add(@"property"); ++ id155_keyproperty = Reader.NameTable.Add(@"key-property"); ++ id122_uniquekey = Reader.NameTable.Add(@"unique-key"); ++ id119_precision = Reader.NameTable.Add(@"precision"); ++ id136_generated = Reader.NameTable.Add(@"generated"); ++ id4_Item = Reader.NameTable.Add(@""); ++ id77_component = Reader.NameTable.Add(@"component"); ++ id9_defaultlazy = Reader.NameTable.Add(@"default-lazy"); ++ id130_update = Reader.NameTable.Add(@"update"); ++ id36_cacheregion = Reader.NameTable.Add(@"cache-region"); ++ id151_compositemapkey = Reader.NameTable.Add(@"composite-map-key"); ++ id160_rowid = Reader.NameTable.Add(@"rowid"); ++ id80_onetoone = Reader.NameTable.Add(@"one-to-one"); ++ id144_collectionid = Reader.NameTable.Add(@"collection-id"); ++ id161_id = Reader.NameTable.Add(@"id"); ++ id131_insert = Reader.NameTable.Add(@"insert"); ++ id110_onetomany = Reader.NameTable.Add(@"one-to-many"); ++ id34_flushmode = Reader.NameTable.Add(@"flush-mode"); ++ id44_callable = Reader.NameTable.Add(@"callable"); ++ id29_param = Reader.NameTable.Add(@"param"); ++ id171_force = Reader.NameTable.Add(@"force"); ++ id13_meta = Reader.NameTable.Add(@"meta"); ++ id65_extends = Reader.NameTable.Add(@"extends"); ++ id95_mutable = Reader.NameTable.Add(@"mutable"); ++ id68_persister = Reader.NameTable.Add(@"persister"); ++ id81_set = Reader.NameTable.Add(@"set"); ++ id2_urnnhibernatemapping22 = Reader.NameTable.Add(@"urn:nhibernate-mapping-2.2"); ++ id118_length = Reader.NameTable.Add(@"length"); ++ id85_array = Reader.NameTable.Add(@"array"); ++ id164_naturalid = Reader.NameTable.Add(@"natural-id"); ++ id96_cascade = Reader.NameTable.Add(@"cascade"); ++ id165_timestamp = Reader.NameTable.Add(@"timestamp"); ++ id169_unsavedvalue = Reader.NameTable.Add(@"unsaved-value"); ++ id51_alias = Reader.NameTable.Add(@"alias"); ++ id173_rename = Reader.NameTable.Add(@"rename"); ++ id74_map = Reader.NameTable.Add(@"map"); ++ id7_defaultcascade = Reader.NameTable.Add(@"default-cascade"); ++ id139_region = Reader.NameTable.Add(@"region"); ++ id21_query = Reader.NameTable.Add(@"query"); ++ id116_unique = Reader.NameTable.Add(@"unique"); ++ id78_manytoone = Reader.NameTable.Add(@"many-to-one"); ++ id126_attribute = Reader.NameTable.Add(@"attribute"); ++ id93_access = Reader.NameTable.Add(@"access"); ++ id148_indexmanytomany = Reader.NameTable.Add(@"index-many-to-many"); ++ id31_usemanytoone = Reader.NameTable.Add(@"use-many-to-one"); ++ id138_usage = Reader.NameTable.Add(@"usage"); ++ id146_sort = Reader.NameTable.Add(@"sort"); ++ id168_optional = Reader.NameTable.Add(@"optional"); ++ id46_return = Reader.NameTable.Add(@"return"); ++ id24_create = Reader.NameTable.Add(@"create"); ++ id100_fetch = Reader.NameTable.Add(@"fetch"); ++ id19_resultset = Reader.NameTable.Add(@"resultset"); ++ id25_definition = Reader.NameTable.Add(@"definition"); ++ id104_generic = Reader.NameTable.Add(@"generic"); ++ id152_indexmanytoany = Reader.NameTable.Add(@"index-many-to-any"); ++ id32_filterparam = Reader.NameTable.Add(@"filter-param"); ++ id63_dynamicinsert = Reader.NameTable.Add(@"dynamic-insert"); ++ id103_embedxml = Reader.NameTable.Add(@"embed-xml"); ++ id140_include = Reader.NameTable.Add(@"include"); ++ id82_primitivearray = Reader.NameTable.Add(@"primitive-array"); ++ id22_filterdef = Reader.NameTable.Add(@"filter-def"); ++ id75_dynamiccomponent = Reader.NameTable.Add(@"dynamic-component"); ++ id38_timeout = Reader.NameTable.Add(@"timeout"); ++ id94_inverse = Reader.NameTable.Add(@"inverse"); ++ id134_metavalue = Reader.NameTable.Add(@"meta-value"); ++ id72_tuplizer = Reader.NameTable.Add(@"tuplizer"); ++ id84_any = Reader.NameTable.Add(@"any"); ++ id90_sqldelete = Reader.NameTable.Add(@"sql-delete"); ++ id42_queryparam = Reader.NameTable.Add(@"query-param"); ++ id99_outerjoin = Reader.NameTable.Add(@"outer-join"); ++ id163_discriminator = Reader.NameTable.Add(@"discriminator"); ++ id71_node = Reader.NameTable.Add(@"node"); ++ id125_default = Reader.NameTable.Add(@"default"); ++ id54_returnproperty = Reader.NameTable.Add(@"return-property"); ++ id27_dialectscope = Reader.NameTable.Add(@"dialect-scope"); ++ id6_catalog = Reader.NameTable.Add(@"catalog"); ++ id3_hibernatemapping = Reader.NameTable.Add(@"hibernate-mapping"); ++ id158_discriminatorvalue = Reader.NameTable.Add(@"discriminator-value"); ++ id162_compositeid = Reader.NameTable.Add(@"composite-id"); ++ id26_drop = Reader.NameTable.Add(@"drop"); ++ id97_orderby = Reader.NameTable.Add(@"order-by"); ++ id28_name = Reader.NameTable.Add(@"name"); ++ id132_idtype = Reader.NameTable.Add(@"id-type"); ++ id62_dynamicupdate = Reader.NameTable.Add(@"dynamic-update"); ++ id113_notfound = Reader.NameTable.Add(@"not-found"); ++ id17_subclass = Reader.NameTable.Add(@"subclass"); ++ id87_loader = Reader.NameTable.Add(@"loader"); ++ id18_joinedsubclass = Reader.NameTable.Add(@"joined-subclass"); ++ id101_collectiontype = Reader.NameTable.Add(@"collection-type"); ++ id150_compositeindex = Reader.NameTable.Add(@"composite-index"); ++ id33_type = Reader.NameTable.Add(@"type"); ++ id111_sqldeleteall = Reader.NameTable.Add(@"sql-delete-all"); ++ id109_manytomany = Reader.NameTable.Add(@"many-to-many"); ++ id55_column = Reader.NameTable.Add(@"column"); ++ id159_polymorphism = Reader.NameTable.Add(@"polymorphism"); ++ id53_lockmode = Reader.NameTable.Add(@"lock-mode"); ++ id48_loadcollection = Reader.NameTable.Add(@"load-collection"); ++ id127_inherit = Reader.NameTable.Add(@"inherit"); ++ id153_mapkey = Reader.NameTable.Add(@"map-key"); ++ id128_parent = Reader.NameTable.Add(@"parent"); ++ id8_defaultaccess = Reader.NameTable.Add(@"default-access"); ++ id5_schema = Reader.NameTable.Add(@"schema"); ++ id105_cache = Reader.NameTable.Add(@"cache"); ++ id58_returndiscriminator = Reader.NameTable.Add(@"return-discriminator"); ++ id167_join = Reader.NameTable.Add(@"join"); ++ id39_cachemode = Reader.NameTable.Add(@"cache-mode"); ++ id30_condition = Reader.NameTable.Add(@"condition"); ++ id60_proxy = Reader.NameTable.Add(@"proxy"); ++ id107_element = Reader.NameTable.Add(@"element"); ++ id11_namespace = Reader.NameTable.Add(@"namespace"); ++ id102_optimisticlock = Reader.NameTable.Add(@"optimistic-lock"); ++ id123_sqltype = Reader.NameTable.Add(@"sql-type"); ++ id23_databaseobject = Reader.NameTable.Add(@"database-object"); ++ id83_idbag = Reader.NameTable.Add(@"idbag"); ++ id141_elementclass = Reader.NameTable.Add(@"element-class"); ++ } ++ } ++ ++ internal abstract class XmlSerializer1 : System.Xml.Serialization.XmlSerializer { ++ protected override System.Xml.Serialization.XmlSerializationReader CreateReader() { ++ return new XmlSerializationReader1(); ++ } ++ protected override System.Xml.Serialization.XmlSerializationWriter CreateWriter() { ++ return new XmlSerializationWriter1(); ++ } ++ } ++ ++ internal sealed class HbmClassSerializer : XmlSerializer1 { ++ ++ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) { ++ return xmlReader.IsStartElement(@"class", @"urn:nhibernate-mapping-2.2"); ++ } ++ ++ protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) { ++ ((XmlSerializationWriter1)writer).Write109_class(objectToSerialize); ++ } ++ ++ protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) { ++ return ((XmlSerializationReader1)reader).Read109_class(); ++ } ++ } ++ ++ internal sealed class HbmMappingSerializer : XmlSerializer1 { ++ ++ public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader) { ++ return xmlReader.IsStartElement(@"hibernate-mapping", @"urn:nhibernate-mapping-2.2"); ++ } ++ ++ protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer) { ++ ((XmlSerializationWriter1)writer).Write110_hibernatemapping(objectToSerialize); ++ } ++ ++ protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) { ++ return ((XmlSerializationReader1)reader).Read110_hibernatemapping(); ++ } ++ } ++ ++ internal class XmlSerializerContract : global::System.Xml.Serialization.XmlSerializerImplementation { ++ public override global::System.Xml.Serialization.XmlSerializationReader Reader { get { return new XmlSerializationReader1(); } } ++ public override global::System.Xml.Serialization.XmlSerializationWriter Writer { get { return new XmlSerializationWriter1(); } } ++ System.Collections.Hashtable readMethods = null; ++ public override System.Collections.Hashtable ReadMethods { ++ get { ++ if (readMethods == null) { ++ System.Collections.Hashtable _tmp = new System.Collections.Hashtable(); ++ _tmp[@"NHibernate.Cfg.MappingSchema.HbmClass:urn:nhibernate-mapping-2.2:class:False:"] = @"Read109_class"; ++ _tmp[@"NHibernate.Cfg.MappingSchema.HbmMapping:urn:nhibernate-mapping-2.2:hibernate-mapping:False:"] = @"Read110_hibernatemapping"; ++ if (readMethods == null) readMethods = _tmp; ++ } ++ return readMethods; ++ } ++ } ++ System.Collections.Hashtable writeMethods = null; ++ public override System.Collections.Hashtable WriteMethods { ++ get { ++ if (writeMethods == null) { ++ System.Collections.Hashtable _tmp = new System.Collections.Hashtable(); ++ _tmp[@"NHibernate.Cfg.MappingSchema.HbmClass:urn:nhibernate-mapping-2.2:class:False:"] = @"Write109_class"; ++ _tmp[@"NHibernate.Cfg.MappingSchema.HbmMapping:urn:nhibernate-mapping-2.2:hibernate-mapping:False:"] = @"Write110_hibernatemapping"; ++ if (writeMethods == null) writeMethods = _tmp; ++ } ++ return writeMethods; ++ } ++ } ++ System.Collections.Hashtable typedSerializers = null; ++ public override System.Collections.Hashtable TypedSerializers { ++ get { ++ if (typedSerializers == null) { ++ System.Collections.Hashtable _tmp = new System.Collections.Hashtable(); ++ _tmp.Add(@"NHibernate.Cfg.MappingSchema.HbmMapping:urn:nhibernate-mapping-2.2:hibernate-mapping:False:", new HbmMappingSerializer()); ++ _tmp.Add(@"NHibernate.Cfg.MappingSchema.HbmClass:urn:nhibernate-mapping-2.2:class:False:", new HbmClassSerializer()); ++ if (typedSerializers == null) typedSerializers = _tmp; ++ } ++ return typedSerializers; ++ } ++ } ++ public override System.Boolean CanSerialize(System.Type type) { ++ if (type == typeof(global::NHibernate.Cfg.MappingSchema.HbmClass)) return true; ++ if (type == typeof(global::NHibernate.Cfg.MappingSchema.HbmMapping)) return true; ++ return false; ++ } ++ public override System.Xml.Serialization.XmlSerializer GetSerializer(System.Type type) { ++ if (type == typeof(global::NHibernate.Cfg.MappingSchema.HbmClass)) return new HbmClassSerializer(); ++ if (type == typeof(global::NHibernate.Cfg.MappingSchema.HbmMapping)) return new HbmMappingSerializer(); ++ return null; ++ } ++ } ++} +Index: src/NHibernate/Cfg/XmlHbmBinding/Binder.cs +=================================================================== +--- src/NHibernate/Cfg/XmlHbmBinding/Binder.cs (revision 5264) ++++ src/NHibernate/Cfg/XmlHbmBinding/Binder.cs (working copy) +@@ -6,6 +6,7 @@ + using System.Xml.Serialization; + + using log4net; ++using Microsoft.Xml.Serialization.GeneratedAssembly; + using NHibernate.Mapping; + using NHibernate.Type; + using NHibernate.Util; +@@ -139,10 +140,23 @@ + protected static T Deserialize(XmlNode node) + { + using (StringReader reader = new StringReader(node.OuterXml)) +- return (T) new XmlSerializer(typeof (T)).Deserialize(reader); ++ return (T) GetSerializer(typeof (T)).Deserialize(reader); + } + +- protected static string GetXmlEnumAttribute(Enum cascadeStyle) ++ private static XmlSerializer GetSerializer(System.Type type) ++ { ++ if (type == typeof(HbmMapping)) ++ { ++ return new HbmMappingSerializer(); ++ } ++ if (type == typeof(HbmClass)) ++ { ++ return new HbmClassSerializer(); ++ } ++ return new XmlSerializer(type); ++ } ++ ++ protected static string GetXmlEnumAttribute(Enum cascadeStyle) + { + MemberInfo[] memberInfo = cascadeStyle.GetType().GetMember(cascadeStyle.ToString()); + +Index: src/NHibernate/Cfg/XmlSchemas.cs +=================================================================== +--- src/NHibernate/Cfg/XmlSchemas.cs (revision 5264) ++++ src/NHibernate/Cfg/XmlSchemas.cs (working copy) +@@ -10,12 +10,23 @@ + private const string CfgSchemaResource = "NHibernate.nhibernate-configuration.xsd"; + private const string MappingSchemaResource = "NHibernate.nhibernate-mapping.xsd"; + +- private static readonly XmlSchema ConfigSchema = ReadXmlSchemaFromEmbeddedResource(CfgSchemaResource); +- private static readonly XmlSchema MappingSchema = ReadXmlSchemaFromEmbeddedResource(MappingSchemaResource); ++ private static XmlSchemaSet ConfigSchema; ++ private static XmlSchemaSet MappingSchema; + + public XmlReaderSettings CreateConfigReaderSettings() + { +- XmlReaderSettings result = CreateXmlReaderSettings(ConfigSchema); ++ if (ConfigSchema == null) ++ { ++ lock (typeof(XmlSchemas)) ++ { ++ if (ConfigSchema == null) ++ { ++ ConfigSchema = ReadXmlSchemaSetFromEmbeddedResource(CfgSchemaResource); ++ } ++ } ++ } ++ ++ XmlReaderSettings result = CreateXmlReaderSettings(ConfigSchema); + result.ValidationEventHandler += new ValidationEventHandler(ConfigSettingsValidationEventHandler); + result.IgnoreComments = true; + return result; +@@ -23,22 +34,40 @@ + + public XmlReaderSettings CreateMappingReaderSettings() + { +- return CreateXmlReaderSettings(MappingSchema); ++ if (MappingSchema == null) ++ { ++ lock (typeof(XmlSchemas)) ++ { ++ if (MappingSchema == null) ++ { ++ MappingSchema = ReadXmlSchemaSetFromEmbeddedResource(MappingSchemaResource); ++ } ++ } ++ } ++ ++ return CreateXmlReaderSettings(MappingSchema); + } + +- private static XmlSchema ReadXmlSchemaFromEmbeddedResource(string resourceName) ++ private static XmlSchemaSet ReadXmlSchemaSetFromEmbeddedResource(string resourceName) + { ++ XmlSchemaSet schemaSet = new XmlSchemaSet(); ++ schemaSet.Add(ReadXmlSchemaFromEmbeddedResource(resourceName)); ++ return schemaSet; ++ } ++ ++ private static XmlSchema ReadXmlSchemaFromEmbeddedResource(string resourceName) ++ { + Assembly executingAssembly = Assembly.GetExecutingAssembly(); + + using (Stream resourceStream = executingAssembly.GetManifestResourceStream(resourceName)) + return XmlSchema.Read(resourceStream, null); + } + +- private static XmlReaderSettings CreateXmlReaderSettings(XmlSchema xmlSchema) ++ private static XmlReaderSettings CreateXmlReaderSettings(XmlSchemaSet schemas) + { + XmlReaderSettings settings = new XmlReaderSettings(); + settings.ValidationType = ValidationType.Schema; +- settings.Schemas.Add(xmlSchema); ++ settings.Schemas = schemas; + return settings; + } + +Index: src/NHibernate/NHibernate.csproj +=================================================================== +--- src/NHibernate/NHibernate.csproj (revision 5264) ++++ src/NHibernate/NHibernate.csproj (working copy) +@@ -88,6 +104,7 @@ + + + ++ + + + diff --git a/src/Orchard/Data/Conventions/RecordTableNameConvention.cs b/src/Orchard/Data/Conventions/RecordTableNameConvention.cs index e6c3c139f..7613758f4 100644 --- a/src/Orchard/Data/Conventions/RecordTableNameConvention.cs +++ b/src/Orchard/Data/Conventions/RecordTableNameConvention.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Linq; using FluentNHibernate.Conventions; @@ -8,15 +9,15 @@ using Orchard.Environment.ShellBuilders.Models; namespace Orchard.Data.Conventions { public class RecordTableNameConvention : IClassConvention { - private readonly IEnumerable _descriptors; + private readonly Dictionary _descriptors; public RecordTableNameConvention(IEnumerable descriptors) { - _descriptors = descriptors; + _descriptors = descriptors.ToDictionary(d => d.Type); } public void Apply(IClassInstance instance) { - var desc = _descriptors.Where(d => d.Type == instance.EntityType).SingleOrDefault(); - if (desc != null) { + RecordBlueprint desc; + if (_descriptors.TryGetValue(instance.EntityType, out desc)) { instance.Table(desc.TableName); } }