Me temo que eso no será posible en cualquier elemento de la Package
, ya que el Engine
espera Template
s que se basan en artículos Tridion.
Si su Plantilla Artículo es basada en un Artículo de Tridion, puede obtener bastante lejos comenzando en el método Engine.GetMediator
. Si no es así, deberá encontrar la forma de convertirlo en un objeto válido Template
.
Template template = ...
IMediator mediator = engine.GetMediator(template);
mediator.Transform(engine, template, package);
Cuando tengo que crear un objeto Component
de un artículo basado en Tridion en el paquete, que normalmente hacer algo como esto:
Component component = new Component(item.GetAsXmlDocument().DocumentElement,
engine.GetSession);
no lo han intentado, pero se espera que puede hacer lo mismo con un Template
, dado que, para empezar, comienza con un Artículo válido del Paquete que representa una Plantilla. Probablemente pueda clonar el XML de un Artículo existente o encontrar otra forma de simularlo.
Si hace que esto funcione, funcionará en todos los tipos de plantillas registradas. El Engine
no ofrece un tratamiento especial para los tipos que vienen con Tridion.
La clase Package tiene un método 'package.EvaluateExpression (string expression)' que podría valer la pena investigar. –