Example #1
0
 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);
             }
         }
     }
 }
Example #2
0
 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);
                 }
             }
         }
     }
 }