문제

컴포넌트 XML의 원본보기에서 내 XML 파일에 처리 지침을 추가하려고합니다.예 :

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

저장을 클릭하면 TRIDION CME가 처리 명령을 자동으로 제거합니다.이 행동을 바꿀 수있는 방법이 있습니까?

(WebDAV를 사용하여 진정한 뷰에서 XML 파일을 XML 파일을 열 수 있도록 처리 명령을 추가하고 싶습니다)

도움이 되었습니까?

해결책

나는 이것을 조금 연구하고, 나는 이것이 CMS 내에서 이루어질 수 있다고 확신하지 못한다.그러나 CME의 / webdav 디렉토리에 대한 요청 및 응답을 변환하는 HTTPModule 또는 프록시 또는 일부 양식을 작성하여이를 수행 할 수 있습니다.

개념적으로 XMLSPY가 요청할 때 새 모듈은 구성 요소가되는 항목과 스키마가 기반으로하는 항목을 기반으로 원하는 명령을 XML에 미리 보냅니다.그런 다음 데이터를 다시 저장할 때 다시 스트립해야합니다.이것은 SDL TRIDION이 요구하는 형식으로 XML 구조를 남겨 둡니다.

에 도움이되기를 바랍니다.

크리스

다른 팁

나는 이것을 아이디어로 게시하지만, 나는 그것을 얻을 수는 없지만 당신이 원하는 것을 꽤 할 수 없습니다.XMLSPY (및이 시점에서 CME를 포함한 모든 클라이언트를 포함한 모든 클라이언트)가 XML을 조작하기 위해 EventHandler를 작성했습니다.

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


    }
}
.

문자열을 교체하여 출력을 조작하려고 시도했으며 WebDAV를 통해 XMLSPY에 표시됩니다.내가 가진 문제는 처리 명령을 추가하는 것이 문서 밖에 없으므로 결코 새로운 XML로 만들지 않습니다.

이 문제가 해결되지 않지만 XML이 비슷한 방식으로 XML을 WebDAV 카트리지를 통해로드 할 때 명령을 추가 할 수있는 이벤트를 알고 있습니다.

다른 누군가가 당신을 닫을 수 있기를 바랍니다. 시간이 있다면 조금 더 파고

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top