gpt4 book ai didi

tridion - 组件中的 XSLT 被(未)编码

转载 作者:行者123 更新时间:2023-12-04 02:05:34 27 4
gpt4 key购买 nike

非常简单的问题,但我似乎无法让它正常工作。

我有一个组件,其中有一些 XSLT(用于导航)。它通过 XSLT TBB 使用 XSLT Mediator 发布。

发布后 < 变为 <,并打破 xslt ...

组件内容(纯文本字段)

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tcm="http://www.tridion.com/ContentManager/5.0" exclude-result-prefixes="tcm xsl xs xlink tridion">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="yes" />
<xsl:template match="/">
<xsl:apply-templates select="/node/node[@type='folder')='0' and position() &lt; 3]">
<xsl:sort select="sortnum"/>
</xsl:apply-templates>

<xsl:template match="node">
<xsl:text>Lorem Ipsum</xsl:text>
</xsl:template>
</xsl:stylesheet>

XLT CT TBB 输出此组件:
<xsl:stylesheet version="1.0" xmlns:tcm="http://www.tridion.com/ContentManager/5.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:tridion="http://www.tridion.com/ContentDelivery/5.3/TCDL" xmlns:xlink="http://www.w3.org/1999/xlink"  xmlns:helper="http://www.tridion.com/xslthelper" xmlns:systeemcode="http://www.indivirtual.nl/SysteemCode" xmlns:xhtml="http://www.w3.org/1999/xhtml" exclude-result-prefixes="tcm xsl tridion xlink systeemcode xslthelper helper xhtml">
<xsl:output method="text" omit-xml-declaration="yes" indent="yes" encoding="utf-8" standalone="no"/>
<xsl:variable name="content" select="/tcm:Component/tcm:Data/tcm:Content/systeemcode:SysteemCode"/>
<xsl:template match="/">
<xsl:value-of disable-output-escaping="yes" select="helper:HtmlDecode($content/systeemcode:code)"/>
</xsl:template>
</xsl:stylesheet>

输出 CP 的 XSLT 页面 TBB:
<xsl:stylesheet version="1.0" xmlns:helper="http://www.tridion.com/xslthelper" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tcm="http://www.tridion.com/ContentManager/5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="tcm:ComponentPresentation">
<xsl:value-of select="helper:GetRenderedComponent(./tcm:Component/@xlink:href, ./tcm:ComponentTemplate/@xlink:href)" disable-output-escaping="yes"/>
</xsl:template>
</xsl:stylesheet>

最佳答案

问题是在 CT TBB 中发现的(感谢@ChrisSummers)。

输出此组件的 XSLT CT TBB 引用了 XSLT 中介 HTMLEncoding 助手:HtmlDecode() 方法,这适用于普通文本,但不适用于 XSLT。我删除了它并解决了问题:

<xsl:stylesheet version="1.0" xmlns:tcm="http://www.tridion.com/ContentManager/5.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:tridion="http://www.tridion.com/ContentDelivery/5.3/TCDL" xmlns:xlink="http://www.w3.org/1999/xlink"  xmlns:helper="http://www.tridion.com/xslthelper" xmlns:systeemcode="http://www.indivirtual.nl/SysteemCode" xmlns:xhtml="http://www.w3.org/1999/xhtml" exclude-result-prefixes="tcm xsl tridion xlink systeemcode xslthelper helper xhtml">
<xsl:output method="text" omit-xml-declaration="yes" indent="yes" encoding="utf-8" standalone="no"/>
<xsl:variable name="content" select="/tcm:Component/tcm:Data/tcm:Content/systeemcode:SysteemCode"/>
<xsl:template match="/">
<xsl:value-of disable-output-escaping="yes" select="$content/systeemcode:code"/>
</xsl:template>
</xsl:stylesheet>

关于tridion - 组件中的 XSLT 被(未)编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14604492/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com