reader.MoveToContent ();
reader.ReadStartElement ();
reader.MoveToContent ();
- ReadXmlSchema (reader);
- reader.MoveToContent ();
+ if (reader.LocalName == "schema" &&
+ reader.NamespaceURI == XmlSchema.Namespace) {
+ ReadXmlSchema (reader);
+ reader.MoveToContent ();
+ }
ReadXml (reader, XmlReadMode.DiffGram);
reader.MoveToContent ();
reader.ReadEndElement ();
nsmgr.AddNamespace (XmlConstants.TnsPrefix, Namespace);
nsmgr.AddNamespace (String.Empty, Namespace);
}
- if (CheckExtendedPropertyExists ())
+ if (CheckExtendedPropertyExists (tables, relations))
nsmgr.AddNamespace (XmlConstants.MspropPrefix, XmlConstants.MspropNamespace);
if (atts.Count > 0)
elem.Name = XmlConvert.EncodeName (DataSetName);
// Add namespaces used in DataSet components (tables, columns, ...)
- foreach (DataTable dt in Tables) {
+ foreach (DataTable dt in tables) {
foreach (DataColumn col in dt.Columns)
CheckNamespace (col.Prefix, col.Namespace, nsmgr, schema);
CheckNamespace (dt.Prefix, dt.Namespace, nsmgr, schema);
return schema;
}
- private bool CheckExtendedPropertyExists ()
+ private bool CheckExtendedPropertyExists (
+ DataTableCollection tables,
+ DataRelationCollection relations)
{
if (ExtendedProperties.Count > 0)
return true;
- foreach (DataTable dt in Tables) {
+ foreach (DataTable dt in tables) {
if (dt.ExtendedProperties.Count > 0)
return true;
foreach (DataColumn col in dt.Columns)
if (c.ExtendedProperties.Count > 0)
return true;
}
- foreach (DataRelation rel in Relations)
+ if (relations == null)
+ return false;
+ foreach (DataRelation rel in relations)
if (rel.ExtendedProperties.Count > 0)
return true;
return false;