我正在研究 XSLT TBB(使用 Tridion 2011 SP1 上的 XSLT 调解器)从关键字中检索键值。
我的关键字看起来像这样。
Value: Some Value
Key: Its ID is 123
这是一个普通的关键字。
我创建了一个带有字段的模式。这些值将从列表和类别中选择。
组件 Source 如下所示: 这是直接取自 Tridion UI 组件的 Component 源。
<Content xmlns="Some Name space">
<keywordlink xlink:href="tcm:202-9737-1024" xlink:title="Some Value"
xmlns:xlink="http://www.w3.org/1999/xlink">Some Value</keywordlink>
</Content>
当我从模板生成器中观察 tcm:Component 源时,我观察到该字段不存在任何属性。
<Content xmlns="Some Name space">
<keywordlink>Some Value</keywordlink>
</Content>
我想检索关键字的 Key 值。
我写了一个这样的 XSLT TBB。我正在使用 XSLT 调解器来执行 XSLT TBB。
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:simple="Some Name space"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:tcm="http://www.tridion.com/ContentManager/5.0"
xmlns:xh="http://www.w3.org/1999/xhtml"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns:transform-ext="urn:tridion:transform-ext"
xmlns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="#default simple xh">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes" />
<xsl:template match="/">
<xsl:apply-templates
select="tcm:Component/tcm:Data/tcm:Content/simple:Content" />
</xsl:template>
<xsl:template match="simple:Content">
<xsl:value-of select="simple:keywordlink/@*"/>
<xsl:value-of select=document(simple:keywordlink/@xlink:href)/>
</xsl:template>
<xsl:stylesheet>
我得到空白输出。我想获取关键字的键值。
我得到空白输出,因为在 tcm:Component XML 中,没有属性。
我不确定如何导航到该关键字。
我应该检索 Key 的值,即“它的 ID 是 123”。
任何人都可以帮助如何做到这一点?