2012-10-01 10 views
7

मैं घटक xml के स्रोत दृश्य में मेरी एक्सएमएल फ़ाइल में प्रसंस्करण निर्देश जोड़ने की कोशिश कर रहा हूं। उदाहरण के लिए:एसडीएल ट्रिडियन में एक्सएमएल फाइल के प्रसंस्करण निर्देश कैसे बनाए रखें?

<?altova_sps C:\Users\src\sps\2012\spsfile.sps?> 
<my_element xmlns="uuid:8d903098-e607-4d96-90a7-14d2d188dab7"> 
    ... 
</my_element> 

मैं सहेजने पर क्लिक करने के बाद, ट्रिडियन सीएमई ने स्वचालित रूप से प्रसंस्करण निर्देश हटा दिया। क्या इस व्यवहार को बदलने का कोई तरीका है? हालांकि मैं यह काफी करते हो नहीं मिल सकता है -

उत्तर

3

मैं इस एक सा शोध किया है है मैं एक छोटे से अधिक खुदाई होगी, और मैं आश्वस्त नहीं हूँ इस सीएमएस के भीतर से किया जा सकता है। हालांकि आप शायद HTTPModule या प्रॉक्सी या कुछ रूप बनाकर इसे प्राप्त कर सकते हैं जो सीएमई की/webdav निर्देशिका में किए गए अनुरोधों और प्रतिक्रियाओं को बदलता है।

संकल्पनात्मक रूप से जब XMLSpy द्वारा अनुरोध किया जाता है, तो नया मॉड्यूल एक्सएमएल को इच्छित घटक के आधार पर एक्सएमएल को वांछित निर्देश पूर्व-पेंड करेगा और यह स्कीमा पर आधारित है। फिर जब आप डेटा को वापस (POST) सहेजते हैं तो इसे फिर से बाहर करने की आवश्यकता होगी। यह एक्सएमएल संरचना को प्रारूप में छोड़ देगा जो एसडीएल ट्रिडियन की आवश्यकता है।

आशा है कि सभी अनुसंधान और जवाब के लिए

क्रिस

+0

धन्यवाद क्रिस मदद करता है। मैं चुनौतियों को भी समझता हूं। मैं बस सोच रहा हूं कि स्रोत दृश्य में जोड़े जाने के बाद ट्रिडियन सीएमई मेरे प्रसंस्करण निर्देशों को रख सकता है या नहीं। वह सभी परेशानी को बचाएगा। क्या ट्रिडियन के लिए फीचर अनुरोध सबमिट करने का कोई तरीका है? – charles

+0

आप http://ideas.sdltridion.com/ या एसडीएल ट्रिडियन ग्राहक सहायता के साथ एक वृद्धि अनुरोध के माध्यम से विचार सबमिट कर सकते हैं - लेकिन जैसा कि @ नूनो द्वारा बताया गया है, जो एक्सएमएल आप देख रहे हैं वह केवल सामग्री नोड है, न कि पूर्ण एक्सएमएल , इसलिए यह प्रसंस्करण निर्देश को सहेजने के लिए हमेशा अमान्य रहेगा, इसलिए मुझे नहीं लगता कि यह संभव है कि वे इसे लागू करेंगे। लेकिन यह कोशिश करने लायक है। सौभाग्य। –

2

मैं एक विचार के रूप में इस पोस्टिंग कर रहा हूँ (मैं प्रोसेसिंग निर्देश जोड़ने के लिए इतना है कि मैं WebDAV का उपयोग कर प्रामाणिक दृश्य में XMLSpy साथ एक्सएमएल फ़ाइल को खोल सकते हैं) आपको क्या चाहिए। मैं एक्सएमएल (इस बिंदु पर और सीएमई सहित सभी ग्राहकों) XMLSpy द्वारा प्राप्त

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; 
      } 
     } 


    } 
} 

मैं उत्पादन से छेड़छाड़ (एक स्ट्रिंग की जगह) की कोशिश की हेरफेर करने के लिए एक eventhandler लिखा है, और यह के माध्यम से XMLSpy में दिखता है WebDAV। मेरी समस्या यह है कि प्रसंस्करण निर्देश जोड़ना DocumentElement के बाहर आता है, इसलिए इसे नए एक्सएमएल में कभी नहीं बनाता है।

इसलिए मुझे पता है कि यह आपकी चुनौती को हल नहीं करता है - लेकिन शायद किसी और को एक घटना के बारे में पता है जो आपको वेबएडीवी कारतूस के माध्यम से एक्सएमएल लोड होने पर निर्देश को जोड़ने की अनुमति देगा।

आशा किसी और मदद कर सकते हैं इस बंद - अगर मैं समय

संबंधित मुद्दे