2013-05-20 40 views
1

我在做一個uni任務,並且不能(在我的生活中)在線查找關於「xslt-param」xml處理指令的任何信息。有關於「xsl:param」的信息,但它不是一回事。xslt-param處理指令 - 將xml文檔中的值傳遞給xsl樣式表

基本上我有一個XML文檔,我想在客戶端轉換成html。我的任務要求我使用「XSLT的參數」的值發送到樣式表,就像這樣:

<?xml version="1.0"?> 
<?xml-stylesheet href="http://blah/assign/pass.xsl" type="text/xsl"?> 
<?xslt-param name="user_entry" select="superman"?> 
<root> 
    content 
</root> 

而且樣式會收到這樣的:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:param name="user_entry"/> 

    <xsl:template match="/"> 
     <html> 
      <head> 
       <meta charset = "UTF-8" /> 

       <title>Assignment</title> 
      </head> 

      <body bgcolor="orange"> 

       <H3> RESULT...</H3> 

       <p> 
        HOWDY. 
        You entered <xsl:value-of select="$user_entry" /> 
       </p> 

       <!--xsl:apply-templates/--> 

      </body> 

     </html> 

    </xsl:template> 

</xsl:stylesheet> 

大多數的這東西工作...

我只是無法在網上找到的任何信息(或我的上司)對正確的方法使用 「XSLT的參數」

它是一種幾乎像這種技術並不存在。有沒有人知道這件事?

我知道這種方法可能永遠不會在現實世界中使用。但我得做這個任務。

有誰知道「xslt-param」在哪裏被記錄/通過教程/官方指定解釋?

感謝

+0

http://www.w3schools.com/xsl/el_param.asp? – Steve

回答

2

據我所知處理指令xslt-param是由Mozilla瀏覽器的支持,看到https://developer.mozilla.org/en-US/docs/XSLT/PI_Parameters的文檔。

我不確定其他瀏覽器是否支持該功能。

因此,對於你的榜樣<?xslt-param name="user_entry" select="superman"?>我認爲你要麼需要<?xslt-param name="user_entry" value="superman"?>(其中您指定的字符串值superman),或者你想使用XPath表達式與select其中<?xslt-param name="user_entry" select="//superman"?>將選擇XML輸入文件名爲superman元素或者<?xslt-param name="user_entry" select="'superman'"?>會將字符串值superman分配給參數的方法不同。

您的原始示例<?xslt-param name="user_entry" select="superman"?>沒有多大意義,因爲它會選擇名爲superman的元素作爲輸入文檔的根元素;但是您的輸入示例具有名爲root的根元素。