internal static void LoadExternals(XmlSchema schema, string url, DiscoveryClientProtocol client, Hashtable loadedExternals) { if (schema == null) { return; } foreach (XmlSchemaExternal external in schema.Includes) { if (external.SchemaLocation == null || external.SchemaLocation.Length == 0 || external.Schema != null) { continue; } if (external is XmlSchemaInclude || external is XmlSchemaRedefine) { string location = UriToString(url, external.SchemaLocation); if (client.References[location] is SchemaReference) { SchemaReference externalRef = (SchemaReference)client.References[location]; external.Schema = externalRef.GetSchema(); if (external.Schema != null) { loadedExternals[location] = external.Schema; } externalRef.LoadExternals(loadedExternals); } } } }
internal static void LoadExternals(XmlSchema schema, string url, DiscoveryClientProtocol client, Hashtable loadedExternals) { if (schema != null) { foreach (XmlSchemaExternal external in schema.Includes) { if ((((external.SchemaLocation != null) && (external.SchemaLocation.Length != 0)) && (external.Schema == null)) && ((external is XmlSchemaInclude) || (external is XmlSchemaRedefine))) { string str = DiscoveryReference.UriToString(url, external.SchemaLocation); if (client.References[str] is SchemaReference) { SchemaReference reference = (SchemaReference)client.References[str]; external.Schema = reference.GetSchema(); if (external.Schema != null) { loadedExternals[str] = external.Schema; } reference.LoadExternals(loadedExternals); } } } } }