visitedSchemas.add(xmlSchema.getSourceURI());
if (includes != null) {
for (Iterator iter = includes.getIterator(); iter.hasNext();) {
Object externalComponent = iter.next();
if (externalComponent instanceof XmlSchemaExternal) {
XmlSchemaExternal xmlSchemaExternal = (XmlSchemaExternal)externalComponent;
String sourceURI = xmlSchemaExternal.getSchema().getSourceURI();
if (!visitedSchemas.contains(sourceURI)) {
saveSchemaFileToRegistry(xmlSchemaExternal.getSchema(),
processedSchemaMap, null, visitedSchemas,
false, registryBasePath, processIncludes,
null);
}
// add the new name to changeschema map
// have to do before change the schema location
String newLocation = (String)processedSchemaMap.get(sourceURI);
if (isWSDLInlineSchema) {
changeSchemaNames.put(xmlSchemaExternal.getSchemaLocation(),
newLocation);
} else {
}
// set the new location
xmlSchemaExternal.setSchemaLocation(newLocation);
String innerFileNameToSave = (String)processedSchemaMap.get(sourceURI);
String innerXSDPath = getXSDPath(registryBasePath, innerFileNameToSave);
associations.add(innerXSDPath);
}
}