2012-09-04 181 views
2

有無論如何我可以得到查詢字符串變量的值並使用xsl處理它。我試着用<xsl:param name="qsVariableName">,但沒有成功,它沒有中斷,但當我嘗試像這樣輸入時,它給了我一個空值。查詢字符串值爲xsl參數

www.example.com?qsVariableName=true從源XML文件或XSLT

<xsl:param name="qsVariableName" /> 
<xsl:value-of select="$qsVariableName"></xsl:value-of> 
+0

XSLT究竟是如何調用的?它使用Javascript嗎?代碼的那部分是什麼樣的? – Dan

+0

我認爲這是客戶端轉型? –

回答

1

查詢字符串參數不會自動映射設置<xsl:param>在樣式表。

<xsl:param>需要在調用變換時顯式設置。根據環境以及您的調用方式,可以使用不同的語法來設置參數。

在Java中,你會設置的參數有這樣的事情:

javax.xml.transform.Transformer trans = 
     transFact.newTransformer(xsltSource); 
trans.setParameter("qsVariableName", "true"); 

在XSLT 2.0中,您可以使用document-uri()函數來獲取源XML文件的URL,然後分析該值以獲得查詢字符串參數和值的序列。

tokenize(substring-after(document-uri(/), '?'), '&amp;') 

舉例來說,上面的代碼,如果你正在改變與該URL的XML文件:http://example.com/file.xml?qsVariableName=true它會返回「qsVariableName =真」。

+0

在XSLT 1.0中如何? – YogaPanda