private ClassMap GetClassMapInformation(XmlNodeReader node)
        {
            //<class name="r_Class" table="r_Class" datasource="DbName">
            //  <attribute name="Class_ID" column="Class_ID" type="String" key="primary" size="20" />
            //  <attribute name="Class_Name" column="Class_Name" type="String" size="50" />
            //</class>

            string className    = node.GetAttribute("name");
            string tableName    = node.GetAttribute("table");
            string databaseName = node.GetAttribute("datasource");

            int    intlop = 0;
            string err;

            ClassMap clsMap = null;

            if ((className != null) && (databaseName != null) && (tableName != null))
            {
                IPersistenceProvider provider = (IPersistenceProvider)DatabasePool[databaseName];
                Assert.VerifyNotNull(provider, Error.XmlReadError, "Named:" + databaseName + "Database mapping information not found!");
                clsMap = new ClassMap(className, provider);

                if (!m_DatabaseMaps.ContainsKey(databaseName))
                {
                    err = "In the mapping class:" + className + ",Named:" + databaseName + "Database mapping information could not be found!";
                    Assert.Fail(Error.XmlReadError, err);
                }

                TableMap tblMap = new TableMap("[" + provider.GetTableName(tableName) + "]", (DatabaseMap)m_DatabaseMaps[databaseName]);

                int clsDep = node.Depth;
                while (node.Read() && node.Depth > clsDep)
                {
                    if ((node.NodeType == XmlNodeType.Element) && (node.Name == "attribute"))
                    {
                        AttributeMap attrMap = GetAttributeMapInformation(node, clsMap, tblMap, intlop);
                        if (attrMap != null)
                        {
                            clsMap.AddAttributeMap(attrMap);
                        }

                        intlop++;
                    }
                }
            }
            else
            {
                err = "ClassMap lack className,databaseName,tableName These necessary attributes!";
                Assert.Fail(Error.XmlReadError, err);
            }

            if (clsMap.Table.PrimaryKeyIndex < 0)
            {
                err = "In table [" + clsMap.Table.Name + "] Primary key not defined!";
                Assert.Fail(Error.XmlReadError, err);
            }
            return(clsMap);
        }