如何在 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数据库中的活动预览会话。