我認爲在XSL中沒有直接的方法來完成這個任務,但是想在編寫服務器端代碼之前先與大家覈對一下。XSL中的休眠功能
我正在網站上使用twitter API顯示來自數百個不同帳戶的推文。 有一個很大的XML文件,其中包含200多個推特ID和計數(1-12)。我有一個PHP腳本,可以使用twitter API執行OAuth並輸出JSON。這個PHP文件將id和count作爲查詢字符串。 現在twitter對每15分鐘可發送的請求數量有限制。由於通過使用撒克遜XSL轉換生成的網頁,我想做點什麼喜歡 -
<xsl:template name="all-social">
<xsl:for-each select="/social/twitter">
<xsl:value-of select="unparsed-text(concat('http://something/twitter.php?
id=',@id,'&count=',@count))"/>
<!-- or apply-templates select="document(--URL--)" -->
</xsl:for-each>
</xsl:template>
這將返回的鳴叫的JSON,我可以做前端一切正常顯示。但克服了API限制我需要添加一個暫停或睡眠for-each
循環中喜歡 -
<xsl:template name="all-social">
<xsl:for-each select="/social/twitter">
<!-- Wait for 5 seconds -->
<xsl:value-of select="unparsed-text(concat('http://something/twitter.php?
id=',@id,'&count=',@count))"/>
</xsl:for-each>
</xsl:template>
同樣,我明白這是很容易通過只使用服務器端腳本來實現,由我好奇在XSL轉換過程中是否有添加sleep()的方法。任何想法/建議將不勝感激。
您正在將XSLT與過程式編程語言混淆起來。 XSLT中的for-each不是一個「循環」,直到整個XSLT完成後,XSLT的輸出纔會有用。所以即使你可以做你想做的事情,這也不是可取的。 – JLRishe 2014-10-18 04:39:41
爲什麼在轉化期間睡眠,而不僅僅是在它之前,即在轉換之間? – 2014-10-18 07:51:42