Остановить XSLT-кеширование - PullRequest
1 голос
/ 01 марта 2012

В настоящее время я использую тег 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 &#8211; User Does Not exist</message_detail>
                </xsl:when>
                <xsl:when test="rcode = 3">
                        <status>401</status>
                        <message_detail>Unauthorised &#8211; User is not authorised to perform the
                                operation</message_detail>
                </xsl:when>
                <xsl:when test="rcode = 4">
                        <status>400</status>
                        <message_detail>Bad request &#8211; No Data could be returned</message_detail>
                </xsl:when>
                <xsl:when test="rcode = 5">
                        <status>400</status>
                        <message_detail>Bad request &#8211; 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 &#8211; Mandatory Field Not Specified</message_detail>
                </xsl:when>
                <xsl:when test="rcode = 9">
                        <status>400</status>
                        <message_detail>Bad request &#8211; 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, чтобы обновить или вообще не кэшировать?

Большое спасибо

...