我认为在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