private void BuildRefNamespaces(XmlSchema schema) {
referenceNamespaces.Clear();
XmlSchemaImport import;
string ns;
//Add XSD namespace
referenceNamespaces.Add(XmlReservedNs.NsXs,XmlReservedNs.NsXs);
foreach(XmlSchemaExternal include in schema.Includes) {
if(include is XmlSchemaImport) {
import = include as XmlSchemaImport;
ns = import.Namespace;
if (ns == null) {
ns = string.Empty;
}
if(referenceNamespaces[ns] == null)
referenceNamespaces.Add(ns,ns);
}
}
//Add the schema's targetnamespace
string tns = schema.TargetNamespace;
if (tns == null) {
tns = string.Empty;
}
if(referenceNamespaces[tns] == null) {
referenceNamespaces.Add(tns,tns);
}
}