2017-02-28 104 views
0

你能告訴我如何訪問xslt中的變量嗎? 。我讓變量js。我要打印它的價值。所以我在XSL指定變量值:變量 當我嘗試打印變量值,它給了我string,而不是在這裏評價 是我的代碼 http://xsltransform.net/pPJ8LWb如何在xslt中訪問變量?

<?xml version="1.0" encoding="UTF-8" ?> 
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> 
    <xsl:output method="html" doctype-public="XSLT-compat" omit-xml-declaration="yes" encoding="UTF-8" indent="yes" /> 

    <xsl:template match="/"> 
     <hmtl> 
     <head> 
      <title>New Version!</title> 
     </head> 
     <script> 
      console.log('starte'); 
      var start = 5; 
      '<xsl:variable name="start">{start}</xsl:variable>' 
      console.log('<xsl:value-of select="$start"/>') 

     </script> 
     </hmtl> 
    </xsl:template> 


</xsl:transform> 

預計輸出 :: 5 任何更新

+0

我對你剛纔的問題(http://stackoverflow.com/questions/42498064/why-value-of-not-working-in-xslt-in-loop),這是與此有關做出評論。 XSLT無法訪問JavaScript變量,因爲在創建HTML和Javascript時,XSLT(和XML)早已消失,無法訪問。 XSLT用於生成HTML(和JavaScript),但不用於處理該HTML。你應該首先嚐試手動編寫你想要的HTML,把XSLT放在一邊,直到你確切地知道你想要什麼樣的HTML和JavaScript。 –

+0

可以請你回答這個問題http://stackoverflow.com/questions/42505285/how-to-change-the-tag-name-in-xslt – user5711656

回答

0

好吧,我可以建議你這樣做:

演示 - https://jsfiddle.net/skyr9999/behf2h7t/

<?xml version="1.0" encoding="UTF-8" ?> 
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> 
    <xsl:output method="html" doctype-public="XSLT-compat" omit-xml-declaration="yes" encoding="UTF-8" indent="yes" /> 

    <xsl:template match="/"> 
     <hmtl> 
     <head> 
      <title>New Version!</title> 
     </head> 
     <script> 
      console.log('starte'); 
      var start = 5; 
      document.write('<xsl:variable name="start">'+start+'</xsl:variable>'); 
      console.log("<xsl:value-of select='"+start+"'/>") 

     </script> 
     </hmtl> 
    </xsl:template> 


</xsl:transform>