internal void Load(XmlDocument doc, XmlReader reader, bool preserveWhitespace)
{
this.doc = doc;
if (reader.GetType() == typeof(XmlTextReader))
{
this.reader = ((XmlTextReader)reader).Impl;
}
else
{
this.reader = reader;
}
this.preserveWhitespace = preserveWhitespace;
if (doc == null)
{
throw new ArgumentException(Res.GetString("Xdom_Load_NoDocument"));
}
if (reader == null)
{
throw new ArgumentException(Res.GetString("Xdom_Load_NoReader"));
}
doc.SetBaseURI(reader.BaseURI);
if ((reader.Settings != null) && (reader.Settings.ValidationType == ValidationType.Schema))
{
doc.Schemas = reader.Settings.Schemas;
}
if ((this.reader.ReadState == ReadState.Interactive) || this.reader.Read())
{
this.LoadDocSequence(doc);
}
}