В настоящее время я использую тег xsl: import. Однако мы заметили, что он кэширует XSL. Это означает, что когда мы обновляем XSL, на который также ссылаются, мы должны обновить каждый XSL, который использует указанный документ.
У меня вопрос, есть ли способ остановить кеширование?
Ниже приведен пример кода, который мы используем:
Main XSLT
<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>
Можно ли остановить кэширование, создавая ту же функциональность другим способом? Или вставить что-то в документы XSL, чтобы обновить или вообще не кэшировать?
Большое спасибо