如何在 SDL Tridion 2011 SP1 中将一个 XSLT TBB 的输出传递到另一个 XSLT TBB

Posted

技术标签:

【中文标题】如何在 SDL Tridion 2011 SP1 中将一个 XSLT TBB 的输出传递到另一个 XSLT TBB【英文标题】:How to pass output of one XSLT TBB to another XSLT TBB in SDL Tridion 2011 SP1 【发布时间】:2012-03-19 05:08:10 【问题描述】:

我正在使用来自 SDL Tridion World 的 XSLT 中介器来创建 XSLT TBB。这里我的要求是,我想将一个 XSLTTBB 的输出传递给另一个 XSLT TBB。

假设我有一个名为“1”的 XSLT TBB,其中我输出:

<aaa>
hi 
</aaa>
<bbb>
hello
</bbb>

我想写另一个 XSLT TBB,它接受第一个 TBB 的输出并将数据处理成

<ccc>hi hello</ccc>

认为该示例非常通用。我正在使用模板生成器来组合两个 TBB。但我没有得到确切的结果。

是否也需要为 Template Builder 配置 XSLT Mediator?如果是,请告诉我该怎么做。

如果有这样的方法,请告诉我。 提前谢谢你。

【问题讨论】:

【参考方案1】:

这可以通过使用以下模板参数来实现:

    TBB 1 配置了输出“Temp”和输出格式类型“Xml” TBB 2 配置为输入“温度”和输出“输出” TBB 2 配置为将包项作为参数加载 添加到 TBB 2 的顶部(这样您就可以在 XSLT 中使用类似的变量) 您可以将 TBB 1 的输出设为字符串或 XmlDocumnet。如果您使用 XmlDocument,则可以在 TBB 2 中对变量执行 XPath 查询。

无需在模板生成器上进行任何配置,因为中介器托管在 TCM 服务器上。

【讨论】:

【参考方案2】:

我建议你看看你是否可以改进你的设计,这样你就不需要这样做了。一般来说,在您的管道中需要多个“模板”TBB 是很不寻常的。原则上,你应该在到达模板层之前做足够的准备(在组装构建块中),然后你应该能够一口气完成所有工作。

【讨论】:

以上是关于如何在 SDL Tridion 2011 SP1 中将一个 XSLT TBB 的输出传递到另一个 XSLT TBB的主要内容,如果未能解决你的问题,请参考以下文章

Tridion 2009 SP1:如何为定期发布安排内容页面?

powershell 使用PowerShell和核心服务淘汰SDL Tridion 2013 SP1发布目标。见http://tridion.stackexchange.com/questions/1

powershell 使用PowerShell和核心服务淘汰SDL Tridion 2013 SP1发布目标。见http://tridion.stackexchange.com/questions/1

sql 检查SDL Tridion 2013 SP1 MS SQL数据库中的活动预览会话。

sql 检查SDL Tridion 2013 SP1 MS SQL数据库中的活动预览会话。

sql 检查SDL Tridion 2013 SP1 MS SQL数据库中的活动预览会话