/// <summary> /// Recursively Publish metadata documents associated to a container /// </summary> /// <param name="item">The GxObject object</param> /// <param name="pr">The publication request object</param> private void publishMetadata(IGxObject item, PublicationRequest pr) { if (item is IGxObjectContainer && !item.Category.Trim().ToLower().StartsWith("arcgis server")) { IGxObjectContainer container = (IGxObjectContainer)item; IEnumGxObject children = container.Children; if (children == null) { writeResults(pr.publish(item)); return; } IGxObject child = children.Next(); while (child != null) { publishMetadata(child, pr); child = children.Next(); } } else { if (item is IMetadata) { writeResults(pr.publish(item)); } else { writeResults(pr.publish(item, pr.makeAgsUrl(item))); } } }