Hi, There are a couple of ways of doing this.
Below is some php code to get the definition of a layer, modify it and then updated the new definition back into library. With a simple modification you could change it so it reads the new definition from a file (just replace the $updated_string with the xml string from the file). You can run this code either from a web page or command prompt. $installDir ='C:\\Program Files\\OSGeo\\MapGuide\\'; $extensionsDir = $installDir . 'Web\\www\\'; $viewerDir = $extensionsDir . 'mapviewerphp\\'; include $viewerDir . 'constants.php'; $layer_path = 'Library://alayer.LayerDefinition'; try { //MgInitializeWebTier ($webconfigFilePath); MgInitializeWebTier($extensionsDir . "/webconfig.ini"); //create a new site connection $siteConnection = new MgSiteConnection();//new MgSite(); $siteConnection->Open(new MgUserInformation('Administrator','admin')); //build a reference to the resource service $resourceService = $siteConnection->CreateService(MgServiceType::ResourceService); //get the definition of the layer and create an xml object from it $resId = new MgResourceIdentifier($layer_path); $byteReader = $resourceService->GetResourceContent($resId); $data_connection_XML = $byteReader->ToString(); $doc = DOMDocument::loadXML($data_connection_XML); //modify the $doc variable as required i.e. find needle and replace with haystack $updated_string= str_replace('needle' , 'haystack' , $doc); // create a new xml definition from the updated string $updated_doc = DOMDocument::loadXML($updated_string); $DataDefinition = $updated_doc->saveXML(); //create the mgbyte source object $byteSource = new MgByteSource($DataDefinition, strlen($DataDefinition)); $byteSource->SetMimeType(MgMimeType::Xml); //save the updated layer definition $newResId = new MgResourceIdentifier($layer_path); $resourceService->SetResource($newResId, $byteSource->GetReader(), null); } catch (MgException $e) { echo "Mapguide ERROR: " . $e->GetMessage("eng") . "\n"; echo $e->GetStackTrace("eng") . "\n"; echo $e->GetDetails()."\n"; } _______________________________________________ mapguide-users mailing list mapguide-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapguide-users