2010-09-20 40 views
-1

我在我的XSL文件中有兩段代碼。如何將XSL中的變量從一個函數引用到另一個函數?

1)

<xsl:call-template name="Info"> 
    <xsl:with-param name="parententry" select="a:feed/a:entry/@href" /> 
</xsl:call-template> 

2)

<xsl:template name="Info"> 
    <xsl:param name="parentEntry" /> 
     <xsl:variable name="parententryauthorname"> 
      <xsl:value-of select="a:author/a:name" /> 
     </xsl:variable> 
     <xsl:variable name="info2"> 
      <xsl:value-of select="$parentEntry" /> 
     </xsl:variable>> 
     <input name="info2" type="hidden" value="{$info2}" /> 
     <input name="parententryauthorname" type="hidden" value="{$parententryauthorname}" /> 
</xsl:template> 

我想要做的是在第一個的代碼值分配給「parententry」,然後在第2位是指它。當我在「信息」模板中時,我想進一步處理在「parententry」中分配的值以獲取作者的姓名。

現在,當我試圖打印$ info2和$ parententryauthorname的值時,它們都是空的。

有什麼建議嗎?

+0

1的 \t的 dojomedojo 2010-09-20 19:50:13

+0

2.的 \t \t的 \t的 \t \t \t \t的 \t \t \t的 \t \t> \t \t <輸入名稱= 「INFO2」 類型= 「隱藏」 值= 「{$ INFO2}」/> \t \t dojomedojo 2010-09-20 19:51:18

回答

0

這個樣式表:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:atom="http://www.w3.org/2005/Atom" 
exclude-result-prefixes="atom"> 
    <xsl:template match="/"> 
     <xsl:apply-templates select="*/atom:entry" mode="form"/> 
    </xsl:template> 
    <xsl:template match="atom:entry" mode="form"> 
     <input name="info2" type="hidden" 
       value="{atom:link[@rel='alternate']/@href}" /> 
     <input name="parententryauthorname" type="hidden" 
       value="{atom:author/atom:name}" /> 
    </xsl:template> 
</xsl:stylesheet> 

有了這個頁面的飼料,輸出:

<input name="info2" type="hidden" value="http://stackoverflow.com/questions/3754954/how-to-refer-a-variable-within-xsl-from-one-function-to-another-function" /> 
<input name="parententryauthorname" type="hidden" value="Java Doe" /> 
<input name="info2" type="hidden" value="http://stackoverflow.com/questions/3754954/how-to-refer-a-variable-within-xsl-from-one-function-to-another-function/3755184#3755184" /> 
<input name="parententryauthorname" type="hidden" value="Alejandro" /> 

注意:在型動物方式處理節點,模式是正確的工具。

編輯:使用新提要更新輸出。只是爲了好玩!

相關問題