Caching 停止XSLT缓存
我目前正在使用xsl:import标记。然而,我们注意到它正在缓存XSL。这意味着,当我们更新被引用的XSL时,我们必须刷新使用被引用文档的每个XSL 我的问题是有没有办法停止缓存 下面是我们正在使用的代码示例: 主XSLTCaching 停止XSLT缓存,caching,amazon-web-services,Caching,Amazon Web Services,我目前正在使用xsl:import标记。然而,我们注意到它正在缓存XSL。这意味着,当我们更新被引用的XSL时,我们必须刷新使用被引用文档的每个XSL 我的问题是有没有办法停止缓存 下面是我们正在使用的代码示例: 主XSLT <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:import href="errorCode.xsl"/> <xsl:ou
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="errorCode.xsl"/>
<xsl:output indent="yes"/>
<xsl:param name="time_generated"/>
<xsl:template match="/getResponse">
<response>
<header>
<!-- START - errorCode.xsl Results -->
<xsl:call-template name="errorCode"/>
<!-- END - errorCode.xsl Results -->
<response_detail>
<time_generated_unix/>
<time_generated_date_time>
<xsl:value-of select="$time_generated"/>
</time_generated_date_time>
</response_detail>
<apikey_detail>
<class/>
<rate-limit-remaining/>
<rate-limit-reset/>
</apikey_detail>
</header>
<data>
<xsl:copy-of select="payload/node()"/>
</data>
</response>
</xsl:template>
导入中引用的外部XSL:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template name="errorCode">
<!-- START - SAP Error Codes -->
<xsl:choose>
<xsl:when test="rcode = 0">
<status>200</status>
<message_detail>Test</message_detail>
</xsl:when>
<xsl:when test="rcode = 1">
<status>401</status>
<message_detail>Unauthorised – User Does Not exist</message_detail>
</xsl:when>
<xsl:when test="rcode = 3">
<status>401</status>
<message_detail>Unauthorised – User is not authorised to perform the
operation</message_detail>
</xsl:when>
<xsl:when test="rcode = 4">
<status>400</status>
<message_detail>Bad request – No Data could be returned</message_detail>
</xsl:when>
<xsl:when test="rcode = 5">
<status>400</status>
<message_detail>Bad request – Invalid Data In request</message_detail>
</xsl:when>
<xsl:when test="rcode = 6">
<status>202</status>
<message_detail>Request for creation accepted but not yet completed</message_detail>
</xsl:when>
<xsl:when test="rcode = 7">
<status>409</status>
<message_detail>Conflict - Data is locked in another request</message_detail>
</xsl:when>
<xsl:when test="rcode = 8">
<status>400</status>
<message_detail>Bad request – Mandatory Field Not Specified</message_detail>
</xsl:when>
<xsl:when test="rcode = 9">
<status>400</status>
<message_detail>Bad request – Data is not unique</message_detail>
</xsl:when>
<!-- END - SAP Error Codes -->
<!-- Catach All Other Error Codes Not Specified -->
<xsl:otherwise>
<status>400</status>
<message_detail>SAP Unknown Error</message_detail>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
200
测验
401
未经授权–;用户不存在
401
未经授权–;用户无权执行此操作
活动
400
请求错误–;无法返回任何数据
400
请求错误–;请求中的数据无效
202
已接受创建请求,但尚未完成
409
冲突-数据锁定在另一个请求中
400
请求错误–;未指定必填字段
400
请求错误–;数据不是唯一的
400
SAP未知错误
是否可以通过另一种方式创建相同的功能来停止缓存?或者在XSL文档中插入一些内容以刷新或根本不缓存
非常感谢您是否尝试过使用
xsl:include
?我们需要更多的上下文。您还使用哪种语言或系统来驱动xslt处理?它是一种纯xslt转换。它运行在一个我们无法接触的服务器上,所以所有东西都必须通过XSLT打开。它将转换DB响应,并通过API(Apigee)将其推送。我被告知include也做同样的事情?不是吗?当你说“it”是缓存时,我们需要知道“it”是什么。要解决此问题,您需要更改“it”的一些配置设置。这个问题与XSLT代码的细节无关(或者与导入与包含的使用无关)。应用程序中可能使用了类似于“缓存解析器”的东西——这与XSLT无关,完整的XSLT问题与XSLT关系不大。因此,这个问题的答案是:可能有一种方法可以停止缓存,或者停止缓存的唯一方法可能是停止并启动应用程序。要获得确切答案,请研究缓存解析器如何实现缓存无效。