我想使用我的xsl文件在我的PDF報告中創建一個標題。如果源文件包含超鏈接,則應將其呈現爲超鏈接,否則爲純文本。使用xlst將xml轉換爲xsl-fo時動態創建超級鏈接?
例如,我的XML看起來像:
<a href='http://google.com' target='_blank'>This is the heading </a>"
它應該顯示的超鏈接(如果有),否則顯示的標題爲純文本。 我該怎麼做?
我不能夠使用,否則標籤下,下面的代碼,請參見下面
<xsl:choose>
<xsl:when test="($RTL='true') or ($RTL='True')">
<fo:block wrap-option="wrap" hyphenate="true" text-align="right" font-weight="bold">
<xsl:value-of select="@friendlyname" />
</fo:block>
</xsl:when>
<xsl:otherwise>
<!--<fo:block wrap-option="wrap" hyphenate="true" font-weight="bold">-->
<xsl:template match="a">
<fo:block>
<xsl:choose>
<xsl:when test="@href">
<fo:basic-link>
<xsl:attribute name="external-destination">
<xsl:value-of select="@href"/>
</xsl:attribute>
<xsl:value-of select="@friendlyname" />
</fo:basic-link>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@friendlyname" />
</xsl:otherwise>
</xsl:choose>
</fo:block>
</xsl:template>
<!--<xsl:value-of select="@friendlyname" />-->
<!--</fo:block>-->
</xsl:otherwise>
</xsl:choose>
</xsl:if>
我如何使用它呢?
這是使用'xsl:template'元素的不正確方法。它不能在'否則'裏面。所以,現在(即自更新了您的問題以來),您的問題與基本鏈接無關,但具有編寫XSLT代碼的基本規則。 –