I am posting this as an idea - although I cannot get it to do what you want. I wrote an EventHandler to process the XML received by XMLSpy (and all clients, including CME, at this point).
using System; using System.Text; using System.Xml; using Tridion.ContentManager.Extensibility.Events; using Tridion.ContentManager.Extensibility; using Tridion.ContentManager.ContentManagement; using System.IO; namespace UrbanCherry.Net.SDLTridion.EventHandlers { [TcmExtension("AppendAuthenticHeaders")] public class AppendAuthenticHeaders : TcmExtension { public AppendAuthenticHeaders() { Subscribe(); } public void Subscribe() { EventSystem.Subscribe<Component, LoadEventArgs>(AppendAuthenticHeader, EventPhases.Processed); } private void AppendAuthenticHeader(Component source, LoadEventArgs args, EventPhases phase) { if (source.ComponentType != ComponentType.Multimedia) { XmlDocument newXml = new XmlDocument(); newXml.LoadXml("<?altova_sps C:\\Users\\src\\sps\\2012\\spsfile.sps?>" + source.Content.OuterXml); source.Content = newXml.DocumentElement; } } } }
I tried to manipulate the output (by replacing the string) and it appears in XMLSpy via WebDAV. The problem is that adding a processing command goes beyond the scope of the DocumentElement, so it never turns into new XML.
So, I know that this does not solve your problem - but maybe someone else knows about an event that will allow you to add instructions when XML is loaded through the WebDAV cartridge in a similar way.
Hope someone else can help you close this - I will dig a little more if I have time
Chris summers
source share