You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by "brian (JIRA)" <xa...@xml.apache.org> on 2009/04/04 10:37:13 UTC

[jira] Created: (XALANJ-2494) 'Internal XSLTC error: a method in the translet exceeds the Java Virtual Machine limitation on the length of a method of 64 kilobytes. This is usually caused by templates in a stylesheet that are very large. Try restructuring your stylesheet to use sma

'Internal XSLTC error:  a method in the translet exceeds the Java Virtual Machine limitation on the length of a method of 64 kilobytes.  This is usually caused by templates in a stylesheet that are very large.  Try restructuring your stylesheet to use sma
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: XALANJ-2494
                 URL: https://issues.apache.org/jira/browse/XALANJ-2494
             Project: XalanJ2
          Issue Type: Bug
      Security Level: No security risk; visible to anyone (Ordinary problems in Xalan projects.  Anybody can view the issue.)
    Affects Versions: 2.7.1
         Environment: env is unix solaris 10 box or windows xp
            Reporter: brian
            Priority: Critical


Hi guys:

I use the following xslt file, and the latest xalan 2.7.1 to transform a xml, it always saying the following errors:
I put jars into c:\Copy of reference


Hello
xalan override path: C:\Copy of reference
transform api: org.apache.xalan.xsltc.trax.TransformerFactoryImpl

javax.xml.transform.TransformerConfigurationException: Service failed to initialize with XSLT file 
ERROR:  'Internal XSLTC error:  a method in the translet exceeds the Java Virtual Machine limitation on the length of a method of 64 kilobytes.  This is usually caused by templates in a stylesheet that are very large.  Try restructuring your stylesheet to use smaller templates.'
FATAL ERROR:  'Could not compile stylesheet'
javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
	at org.apache.xalan.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:832)
	at Transform.createTemplates(Transform.java:92)
	at Transform.main(Transform.java:369)


but If i use the default one under java 1.5, it works. also 2.6.0 and 2.7.0 works as well. except the latest 2.7.1
I know my template contains a really long match. 
But could anybody explain why the one used in jdk 5 can transform, and 2.7.0 can transform but not 2.7.0

sorry abit urgent. it is in production now. and keep failure



Many thanks
Feng


here is the xslt:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >

<!-- Style sheet to process Analytics XML results into a form suitable to writeback to PYR_TRADE
     $Id: analyticssqlTOP.xslT /main/1 101/07/20 12:54:02 $
     $Author: rderbysh $
     $Source: /vobs/edg/risk/etc/analyticssqlTOP.xslT $
     todo - must remove preambles from inst ids etc. Ideally this would be done with XSLT processing
	id_role_ccy
-->
<!-- id_param_rsk lookup table -->
<xsl:template name = 'idpr' >
<xsl:param name='id_calc' select='name()' />

<xsl:choose>
<xsl:when test='$id_calc = "ABS_FACTOR"                        '>'ABSF'</xsl:when>
<xsl:when test='$id_calc = "ACCRUAL_CALENDAR"                        '>'ACCA'</xsl:when>
<xsl:when test='$id_calc = "ACCRUED_INTEREST"                        '>'ACIR'</xsl:when>
<xsl:when test='$id_calc = "ACCRUED_INTEREST_ASSET"                        '>'ACIA'</xsl:when>
<xsl:when test='$id_calc = "ADJUSTED_STRIKE"                        '>'ADSK'</xsl:when>
<xsl:when test='$id_calc = "ADJ_CREDIT_SPREAD_RHO_PARALLEL"                        '>'ACRD'</xsl:when>
<xsl:when test='$id_calc = "ADJ_CREDIT_SPREAD_RHO_POINTWISE"                        '>'ACRD'</xsl:when>
<xsl:when test='$id_calc = "ASSET_MTM"                        '>'ASMT'</xsl:when>
<xsl:when test='$id_calc = "ASSET_SWAP_SPREAD"                        '>'ASWS'</xsl:when>
<xsl:when test='$id_calc = "ASSET_THEO"                        '>'ASTH'</xsl:when>
<xsl:when test='$id_calc = "ASSET_THEO_MTM"                        '>'ASTM'</xsl:when>
<xsl:when test='$id_calc = "ASSET_VEGA_PARALLEL"                        '>'VEGC'</xsl:when>
<xsl:when test='$id_calc = "ASSET_VEGA_POINTWISE"                        '>'VEGC'</xsl:when>
<xsl:when test='$id_calc = "BARRIER_DISCONTINUITY_RISK"                        '>'BDCR'</xsl:when>
<xsl:when test='$id_calc = "BARRIER_LEVEL"                        '>'BARL'</xsl:when>
<xsl:when test='$id_calc = "BASKET_DELTA_NEXT_DAY"                        '>'DEL1'</xsl:when>
<xsl:when test='$id_calc = "BBG_SPREAD"                        '>'BBGS'</xsl:when>
<xsl:when test='$id_calc = "BETA_SKEW_MATRIX"                        '>'BSMX'</xsl:when>
<xsl:when test='$id_calc = "BETA_SKEW_PARALLEL_DELTA"                        '>'BSPD'</xsl:when>
<xsl:when test='$id_calc = "BOND_CONVEXITY"                        '>'CONX'</xsl:when>
<xsl:when test='$id_calc = "BOND_DURATION"                        '>'DURA'</xsl:when>
<xsl:when test='$id_calc = "BOND_FUTURE_Z_SPREAD"                        '>'BFZS'</xsl:when>
<xsl:when test='$id_calc = "CAH_ALL_FV"                        '>'AAHF'</xsl:when>
<xsl:when test='$id_calc = "CAH_FV"                        '>'AHFV'</xsl:when>
<xsl:when test='$id_calc = "CALL_STRIKE"                        '>'CLST'</xsl:when>
<xsl:when test='$id_calc = "CANCELLATION_CURVE_PARALLEL"                        '>'CLCP'</xsl:when>
<xsl:when test='$id_calc = "CANCELLATION_CURVE_POINTWISE"                        '>'CLCE'</xsl:when>
<xsl:when test='$id_calc = "CASHFLOWS"                        '>'CFLW'</xsl:when>
<xsl:when test='$id_calc = "CCM_BETA_SENS"                        '>'CCBS'</xsl:when>
<xsl:when test='$id_calc = "CCM_D_BETA_BASKET_D_PAR_SPREAD_RHO_PROP"                        '>'DBDS'</xsl:when>
<xsl:when test='$id_calc = "CCM_D_BETA_D_PAR_SPREAD_RHO_PROP"                        '>'DBDS'</xsl:when>
<xsl:when test='$id_calc = "CCY_BASIS_RHO_PARALLEL"                        '>'CBRO'</xsl:when>
<xsl:when test='$id_calc = "CCY_BASIS_RHO_POINTWISE"                        '>'CBRO'</xsl:when>
<xsl:when test='$id_calc = "CDS_RISKY_DURATION"                        '>'CRDR'</xsl:when>
<xsl:when test='$id_calc = "CLEAN_PRICE"                        '>'PRCA'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_CORREL_SENS_PARALLEL"                        '>'PHI'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_CORREL_SENS_POINTWISE"                        '>'PHI'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_DELTA_PARALLEL"                        '>'CDEL'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_DELTA_PARALLEL_SUMMED"                        '>'CDES'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_DELTA_POINTWISE"                        '>'CDEL'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_GAMMA_PARALLEL"                        '>'CGAM'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_GAMMA_PARALLEL_SUMMED"                        '>'CGAS'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_GAMMA_POINTWISE"                        '>'CGAM'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_INST_CORR_SENS"                        '>'CICS'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_INST_VOLRATIO_SENS"                        '>'CIVS'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_MEAN_REVERSION_SENS"                        '>'CMRS'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_SMILESENS_10RR_PARALLEL"                        '>'CSWB'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_SMILESENS_10RR_POINTWISE"                        '>'CSWB'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_SMILESENS_10STR_PARALLEL"                        '>'CSWD'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_SMILESENS_10STR_POINTWISE"                        '>'CSWD'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_SMILESENS_2510RR_PARALLEL"                        '>'CSWE'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_SMILESENS_2510RR_POINTWISE"                        '>'CSWE'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_SMILESENS_2510STR_PARALLEL"                        '>'CSWF'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_SMILESENS_2510STR_POINTWISE"                        '>'CSWF'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_SMILESENS_25RR_PARALLEL"                        '>'CSWA'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_SMILESENS_25RR_POINTWISE"                        '>'CSWA'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_SMILESENS_25STR_PARALLEL"                        '>'CSWC'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_SMILESENS_25STR_POINTWISE"                        '>'CSWC'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_VEGA_PARALLEL"                        '>'CVEG'</xsl:when>
<xsl:when test='$id_calc = "COMMODITY_VEGA_POINTWISE"                        '>'CVEG'</xsl:when>
<xsl:when test='$id_calc = "COMPRESSION_RATIO"                        '>'BSCR'</xsl:when>
<xsl:when test='$id_calc = "COMPUTE_ESTIMATE"                        '>'CPUX'</xsl:when>
<xsl:when test='$id_calc = "COMPUTE_INDEX"                        '>'CPID'</xsl:when>
<xsl:when test='$id_calc = "COMP_VEGA_PARALLEL"                        '>'CPVG'</xsl:when>
<xsl:when test='$id_calc = "COMP_VEGA_POINTWISE"                        '>'CPVG'</xsl:when>
<xsl:when test='$id_calc = "CONTAGION_FACTOR_POINTWISE"                        '>'CFPT'</xsl:when>
<xsl:when test='$id_calc = "CONTANGO_RHO_PARALLEL"                        '>'CORO'</xsl:when>
<xsl:when test='$id_calc = "CONTANGO_RHO_POINTWISE"                        '>'CORO'</xsl:when>
<xsl:when test='$id_calc = "CONT_CONVERT_STATUS"                        '>'CCST'</xsl:when>
<xsl:when test='$id_calc = "CONVERTIBLE_PRICE"                        '>'CVPR'</xsl:when>
<xsl:when test='$id_calc = "CONVERTIBLE_PRICE_DIRTY"                        '>'CVPR'</xsl:when>
<xsl:when test='$id_calc = "CONVEXITY"                        '>'CONX'</xsl:when>
<xsl:when test='$id_calc = "CORRIDOR_ACCRUAL_DELTA"                        '>'CALD'</xsl:when>
<xsl:when test='$id_calc = "CORRIDOR_ACCRUAL_GAMMA"                        '>'CALG'</xsl:when>
<xsl:when test='$id_calc = "CORRIDOR_ACCRUAL_VALUE"                        '>'CALL'</xsl:when>
<xsl:when test='$id_calc = "CORRIDOR_ACCRUAL_VEGA"                        '>'CALV'</xsl:when>
<xsl:when test='$id_calc = "CORRIDOR_VARIANCE_DELTA"                        '>'CVLD'</xsl:when>
<xsl:when test='$id_calc = "CORRIDOR_VARIANCE_GAMMA"                        '>'CVLG'</xsl:when>
<xsl:when test='$id_calc = "CORRIDOR_VARIANCE_VALUE"                        '>'CVLL'</xsl:when>
<xsl:when test='$id_calc = "CORRIDOR_VARIANCE_VEGA"                        '>'CVLV'</xsl:when>
<xsl:when test='$id_calc = "CORR_IMPLIED"                        '>'CORI'</xsl:when>
<xsl:when test='$id_calc = "CORR_REALIZED"                        '>'CORR'</xsl:when>
<xsl:when test='$id_calc = "CORR_SKEW_DELTA"                        '>'CSDT'</xsl:when>
<xsl:when test='$id_calc = "CORR_SWAP_BASIS_ADJ_PARALLEL"                        '>'CSBA'</xsl:when>
<xsl:when test='$id_calc = "CORR_SWAP_BASIS_ADJ_TWEAK"                        '>'CSBA'</xsl:when>
<xsl:when test='$id_calc = "CORR_SWAP_SAMPLING_ADJ_TWEAK"                        '>'CSBA'</xsl:when>
<xsl:when test='$id_calc = "COUPON_DUE"                        '>'CPND'</xsl:when>
<xsl:when test='$id_calc = "CPTY_CREDIT_CHARGE"                        '>'CPCC'</xsl:when>
<xsl:when test='$id_calc = "CRASH_COUPON_DELTA"                        '>'SCCD'</xsl:when>
<xsl:when test='$id_calc = "CRASH_COUPON_MULTCVX"                        '>'CCCV'</xsl:when>
<xsl:when test='$id_calc = "CRASH_COUPON_MULTSENS"                        '>'CCMS'</xsl:when>
<xsl:when test='$id_calc = "CRASH_COUPON_SENS"                        '>'CCPS'</xsl:when>
<xsl:when test='$id_calc = "CRASH_COUPON_SENS_MATRIX"                        '>'CCSM'</xsl:when>
<xsl:when test='$id_calc = "CRASH_YIELD_DELTA"                        '>'SCYD'</xsl:when>
<xsl:when test='$id_calc = "CREDIT_DEFAULT_SENS"                        '>'CDEF'</xsl:when>
<xsl:when test='$id_calc = "CREDIT_DEFAULT_SENS_WITH_ZERO_RECOVERY"                        '>'CDZR'</xsl:when>
<xsl:when test='$id_calc = "CREDIT_DELTA_POINTWISE_WITH_SHIFT"                        '>'CDPS'</xsl:when>
<xsl:when test='$id_calc = "CREDIT_GAMMA_MATRIX"                        '>'CGMS'</xsl:when>
<xsl:when test='$id_calc = "CREDIT_SPREAD_RHO_PARALLEL"                        '>'CRED'</xsl:when>
<xsl:when test='$id_calc = "CREDIT_SPREAD_RHO_POINTWISE"                        '>'CRED'</xsl:when>
<xsl:when test='$id_calc = "CREDIT_SPREAD_VEGA_PARALLEL"                        '>'CRSV'</xsl:when>
<xsl:when test='$id_calc = "CREDSCEN_FV"                        '>'SFV'</xsl:when>
<xsl:when test='$id_calc = "CROSS_GAMMA"                        '>'XGAM'</xsl:when>
<xsl:when test='$id_calc = "CROSS_GAMMA_RM"                        '>'XGAM'</xsl:when>
<xsl:when test='$id_calc = "CR_MEAN_REVERSION_PARALLEL"                        '>'CMRP'</xsl:when>
<xsl:when test='$id_calc = "CR_SPOT_VEGA_PARALLEL"                        '>'CSVP'</xsl:when>
<xsl:when test='$id_calc = "CR_VEGA_PARALLEL"                        '>'PSRV'</xsl:when>
<xsl:when test='$id_calc = "CR_VEGA_POINTWISE"                        '>'PSRV'</xsl:when>
<xsl:when test='$id_calc = "CURRENT_SPREAD"                        '>'MSPD'</xsl:when>
<xsl:when test='$id_calc = "DELTA"                        '>'DELT'</xsl:when>
<xsl:when test='$id_calc = "DELTA_ASSET"                        '>'DELA'</xsl:when>
<xsl:when test='$id_calc = "DELTA_BASKET"                        '>'DELT'</xsl:when>
<xsl:when test='$id_calc = "DELTA_CASH_DIV"                        '>'DECA'</xsl:when>
<xsl:when test='$id_calc = "DELTA_INTRADAY"                        '>'DELI'</xsl:when>
<xsl:when test='$id_calc = "DELTA_NEXT_DAY"                        '>'DEL1'</xsl:when>
<xsl:when test='$id_calc = "DELTA_NEXT_DAY_ASSET"                        '>'DE1A'</xsl:when>
<xsl:when test='$id_calc = "DELTA_NPI"                        '>'DPOW'</xsl:when>
<xsl:when test='$id_calc = "DELTA_PROXY"                        '>'DELP'</xsl:when>
<xsl:when test='$id_calc = "DELTA_PROXY_NEXT_DAY"                        '>'DLP1'</xsl:when>
<xsl:when test='$id_calc = "DELTA_REF_CONTRACT"                        '>'DELR'</xsl:when>
<xsl:when test='$id_calc = "DELTA_SPECIAL_NPI"                        '>'DNPI'</xsl:when>
<xsl:when test='$id_calc = "DELTA_STD_ERR"                        '>'SEDL'</xsl:when>
<xsl:when test='$id_calc = "DELTA_STRIKE_REF_SPOT"                        '>'DSRS'</xsl:when>
<xsl:when test='$id_calc = "DELTA_SURFACE"                        '>'DELS'</xsl:when>
<xsl:when test='$id_calc = "DELTA_SURFACE_PROXY"                        '>'DLSP'</xsl:when>
<xsl:when test='$id_calc = "DELTA_SURFACE_REMARK"                        '>'VHQD'</xsl:when>
<xsl:when test='$id_calc = "DELTA_SURFACE_REMARK_ASSET"                        '>'VHDA'</xsl:when>
<xsl:when test='$id_calc = "DELTA_SURFACE_REMARK_NEXT_DAY"                        '>'DSRN'</xsl:when>
<xsl:when test='$id_calc = "DELTA_TO_CREDIT"                        '>'DELC'</xsl:when>
<xsl:when test='$id_calc = "DELTA_TO_CREDIT_NEXT_DAY"                        '>'DL1C'</xsl:when>
<xsl:when test='$id_calc = "DELTA_TRPROXY"                        '>'DETP'</xsl:when>
<xsl:when test='$id_calc = "DELTA_T_PLUS_N"                        '>'DELN'</xsl:when>
<xsl:when test='$id_calc = "DIRTY_PRICE"                        '>'PRDA'</xsl:when>
<xsl:when test='$id_calc = "DISCOUNT_FACTOR"                        '>'DFTR'</xsl:when>
<xsl:when test='$id_calc = "DRO_HIST_DELTA"                        '>'HDEL'</xsl:when>
<xsl:when test='$id_calc = "DRO_HIST_DIV_DIFF"                        '>'HDIV'</xsl:when>
<xsl:when test='$id_calc = "DURATION"                        '>'DURA'</xsl:when>
<xsl:when test='$id_calc = "DURATION_WEIGHTED_AVG"                        '>'DWAS'</xsl:when>
<xsl:when test='$id_calc = "D_DELTA_D_VOL"                        '>'DDLV'</xsl:when>
<xsl:when test='$id_calc = "D_DELTA_T_PLUS_N_D_SPOT"                        '>'DTDS'</xsl:when>
<xsl:when test='$id_calc = "D_GAMMA_D_SPOT"                        '>'DGDS'</xsl:when>
<xsl:when test='$id_calc = "D_GAMMA_D_VOL"                        '>'DGDV'</xsl:when>
<xsl:when test='$id_calc = "EDS_DELTA_CURVE"                        '>'EDLC'</xsl:when>
<xsl:when test='$id_calc = "EDS_RISKY_DURATION"                        '>'ERDR'</xsl:when>
<xsl:when test='$id_calc = "EDS_RUNNING_FEE"                        '>'ERNF'</xsl:when>
<xsl:when test='$id_calc = "EDS_UPFRONT"                        '>'EUPF'</xsl:when>
<xsl:when test='$id_calc = "EDS_VEGA_CURVE"                        '>'EVGC'</xsl:when>
<xsl:when test='$id_calc = "EFFECTIVE_STRIKE"                        '>'EFFS'</xsl:when>
<xsl:when test='$id_calc = "EQFX_CORR_MATRIX_SQ_ERROR"                        '>'EQME'</xsl:when>
<xsl:when test='$id_calc = "EQIR_PHI"                        '>'PHI'</xsl:when>
<xsl:when test='$id_calc = "EVENTS"                        '>'EVNT'</xsl:when>
<xsl:when test='$id_calc = "EXOTIC_DEFAULT_NOTIONAL"                        '>'EXDN'</xsl:when>
<xsl:when test='$id_calc = "EXPECTED_N"                        '>'EXPN'</xsl:when>
<xsl:when test='$id_calc = "EXPECTED_PCT_TIME_IN_RANGE"                        '>'EPTR'</xsl:when>
<xsl:when test='$id_calc = "EXPECTED_SCALE_FACTOR"                        '>'EXSF'</xsl:when>
<xsl:when test='$id_calc = "EXPECTED_STRIKE"                        '>'EFSK'</xsl:when>
<xsl:when test='$id_calc = "EXPECTED_STRIKE_LEVEL"                        '>'CFLS'</xsl:when>
<xsl:when test='$id_calc = "EXPECTED_TIME_TO_EXERCISE"                        '>'ETTE'</xsl:when>
<xsl:when test='$id_calc = "F01_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD01'</xsl:when>
<xsl:when test='$id_calc = "F01_VEGA_FUNCTION_PY"                        '>'VF01'</xsl:when>
<xsl:when test='$id_calc = "F02_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD02'</xsl:when>
<xsl:when test='$id_calc = "F02_VEGA_FUNCTION_PY"                        '>'VF02'</xsl:when>
<xsl:when test='$id_calc = "F03_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD03'</xsl:when>
<xsl:when test='$id_calc = "F03_VEGA_FUNCTION_PY"                        '>'VF03'</xsl:when>
<xsl:when test='$id_calc = "F04_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD04'</xsl:when>
<xsl:when test='$id_calc = "F04_VEGA_FUNCTION_PY"                        '>'VF04'</xsl:when>
<xsl:when test='$id_calc = "F05_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD05'</xsl:when>
<xsl:when test='$id_calc = "F05_VEGA_FUNCTION_PY"                        '>'VF05'</xsl:when>
<xsl:when test='$id_calc = "F06_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD06'</xsl:when>
<xsl:when test='$id_calc = "F06_VEGA_FUNCTION_PY"                        '>'VF06'</xsl:when>
<xsl:when test='$id_calc = "F07_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD07'</xsl:when>
<xsl:when test='$id_calc = "F07_VEGA_FUNCTION_PY"                        '>'VF07'</xsl:when>
<xsl:when test='$id_calc = "F08_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD08'</xsl:when>
<xsl:when test='$id_calc = "F08_VEGA_FUNCTION_PY"                        '>'VF08'</xsl:when>
<xsl:when test='$id_calc = "F09_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD09'</xsl:when>
<xsl:when test='$id_calc = "F09_VEGA_FUNCTION_PY"                        '>'VF09'</xsl:when>
<xsl:when test='$id_calc = "F10_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD10'</xsl:when>
<xsl:when test='$id_calc = "F10_VEGA_FUNCTION_PY"                        '>'VF10'</xsl:when>
<xsl:when test='$id_calc = "F11_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD11'</xsl:when>
<xsl:when test='$id_calc = "F11_VEGA_FUNCTION_PY"                        '>'VF11'</xsl:when>
<xsl:when test='$id_calc = "F12_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD12'</xsl:when>
<xsl:when test='$id_calc = "F12_VEGA_FUNCTION_PY"                        '>'VF12'</xsl:when>
<xsl:when test='$id_calc = "F13_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD13'</xsl:when>
<xsl:when test='$id_calc = "F13_VEGA_FUNCTION_PY"                        '>'VF13'</xsl:when>
<xsl:when test='$id_calc = "F14_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD14'</xsl:when>
<xsl:when test='$id_calc = "F14_VEGA_FUNCTION_PY"                        '>'VF14'</xsl:when>
<xsl:when test='$id_calc = "F15_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD15'</xsl:when>
<xsl:when test='$id_calc = "F15_VEGA_FUNCTION_PY"                        '>'VF15'</xsl:when>
<xsl:when test='$id_calc = "F16_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD16'</xsl:when>
<xsl:when test='$id_calc = "F16_VEGA_FUNCTION_PY"                        '>'VF16'</xsl:when>
<xsl:when test='$id_calc = "F17_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD17'</xsl:when>
<xsl:when test='$id_calc = "F17_VEGA_FUNCTION_PY"                        '>'VF17'</xsl:when>
<xsl:when test='$id_calc = "F18_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD18'</xsl:when>
<xsl:when test='$id_calc = "F18_VEGA_FUNCTION_PY"                        '>'VF18'</xsl:when>
<xsl:when test='$id_calc = "F19_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD19'</xsl:when>
<xsl:when test='$id_calc = "F19_VEGA_FUNCTION_PY"                        '>'VF19'</xsl:when>
<xsl:when test='$id_calc = "F20_D_VEGA_FUNCTION_PY_D_VOL"                        '>'VD20'</xsl:when>
<xsl:when test='$id_calc = "F20_VEGA_FUNCTION_PY"                        '>'VF20'</xsl:when>
<xsl:when test='$id_calc = "FAILED_TO_PRELOAD"                        '>'FV'</xsl:when>
<xsl:when test='$id_calc = "FAILED_TO_PRICE"                        '>'FV'</xsl:when>
<xsl:when test='$id_calc = "FEE_LEG_RISKLESS_FV"                        '>'FLRF'</xsl:when>
<xsl:when test='$id_calc = "FFX_FUTURE_VALUE"                        '>'FUTV'</xsl:when>
<xsl:when test='$id_calc = "FFX_PV"                        '>'PV'</xsl:when>
<xsl:when test='$id_calc = "FFX_UFV"                        '>'UFV'</xsl:when>
<xsl:when test='$id_calc = "FIXED_LEG_VALUE"                        '>'FIXV'</xsl:when>
<xsl:when test='$id_calc = "FLEX_ARRAY_VAR"                        '>'FARV'</xsl:when>
<xsl:when test='$id_calc = "FORWARD_ADJUSTMENT"                        '>'CDSW'</xsl:when>
<xsl:when test='$id_calc = "FORWARD_CDS_SPREAD"                        '>'CDSF'</xsl:when>
<xsl:when test='$id_calc = "FORWARD_CONVEXITY_MATRIX"                        '>'FDCM'</xsl:when>
<xsl:when test='$id_calc = "FORWARD_PARALLEL"                        '>'FPLD'</xsl:when>
<xsl:when test='$id_calc = "FORWARD_PARALLEL_2SIDED"                        '>'FP2S'</xsl:when>
<xsl:when test='$id_calc = "FORWARD_PARALLEL_GAMMA"                        '>'FPAG'</xsl:when>
<xsl:when test='$id_calc = "FORWARD_PARALLEL_UNDISC"                        '>'FPLU'</xsl:when>
<xsl:when test='$id_calc = "FORWARD_POINTWISE"                        '>'FPWD'</xsl:when>
<xsl:when test='$id_calc = "FORWARD_POINTWISE_GAMMA"                        '>'FPGM'</xsl:when>
<xsl:when test='$id_calc = "FORWARD_POINTWISE_UNDISC"                        '>'FPWU'</xsl:when>
<xsl:when test='$id_calc = "FORWARD_SKEW_MATRIX"                        '>'FDSM'</xsl:when>
<xsl:when test='$id_calc = "FSA_LIQUIDITY_REPORT"                        '>'FSAR'</xsl:when>
<xsl:when test='$id_calc = "FSA_PRR"                        '>'FSAP'</xsl:when>
<xsl:when test='$id_calc = "FSA_VALUE"                        '>'FSAV'</xsl:when>
<xsl:when test='$id_calc = "FUNDING_SPREAD"                        '>'FSPD'</xsl:when>
<xsl:when test='$id_calc = "FUTURES_COMMODITY_SPOT"                        '>'UNDC'</xsl:when>
<xsl:when test='$id_calc = "FUTURE_VALUE"                        '>'FUTV'</xsl:when>
<xsl:when test='$id_calc = "FV_BREACH"                        '>'FVBR'</xsl:when>
<xsl:when test='$id_calc = "FV_MINUS_CCC"                        '>'FVMC'</xsl:when>
<xsl:when test='$id_calc = "FV_NOBREACH"                        '>'FVNB'</xsl:when>
<xsl:when test='$id_calc = "FWD_DEFAULT_ADJ"                        '>'FDAD'</xsl:when>
<xsl:when test='$id_calc = "FWD_FX_RATE"                        '>'FFX'</xsl:when>
<xsl:when test='$id_calc = "FX_CROSS_GAMMA"                        '>'XGAM'</xsl:when>
<xsl:when test='$id_calc = "FX_CROSS_GAMMA_ASSET"                        '>'FXGB'</xsl:when>
<xsl:when test='$id_calc = "FX_DELTA"                        '>'FXDT'</xsl:when>
<xsl:when test='$id_calc = "FX_DELTA_ASSET"                        '>'FXDA'</xsl:when>
<xsl:when test='$id_calc = "FX_GAMMA"                        '>'FXGM'</xsl:when>
<xsl:when test='$id_calc = "FX_GAMMA_ASSET"                        '>'FXGA'</xsl:when>
<xsl:when test='$id_calc = "FX_PHI"                        '>'PHI'</xsl:when>
<xsl:when test='$id_calc = "FX_VEGA"                        '>'FXVG'</xsl:when>
<xsl:when test='$id_calc = "GAMMA"                        '>'GAMM'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_ASSET"                        '>'GAMA'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_BASKET"                        '>'GAMM'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_INTRADAY"                        '>'GAMI'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_NEXT_DAY"                        '>'GAM1'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_NEXT_DAY_ASSET"                        '>'GA1A'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_PROXY"                        '>'GAMP'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_REF_CONTRACT"                        '>'GAMR'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_STD_ERR"                        '>'SEGA'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_STRIKE_REF_SPOT"                        '>'GSRS'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_SURFACE"                        '>'GAMS'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_SURFACE_PROXY"                        '>'GMSP'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_SURFACE_REMARK"                        '>'VHQG'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_TO_CREDIT"                        '>'GAMC'</xsl:when>
<xsl:when test='$id_calc = "HIST_DELTA"                        '>'HDLT'</xsl:when>
<xsl:when test='$id_calc = "HIST_DISC_RATE_TO_MAT"                        '>'HDSR'</xsl:when>
<xsl:when test='$id_calc = "HIST_DIV_DIFF"                        '>'HDDF'</xsl:when>
<xsl:when test='$id_calc = "HIST_DIV_DIFF_ANSI_DATE"                        '>'HDAD'</xsl:when>
<xsl:when test='$id_calc = "HIST_DIV_DIFF_FORMULAR"                        '>'HDFO'</xsl:when>
<xsl:when test='$id_calc = "HIST_SPOT_FX"                        '>'HSFX'</xsl:when>
<xsl:when test='$id_calc = "IMNT_EDRMAIN_T"                        '>'IEMT'</xsl:when>
<xsl:when test='$id_calc = "IMNT_MODEL_GEN_T"                        '>'IMGT'</xsl:when>
<xsl:when test='$id_calc = "IMPLIED_CDS_SPREAD"                        '>'IMCS'</xsl:when>
<xsl:when test='$id_calc = "IMPLIED_SHIFT"                        '>'IMPV'</xsl:when>
<xsl:when test='$id_calc = "IMPLIED_VOL"                        '>'IMPV'</xsl:when>
<xsl:when test='$id_calc = "IMPLIED_YIELD_TO_FIRST_PUT_CLEAN"                        '>'IYPC'</xsl:when>
<xsl:when test='$id_calc = "IND_CDS_PAR_SPREAD"                        '>'ICPS'</xsl:when>
<xsl:when test='$id_calc = "IND_VOL"                        '>'VOL'</xsl:when>
<xsl:when test='$id_calc = "INFLATION_DELTA_PARALLEL"                        '>'IDEL'</xsl:when>
<xsl:when test='$id_calc = "INFLATION_DELTA_POINTWISE"                        '>'IDEL'</xsl:when>
<xsl:when test='$id_calc = "INFLATION_VEGA_PARALLEL"                        '>'IVEG'</xsl:when>
<xsl:when test='$id_calc = "INFLATION_VEGA_POINTWISE"                        '>'IVEG'</xsl:when>
<xsl:when test='$id_calc = "INTRADAY_SPOT_PRICE"                        '>'UNPI'</xsl:when>
<xsl:when test='$id_calc = "INTRINSIC_FAIR_VALUE"                        '>'INFV'</xsl:when>
<xsl:when test='$id_calc = "IRDELTA_PARALLEL"                        '>'RHO'</xsl:when>
<xsl:when test='$id_calc = "IRDELTA_POINTWISE"                        '>'RHO'</xsl:when>
<xsl:when test='$id_calc = "IRVEGA_MATRIX"                        '>'BLKV'</xsl:when>
<xsl:when test='$id_calc = "IRVEGA_PARALLEL"                        '>'IRVG'</xsl:when>
<xsl:when test='$id_calc = "IRVEGA_POINTWISE"                        '>'BLKV'</xsl:when>
<xsl:when test='$id_calc = "IRVEGA_POINTWISE_BASE"                        '>'BASV'</xsl:when>
<xsl:when test='$id_calc = "IR_GAMMA_PARALLEL"                        '>'IRGA'</xsl:when>
<xsl:when test='$id_calc = "IR_MEAN_REVERSION_PARALLEL"                        '>'IMRP'</xsl:when>
<xsl:when test='$id_calc = "IR_SMILE2Q_LEFT_TWEAK"                        '>'IR2L'</xsl:when>
<xsl:when test='$id_calc = "IR_SMILE2Q_RIGHT_TWEAK"                        '>'IR2R'</xsl:when>
<xsl:when test='$id_calc = "IW_CAPITAL"                        '>'IWCA'</xsl:when>
<xsl:when test='$id_calc = "IW_INTEREST"                        '>'IWIN'</xsl:when>
<xsl:when test='$id_calc = "IW_PUT"                        '>'IWPU'</xsl:when>
<xsl:when test='$id_calc = "IW_PVDIVS"                        '>'IWDI'</xsl:when>
<xsl:when test='$id_calc = "IW_STRIKE"                        '>'IWST'</xsl:when>
<xsl:when test='$id_calc = "JOB_DATA_ACQUISITION_T"                        '>'JDAT'</xsl:when>
<xsl:when test='$id_calc = "JOB_DOM_CREATION_T"                        '>'JDCT'</xsl:when>
<xsl:when test='$id_calc = "JOB_PRELOAD_T"                        '>'JPLD'</xsl:when>
<xsl:when test='$id_calc = "KNOWN_CASHFLOWS"                        '>'KNCF'</xsl:when>
<xsl:when test='$id_calc = "LEGAL_BASIS_ADDITIVE_PARALLEL"                        '>'LBAP'</xsl:when>
<xsl:when test='$id_calc = "LEGAL_BASIS_ADDITIVE_POINTWISE"                        '>'LBAP'</xsl:when>
<xsl:when test='$id_calc = "LEGAL_BASIS_ADDITIVE_RECOVERY"                        '>'LBAR'</xsl:when>
<xsl:when test='$id_calc = "LEGAL_BASIS_MULTIPLIER_PARALLEL"                        '>'LBMP'</xsl:when>
<xsl:when test='$id_calc = "LEGAL_BASIS_MULTIPLIER_POINTWISE"                        '>'LBMP'</xsl:when>
<xsl:when test='$id_calc = "LEGAL_BASIS_MULTIPLIER_RECOVERY"                        '>'LBMR'</xsl:when>
<xsl:when test='$id_calc = "LEGAL_TERMS_FV"                        '>'LTFV'</xsl:when>
<xsl:when test='$id_calc = "LIBOR_LEG_VALUE"                        '>'FLTV'</xsl:when>
<xsl:when test='$id_calc = "LIQUIDITY_SPREAD_RHO_PARALLEL"                        '>'LRHO'</xsl:when>
<xsl:when test='$id_calc = "LIQUIDITY_SPREAD_RHO_POINTWISE"                        '>'LRHO'</xsl:when>
<xsl:when test='$id_calc = "LOCAL_CORR_SKEW_PARALLEL"                        '>'CSKP'</xsl:when>
<xsl:when test='$id_calc = "LOCAL_CORR_SKEW_POINTWISE"                        '>'CSKP'</xsl:when>
<xsl:when test='$id_calc = "LOCAL_CORR_SQUEEZE_PARALLEL"                        '>'CQSP'</xsl:when>
<xsl:when test='$id_calc = "LOCAL_CORR_SQUEEZE_POINTWISE"                        '>'CQSP'</xsl:when>
<xsl:when test='$id_calc = "LONG_TERM_SQUEEZE_PARALLEL"                        '>'CLSQ'</xsl:when>
<xsl:when test='$id_calc = "LONG_TERM_SQUEEZE_TWEAK"                        '>'CLSQ'</xsl:when>
<xsl:when test='$id_calc = "LOSS_MAPPING_SENS"                        '>'LOMS'</xsl:when>
<xsl:when test='$id_calc = "MOD_CORR_MATRIX_SQ_ERROR"                        '>'MCME'</xsl:when>
<xsl:when test='$id_calc = "MULTIPLICATIVE_SCALING_RATIO"                        '>'MTSR'</xsl:when>
<xsl:when test='$id_calc = "MU_CASH_PARALLEL"                        '>'MUCA'</xsl:when>
<xsl:when test='$id_calc = "MU_CASH_POINTWISE"                        '>'MUCP'</xsl:when>
<xsl:when test='$id_calc = "MU_DATE_PARALLEL"                        '>'MDPA'</xsl:when>
<xsl:when test='$id_calc = "MU_DATE_POINTWISE"                        '>'MDPE'</xsl:when>
<xsl:when test='$id_calc = "MU_PARALLEL"                        '>'MU'</xsl:when>
<xsl:when test='$id_calc = "MU_PARALLEL_ASSET"                        '>'MA'</xsl:when>
<xsl:when test='$id_calc = "MU_POINTWISE"                        '>'MU'</xsl:when>
<xsl:when test='$id_calc = "MU_POINTWISE_ASSET"                        '>'MA'</xsl:when>
<xsl:when test='$id_calc = "MU_PROXY_PARALLEL"                        '>'MUPP'</xsl:when>
<xsl:when test='$id_calc = "MU_S"                        '>'MUS'</xsl:when>
<xsl:when test='$id_calc = "MU_TRPROXY_PARALLEL"                        '>'MUTP'</xsl:when>
<xsl:when test='$id_calc = "NAKED_BOND_PRICE"                        '>'NAKB'</xsl:when>
<xsl:when test='$id_calc = "NAKED_BOND_PRICE_THETA"                        '>'THNB'</xsl:when>
<xsl:when test='$id_calc = "NAKED_BOND_RHO_PARALLEL"                        '>'BRHO'</xsl:when>
<xsl:when test='$id_calc = "NAKED_BOND_RHO_POINTWISE"                        '>'BRHO'</xsl:when>
<xsl:when test='$id_calc = "NAKED_BOND_THETA"                        '>'THNB'</xsl:when>
<xsl:when test='$id_calc = "NET_SHARES_VALUE"                        '>'NTSV'</xsl:when>
<xsl:when test='$id_calc = "OCB_STRIKE_RHO_PARALLEL"                        '>'OSRH'</xsl:when>
<xsl:when test='$id_calc = "OCB_STRIKE_RHO_POINTWISE"                        '>'OSRH'</xsl:when>
<xsl:when test='$id_calc = "OCB_STRIKE_THETA"                        '>'OSTH'</xsl:when>
<xsl:when test='$id_calc = "OPTION_DELTA"                        '>'BSOD'</xsl:when>
<xsl:when test='$id_calc = "OPTION_GAMMA"                        '>'BSOG'</xsl:when>
<xsl:when test='$id_calc = "OPTION_ON_CONVERTIBLE_BOND_FLOOR"                        '>'OCBF'</xsl:when>
<xsl:when test='$id_calc = "OPTION_ON_CONVERTIBLE_STRIKE"                        '>'STRK'</xsl:when>
<xsl:when test='$id_calc = "OPTION_ON_CONVERTIBLE_STRIKE_THETA"                        '>'OSTH'</xsl:when>
<xsl:when test='$id_calc = "OPTION_PRICE"                        '>'OPPR'</xsl:when>
<xsl:when test='$id_calc = "OPTION_PRICE_THETA"                        '>'CBOT'</xsl:when>
<xsl:when test='$id_calc = "OPTION_STRIKE_RHO_PARALLEL"                        '>'OSRH'</xsl:when>
<xsl:when test='$id_calc = "OPTION_STRIKE_RHO_POINTWISE"                        '>'OSRH'</xsl:when>
<xsl:when test='$id_calc = "OPTION_VEGA"                        '>'BSOV'</xsl:when>
<xsl:when test='$id_calc = "PARALLEL_SYST_GAMMA"                        '>'PSGM'</xsl:when>
<xsl:when test='$id_calc = "PARITY"                        '>'PARI'</xsl:when>
<xsl:when test='$id_calc = "PARVOL_SWAPVAR"                        '>'PVBS'</xsl:when>
<xsl:when test='$id_calc = "PARVOL_SWAPVAR_SV"                        '>'PVSV'</xsl:when>
<xsl:when test='$id_calc = "PARVOL_SWAPVAR_VIX_BASIS0"                        '>'VSVL'</xsl:when>
<xsl:when test='$id_calc = "PAR_SPREAD_CURVE"                        '>'PARD'</xsl:when>
<xsl:when test='$id_calc = "PAR_SPREAD_RHO_PARALLEL"                        '>'PSRP'</xsl:when>
<xsl:when test='$id_calc = "PAR_SPREAD_RHO_PARALLEL_2SIDED"                        '>'PSR2'</xsl:when>
<xsl:when test='$id_calc = "PAR_SPREAD_RHO_PARALLEL_GAMMA"                        '>'PSRG'</xsl:when>
<xsl:when test='$id_calc = "PAR_SPREAD_RHO_POINTWISE"                        '>'PSRP'</xsl:when>
<xsl:when test='$id_calc = "PAR_SPREAD_RHO_POINTWISE_1_5"                        '>'PSRP'</xsl:when>
<xsl:when test='$id_calc = "PAR_SPREAD_RHO_POINTWISE_2SIDED"                        '>'PSR2'</xsl:when>
<xsl:when test='$id_calc = "PAR_SPREAD_RHO_POINTWISE_2_5"                        '>'PSRP'</xsl:when>
<xsl:when test='$id_calc = "PAR_SPREAD_RHO_POINTWISE_3_5"                        '>'PSRP'</xsl:when>
<xsl:when test='$id_calc = "PAR_SPREAD_RHO_POINTWISE_4_5"                        '>'PSRP'</xsl:when>
<xsl:when test='$id_calc = "PAR_SPREAD_RHO_POINTWISE_5_5"                        '>'PSRP'</xsl:when>
<xsl:when test='$id_calc = "PAR_SPREAD_RHO_POINTWISE_GAMMA"                        '>'PSRG'</xsl:when>
<xsl:when test='$id_calc = "PAST_WEIGHT"                        '>'PAWE'</xsl:when>
<xsl:when test='$id_calc = "PAYMENT_DATES"                        '>'PYDT'</xsl:when>
<xsl:when test='$id_calc = "PHI"                        '>'PHI'</xsl:when>
<xsl:when test='$id_calc = "PHIPLUS"                        '>'PHI'</xsl:when>
<xsl:when test='$id_calc = "PHI_BASKET"                        '>'PHI'</xsl:when>
<xsl:when test='$id_calc = "PHI_PARALLEL"                        '>'PHI'</xsl:when>
<xsl:when test='$id_calc = "PHI_SKEW"                        '>'PHS'</xsl:when>
<xsl:when test='$id_calc = "PHI_SKEWPOWER"                        '>'PHSP'</xsl:when>
<xsl:when test='$id_calc = "PHYSICAL_DELIVERY"                        '>'PHYD'</xsl:when>
<xsl:when test='$id_calc = "PORTFOLIO_DURATION_WEIGHTED_AVG_SPREAD"                        '>'PDWA'</xsl:when>
<xsl:when test='$id_calc = "PREPAY_PARALLEL"                        '>'DECR'</xsl:when>
<xsl:when test='$id_calc = "PRICE_ASSET"                        '>'FVA'</xsl:when>
<xsl:when test='$id_calc = "PRICE_TIME"                        '>'PRTI'</xsl:when>
<xsl:when test='$id_calc = "PRICE_TIME_ASSET"                        '>'PRTA'</xsl:when>
<xsl:when test='$id_calc = "PRODUCT_ID"                        '>'PRDI'</xsl:when>
<xsl:when test='$id_calc = "PUT_PROBABILITY"                        '>'PTPB'</xsl:when>
<xsl:when test='$id_calc = "PUT_STOCK_LEVEL"                        '>'PTSL'</xsl:when>
<xsl:when test='$id_calc = "PUT_STRIKE"                        '>'PTST'</xsl:when>
<xsl:when test='$id_calc = "PV"                        '>'PV'</xsl:when>
<xsl:when test='$id_calc = "PVBP"                        '>'PVBP'</xsl:when>
<xsl:when test='$id_calc = "QUASI_CONTRACTUAL_BETA_SKEW_MATRIX"                        '>'QCBX'</xsl:when>
<xsl:when test='$id_calc = "QUASI_CONTRACTUAL_BETA_SKEW_PARALLEL"                        '>'QCBP'</xsl:when>
<xsl:when test='$id_calc = "RANGE_ACCRUAL_N1"                        '>'RAN1'</xsl:when>
<xsl:when test='$id_calc = "RANGE_ACCRUAL_N2"                        '>'RAN2'</xsl:when>
<xsl:when test='$id_calc = "RECOVERY_TWEAK"                        '>'RT'</xsl:when>
<xsl:when test='$id_calc = "RELATIVE_BETA_SENS"                        '>'RBET'</xsl:when>
<xsl:when test='$id_calc = "RHO_BORROW_PARALLEL"                        '>'RBOR'</xsl:when>
<xsl:when test='$id_calc = "RHO_BORROW_PARALLEL_ASSET"                        '>'RBOA'</xsl:when>
<xsl:when test='$id_calc = "RHO_BORROW_POINTWISE"                        '>'RBOR'</xsl:when>
<xsl:when test='$id_calc = "RHO_PARALLEL"                        '>'RHO'</xsl:when>
<xsl:when test='$id_calc = "RHO_PARALLEL_ASSET"                        '>'RHOA'</xsl:when>
<xsl:when test='$id_calc = "RHO_PARALLEL_CREDIT_SPREADS"                        '>'CRED'</xsl:when>
<xsl:when test='$id_calc = "RHO_POINTWISE"                        '>'RHO'</xsl:when>
<xsl:when test='$id_calc = "RHO_POINTWISE_ASSET"                        '>'RHOA'</xsl:when>
<xsl:when test='$id_calc = "RHO_POINTWISE_CREDIT_SPREADS"                        '>'CRED'</xsl:when>
<xsl:when test='$id_calc = "RISK_BARRIER_LEVEL"                        '>'RBAR'</xsl:when>
<xsl:when test='$id_calc = "RISK_MAPPED_SENS"                        '>'RMAP'</xsl:when>
<xsl:when test='$id_calc = "RT_VEGA"                        '>'RTV'</xsl:when>
<xsl:when test='$id_calc = "RT_VEGA_ASSET"                        '>'RTVA'</xsl:when>
<xsl:when test='$id_calc = "RT_VEGA_PROXY"                        '>'RTVX'</xsl:when>
<xsl:when test='$id_calc = "RT_VEGA_STD_ERR"                        '>'SERV'</xsl:when>
<xsl:when test='$id_calc = "SCALE_FACTOR_UPTO_DATE"                        '>'SFTD'</xsl:when>
<xsl:when test='$id_calc = "SCEN_FV"                        '>'SFV'</xsl:when>
<xsl:when test='$id_calc = "SHORT_TERM_SQUEEZE_PARALLEL"                        '>'CSSQ'</xsl:when>
<xsl:when test='$id_calc = "SHORT_TERM_SQUEEZE_TWEAK"                        '>'CSSQ'</xsl:when>
<xsl:when test='$id_calc = "SPI_ALLOCS"                        '>'SPAL'</xsl:when>
<xsl:when test='$id_calc = "SPI_BOND"                        '>'SPBD'</xsl:when>
<xsl:when test='$id_calc = "SPI_BOND_ALLOC"                        '>'SPNZ'</xsl:when>
<xsl:when test='$id_calc = "SPI_BOND_FLOOR"                        '>'SPBF'</xsl:when>
<xsl:when test='$id_calc = "SPI_BOND_FLOOR_LEVEL"                        '>'SBFL'</xsl:when>
<xsl:when test='$id_calc = "SPI_BOND_NAV"                        '>'ZNAV'</xsl:when>
<xsl:when test='$id_calc = "SPI_BOND_NAV_PCT"                        '>'ZNVP'</xsl:when>
<xsl:when test='$id_calc = "SPI_BOND_TODAY"                        '>'SPBT'</xsl:when>
<xsl:when test='$id_calc = "SPI_CCC_PROFILE_AVG_CRASH_SIZE"                        '>'SPCS'</xsl:when>
<xsl:when test='$id_calc = "SPI_CCC_PROFILE_AVG_NOTIONAL"                        '>'SPRN'</xsl:when>
<xsl:when test='$id_calc = "SPI_DYN_BASKET"                        '>'SPDB'</xsl:when>
<xsl:when test='$id_calc = "SPI_EQUITY_LEVELS"                        '>'SPIE'</xsl:when>
<xsl:when test='$id_calc = "SPI_EQUITY_NAV"                        '>'ENAV'</xsl:when>
<xsl:when test='$id_calc = "SPI_EQUITY_NAV_PCT"                        '>'ENVP'</xsl:when>
<xsl:when test='$id_calc = "SPI_GAP_RISK"                        '>'SPGR'</xsl:when>
<xsl:when test='$id_calc = "SPI_GAP_RISK_CC_DELTA"                        '>'SGCD'</xsl:when>
<xsl:when test='$id_calc = "SPI_GAP_RISK_CC_RHO_PARALLEL"                        '>'SGCR'</xsl:when>
<xsl:when test='$id_calc = "SPI_GAP_RISK_CC_RHO_POINTWISE"                        '>'SCRP'</xsl:when>
<xsl:when test='$id_calc = "SPI_GAP_RISK_CC_VEGA_PARALLEL"                        '>'SGCV'</xsl:when>
<xsl:when test='$id_calc = "SPI_GAP_RISK_CC_VEGA_POINTWISE"                        '>'SGVP'</xsl:when>
<xsl:when test='$id_calc = "SPI_GAP_RISK_CRASH_COUPONS"                        '>'SGRC'</xsl:when>
<xsl:when test='$id_calc = "SPI_GAP_RISK_DELTA"                        '>'SGRD'</xsl:when>
<xsl:when test='$id_calc = "SPI_GAP_RISK_PROFILE"                        '>'SGRP'</xsl:when>
<xsl:when test='$id_calc = "SPI_GAP_RISK_PROFILE_CRASH_COUPONS"                        '>'SGCP'</xsl:when>
<xsl:when test='$id_calc = "SPI_GAP_RISK_VEGA"                        '>'SGRV'</xsl:when>
<xsl:when test='$id_calc = "SPI_LOAN_COST_RATE"                        '>'SLCR'</xsl:when>
<xsl:when test='$id_calc = "SPI_LOCKED_IN_VALUE"                        '>'SPBL'</xsl:when>
<xsl:when test='$id_calc = "SPI_SUST_EXPO"                        '>'SPSE'</xsl:when>
<xsl:when test='$id_calc = "SPI_TARGET_EXPO"                        '>'SPTE'</xsl:when>
<xsl:when test='$id_calc = "SPI_UNBAL_EXPO"                        '>'SPUE'</xsl:when>
<xsl:when test='$id_calc = "SPOT_PRICE"                        '>'UNDP'</xsl:when>
<xsl:when test='$id_calc = "SPOT_PRICE_ASSET"                        '>'UNDA'</xsl:when>
<xsl:when test='$id_calc = "SPOT_PRICE_PROXY"                        '>'UNDP'</xsl:when>
<xsl:when test='$id_calc = "SPOT_PRICE_XFX"                        '>'UNDF'</xsl:when>
<xsl:when test='$id_calc = "SPOT_VEGA_PARALLEL"                        '>'SPVG'</xsl:when>
<xsl:when test='$id_calc = "SPOT_VEGA_POINTWISE"                        '>'SPVG'</xsl:when>
<xsl:when test='$id_calc = "SQT_SWAPVAR_SV"                        '>'UVSV'</xsl:when>
<xsl:when test='$id_calc = "SQUEEZE_PARALLEL"                        '>'BSSQ'</xsl:when>
<xsl:when test='$id_calc = "STRIKE"                        '>'STRI'</xsl:when>
<xsl:when test='$id_calc = "STRIKE_ADJUSTMENT_UPTO_DATE"                        '>'SATD'</xsl:when>
<xsl:when test='$id_calc = "STRIKE_LEVEL"                        '>'CFXS'</xsl:when>
<xsl:when test='$id_calc = "STRIKE_MAPPING"                        '>'BSKQ'</xsl:when>
<xsl:when test='$id_calc = "STRIKE_MAPPING_OVERRIDE"                        '>'BSKQ'</xsl:when>
<xsl:when test='$id_calc = "STRIKE_REF"                        '>'SREF'</xsl:when>
<xsl:when test='$id_calc = "STRIKE_VOL"                        '>'VOLK'</xsl:when>
<xsl:when test='$id_calc = "SVJ_CORRELATION"                        '>'SJCR'</xsl:when>
<xsl:when test='$id_calc = "SVJ_INITIAL_VOL"                        '>'SJIV'</xsl:when>
<xsl:when test='$id_calc = "SVJ_MEAN_REVERS_RATE"                        '>'SJMR'</xsl:when>
<xsl:when test='$id_calc = "SVJ_MEAN_VOL"                        '>'SJMV'</xsl:when>
<xsl:when test='$id_calc = "SVJ_VOL_VOL"                        '>'SJVV'</xsl:when>
<xsl:when test='$id_calc = "THETA"                        '>'THET'</xsl:when>
<xsl:when test='$id_calc = "THETA_ACCRUED_INTEREST"                        '>'DTHA'</xsl:when>
<xsl:when test='$id_calc = "THETA_ASSET"                        '>'THEA'</xsl:when>
<xsl:when test='$id_calc = "THETA_CASHFLOWS"                        '>'EXCF'</xsl:when>
<xsl:when test='$id_calc = "THETA_FORWARD_SPOT"                        '>'THFS'</xsl:when>
<xsl:when test='$id_calc = "THETA_INTRA_DAY"                        '>'THID'</xsl:when>
<xsl:when test='$id_calc = "THETA_PHYSICAL_DELIVERY"                        '>'EXPD'</xsl:when>
<xsl:when test='$id_calc = "TICK_VALUE"                        '>'TVAL'</xsl:when>
<xsl:when test='$id_calc = "TIER12_FV"                        '>'TIER'</xsl:when>
<xsl:when test='$id_calc = "TIER1_FV"                        '>'TIER'</xsl:when>
<xsl:when test='$id_calc = "TIER2_FV"                        '>'TIER'</xsl:when>
<xsl:when test='$id_calc = "TIER3_FV"                        '>'TIER'</xsl:when>
<xsl:when test='$id_calc = "TOTAL_DELTA"                        '>'TOTD'</xsl:when>
<xsl:when test='$id_calc = "TOTAL_DELTA_EQ"                        '>'TTDE'</xsl:when>
<xsl:when test='$id_calc = "TOTAL_DELTA_TR"                        '>'TODT'</xsl:when>
<xsl:when test='$id_calc = "TOTAL_GAMMA"                        '>'TOTG'</xsl:when>
<xsl:when test='$id_calc = "TOTAL_GAMMA_EQ"                        '>'TTGE'</xsl:when>
<xsl:when test='$id_calc = "TOTAL_GAMMA_TR"                        '>'TOGA'</xsl:when>
<xsl:when test='$id_calc = "TOTAL_GAMMA_X_GAMMAS"                        '>'TXGL'</xsl:when>
<xsl:when test='$id_calc = "TOTAL_GAMMA_X_GAMMAS_CW"                        '>'TXCW'</xsl:when>
<xsl:when test='$id_calc = "TOTAL_GAMMA_X_GAMMAS_CW_EQ"                        '>'TXCE'</xsl:when>
<xsl:when test='$id_calc = "TOTAL_GAMMA_X_GAMMAS_EQ"                        '>'TXGE'</xsl:when>
<xsl:when test='$id_calc = "TOTAL_VEGA_PARALLEL"                        '>'TOTV'</xsl:when>
<xsl:when test='$id_calc = "TOTAL_VOL"                        '>'VOLT'</xsl:when>
<xsl:when test='$id_calc = "TRANCHE_CONTINGENT_LEG_FV"                        '>'FVCL'</xsl:when>
<xsl:when test='$id_calc = "TRANCHE_FEE_LEG_FV"                        '>'FVFL'</xsl:when>
<xsl:when test='$id_calc = "TRANCHE_IMPLIED_SPREAD"                        '>'TISP'</xsl:when>
<xsl:when test='$id_calc = "TRANCHE_LOWER_BC_BETAS"                        '>'TLBC'</xsl:when>
<xsl:when test='$id_calc = "TRANCHE_OUTSTANDING_NOTIONAL"                        '>'TONL'</xsl:when>
<xsl:when test='$id_calc = "TRANCHE_RISKY_DURATION"                        '>'RDUR'</xsl:when>
<xsl:when test='$id_calc = "TRANCHE_UPPER_BC_BETAS"                        '>'TUBC'</xsl:when>
<xsl:when test='$id_calc = "TRDELTA_NEXT_DAY"                        '>'TOD1'</xsl:when>
<xsl:when test='$id_calc = "TRGAMMA_NEXT_DAY"                        '>'TOG1'</xsl:when>
<xsl:when test='$id_calc = "UFV"                        '>'UFV'</xsl:when>
<xsl:when test='$id_calc = "UNDERLYING_MATURITY"                        '>'UNDM'</xsl:when>
<xsl:when test='$id_calc = "USD_DISC_RATE"                        '>'USDF'</xsl:when>
<xsl:when test='$id_calc = "Untweakable"                        '>'UNTK'</xsl:when>
<xsl:when test='$id_calc = "VALUE_STE"                        '>'STDE'</xsl:when>
<xsl:when test='$id_calc = "VALUE_WITHOUT_CCC"                        '>'VWCC'</xsl:when>
<xsl:when test='$id_calc = "VANNA_STICKY_BACKBONE"                        '>'VASB'</xsl:when>
<xsl:when test='$id_calc = "VAR_OPTION_DELTA"                        '>'VOPD'</xsl:when>
<xsl:when test='$id_calc = "VAR_OPTION_IND_VOL"                        '>'VOIV'</xsl:when>
<xsl:when test='$id_calc = "VAR_OPTION_RETURN_TO_BREACH"                        '>'VOTB'</xsl:when>
<xsl:when test='$id_calc = "VAR_SWAP_BASIS_POINTWISE"                        '>'VBAS'</xsl:when>
<xsl:when test='$id_calc = "VAR_SWAP_CUTOFF"                        '>'VSCF'</xsl:when>
<xsl:when test='$id_calc = "VAR_SWAP_VOL_BASIS"                        '>'VSVB'</xsl:when>
<xsl:when test='$id_calc = "VECTORIZED_FV"                        '>'VCFV'</xsl:when>
<xsl:when test='$id_calc = "VEGA2SIDED"                        '>'VGA2'</xsl:when>
<xsl:when test='$id_calc = "VEGA_BACKBONE_PARALLEL"                        '>'VBBP'</xsl:when>
<xsl:when test='$id_calc = "VEGA_BACKBONE_POINTWISE"                        '>'VBBW'</xsl:when>
<xsl:when test='$id_calc = "VEGA_BACKBONE_POINTWISE_2SIDED"                        '>'VBP2'</xsl:when>
<xsl:when test='$id_calc = "VEGA_BACKBONE_STRIKE_REF"                        '>'VBBS'</xsl:when>
<xsl:when test='$id_calc = "VEGA_BASKET_PARALLEL"                        '>'VEGA'</xsl:when>
<xsl:when test='$id_calc = "VEGA_MATRIX"                        '>'VEGA'</xsl:when>
<xsl:when test='$id_calc = "VEGA_MATRIX_LITE"                        '>'VGAL'</xsl:when>
<xsl:when test='$id_calc = "VEGA_PARALLEL"                        '>'VEGA'</xsl:when>
<xsl:when test='$id_calc = "VEGA_PARALLEL_ASSET"                        '>'VGAA'</xsl:when>
<xsl:when test='$id_calc = "VEGA_PARALLEL_REMARK"                        '>'VHQV'</xsl:when>
<xsl:when test='$id_calc = "VEGA_PARALLEL_STD_ERR"                        '>'SEVP'</xsl:when>
<xsl:when test='$id_calc = "VEGA_POINTWISE"                        '>'VEGA'</xsl:when>
<xsl:when test='$id_calc = "VEGA_POINTWISE_ADDITIVE"                        '>'VPWA'</xsl:when>
<xsl:when test='$id_calc = "VEGA_POINTWISE_ADDITIVE_TWO_SIDED"                        '>'VPAT'</xsl:when>
<xsl:when test='$id_calc = "VEGA_POINTWISE_ASSET"                        '>'VGAA'</xsl:when>
<xsl:when test='$id_calc = "VEGA_POINTWISE_RIPPLE"                        '>'VPWR'</xsl:when>
<xsl:when test='$id_calc = "VEGA_POINTWISE_TWO_SIDED"                        '>'VPTS'</xsl:when>
<xsl:when test='$id_calc = "VEGA_PROXY_MATRIX"                        '>'VEGP'</xsl:when>
<xsl:when test='$id_calc = "VEGA_PROXY_PARALLEL"                        '>'VEGP'</xsl:when>
<xsl:when test='$id_calc = "VEGA_PROXY_POINTWISE"                        '>'VEGP'</xsl:when>
<xsl:when test='$id_calc = "VEGA_ROOT_TIME_REMARK"                        '>'VRTR'</xsl:when>
<xsl:when test='$id_calc = "VEGA_SKEW_PARALLEL"                        '>'SKEW'</xsl:when>
<xsl:when test='$id_calc = "VEGA_SKEW_POINTWISE"                        '>'SKEW'</xsl:when>
<xsl:when test='$id_calc = "VEGA_SKEW_POINTWISE_ASSET"                        '>'SKWA'</xsl:when>
<xsl:when test='$id_calc = "VEGA_SKEW_PROXY_PARALLEL"                        '>'SKWP'</xsl:when>
<xsl:when test='$id_calc = "VEGA_SKEW_PROXY_POINTWISE"                        '>'SKWP'</xsl:when>
<xsl:when test='$id_calc = "VEGA_SKEW_TRPROXY_PARALLEL"                        '>'VSTP'</xsl:when>
<xsl:when test='$id_calc = "VEGA_SKEW_TRPROXY_POINTWISE"                        '>'VSTP'</xsl:when>
<xsl:when test='$id_calc = "VEGA_SPECIAL_NPI_PARALLEL"                        '>'VNPP'</xsl:when>
<xsl:when test='$id_calc = "VEGA_SPECIAL_NPI_POINTWISE"                        '>'VNPW'</xsl:when>
<xsl:when test='$id_calc = "VEGA_STRIKEWISE"                        '>'VEGA'</xsl:when>
<xsl:when test='$id_calc = "VEGA_STRIKEWISE_LV_LEFT"                        '>'VSLL'</xsl:when>
<xsl:when test='$id_calc = "VEGA_STRIKEWISE_LV_RIGHT"                        '>'VSLR'</xsl:when>
<xsl:when test='$id_calc = "VEGA_TRPROXY_PARALLEL"                        '>'VETP'</xsl:when>
<xsl:when test='$id_calc = "VEGA_TRPROXY_POINTWISE"                        '>'VETP'</xsl:when>
<xsl:when test='$id_calc = "VEGA_WEIGHTED_CROSS_GAMMA"                        '>'XGAM'</xsl:when>
<xsl:when test='$id_calc = "VEGA_WEIGHTED_PHI"                        '>'PHI'</xsl:when>
<xsl:when test='$id_calc = "VHQ_CONV_FACTORS_POINTWISE"                        '>'VCFP'</xsl:when>
<xsl:when test='$id_calc = "VHQ_CONV_POWER"                        '>'VQCP'</xsl:when>
<xsl:when test='$id_calc = "VHQ_LEFT_FACTORS_POINTWISE"                        '>'VLFP'</xsl:when>
<xsl:when test='$id_calc = "VHQ_LEFT_WING_POWER"                        '>'VQLP'</xsl:when>
<xsl:when test='$id_calc = "VHQ_REF_CONV"                        '>'VHQC'</xsl:when>
<xsl:when test='$id_calc = "VHQ_REF_LEFT_PARAM"                        '>'VHQL'</xsl:when>
<xsl:when test='$id_calc = "VHQ_REF_RIGHT_PARAM"                        '>'VHQR'</xsl:when>
<xsl:when test='$id_calc = "VHQ_REF_SKEW"                        '>'VHQS'</xsl:when>
<xsl:when test='$id_calc = "VHQ_REMARK_PNL"                        '>'VQPL'</xsl:when>
<xsl:when test='$id_calc = "VHQ_RIGHT_FACTORS_POINTWISE"                        '>'VRFP'</xsl:when>
<xsl:when test='$id_calc = "VHQ_RIGHT_WING_POWER"                        '>'VQRP'</xsl:when>
<xsl:when test='$id_calc = "VHQ_SKEW_FACTORS_POINTWISE"                        '>'VSFP'</xsl:when>
<xsl:when test='$id_calc = "VHQ_SKEW_POWER"                        '>'VQSP'</xsl:when>
<xsl:when test='$id_calc = "VHT_CONVXT_CELERITY_FACTORS_POINTWISE"                        '>'VCCF'</xsl:when>
<xsl:when test='$id_calc = "VHT_CONVXT_FACTORS_POINTWISE"                        '>'VHCF'</xsl:when>
<xsl:when test='$id_calc = "VHT_REF_CONV"                        '>'VHCV'</xsl:when>
<xsl:when test='$id_calc = "VHT_REF_CONV_CELERITY"                        '>'VHCS'</xsl:when>
<xsl:when test='$id_calc = "VHT_REF_SKEW"                        '>'VHSK'</xsl:when>
<xsl:when test='$id_calc = "VHT_REF_SKEW_CELERITY"                        '>'VHSS'</xsl:when>
<xsl:when test='$id_calc = "VHT_SKEW_CELERITY_FACTORS_POINTWISE"                        '>'VSCF'</xsl:when>
<xsl:when test='$id_calc = "VHT_SKEW_FACTORS_POINTWISE"                        '>'VHSF'</xsl:when>
<xsl:when test='$id_calc = "VOLGAMMA"                        '>'VOLG'</xsl:when>
<xsl:when test='$id_calc = "VOLGAMMA_ADDITIVE_TWO_SIDED"                        '>'VGPA'</xsl:when>
<xsl:when test='$id_calc = "VOLGAMMA_POINTWISE"                        '>'VGPW'</xsl:when>
<xsl:when test='$id_calc = "VOLGA_BACKBONE_POINTWISE"                        '>'VLGD'</xsl:when>
<xsl:when test='$id_calc = "VOL_IN_FUTURE"                        '>'VLNF'</xsl:when>
<xsl:when test='$id_calc = "VOL_IN_PAST"                        '>'VLNP'</xsl:when>
<xsl:when test='$id_calc = "VSCURVE_CROSS_GAMMA"                        '>'VSCG'</xsl:when>
<xsl:when test='$id_calc = "VSCURVE_DELTA_PARALLEL"                        '>'VSDP'</xsl:when>
<xsl:when test='$id_calc = "VSCURVE_DELTA_POINTWISE"                        '>'VSDE'</xsl:when>
<xsl:when test='$id_calc = "VSCURVE_MRR_TWEAK_PARALLEL"                        '>'VSMP'</xsl:when>
<xsl:when test='$id_calc = "VSCURVE_VVEGA_PARALLEL"                        '>'VSVV'</xsl:when>
<xsl:when test='$id_calc = "VSC_CORREL_TWEAK"                        '>'VSCT'</xsl:when>
<xsl:when test='$id_calc = "VSC_DELTA_PARALLEL"                        '>'VSCP'</xsl:when>
<xsl:when test='$id_calc = "VSC_DELTA_POINTWISE"                        '>'VSCD'</xsl:when>
<xsl:when test='$id_calc = "VSC_GAMMA_PARALLEL"                        '>'VSGP'</xsl:when>
<xsl:when test='$id_calc = "VSC_MRR_TWEAK"                        '>'VSMT'</xsl:when>
<xsl:when test='$id_calc = "VSC_VVEGA"                        '>'VSVP'</xsl:when>
<xsl:when test='$id_calc = "XFX_CROSS_GAMMA"                        '>'XGAM'</xsl:when>
<xsl:when test='$id_calc = "XFX_DELTA"                        '>'FXDT'</xsl:when>
<xsl:when test='$id_calc = "XFX_GAMMA"                        '>'FXGM'</xsl:when>
<xsl:when test='$id_calc = "XFX_PHI"                        '>'PHI'</xsl:when>
<xsl:when test='$id_calc = "XFX_VEGA_PARALLEL"                        '>'FXVG'</xsl:when>
<xsl:when test='$id_calc = "XFX_VEGA_POINTWISE"                        '>'FXVG'</xsl:when>
<xsl:when test='$id_calc = "YIELD_TO_FIRST_PUT"                        '>'YTFP'</xsl:when>
<xsl:when test='$id_calc = "YIELD_TO_MATURITY"                        '>'YTMT'</xsl:when>
<xsl:when test='$id_calc = "pastWeight"                        '>'PAWE'</xsl:when>
<xsl:when test='$id_calc = "volInFuture"                        '>'VLNF'</xsl:when>
<xsl:when test='$id_calc = "volInPast"                        '>'VLNP'</xsl:when>

<!-- Addon model greek mappings -->
<xsl:when test='$id_calc = "REQUIRED_SAMPLES"                   '>'SPDT'</xsl:when>
<xsl:when test='$id_calc = "PRICE_ADDON"                        '>'FVAD'</xsl:when>
<xsl:when test='$id_calc = "DELTA_ADDON"                        '>'DELD'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_ADDON"                        '>'GMAD'</xsl:when>
<xsl:when test='$id_calc = "THETA_ADDON"                        '>'THAD'</xsl:when>
<xsl:when test='$id_calc = "FX_VEGA_ADDON"                        '>'VGAD'</xsl:when>
<xsl:when test='$id_calc = "FX_DELTA_ADDON"                        '>'DELD'</xsl:when>
<xsl:when test='$id_calc = "CROSS_GAMMA_ADDON"                        '>'XGAD'</xsl:when>
<xsl:when test='$id_calc = "VEGA_MATRIX_ADDON"                        '>'VGAD'</xsl:when>
<xsl:when test='$id_calc = "PHI_PARALLEL_ADDON"                        '>'PHIA'</xsl:when>
<xsl:when test='$id_calc = "RHO_PARALLEL_ADDON"                        '>'RHOA'</xsl:when>
<xsl:when test='$id_calc = "RHO_POINTWISE_ADDON"                        '>'RHOA'</xsl:when>
<xsl:when test='$id_calc = "VEGA_PARALLEL_ADDON"                        '>'VGAD'</xsl:when>

<!-- Parametric model addon greek mappings -->
<xsl:when test='$id_calc = "PRICE_PARAM"                        '>'FVPA'</xsl:when>
<xsl:when test='$id_calc = "DELTA_PARAM"                        '>'DEPA'</xsl:when>
<xsl:when test='$id_calc = "GAMMA_PARAM"                        '>'GMPA'</xsl:when>
<xsl:when test='$id_calc = "THETA_PARAM"                        '>'THPA'</xsl:when>
<xsl:when test='$id_calc = "FX_VEGA_PARAM"                        '>'VGPA'</xsl:when>
<xsl:when test='$id_calc = "FX_DELTA_PARAM"                        '>'DEPA'</xsl:when>
<xsl:when test='$id_calc = "CROSS_GAMMA_PARAM"                        '>'XGPA'</xsl:when>
<xsl:when test='$id_calc = "VEGA_MATRIX_PARAM"                        '>'VGPA'</xsl:when>
<xsl:when test='$id_calc = "PHI_PARALLEL_PARAM"                        '>'PHIP'</xsl:when>
<xsl:when test='$id_calc = "RHO_PARALLEL_PARAM"                        '>'RHOP'</xsl:when>
<xsl:when test='$id_calc = "RHO_POINTWISE_PARAM"                        '>'RHOP'</xsl:when>
<xsl:when test='$id_calc = "VEGA_PARALLEL_PARAM"                        '>'VGPA'</xsl:when>

<xsl:otherwise>UNKN</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!--SCOPE MU_TWEAK 0-->
<!-- MU_TWEAK (note we don't write back zero values) -->
<xsl:template match="/ZIPPY/SENSITIVITY/MU_CASH_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/MU_DATE_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/MU_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/MU_POINTWISE_ASSET/point[@value != 0]|/ZIPPY/SENSITIVITY/MU_S/point[@value != 0]">
EXEC merlin_i_py_mt '<xsl:value-of select="@date"/>' ,<xsl:value-of select="@value"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:value-of select="../underlying"/>,<xsl:value-of select="../../@pyramidID"/>,'<xsl:value-of select="../../CCY_UNIT/@value"/>'
</xsl:template>
<!-- SCOPE_END MU_TWEAK 0 -->
   
<!-- SCOPE VEGA_TWEAK 0-->
<!-- VEGA_TWEAK (note we don't write back zero values) -->
<xsl:template match="/ZIPPY/SENSITIVITY/ASSET_VEGA_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/COMP_VEGA_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/CONTANGO_RHO_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/RHO_BORROW_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/SPOT_VEGA_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_MATRIX/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_MATRIX_LITE/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_POINTWISE_ASSET/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_PROXY_MATRIX/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_PROXY_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_SKEW_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_SKEW_POINTWISE_ASSET/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_SKEW_PROXY_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_SKEW_TRPROXY_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_SPECIAL_NPI_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_STRIKEWISE_LV_LEFT/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_STRIKEWISE_LV_RIGHT/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_TRPROXY_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VHQ_CONV_FACTORS_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VHQ_LEFT_FACTORS_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VHQ_RIGHT_FACTORS_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VHQ_SKEW_FACTORS_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VHT_CONVXT_CELERITY_FACTORS_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VHT_CONVXT_FACTORS_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VHT_SKEW_CELERITY_FACTORS_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VHT_SKEW_FACTORS_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VSCURVE_DELTA_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/XFX_VEGA_POINTWISE/point[@value != 0]">
EXEC merlin_i_py_vt <xsl:choose><xsl:when test="@label">'<xsl:value-of select="@label"/>'</xsl:when><xsl:otherwise>'ABS'</xsl:otherwise></xsl:choose>, <xsl:choose><xsl:when test="@date">'<xsl:value-of select="@date"/>'</xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose>, <xsl:value-of select="@value"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:value-of select="../underlying"/>,<xsl:value-of select="../../@pyramidID"/>,'<xsl:value-of select="../../CCY_UNIT/@value"/>',<xsl:value-of select="@strike"/><xsl:if test='boolean(@strike) = false'>NULL</xsl:if>
</xsl:template>
<!-- SCOPE_END VEGA_TWEAK 0 -->

<!-- SCOPE VEGA_TWEAK 1-->
<!-- VEGA_TWEAK (note we don't write back zero values) -->
<xsl:template match="/ZIPPY/SENSITIVITY/FORWARD_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/FORWARD_POINTWISE_GAMMA/point[@value != 0]|/ZIPPY/SENSITIVITY/FORWARD_POINTWISE_UNDISC/point[@value != 0]|/ZIPPY/SENSITIVITY/INFLATION_DELTA_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/INFLATION_VEGA_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/SPI_GAP_RISK_CC_VEGA_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VANNA_STICKY_BACKBONE/point[@value != 0]|/ZIPPY/SENSITIVITY/VAR_SWAP_BASIS_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_BACKBONE_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_BACKBONE_POINTWISE_2SIDED/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_POINTWISE_ADDITIVE/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_POINTWISE_ADDITIVE_TWO_SIDED/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_POINTWISE_RIPPLE/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_POINTWISE_TWO_SIDED/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_STRIKEWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VOLGAMMA_ADDITIVE_TWO_SIDED/point[@value != 0]|/ZIPPY/SENSITIVITY/VOLGAMMA_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VOLGA_BACKBONE_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/VSC_DELTA_POINTWISE/point[@value != 0]">
EXEC merlin_i_py_vt <xsl:choose><xsl:when test="@label">'<xsl:value-of select="@label"/>'</xsl:when><xsl:otherwise>'ABS'</xsl:otherwise></xsl:choose>, <xsl:choose><xsl:when test="@date">'<xsl:value-of select="@date"/>'</xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose>, <xsl:value-of select="@value"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:value-of select="../underlying"/>,<xsl:value-of select="../../@pyramidID"/>,'<xsl:value-of select="../../CCY_UNIT/@value"/>',<xsl:value-of select="@strike"/><xsl:if test='boolean(@strike) = false'>NULL</xsl:if>
</xsl:template>
<!-- SCOPE_END VEGA_TWEAK 1 -->

<!-- SCOPE RHO_TWEAK 0-->
<!-- RHO_TWEAK (note we don't write back zero values) -->
<xsl:template match="/ZIPPY/SENSITIVITY/ADJ_CREDIT_SPREAD_RHO_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/CCY_BASIS_RHO_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/NAKED_BOND_RHO_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/OCB_STRIKE_RHO_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/OPTION_STRIKE_RHO_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/RHO_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/RHO_POINTWISE_ASSET/point[@value != 0]|/ZIPPY/SENSITIVITY/RHO_POINTWISE_CREDIT_SPREADS/point[@value != 0]">
EXEC merlin_i_py_rt '<xsl:value-of select="@label"/>',<xsl:value-of select="@value"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:value-of select="../../@pyramidID"/>,'<xsl:value-of select="../currency"/>','<xsl:value-of select="../../CCY_UNIT/@value"/>','MM'
</xsl:template>
<!-- SCOPE_END RHO_TWEAK 0-->

<!-- SCOPE RHO_TWEAK 1-->
<!-- RHO_TWEAK (note we don't write back zero values) -->
<xsl:template match="/ZIPPY/SENSITIVITY/SPI_GAP_RISK_CC_RHO_POINTWISE/point[@value != 0]">
EXEC merlin_i_py_rt '<xsl:value-of select="@label"/>',<xsl:value-of select="@value"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:value-of select="../../@pyramidID"/>,'<xsl:value-of select="../currency"/>','<xsl:value-of select="../../CCY_UNIT/@value"/>','MM'
</xsl:template>
<!-- SCOPE_END RHO_TWEAK 1-->

<!-- SCOPE RHO_TWEAK 2-->
<!-- Special Handling for IRDELTA_POINTWISE -->
<xsl:template match="/ZIPPY/SENSITIVITY/IRDELTA_POINTWISE/point[@value != 0]">
EXEC merlin_i_py_rt '<xsl:value-of select="@label"/>',<xsl:value-of select="@value"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:value-of select="../../@pyramidID"/>,'<xsl:value-of select="substring-before(substring-after(../underlying, '-'),'-')"/>','<xsl:value-of select="../../CCY_UNIT/@value"/>','<xsl:value-of select="substring-after(substring-after(../underlying, '-'),'-')"/>'
</xsl:template>
<!-- SCOPE_END RHO_TWEAK 2-->

<!-- SCOPE IMNT_RISK_SENSITIVITY 0-->
<!-- IMNT_RISK_SENSITIVITY -->
<xsl:template match="/ZIPPY/SENSITIVITY/ABS_FACTOR|/ZIPPY/SENSITIVITY/ACCRUED_INTEREST|/ZIPPY/SENSITIVITY/ACCRUED_INTEREST_ASSET|/ZIPPY/SENSITIVITY/ADJUSTED_STRIKE|/ZIPPY/SENSITIVITY/ADJ_CREDIT_SPREAD_RHO_PARALLEL|/ZIPPY/SENSITIVITY/ASSET_MTM|/ZIPPY/SENSITIVITY/ASSET_SWAP_SPREAD|/ZIPPY/SENSITIVITY/ASSET_THEO|/ZIPPY/SENSITIVITY/ASSET_THEO_MTM|/ZIPPY/SENSITIVITY/BARRIER_DISCONTINUITY_RISK|/ZIPPY/SENSITIVITY/BBG_SPREAD|/ZIPPY/SENSITIVITY/BOND_CONVEXITY|/ZIPPY/SENSITIVITY/BOND_DURATION|/ZIPPY/SENSITIVITY/BOND_FUTURE_Z_SPREAD|/ZIPPY/SENSITIVITY/CAH_ALL_FV|/ZIPPY/SENSITIVITY/CAH_FV|/ZIPPY/SENSITIVITY/CALL_STRIKE|/ZIPPY/SENSITIVITY/CCM_D_BETA_BASKET_D_PAR_SPREAD_RHO_PROP|/ZIPPY/SENSITIVITY/CDS_RISKY_DURATION|/ZIPPY/SENSITIVITY/CLEAN_PRICE|/ZIPPY/SENSITIVITY/COMPRESSION_RATIO|/ZIPPY/SENSITIVITY/COMPUTE_ESTIMATE|/ZIPPY/SENSITIVITY/COMPUTE_INDEX|/ZIPPY/SENSITIVITY/CONT_CONVERT_STATUS|/ZIPPY/SENSITIVITY/CONVERTIBLE_PRICE|/ZIPPY/SENSITIVITY/CONVERTIBLE_PRICE_DIRTY|/ZIPPY/SENSITIVITY/CONVEXITY|/ZIPPY/SENSITIVITY/CORRIDOR_ACCRUAL_VALUE|/ZIPPY/SENSITIVITY/CORRIDOR_VARIANCE_VALUE|/ZIPPY/SENSITIVITY/CORR_IMPLIED|/ZIPPY/SENSITIVITY/CORR_REALIZED|/ZIPPY/SENSITIVITY/CORR_SKEW_DELTA|/ZIPPY/SENSITIVITY/CORR_SWAP_BASIS_ADJ_PARALLEL|/ZIPPY/SENSITIVITY/CPTY_CREDIT_CHARGE|/ZIPPY/SENSITIVITY/CURRENT_SPREAD|/ZIPPY/SENSITIVITY/DIRTY_PRICE|/ZIPPY/SENSITIVITY/DISCOUNT_FACTOR|/ZIPPY/SENSITIVITY/DURATION|/ZIPPY/SENSITIVITY/EFFECTIVE_STRIKE|/ZIPPY/SENSITIVITY/EQFX_CORR_MATRIX_SQ_ERROR|/ZIPPY/SENSITIVITY/EXPECTED_N|/ZIPPY/SENSITIVITY/EXPECTED_PCT_TIME_IN_RANGE|/ZIPPY/SENSITIVITY/EXPECTED_SCALE_FACTOR|/ZIPPY/SENSITIVITY/EXPECTED_STRIKE|/ZIPPY/SENSITIVITY/EXPECTED_TIME_TO_EXERCISE|/ZIPPY/SENSITIVITY/FEE_LEG_RISKLESS_FV|/ZIPPY/SENSITIVITY/FFX_UFV|/ZIPPY/SENSITIVITY/FIXED_LEG_VALUE|/ZIPPY/SENSITIVITY/FORWARD_ADJUSTMENT|/ZIPPY/SENSITIVITY/FORWARD_CDS_SPREAD|/ZIPPY/SENSITIVITY/FSA_PRR|/ZIPPY/SENSITIVITY/FSA_VALUE|/ZIPPY/SENSITIVITY/FUNDING_SPREAD|/ZIPPY/SENSITIVITY/FV_BREACH|/ZIPPY/SENSITIVITY/FV_MINUS_CCC|/ZIPPY/SENSITIVITY/FV_NOBREACH|/ZIPPY/SENSITIVITY/FWD_DEFAULT_ADJ|/ZIPPY/SENSITIVITY/HIST_DELTA|/ZIPPY/SENSITIVITY/HIST_DISC_RATE_TO_MAT|/ZIPPY/SENSITIVITY/HIST_DIV_DIFF|/ZIPPY/SENSITIVITY/HIST_DIV_DIFF_ANSI_DATE|/ZIPPY/SENSITIVITY/HIST_SPOT_FX|/ZIPPY/SENSITIVITY/IMPLIED_CDS_SPREAD|/ZIPPY/SENSITIVITY/IMPLIED_YIELD_TO_FIRST_PUT_CLEAN|/ZIPPY/SENSITIVITY/INTRINSIC_FAIR_VALUE|/ZIPPY/SENSITIVITY/LEGAL_TERMS_FV|/ZIPPY/SENSITIVITY/LIBOR_LEG_VALUE|/ZIPPY/SENSITIVITY/LONG_TERM_SQUEEZE_PARALLEL|/ZIPPY/SENSITIVITY/LOSS_MAPPING_SENS|/ZIPPY/SENSITIVITY/MOD_CORR_MATRIX_SQ_ERROR|/ZIPPY/SENSITIVITY/MULTIPLICATIVE_SCALING_RATIO|/ZIPPY/SENSITIVITY/NAKED_BOND_PRICE|/ZIPPY/SENSITIVITY/NAKED_BOND_PRICE_THETA|/ZIPPY/SENSITIVITY/NAKED_BOND_THETA|/ZIPPY/SENSITIVITY/NET_SHARES_VALUE|/ZIPPY/SENSITIVITY/OCB_STRIKE_THETA|/ZIPPY/SENSITIVITY/OPTION_DELTA|/ZIPPY/SENSITIVITY/OPTION_GAMMA|/ZIPPY/SENSITIVITY/OPTION_ON_CONVERTIBLE_BOND_FLOOR|/ZIPPY/SENSITIVITY/OPTION_ON_CONVERTIBLE_STRIKE|/ZIPPY/SENSITIVITY/OPTION_ON_CONVERTIBLE_STRIKE_THETA|/ZIPPY/SENSITIVITY/OPTION_PRICE|/ZIPPY/SENSITIVITY/OPTION_PRICE_THETA|/ZIPPY/SENSITIVITY/OPTION_VEGA|/ZIPPY/SENSITIVITY/PARALLEL_SYST_GAMMA|/ZIPPY/SENSITIVITY/PARITY|/ZIPPY/SENSITIVITY/PARVOL_SWAPVAR|/ZIPPY/SENSITIVITY/PARVOL_SWAPVAR_SV|/ZIPPY/SENSITIVITY/PARVOL_SWAPVAR_VIX_BASIS0|/ZIPPY/SENSITIVITY/PAST_WEIGHT|/ZIPPY/SENSITIVITY/PHI_PARALLEL|/ZIPPY/SENSITIVITY/PORTFOLIO_DURATION_WEIGHTED_AVG_SPREAD|/ZIPPY/SENSITIVITY/PRICE_ASSET|/ZIPPY/SENSITIVITY/PRICE_TIME|/ZIPPY/SENSITIVITY/PRICE_TIME_ASSET|/ZIPPY/SENSITIVITY/PUT_PROBABILITY|/ZIPPY/SENSITIVITY/PUT_STOCK_LEVEL|/ZIPPY/SENSITIVITY/PUT_STRIKE|/ZIPPY/SENSITIVITY/PVBP|/ZIPPY/SENSITIVITY/RANGE_ACCRUAL_N1|/ZIPPY/SENSITIVITY/RANGE_ACCRUAL_N2|/ZIPPY/SENSITIVITY/RELATIVE_BETA_SENS|/ZIPPY/SENSITIVITY/RHO_PARALLEL_CREDIT_SPREADS|/ZIPPY/SENSITIVITY/SCALE_FACTOR_UPTO_DATE|/ZIPPY/SENSITIVITY/SHORT_TERM_SQUEEZE_PARALLEL|/ZIPPY/SENSITIVITY/SPI_BOND|/ZIPPY/SENSITIVITY/SPI_BOND_ALLOC|/ZIPPY/SENSITIVITY/SPI_BOND_FLOOR|/ZIPPY/SENSITIVITY/SPI_BOND_FLOOR_LEVEL|/ZIPPY/SENSITIVITY/SPI_BOND_NAV|/ZIPPY/SENSITIVITY/SPI_BOND_NAV_PCT|/ZIPPY/SENSITIVITY/SPI_BOND_TODAY|/ZIPPY/SENSITIVITY/SPI_DYN_BASKET|/ZIPPY/SENSITIVITY/SPI_EQUITY_NAV|/ZIPPY/SENSITIVITY/SPI_EQUITY_NAV_PCT|/ZIPPY/SENSITIVITY/SPI_GAP_RISK|/ZIPPY/SENSITIVITY/SPI_GAP_RISK_CRASH_COUPONS|/ZIPPY/SENSITIVITY/SPI_LOCKED_IN_VALUE|/ZIPPY/SENSITIVITY/SPI_SUST_EXPO|/ZIPPY/SENSITIVITY/SPI_TARGET_EXPO|/ZIPPY/SENSITIVITY/SPI_UNBAL_EXPO|/ZIPPY/SENSITIVITY/SQT_SWAPVAR_SV|/ZIPPY/SENSITIVITY/STRIKE|/ZIPPY/SENSITIVITY/STRIKE_ADJUSTMENT_UPTO_DATE|/ZIPPY/SENSITIVITY/STRIKE_MAPPING_OVERRIDE|/ZIPPY/SENSITIVITY/STRIKE_REF|/ZIPPY/SENSITIVITY/STRIKE_VOL|/ZIPPY/SENSITIVITY/THETA|/ZIPPY/SENSITIVITY/THETA_ACCRUED_INTEREST|/ZIPPY/SENSITIVITY/THETA_ASSET|/ZIPPY/SENSITIVITY/THETA_FORWARD_SPOT|/ZIPPY/SENSITIVITY/THETA_INTRA_DAY|/ZIPPY/SENSITIVITY/TICK_VALUE|/ZIPPY/SENSITIVITY/TOTAL_DELTA|/ZIPPY/SENSITIVITY/TOTAL_DELTA_EQ|/ZIPPY/SENSITIVITY/TOTAL_GAMMA|/ZIPPY/SENSITIVITY/TOTAL_GAMMA_EQ|/ZIPPY/SENSITIVITY/TOTAL_VEGA_PARALLEL|/ZIPPY/SENSITIVITY/TOTAL_VOL|/ZIPPY/SENSITIVITY/TRANCHE_CONTINGENT_LEG_FV|/ZIPPY/SENSITIVITY/TRANCHE_FEE_LEG_FV|/ZIPPY/SENSITIVITY/TRANCHE_IMPLIED_SPREAD|/ZIPPY/SENSITIVITY/TRANCHE_OUTSTANDING_NOTIONAL|/ZIPPY/SENSITIVITY/TRANCHE_RISKY_DURATION|/ZIPPY/SENSITIVITY/UFV|/ZIPPY/SENSITIVITY/USD_DISC_RATE|/ZIPPY/SENSITIVITY/VALUE_STE|/ZIPPY/SENSITIVITY/VALUE_WITHOUT_CCC|/ZIPPY/SENSITIVITY/VAR_OPTION_DELTA|/ZIPPY/SENSITIVITY/VAR_OPTION_RETURN_TO_BREACH|/ZIPPY/SENSITIVITY/VAR_SWAP_CUTOFF|/ZIPPY/SENSITIVITY/VAR_SWAP_VOL_BASIS|/ZIPPY/SENSITIVITY/VOL_IN_FUTURE|/ZIPPY/SENSITIVITY/VOL_IN_PAST|/ZIPPY/SENSITIVITY/YIELD_TO_FIRST_PUT|/ZIPPY/SENSITIVITY/YIELD_TO_MATURITY|/ZIPPY/SENSITIVITY/pastWeight|/ZIPPY/SENSITIVITY/volInFuture|/ZIPPY/SENSITIVITY/volInPast">
<!-- id_imnt, id_param_rsk, am_exp_rsk, id_ccy_unit, dg_comp_time -->
EXEC merlin_i_py_imnt <xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,NULL,'<xsl:value-of select="../CCY_UNIT/@value"/>'
</xsl:template>
<!-- SCOPE_END IMNT_RISK_SENSITIVITY 0 -->

<!-- SCOPE UND_RISK_SENSITIVITY 0 -->
<xsl:template match="/ZIPPY/SENSITIVITY/ASSET_VEGA_PARALLEL|/ZIPPY/SENSITIVITY/BASKET_DELTA_NEXT_DAY|/ZIPPY/SENSITIVITY/COMMODITY_DELTA_PARALLEL|/ZIPPY/SENSITIVITY/COMMODITY_DELTA_PARALLEL_SUMMED|/ZIPPY/SENSITIVITY/COMMODITY_GAMMA_PARALLEL|/ZIPPY/SENSITIVITY/COMMODITY_GAMMA_PARALLEL_SUMMED|/ZIPPY/SENSITIVITY/COMMODITY_INST_CORR_SENS|/ZIPPY/SENSITIVITY/COMMODITY_INST_VOLRATIO_SENS|/ZIPPY/SENSITIVITY/COMMODITY_MEAN_REVERSION_SENS|/ZIPPY/SENSITIVITY/COMMODITY_SMILESENS_10RR_PARALLEL|/ZIPPY/SENSITIVITY/COMMODITY_SMILESENS_10STR_PARALLEL|/ZIPPY/SENSITIVITY/COMMODITY_SMILESENS_2510RR_PARALLEL|/ZIPPY/SENSITIVITY/COMMODITY_SMILESENS_2510STR_PARALLEL|/ZIPPY/SENSITIVITY/COMMODITY_SMILESENS_25RR_PARALLEL|/ZIPPY/SENSITIVITY/COMMODITY_SMILESENS_25STR_PARALLEL|/ZIPPY/SENSITIVITY/COMMODITY_VEGA_PARALLEL|/ZIPPY/SENSITIVITY/COMP_VEGA_PARALLEL|/ZIPPY/SENSITIVITY/CONTANGO_RHO_PARALLEL|/ZIPPY/SENSITIVITY/CORRIDOR_ACCRUAL_DELTA|/ZIPPY/SENSITIVITY/CORRIDOR_ACCRUAL_GAMMA|/ZIPPY/SENSITIVITY/CORRIDOR_ACCRUAL_VEGA|/ZIPPY/SENSITIVITY/CORRIDOR_VARIANCE_DELTA|/ZIPPY/SENSITIVITY/CORRIDOR_VARIANCE_GAMMA|/ZIPPY/SENSITIVITY/CORRIDOR_VARIANCE_VEGA|/ZIPPY/SENSITIVITY/CORR_SWAP_BASIS_ADJ_TWEAK|/ZIPPY/SENSITIVITY/DELTA|/ZIPPY/SENSITIVITY/DELTA_ASSET|/ZIPPY/SENSITIVITY/DELTA_BASKET|/ZIPPY/SENSITIVITY/DELTA_CASH_DIV|/ZIPPY/SENSITIVITY/DELTA_INTRADAY|/ZIPPY/SENSITIVITY/DELTA_NEXT_DAY|/ZIPPY/SENSITIVITY/DELTA_NEXT_DAY_ASSET|/ZIPPY/SENSITIVITY/DELTA_NPI|/ZIPPY/SENSITIVITY/DELTA_PROXY|/ZIPPY/SENSITIVITY/DELTA_PROXY_NEXT_DAY|/ZIPPY/SENSITIVITY/DELTA_REF_CONTRACT|/ZIPPY/SENSITIVITY/DELTA_SPECIAL_NPI|/ZIPPY/SENSITIVITY/DELTA_STD_ERR|/ZIPPY/SENSITIVITY/DELTA_STRIKE_REF_SPOT|/ZIPPY/SENSITIVITY/DELTA_SURFACE|/ZIPPY/SENSITIVITY/DELTA_SURFACE_PROXY|/ZIPPY/SENSITIVITY/DELTA_SURFACE_REMARK|/ZIPPY/SENSITIVITY/DELTA_SURFACE_REMARK_ASSET|/ZIPPY/SENSITIVITY/DELTA_SURFACE_REMARK_NEXT_DAY|/ZIPPY/SENSITIVITY/DELTA_TO_CREDIT|/ZIPPY/SENSITIVITY/DELTA_TO_CREDIT_NEXT_DAY|/ZIPPY/SENSITIVITY/DELTA_TRPROXY|/ZIPPY/SENSITIVITY/DELTA_T_PLUS_N|/ZIPPY/SENSITIVITY/D_DELTA_D_VOL|/ZIPPY/SENSITIVITY/D_GAMMA_D_SPOT|/ZIPPY/SENSITIVITY/D_GAMMA_D_VOL|/ZIPPY/SENSITIVITY/F01_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F01_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F02_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F02_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F03_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F03_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F04_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F04_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F05_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F05_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F06_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F06_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F07_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F07_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F08_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F08_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F09_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F09_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F10_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F10_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F11_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F11_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F12_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F12_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F13_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F13_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F14_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F14_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F15_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F15_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F16_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F16_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F17_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F17_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F18_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F18_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F19_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F19_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/F20_D_VEGA_FUNCTION_PY_D_VOL|/ZIPPY/SENSITIVITY/F20_VEGA_FUNCTION_PY|/ZIPPY/SENSITIVITY/FORWARD_PARALLEL|/ZIPPY/SENSITIVITY/FORWARD_PARALLEL_2SIDED|/ZIPPY/SENSITIVITY/FORWARD_PARALLEL_GAMMA|/ZIPPY/SENSITIVITY/FORWARD_PARALLEL_UNDISC|/ZIPPY/SENSITIVITY/GAMMA|/ZIPPY/SENSITIVITY/GAMMA_ASSET|/ZIPPY/SENSITIVITY/GAMMA_BASKET|/ZIPPY/SENSITIVITY/GAMMA_INTRADAY|/ZIPPY/SENSITIVITY/GAMMA_NEXT_DAY|/ZIPPY/SENSITIVITY/GAMMA_NEXT_DAY_ASSET|/ZIPPY/SENSITIVITY/GAMMA_PROXY|/ZIPPY/SENSITIVITY/GAMMA_REF_CONTRACT|/ZIPPY/SENSITIVITY/GAMMA_STD_ERR|/ZIPPY/SENSITIVITY/GAMMA_STRIKE_REF_SPOT|/ZIPPY/SENSITIVITY/GAMMA_SURFACE|/ZIPPY/SENSITIVITY/GAMMA_SURFACE_PROXY|/ZIPPY/SENSITIVITY/GAMMA_SURFACE_REMARK|/ZIPPY/SENSITIVITY/GAMMA_TO_CREDIT|/ZIPPY/SENSITIVITY/INFLATION_DELTA_PARALLEL|/ZIPPY/SENSITIVITY/INFLATION_VEGA_PARALLEL|/ZIPPY/SENSITIVITY/INTRADAY_SPOT_PRICE|/ZIPPY/SENSITIVITY/MU_CASH_PARALLEL|/ZIPPY/SENSITIVITY/MU_DATE_PARALLEL|/ZIPPY/SENSITIVITY/MU_PARALLEL|/ZIPPY/SENSITIVITY/MU_PARALLEL_ASSET|/ZIPPY/SENSITIVITY/MU_PROXY_PARALLEL|/ZIPPY/SENSITIVITY/MU_TRPROXY_PARALLEL|/ZIPPY/SENSITIVITY/PREPAY_PARALLEL|/ZIPPY/SENSITIVITY/RHO_BORROW_PARALLEL|/ZIPPY/SENSITIVITY/RHO_BORROW_PARALLEL_ASSET|/ZIPPY/SENSITIVITY/RT_VEGA|/ZIPPY/SENSITIVITY/RT_VEGA_ASSET|/ZIPPY/SENSITIVITY/RT_VEGA_PROXY|/ZIPPY/SENSITIVITY/RT_VEGA_STD_ERR|/ZIPPY/SENSITIVITY/SCEN_FV|/ZIPPY/SENSITIVITY/SPI_GAP_RISK_CC_DELTA|/ZIPPY/SENSITIVITY/SPI_GAP_RISK_CC_VEGA_PARALLEL|/ZIPPY/SENSITIVITY/SPI_GAP_RISK_DELTA|/ZIPPY/SENSITIVITY/SPI_GAP_RISK_VEGA|/ZIPPY/SENSITIVITY/SPOT_PRICE|/ZIPPY/SENSITIVITY/SPOT_PRICE_ASSET|/ZIPPY/SENSITIVITY/SPOT_PRICE_PROXY|/ZIPPY/SENSITIVITY/SPOT_PRICE_XFX|/ZIPPY/SENSITIVITY/SPOT_VEGA_PARALLEL|/ZIPPY/SENSITIVITY/SVJ_CORRELATION|/ZIPPY/SENSITIVITY/SVJ_INITIAL_VOL|/ZIPPY/SENSITIVITY/SVJ_MEAN_REVERS_RATE|/ZIPPY/SENSITIVITY/SVJ_MEAN_VOL|/ZIPPY/SENSITIVITY/SVJ_VOL_VOL|/ZIPPY/SENSITIVITY/TOTAL_DELTA_TR|/ZIPPY/SENSITIVITY/TOTAL_GAMMA_TR|/ZIPPY/SENSITIVITY/TRDELTA_NEXT_DAY|/ZIPPY/SENSITIVITY/TRGAMMA_NEXT_DAY|/ZIPPY/SENSITIVITY/VEGA2SIDED|/ZIPPY/SENSITIVITY/VEGA_BACKBONE_PARALLEL|/ZIPPY/SENSITIVITY/VEGA_BACKBONE_STRIKE_REF|/ZIPPY/SENSITIVITY/VEGA_BASKET_PARALLEL|/ZIPPY/SENSITIVITY/VEGA_PARALLEL|/ZIPPY/SENSITIVITY/VEGA_PARALLEL_ASSET|/ZIPPY/SENSITIVITY/VEGA_PARALLEL_REMARK|/ZIPPY/SENSITIVITY/VEGA_PARALLEL_STD_ERR|/ZIPPY/SENSITIVITY/VEGA_PROXY_PARALLEL|/ZIPPY/SENSITIVITY/VEGA_ROOT_TIME_REMARK|/ZIPPY/SENSITIVITY/VEGA_SKEW_PARALLEL|/ZIPPY/SENSITIVITY/VEGA_SKEW_PROXY_PARALLEL|/ZIPPY/SENSITIVITY/VEGA_SKEW_TRPROXY_PARALLEL|/ZIPPY/SENSITIVITY/VEGA_SPECIAL_NPI_PARALLEL|/ZIPPY/SENSITIVITY/VEGA_TRPROXY_PARALLEL|/ZIPPY/SENSITIVITY/VHQ_CONV_POWER|/ZIPPY/SENSITIVITY/VHQ_LEFT_WING_POWER|/ZIPPY/SENSITIVITY/VHQ_REF_CONV|/ZIPPY/SENSITIVITY/VHQ_REF_LEFT_PARAM|/ZIPPY/SENSITIVITY/VHQ_REF_RIGHT_PARAM|/ZIPPY/SENSITIVITY/VHQ_REF_SKEW|/ZIPPY/SENSITIVITY/VHQ_REMARK_PNL|/ZIPPY/SENSITIVITY/VHQ_RIGHT_WING_POWER|/ZIPPY/SENSITIVITY/VHQ_SKEW_POWER|/ZIPPY/SENSITIVITY/VHT_REF_CONV|/ZIPPY/SENSITIVITY/VHT_REF_CONV_CELERITY|/ZIPPY/SENSITIVITY/VHT_REF_SKEW|/ZIPPY/SENSITIVITY/VHT_REF_SKEW_CELERITY|/ZIPPY/SENSITIVITY/VOLGAMMA|/ZIPPY/SENSITIVITY/VSCURVE_DELTA_PARALLEL|/ZIPPY/SENSITIVITY/VSCURVE_MRR_TWEAK_PARALLEL|/ZIPPY/SENSITIVITY/VSCURVE_VVEGA_PARALLEL|/ZIPPY/SENSITIVITY/VSC_CORREL_TWEAK|/ZIPPY/SENSITIVITY/VSC_DELTA_PARALLEL|/ZIPPY/SENSITIVITY/VSC_GAMMA_PARALLEL|/ZIPPY/SENSITIVITY/VSC_MRR_TWEAK|/ZIPPY/SENSITIVITY/VSC_VVEGA|/ZIPPY/SENSITIVITY/XFX_DELTA|/ZIPPY/SENSITIVITY/XFX_GAMMA|/ZIPPY/SENSITIVITY/XFX_VEGA_PARALLEL">
<xsl:if test='underlying'>
EXEC merlin_i_py_und <xsl:value-of select="underlying"/>,<xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>'
</xsl:if>
</xsl:template>
<!-- SCOPE_END UND_RISK_SENSITIVITY 0 -->

<!-- SCOPE UND_RISK_SENSITIVITY 1 -->
<!-- UND_RISK_SENSITIVITY (special cases like IRVEGA_PARALLEL where there is no underlying id - just a ccy) -->
<xsl:template match="/ZIPPY/SENSITIVITY/TOTAL_GAMMA_X_GAMMAS|/ZIPPY/SENSITIVITY/TOTAL_GAMMA_X_GAMMAS_CW|/ZIPPY/SENSITIVITY/TOTAL_GAMMA_X_GAMMAS_CW_EQ|/ZIPPY/SENSITIVITY/TOTAL_GAMMA_X_GAMMAS_EQ">
<xsl:if test='underlying'>
EXEC merlin_i_py_ivp <xsl:value-of select="currency"/>,0,<xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>'
</xsl:if>
</xsl:template>
<!-- SCOPE_END UND_RISK_SENSITIVITY 1 -->

<!-- SCOPE UND_RISK_SENSITIVITY 2 -->
<xsl:template match="/ZIPPY/SENSITIVITY/IMPLIED_SHIFT|/ZIPPY/SENSITIVITY/IMPLIED_VOL|/ZIPPY/SENSITIVITY/IND_VOL|/ZIPPY/SENSITIVITY/VAR_OPTION_IND_VOL">
EXEC merlin_i_py_und NULL,<xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>'
</xsl:template>
<!-- SCOPE_END UND_RISK_SENSITIVITY 2 -->

<!-- SCOPE CURRENCY_RISK_SENSITIVITY 0 -->
<!-- CURRENCY_RISK_SENSITIVITY RHO... -->
<xsl:template match="/ZIPPY/SENSITIVITY/CCY_BASIS_RHO_PARALLEL|/ZIPPY/SENSITIVITY/FFX_FUTURE_VALUE|/ZIPPY/SENSITIVITY/FFX_PV|/ZIPPY/SENSITIVITY/FUTURE_VALUE|/ZIPPY/SENSITIVITY/FWD_FX_RATE|/ZIPPY/SENSITIVITY/IRVEGA_PARALLEL|/ZIPPY/SENSITIVITY/IR_GAMMA_PARALLEL|/ZIPPY/SENSITIVITY/IR_MEAN_REVERSION_PARALLEL|/ZIPPY/SENSITIVITY/NAKED_BOND_RHO_PARALLEL|/ZIPPY/SENSITIVITY/OCB_STRIKE_RHO_PARALLEL|/ZIPPY/SENSITIVITY/OPTION_STRIKE_RHO_PARALLEL|/ZIPPY/SENSITIVITY/PV|/ZIPPY/SENSITIVITY/RHO_PARALLEL|/ZIPPY/SENSITIVITY/RHO_PARALLEL_ASSET">
EXEC merlin_i_py_ccy <xsl:value-of select="../@pyramidID"/>,'<xsl:value-of select="currency"/>',<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>','MM'
</xsl:template>
<!-- SCOPE_END CURRENCY_RISK_SENSITIVITY 0 -->

<!-- SCOPE CURRENCY_RISK_SENSITIVITY 1 -->
<xsl:template match="/ZIPPY/SENSITIVITY/FX_DELTA|/ZIPPY/SENSITIVITY/FX_GAMMA">
EXEC merlin_i_py_ccy <xsl:value-of select="../@pyramidID"/>,'<xsl:value-of select="currency[2]"/>',<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>','MM'
</xsl:template>
<!-- SCOPE_END CURRENCY_RISK_SENSITIVITY 1 -->

<!-- SCOPE CURRENCY_RISK_SENSITIVITY 2 -->
<!-- Special handling for FX_VEGA -->
<xsl:template match="/ZIPPY/SENSITIVITY/FX_CROSS_GAMMA_ASSET|/ZIPPY/SENSITIVITY/FX_DELTA_ASSET|/ZIPPY/SENSITIVITY/FX_GAMMA_ASSET|/ZIPPY/SENSITIVITY/FX_VEGA">
<xsl:if test='currency[position()=1] = ../CCY_UNIT/@value'>
EXEC merlin_i_py_ccy <xsl:value-of select="../@pyramidID"/>,'<xsl:value-of select="currency[2]"/>',<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>','MM'
</xsl:if>
</xsl:template>
<!-- SCOPE_END CURRENCY_RISK_SENSITIVITY 2 -->

<!-- SCOPE CURRENCY_RISK_SENSITIVITY 3 -->
<!-- CURRENCY_RISK_SENSITIVITY RHO... -->
<xsl:template match="/ZIPPY/SENSITIVITY/SPI_GAP_RISK_CC_RHO_PARALLEL">
EXEC merlin_i_py_ccy <xsl:value-of select="../@pyramidID"/>,'<xsl:value-of select="currency"/>',<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>','MM'
</xsl:template>
<!-- SCOPE_END CURRENCY_RISK_SENSITIVITY 3 -->

<!-- SCOPE CURRENCY_RISK_SENSITIVITY 4 -->
<!-- Special handling for IRDELTA_PARALLEL -->
<xsl:template match="/ZIPPY/SENSITIVITY/IRDELTA_PARALLEL">
EXEC merlin_i_py_ccy <xsl:value-of select="../@pyramidID"/>, '<xsl:value-of select="substring-before(substring-after(underlying, '-'), '-')"/>',<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>','<xsl:value-of select="substring-after(substring-after(underlying, '-'),'-')"/>'</xsl:template>
<!-- SCOPE_END CURRENCY_RISK_SENSITIVITY 4 -->

<!-- SCOPE CURRENCY_RISK_SENSITIVITY 5 -->
<!-- Special handling for IR_SMILE2Q -->
<xsl:template match="/ZIPPY/SENSITIVITY/IR_SMILE2Q_LEFT_TWEAK|/ZIPPY/SENSITIVITY/IR_SMILE2Q_RIGHT_TWEAK">
EXEC merlin_i_py_ccy <xsl:value-of select="../@pyramidID"/>, '<xsl:value-of select="substring-after(underlying, '-')"/>',
<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>',
'<xsl:value-of select="substring-after(underlying, '-')"/>'</xsl:template>
 <!-- SCOPE_END CURRENCY_RISK_SENSITIVITY 5 -->

<!-- SCOPE IR_RISK_TWEAK 0 -->
<!-- IR_RISK_TWEAK for IRVEGA_POINTWISE -->
<xsl:template match="/ZIPPY/SENSITIVITY/IRVEGA_MATRIX/point[@value != 0]|/ZIPPY/SENSITIVITY/IRVEGA_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/IRVEGA_POINTWISE_BASE/point[@value != 0]">                                                                                                                    <!-- dt_prd_mat -->                            
EXEC merlin_i_py_irt <xsl:value-of select="../../@pyramidID"/>,'<xsl:value-of select="../currency"/>','<xsl:value-of select="@expiry"/>',NULL,'<xsl:value-of select="@tenor"/>',<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../../CCY_UNIT/@value"/>'
</xsl:template>
<!-- SCOPE_END IR_RISK_TWEAK 0 -->

<!--SCOPE DR_KNOWN_CASHFLOW 0-->
<!-- DR_KNOWN_CASHFLOW (note we don't write back zero values) -->
<xsl:template match="/ZIPPY/SENSITIVITY/KNOWN_CASHFLOWS/point[@value != 0]">
EXEC merlin_i_py_dkc <xsl:value-of select="../../@pyramidID"/>,'<xsl:value-of select="../currency"/>',<xsl:value-of select="@value"/>,'<xsl:value-of select="@date"/>'
</xsl:template>
<!-- SCOPE_END DR_KNOWN_CASHFLOW 0 -->

<!--SCOPE DR_PAYMENT_DATE 0-->
<!-- DR_PAYMENT_DATE (note we don't write back zero values) -->
<xsl:template match="/ZIPPY/SENSITIVITY/PAYMENT_DATES/date">
EXEC merlin_i_py_dpd <xsl:value-of select="../../@pyramidID"/>,'<xsl:value-of select="."/>'
</xsl:template>
<!-- SCOPE_END DR_PAYMENT_DATE 0 -->

<!--SCOPE COR_SKEW_RISK_SENSITIVITY 0 -->
<!--COR_SKEW_RISK_SENSITIVITY -->
<xsl:template match="/ZIPPY/SENSITIVITY/PHI_SKEW|/ZIPPY/SENSITIVITY/PHI_SKEWPOWER">
EXEC merlin_i_py_corskew <xsl:value-of select="CorrSkewId"/>,<xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>'
</xsl:template>
<!--SCOPE_END COR_SKEW_RISK_SENSITIVITY 0 -->

<!--SCOPE CORR_SKEW_PARALLEL 0 -->
<!--CORR_SKEW_PARALLEL -->
<xsl:template match="/ZIPPY/SENSITIVITY/LOCAL_CORR_SKEW_PARALLEL|/ZIPPY/SENSITIVITY/LOCAL_CORR_SQUEEZE_PARALLEL">
EXEC merlin_i_py_corskewpar <xsl:value-of select="substring-after(../@pyramidID, '-')"/>,<xsl:call-template name='idpr'/>,<xsl:value-of select="substring-before(underlying, '-')"/>,'<xsl:value-of select="substring-after(underlying, '-')"/>',<xsl:value-of select="@value"/>
</xsl:template>
<!--SCOPE_END CORR_SKEW_PARALLEL 0 -->

<!--SCOPE CORR_SKEW_POINT 0 -->
<!--CORR_SKEW_POINT -->
<xsl:template match="/ZIPPY/SENSITIVITY/LOCAL_CORR_SKEW_POINTWISE/point|/ZIPPY/SENSITIVITY/LOCAL_CORR_SQUEEZE_POINTWISE/point">
EXEC merlin_i_py_corskewpoint <xsl:value-of select="substring-after(../../@pyramidID, '-')"/>,'<xsl:value-of select="@label"/>',NULL,'R',<xsl:value-of select="@value"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:value-of select="substring-before(../underlying, '-')"/>,'<xsl:value-of select="substring-after(../underlying, '-')"/>'
</xsl:template>
<!--SCOPE_END CORR_SKEW_POINT 0 -->

<!--SCOPE CREDIT_RISK_SENSITIVITY 0 -->
<!--CREDIT_RISK_SENSITIVITY -->
<xsl:template match="/ZIPPY/SENSITIVITY/CANCELLATION_CURVE_PARALLEL|/ZIPPY/SENSITIVITY/CCM_BETA_SENS|/ZIPPY/SENSITIVITY/CCM_D_BETA_D_PAR_SPREAD_RHO_PROP|/ZIPPY/SENSITIVITY/CREDIT_DEFAULT_SENS|/ZIPPY/SENSITIVITY/CREDIT_DEFAULT_SENS_WITH_ZERO_RECOVERY|/ZIPPY/SENSITIVITY/CREDIT_SPREAD_RHO_PARALLEL|/ZIPPY/SENSITIVITY/CREDIT_SPREAD_VEGA_PARALLEL|/ZIPPY/SENSITIVITY/CREDSCEN_FV|/ZIPPY/SENSITIVITY/CR_SPOT_VEGA_PARALLEL|/ZIPPY/SENSITIVITY/EXOTIC_DEFAULT_NOTIONAL|/ZIPPY/SENSITIVITY/IND_CDS_PAR_SPREAD|/ZIPPY/SENSITIVITY/LIQUIDITY_SPREAD_RHO_PARALLEL|/ZIPPY/SENSITIVITY/PAR_SPREAD_RHO_PARALLEL|/ZIPPY/SENSITIVITY/PAR_SPREAD_RHO_PARALLEL_2SIDED|/ZIPPY/SENSITIVITY/PAR_SPREAD_RHO_PARALLEL_GAMMA|/ZIPPY/SENSITIVITY/RECOVERY_TWEAK">
EXEC merlin_i_py_crd_rsk_sens <xsl:value-of select="../@pyramidID"/>,<xsl:value-of select="underlying"/>,<xsl:value-of select="legalBasis"/><xsl:if test='boolean(legalBasis) = false'>0</xsl:if>,<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>',NULL
</xsl:template>
<!--SCOPE_END CREDIT_RISK_SENSITIVITY 0 -->

<!-- SCOPE CREDIT_RISK_TWEAK 0-->
<!-- CREDIT_RISK_TWEAK (note we don't write back zero values) -->
<xsl:template match="/ZIPPY/SENSITIVITY/CANCELLATION_CURVE_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/CREDIT_DELTA_POINTWISE_WITH_SHIFT/point[@value != 0]|/ZIPPY/SENSITIVITY/CREDIT_SPREAD_RHO_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/LIQUIDITY_SPREAD_RHO_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/PAR_SPREAD_RHO_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/PAR_SPREAD_RHO_POINTWISE_1_5/point[@value != 0]|/ZIPPY/SENSITIVITY/PAR_SPREAD_RHO_POINTWISE_2SIDED/point[@value != 0]|/ZIPPY/SENSITIVITY/PAR_SPREAD_RHO_POINTWISE_2_5/point[@value != 0]|/ZIPPY/SENSITIVITY/PAR_SPREAD_RHO_POINTWISE_3_5/point[@value != 0]|/ZIPPY/SENSITIVITY/PAR_SPREAD_RHO_POINTWISE_4_5/point[@value != 0]|/ZIPPY/SENSITIVITY/PAR_SPREAD_RHO_POINTWISE_5_5/point[@value != 0]|/ZIPPY/SENSITIVITY/PAR_SPREAD_RHO_POINTWISE_GAMMA/point[@value != 0]">
EXEC merlin_i_py_crd_rsk_tweak <xsl:value-of select="../../@pyramidID"/>,<xsl:value-of select="../underlying"/>,<xsl:value-of select="../legalBasis"/><xsl:if test='boolean(../legalBasis) = false'>0</xsl:if>, '<xsl:value-of select="@label"/>',<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../../CCY_UNIT/@value"/>',NULL
</xsl:template>
<!-- SCOPE_END CREDIT_RISK_TWEAK 0-->

<!-- SCOPE PRICING_FAILURE 0 -->
<!-- Writes back exceptions from DR models library --> 
<xsl:template match="/ZIPPY/SENSITIVITY/FAILED_TO_PRICE|/ZIPPY/SENSITIVITY/Untweakable">
EXEC merlin_i_py_dr_err <xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='@nm_param' /></xsl:call-template>,'<xsl:value-of select="@error"/>',<xsl:value-of select="@merlin_job_id"/>,'<xsl:value-of select="@host_name"/>'
</xsl:template>
<!-- SCOPE_END PRICING_FAILURE 0 -->

<!-- SCOPE DR_OUTPUT 0 -->
<!-- DR_OUTPUT  for cash flows -->
<xsl:template match="/ZIPPY/SENSITIVITY/DRO_HIST_DELTA|/ZIPPY/SENSITIVITY/DRO_HIST_DIV_DIFF|/ZIPPY/SENSITIVITY/IW_CAPITAL|/ZIPPY/SENSITIVITY/IW_INTEREST|/ZIPPY/SENSITIVITY/IW_PUT|/ZIPPY/SENSITIVITY/IW_PVDIVS|/ZIPPY/SENSITIVITY/IW_STRIKE|/ZIPPY/SENSITIVITY/SPI_LOAN_COST_RATE">
EXEC merlin_i_py_dr_output <xsl:value-of select="../@pyramidID"/>,NULL,<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'<xsl:value-of select="@date"/>',NULL,NULL,NULL,NULL,NULL,NULL
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 0 -->

<!-- SCOPE DR_OUTPUT 1 -->
<!-- DR_OUTPUT  for cash flow lists, note we don't write back zero values -->
<xsl:template match="/ZIPPY/SENSITIVITY/SPI_GAP_RISK_PROFILE/point[@value != 0]|/ZIPPY/SENSITIVITY/SPI_GAP_RISK_PROFILE_CRASH_COUPONS/point[@value != 0]|/ZIPPY/SENSITIVITY/TRANCHE_LOWER_BC_BETAS/point[@value != 0]|/ZIPPY/SENSITIVITY/TRANCHE_UPPER_BC_BETAS/point[@value != 0]">
EXEC merlin_i_py_dr_output <xsl:value-of select="../../@pyramidID"/>,NULL,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:value-of select="@value"/>,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'<xsl:value-of select="@date"/>',NULL,NULL,NULL,NULL,<xsl:value-of select="position() div 2 - 1"/>,NULL
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 1 -->

<!-- SCOPE DR_OUTPUT 2 -->
<!-- DR_OUTPUT  for double arrays, note we don't write back zero values -->
<xsl:template match="/ZIPPY/SENSITIVITY/FLEX_ARRAY_VAR/point[@value != 0]|/ZIPPY/SENSITIVITY/SPI_ALLOCS/point[@value != 0]|/ZIPPY/SENSITIVITY/SPI_CCC_PROFILE_AVG_CRASH_SIZE/point[@value != 0]|/ZIPPY/SENSITIVITY/SPI_CCC_PROFILE_AVG_NOTIONAL/point[@value != 0]|/ZIPPY/SENSITIVITY/SPI_EQUITY_LEVELS/point[@value != 0]|/ZIPPY/SENSITIVITY/VECTORIZED_FV/point[@value != 0]">
EXEC merlin_i_py_dr_output <xsl:value-of select="../../@pyramidID"/>,NULL,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:value-of select="@value"/>,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,<xsl:value-of select="position() div 2 - 1"/>, NULL
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 2 -->

<!-- SCOPE DR_OUTPUT 3 -->
<!-- DR_OUTPUT  for BARRIER LEVEL CD2308 Barrier Level Transforms, added @text2-->
<xsl:template match="/ZIPPY/SENSITIVITY/BARRIER_LEVEL/point[@value != 0]|/ZIPPY/SENSITIVITY/RISK_BARRIER_LEVEL/point[@value != 0]">
EXEC merlin_i_py_dr_output <xsl:value-of select="../../@pyramidID"/>, <xsl:value-of select="../underlying"/>, <xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /></xsl:call-template>, <xsl:value-of select="@value"/>, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '<xsl:value-of select="@text"/>' , '<xsl:value-of select="@text2"/>' , '<xsl:value-of select="@isOut"/><xsl:if test='boolean(@isOut) = false'>NULL</xsl:if>', '<xsl:value-of select="@label"/><xsl:if test='boolean(@label) = false'>NULL</xsl:if>' , '<xsl:value-of select="@date"/>', NULL, NULL, NULL, NULL, NULL, NULL
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 3 -->

<!-- SCOPE DR_OUTPUT 4 -->
<!-- DR_OUTPUT  for cash flow lists, note we don't write back zero values -->
<xsl:template match="/ZIPPY/SENSITIVITY/EDS_DELTA_CURVE/point[@value != 0]|/ZIPPY/SENSITIVITY/EDS_RISKY_DURATION/point[@value != 0]|/ZIPPY/SENSITIVITY/EDS_RUNNING_FEE/point[@value != 0]|/ZIPPY/SENSITIVITY/EDS_UPFRONT/point[@value != 0]|/ZIPPY/SENSITIVITY/EDS_VEGA_CURVE/point[@value != 0]|/ZIPPY/SENSITIVITY/THETA_CASHFLOWS/point[@value != 0]">
EXEC merlin_i_py_dr_output <xsl:value-of select="../../@pyramidID"/>,NULL,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /></xsl:call-template>,<xsl:value-of select="@value"/>,NULL,NULL,NULL,NULL,NULL,NULL,NULL,<xsl:choose><xsl:when test="boolean(@label)='true'">'<xsl:value-of select="@label"/>'</xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose>,NULL,NULL,NULL,<xsl:choose><xsl:when test="boolean(@date)='true'">'<xsl:value-of select="@date"/>'</xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose>,NULL,NULL,NULL,NULL,<xsl:value-of select="position() div 2 - 1"/>,NULL
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 4 -->

<!-- SCOPE DR_OUTPUT 5 -->
<!-- DR_OUTPUT  for physical delivery lists, (2 dates and 2 doubles) -->
<xsl:template match="/ZIPPY/SENSITIVITY/PHYSICAL_DELIVERY/point|/ZIPPY/SENSITIVITY/THETA_PHYSICAL_DELIVERY/point">
EXEC merlin_i_py_dr_output <xsl:value-of select="../../@pyramidID"/>,<xsl:value-of select="../underlying"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select= 'name(..)' /></xsl:call-template>,<xsl:value-of select="@value1"/>,<xsl:value-of select="@value2"/>,NULL, NULL, NULL , NULL , NULL, NULL, NULL , NULL , NULL, NULL, '<xsl:value-of select="@date1"/>', '<xsl:value-of select="@date2"/>' , NULL, NULL, <xsl:if test='boolean(../../CCY_UNIT/@value) = false'>NULL</xsl:if><xsl:if test='boolean(../../CCY_UNIT/@value) != false'>'<xsl:value-of select="../../CCY_UNIT/@value"/>'</xsl:if> , <xsl:value-of select="position() div 2 - 1"/> , NULL
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 5 -->

<!-- SCOPE DR_OUTPUT 6 -->
<!-- DR_OUTPUT  for physical delivery lists, (2 dates and 1 doubles) -->
<xsl:template match="/ZIPPY/SENSITIVITY/ACCRUAL_CALENDAR/point|/ZIPPY/SENSITIVITY/COUPON_DUE/point">
EXEC merlin_i_py_dr_output <xsl:value-of select="../../@pyramidID"/>, NULL, <xsl:call-template name='idpr'><xsl:with-param name='id_calc' select= 'name(..)' /></xsl:call-template> , <xsl:value-of select="@value1"/> , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '<xsl:value-of select="@date1"/>', '<xsl:value-of select="@date2"/>', NULL, NULL, <xsl:if test='boolean(../../CCY_UNIT/@value) = false'>NULL</xsl:if><xsl:if test='boolean(../../CCY_UNIT/@value) != false'>'<xsl:value-of select="../../CCY_UNIT/@value"/>'</xsl:if>, <xsl:value-of select="position() div 2 - 1"/>, NULL
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 6 -->

<!-- SCOPE DR_OUTPUT 7 -->
<!-- DR_OUTPUT for handling PAR_SPREAD_CURVE -->
<xsl:template match="/ZIPPY/SENSITIVITY/PAR_SPREAD_CURVE/point[@value != 0]">
EXEC merlin_i_py_dr_output <xsl:value-of select="../../@pyramidID"/>, <xsl:value-of select="../underlying"/>, <xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /></xsl:call-template>, <xsl:value-of select="@value"/>, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '<xsl:value-of select="@label"/>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '<xsl:value-of select="../../CCY_UNIT/@value"/>', NULL, NULL
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 7 -->

<!-- SCOPE DR_OUTPUT 8 -->
<!-- DR_OUTPUT for handling RISK_MAPPED_SENS -->
<xsl:template match="/ZIPPY/SENSITIVITY/RISK_MAPPED_SENS">
<xsl:for-each select="./CHILDARRAY[1]/entry">
EXEC merlin_i_py_dr_output <xsl:value-of select="../../../@pyramidID"/>,NULL,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(../..)'/></xsl:call-template>,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'<xsl:value-of select="@value"/>','<xsl:value-of select="../../CHILDARRAY[2]/entry[position()]/@value"/>',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
</xsl:for-each>
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 8 -->

<!-- SCOPE DR_OUTPUT 9 -->
<!-- DR_OUTPUT  for STRIKE_LEVEL for Comm Exotics -->
<xsl:template match="/ZIPPY/SENSITIVITY/STRIKE_LEVEL">
EXEC merlin_i_py_dr_output <xsl:value-of select="../@pyramidID"/>, NULL, <xsl:call-template name='idpr'/>, <xsl:value-of select="@value"/>, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 9 -->

<!-- SCOPE DR_OUTPUT 10 -->
<!-- DR_OUTPUT  for MATURITY_LEVEL for Comm Exotics -->
<xsl:template match="/ZIPPY/SENSITIVITY/UNDERLYING_MATURITY">
EXEC merlin_i_py_dr_output  <xsl:value-of select="../@pyramidID"/>, NULL, <xsl:call-template name='idpr'/>, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '<xsl:value-of select="@label"/>', NULL, NULL, NULL, NULL, NULL, NULL
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 10 -->

<!-- SCOPE DR_OUTPUT 11 -->
<!-- DR_OUTPUT  for CREDIT_GAMMA_MATRIX -->
<xsl:template match="/ZIPPY/SENSITIVITY/CREDIT_GAMMA_MATRIX">
EXEC merlin_i_py_dr_output <xsl:value-of select="../@pyramidID"/>, NULL, <xsl:call-template name='idpr'/>, <xsl:value-of select="@value"/>, NULL, NULL,  NULL, NULL, NULL, NULL, NULL, '<xsl:value-of select="sector1" />', '<xsl:value-of select="sector2" />', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,NULL
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 11 -->


<!-- SCOPE DR_OUTPUT 15 -->
<!-- DR_OUTPUT for Plain Text into tx_output_2 -->
<xsl:template match="/ZIPPY/SENSITIVITY/HIST_DIV_DIFF_FORMULAR">
EXEC merlin_i_py_dr_output  <xsl:value-of select="../@pyramidID"/>, NULL, <xsl:call-template name='idpr'/>, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '<xsl:value-of select="@value"/>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 15 -->

<!-- SCOPE DR_OUTPUT 17 -->
<!-- DR_OUTPUT for magicString value into tx_output_1. NOTE: This calls EASpopImntGroup and is only for PRODUCT_ID calc -->
<xsl:template match="/ZIPPY/SENSITIVITY/PRODUCT_ID">
EXEC merlin_i_py_dr_output  <xsl:value-of select="../@pyramidID"/>, NULL, <xsl:call-template name='idpr'/>, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '<xsl:value-of select="@value"/>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
EXEC EASpopImntGroup <xsl:value-of select="../@pyramidID"/>, '<xsl:value-of select="@value"/>'
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 17 -->

<!-- SCOPE DR_OUTPUT 18 -->
<!-- DR_OUTPUT for FORWARD SKEW MATRIX and FORWARD CONVEXITY MATRIX -->
<xsl:template match="/ZIPPY/SENSITIVITY/FORWARD_CONVEXITY_MATRIX/point[@value != 0]|/ZIPPY/SENSITIVITY/FORWARD_SKEW_MATRIX/point[@value != 0]">
EXEC merlin_i_py_dr_output <xsl:value-of select="../../@pyramidID"/>, <xsl:value-of select="substring-after(../underlying, '-')"/>, <xsl:choose><xsl:when test="name(..) = 'FORWARD_SKEW_MATRIX'">'FDSM'</xsl:when><xsl:when test="name(..) = 'FORWARD_CONVEXITY_MATRIX'">'FDCM'</xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose>, <xsl:value-of select="@value"/>, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '<xsl:value-of select="@ulLabel"/>','<xsl:value-of select="@optLabel"/>',NULL,NULL,<xsl:choose><xsl:when test="@optDate">'<xsl:value-of select="@optDate"/>'</xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose>, NULL, NULL, NULL,'<xsl:value-of select="../../CCY_UNIT/@value"/>', NULL, NULL 
</xsl:template>
<!-- SCOPE_END DR_OUTPUT 18 -->

<!-- SCOPE LEGAL_BASIS_RISK_SENS 0 -->
<!-- LEGAL_BASIS_RISK_SENS Risk table 18 AAH CD1311 -->
<xsl:template match="/ZIPPY/SENSITIVITY/LEGAL_BASIS_ADDITIVE_PARALLEL|/ZIPPY/SENSITIVITY/LEGAL_BASIS_ADDITIVE_RECOVERY|/ZIPPY/SENSITIVITY/LEGAL_BASIS_MULTIPLIER_PARALLEL|/ZIPPY/SENSITIVITY/LEGAL_BASIS_MULTIPLIER_RECOVERY">
EXEC merlin_i_py_legal_rsk_sens <xsl:value-of select="../@pyramidID"/>,<xsl:value-of select="underlying"/>,<xsl:call-template name='idpr' />,<xsl:value-of select="@value"/>,<xsl:if test='boolean(../CCY_UNIT/@value) = false'>NULL</xsl:if><xsl:if test='boolean(../CCY_UNIT/@value) != false'>'<xsl:value-of select="../CCY_UNIT/@value"/>'</xsl:if>,NULL
</xsl:template>
<!-- SCOPE_END LEGAL_BASIS_RISK_SENS 0 -->

<!-- SCOPE LEGAL_BASIS_RISK_TWEAK 0 -->
<!-- LEGAL_BASIS_RISK_TWEAK Risk table 19 AAH CD1311-->
<xsl:template match="/ZIPPY/SENSITIVITY/LEGAL_BASIS_ADDITIVE_POINTWISE/point|/ZIPPY/SENSITIVITY/LEGAL_BASIS_MULTIPLIER_POINTWISE/point">
EXEC merlin_i_py_legal_bas_rsk_twk <xsl:value-of select="../../@pyramidID"/>,<xsl:value-of select="../underlying"/>,'<xsl:value-of select="@label"/>',<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /></xsl:call-template>,<xsl:value-of select="@value"/>,<xsl:if test='boolean(../../CCY_UNIT/@value) = false'>NULL</xsl:if><xsl:if test='boolean(../../CCY_UNIT/@value) != false'>'<xsl:value-of select="../../CCY_UNIT/@value"/>'</xsl:if>,NULL
</xsl:template>
<!-- SCOPE_END LEGAL_BASIS_RISK_TWEAK 0 --> 

<!-- SCOPE CROSS_RISK_SENS 0 -->
<!-- CROSS_RISK_SENS Risk table 20 AAH CD1311 -->
<xsl:template match="/ZIPPY/SENSITIVITY/CROSS_GAMMA|/ZIPPY/SENSITIVITY/D_DELTA_T_PLUS_N_D_SPOT|/ZIPPY/SENSITIVITY/FX_CROSS_GAMMA|/ZIPPY/SENSITIVITY/FX_PHI|/ZIPPY/SENSITIVITY/PHI|/ZIPPY/SENSITIVITY/PHIPLUS|/ZIPPY/SENSITIVITY/PHI_BASKET|/ZIPPY/SENSITIVITY/VEGA_WEIGHTED_CROSS_GAMMA|/ZIPPY/SENSITIVITY/VEGA_WEIGHTED_PHI|/ZIPPY/SENSITIVITY/XFX_CROSS_GAMMA|/ZIPPY/SENSITIVITY/XFX_PHI">
EXEC merlin_i_py_cross_rsk_sens <xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr' />,<xsl:value-of select="asset1"/>,'<xsl:value-of select="mktProp1"/>',<xsl:value-of select="asset2"/>,'<xsl:value-of select="mktProp2"/>',NULL,<xsl:value-of select="@value"/>,<xsl:if test='boolean(../CCY_UNIT/@value) = false'>NULL</xsl:if><xsl:if test='boolean(../CCY_UNIT/@value) != false'>'<xsl:value-of select="../CCY_UNIT/@value"/>'</xsl:if>
</xsl:template>
<!-- SCOPE_END CROSS_RISK_SENS 0 -->

<!-- SCOPE CROSS_RISK_SENS 1 -->
<!-- CROSS_RISK_SENS Risk table 20 AAH CD2029 -->
<xsl:template match="/ZIPPY/SENSITIVITY/EQIR_PHI">
EXEC merlin_i_py_cross_rsk_sens <xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr' />,<xsl:value-of select="asset1"/>,'<xsl:value-of select="mktProp1"/>',NULL,'','<xsl:value-of select="currency" />',<xsl:value-of select="@value"/>,<xsl:if test='boolean(../CCY_UNIT/@value) = false'>NULL</xsl:if><xsl:if test='boolean(../CCY_UNIT/@value) != false'>'<xsl:value-of select="../CCY_UNIT/@value"/>'</xsl:if>
</xsl:template>
<!-- SCOPE_END CROSS_RISK_SENS 1 -->

<!-- SCOPE CROSS_RISK_SENS 2 -->
<!-- CROSS_RISK_SENS Risk table 20  -->
<xsl:template match="/ZIPPY/SENSITIVITY/CROSS_GAMMA_RM">
EXEC merlin_i_py_cross_rsk_sens <xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr' />,<xsl:value-of select="underlying[position()=1]"/>,'EQSP',<xsl:value-of select="underlying[position()=2]"/>,'EQSP',NULL,<xsl:value-of select="@value"/>,<xsl:if test='boolean(../CCY_UNIT/@value) = false'>NULL</xsl:if><xsl:if test='boolean(../CCY_UNIT/@value) != false'>'<xsl:value-of select="../CCY_UNIT/@value"/>'</xsl:if>
</xsl:template>
<!-- SCOPE_END CROSS_RISK_SENS 2 -->

<!-- SCOPE XASSET_CLASS_SENSITIVITY 0 -->
<!-- XASSET_CLASS_SENSITIVITY table 21 AH CD2817 -->
<xsl:template match="/ZIPPY/SENSITIVITY/CORR_SWAP_SAMPLING_ADJ_TWEAK|/ZIPPY/SENSITIVITY/LONG_TERM_SQUEEZE_TWEAK|/ZIPPY/SENSITIVITY/SHORT_TERM_SQUEEZE_TWEAK">
EXEC merlin_i_py_xasset_class_sens <xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr' />,<xsl:value-of select="id_region_1"/>, '<xsl:value-of select="id_asset_class_1"/>', <xsl:value-of select="id_region_2"/>, '<xsl:value-of select="id_asset_class_2"/>',<xsl:value-of select="@value"/>,<xsl:if test='boolean(../CCY_UNIT/@value) = false'>NULL</xsl:if><xsl:if test='boolean(../CCY_UNIT/@value) != false'>'<xsl:value-of select="../CCY_UNIT/@value"/>'</xsl:if>
</xsl:template>
<!-- SCOPE_END XASSET_CLASS_SENSITIVITY 0 -->

<!-- SCOPE PARTY_RISK_MATRIX 0 -->
<xsl:template match="/ZIPPY/SENSITIVITY/BETA_SKEW_MATRIX/point[@value != 0]|/ZIPPY/SENSITIVITY/BETA_SKEW_PARALLEL_DELTA/point[@value != 0]|/ZIPPY/SENSITIVITY/CONTAGION_FACTOR_POINTWISE/point[@value != 0]|/ZIPPY/SENSITIVITY/QUASI_CONTRACTUAL_BETA_SKEW_MATRIX/point[@value != 0]">
EXEC merlin_i_py_party_risk_matrix <xsl:value-of select="../../@pyramidID"/> ,'<xsl:choose><xsl:when test="starts-with(../underlying, 'indexSkew-')"><xsl:choose><xsl:when test="contains(../underlying, '-CCM')"><xsl:value-of select="substring-before(substring-after(../underlying, 'indexSkew-'), '-CCM')"/></xsl:when><xsl:when test="contains(../underlying,'|')"><xsl:variable name = "indexName" select  = "substring-before(substring-after(../underlying, 'indexSkew-'),' |')"/><xsl:value-of select="$indexName"/></xsl:when><xsl:otherwise><xsl:value-of select="substring-after(../underlying, 'indexSkew-')"/></xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise><xsl:value-of select="../underlying"/></xsl:otherwise></xsl:choose>',<xsl:choose><xsl:when test="@label">'<xsl:value-of select="@label"/>'</xsl:when><xsl:otherwise>'ABS'</xsl:otherwise></xsl:choose> , <xsl:choose><xsl:when test="@matDate">'<xsl:value-of select="@matDate"/>'</xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose> ,<xsl:value-of select="@strike"/>,<xsl:choose> <xsl:when test="contains(../underlying, '|')"> <xsl:variable name = "spread" select = "substring-after(../underlying, '|')" /><xsl:value-of select="$spread"/></xsl:when><xsl:otherwise> 0</xsl:otherwise></xsl:choose>, <xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template> , <xsl:value-of select="@value"/> , <xsl:choose><xsl:when test="../../CCY_UNIT/@value">'<xsl:value-of select="../../CCY_UNIT/@value"/>'</xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose> 
</xsl:template>
<!-- SCOPE_END PARTY_RISK_MATRIX 0 -->

<!-- SCOPE PARTY_RISK_SENSITIVITY 0 -->
<xsl:template match="/ZIPPY/SENSITIVITY/DURATION_WEIGHTED_AVG|/ZIPPY/SENSITIVITY/QUASI_CONTRACTUAL_BETA_SKEW_PARALLEL|/ZIPPY/SENSITIVITY/SQUEEZE_PARALLEL|/ZIPPY/SENSITIVITY/STRIKE_MAPPING">
EXEC merlin_i_py_party_sens <xsl:value-of select="../@pyramidID"/>,'<xsl:choose><xsl:when test="starts-with(underlying, 'indexSkew-')"><xsl:value-of select="substring-after(underlying, 'indexSkew-')"></xsl:value-of></xsl:when><xsl:otherwise><xsl:value-of select="underlying"/></xsl:otherwise></xsl:choose>' ,<xsl:call-template name='idpr' /> ,<xsl:value-of select="@value"/> ,<xsl:choose><xsl:when test="../CCY_UNIT/@value">'<xsl:value-of select="../CCY_UNIT/@value"/>'</xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose> 
</xsl:template>
<!-- SCOPE_END PARTY_RISK_SENSITIVITY 0 -->








<!-- SCOPE CDS_VEGA_TWEAK 0-->
<!-- CDS_VEGA_TWEAK (note we don't write back zero values) -->
<xsl:template match="/ZIPPY/SENSITIVITY/CR_VEGA_POINTWISE/point[@value != 0]">
EXEC merlin_i_py_cdsvt <xsl:choose><xsl:when test="@optLabel">'<xsl:value-of select="@optLabel"/>'</xsl:when><xsl:otherwise>'ABS'</xsl:otherwise></xsl:choose>,<xsl:choose><xsl:when test="@optDate">'<xsl:value-of select="@optDate"/>'</xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose>,<xsl:choose><xsl:when test="@optDate">'A'</xsl:when><xsl:otherwise>'R'</xsl:otherwise></xsl:choose>,<xsl:choose><xsl:when test="@ulLabel">'<xsl:value-of select="@ulLabel"/>'</xsl:when><xsl:otherwise>'ABS'</xsl:otherwise></xsl:choose>,<xsl:choose><xsl:when test="@ulDate">'<xsl:value-of select="@ulDate"/>'</xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose>,<xsl:choose><xsl:when test="@ulDate">'A'</xsl:when><xsl:otherwise>'R'</xsl:otherwise></xsl:choose>,<xsl:value-of select="../../@pyramidID"/>,'<xsl:value-of select="substring-before(substring-after(../underlying, '-'), '-')"/>','<xsl:value-of select="substring(substring-after(substring-after(../underlying, '-'), '-'), 1, 3)"/>','<xsl:value-of select="substring-before(substring-after(substring-after(substring-after(../underlying, '-'), '-'), '-'), '-')"/>','<xsl:value-of select="../../CCY_UNIT/@value"/>',<xsl:value-of select="@strike"/><xsl:if test='boolean(@strike) = false'>NULL</xsl:if>,<xsl:value-of select="@value"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:variable name="id_asset" select="substring-after(substring-after(substring-after(substring-after(../underlying, '-'), '-'), '-'), '-')"/><xsl:variable name="id_typ_asset" select="substring-before(../underlying, '-')" /><xsl:choose><xsl:when test="$id_typ_asset != ''"><xsl:choose><xsl:when test="$id_typ_asset = 'cdsVol'">'CDS'</xsl:when><xsl:when test="$id_typ_asset = 'trancheVol'">'CCU'</xsl:when><xsl:otherwise>'<xsl:value-of select="$id_typ_asset" />'</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose>,<xsl:choose><xsl:when test="$id_asset != ''"><xsl:value-of select="$id_asset" /></xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose>
</xsl:template>
<!-- SCOPE_END CDS_VEGA_TWEAK 0 -->

<!-- SCOPE CDS_VEGA_PARALLEL 0 -->
<!-- CDS_VEGA_PARALLEL - CD6296 -->
<xsl:template match="/ZIPPY/SENSITIVITY/CR_MEAN_REVERSION_PARALLEL|/ZIPPY/SENSITIVITY/CR_VEGA_PARALLEL">
EXEC merlin_i_py_cdsvp <xsl:value-of select="../@pyramidID"/>,'<xsl:value-of select="substring-before(substring-after(underlying, '-'), '-')"/>','<xsl:value-of select="substring(substring-after(substring-after(underlying, '-'), '-'), 1, 3)"/>','<xsl:value-of select="substring-before(substring-after(substring-after(substring-after(underlying, '-'), '-'), '-'), '-')"/>','<xsl:value-of select="../CCY_UNIT/@value"/>',<xsl:value-of select="@value"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name()' /></xsl:call-template>,<xsl:variable name="id_asset" select="substring-after(substring-after(substring-after(substring-after(underlying, '-'), '-'), '-'), '-')"/><xsl:variable name="id_typ_asset" select="substring-before(underlying, '-')" /><xsl:choose><xsl:when test="$id_typ_asset != ''"><xsl:choose><xsl:when test="$id_typ_asset = 'cdsVol'">'CDS'</xsl:when><xsl:when test="$id_typ_asset = 'trancheVol'">'CCU'</xsl:when><xsl:otherwise>'<xsl:value-of select="$id_typ_asset" />'</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose>,<xsl:choose><xsl:when test="$id_asset != ''"><xsl:value-of select="$id_asset" /></xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose>
</xsl:template>
<!-- SCOPE_END CDS_VEGA_PARALLEL 0 -->

<!-- SCOPE ASSET_CLASS_SENSITIVITY 0-->
<xsl:template match="/ZIPPY/SENSITIVITY/CRASH_COUPON_DELTA|/ZIPPY/SENSITIVITY/CRASH_COUPON_MULTCVX|/ZIPPY/SENSITIVITY/CRASH_COUPON_MULTSENS|/ZIPPY/SENSITIVITY/CRASH_COUPON_SENS|/ZIPPY/SENSITIVITY/CRASH_YIELD_DELTA">
EXEC merlin_i_py_acs <xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name()' /> </xsl:call-template>,'<xsl:value-of select="currency"/>',0,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>'
</xsl:template>
<!-- SCOPE_END ASSET_CLASS_SENSITIVITY 0-->

<!-- SCOPE ASSET_CLASS_SENSITIVITY 1-->
<xsl:template match="/ZIPPY/SENSITIVITY/CRASH_COUPON_SENS_MATRIX/point[@value != 0]">
EXEC merlin_i_py_acs <xsl:value-of select="../../@pyramidID"/>, <xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>, '<xsl:value-of select="../currency"/>', 0, <xsl:value-of select="@value"/>, '<xsl:value-of select="../../CCY_UNIT/@value"/>', <xsl:value-of select="@strike"/>,<xsl:choose><xsl:when test="@date">'<xsl:value-of select="@date"/>'</xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose>, <xsl:choose><xsl:when test="@label">'R'</xsl:when><xsl:otherwise>'A'</xsl:otherwise></xsl:choose>, <xsl:choose><xsl:when test="@label">'<xsl:value-of select="@label"/>'</xsl:when><xsl:otherwise>'ABS'</xsl:otherwise></xsl:choose>
</xsl:template>
<!-- SCOPE_END ASSET_CLASS_SENSITIVITY 1-->

<!-- SCOPE DR_CASHFLOW 0 -->
<!-- DR_CASHFLOW - CD -->
<xsl:template match="/ZIPPY/SENSITIVITY/CASHFLOWS/cashFlowInfo[@amount != 0]">
EXEC merlin_i_py_dr_cashflow <xsl:value-of select="../../@pyramidID"/>, '<xsl:value-of select="@compName"/>', '<xsl:value-of select="@cfType"/>', '<xsl:value-of select="@amountType"/>', '<xsl:value-of select="../@eventDate"/>', '<xsl:value-of select="@date"/>', <xsl:value-of select="@amount"/>, '<xsl:value-of select="@ccy"/>'
</xsl:template>
<!-- SCOPE_END DR_CASHFLOW 0 -->

<!-- SCOPE UND_RISK_SENSITIVITY_CTRT 0-->
<xsl:template match="/ZIPPY/SENSITIVITY/COMMODITY_DELTA_POINTWISE/point|/ZIPPY/SENSITIVITY/COMMODITY_GAMMA_POINTWISE/point|/ZIPPY/SENSITIVITY/COMMODITY_SMILESENS_10RR_POINTWISE/point|/ZIPPY/SENSITIVITY/COMMODITY_SMILESENS_10STR_POINTWISE/point|/ZIPPY/SENSITIVITY/COMMODITY_SMILESENS_2510RR_POINTWISE/point|/ZIPPY/SENSITIVITY/COMMODITY_SMILESENS_2510STR_POINTWISE/point|/ZIPPY/SENSITIVITY/COMMODITY_SMILESENS_25RR_POINTWISE/point|/ZIPPY/SENSITIVITY/COMMODITY_SMILESENS_25STR_POINTWISE/point|/ZIPPY/SENSITIVITY/COMMODITY_VEGA_POINTWISE/point|/ZIPPY/SENSITIVITY/FUTURES_COMMODITY_SPOT/point">
EXEC merlin_i_py_und_sens_ctrt '<xsl:value-of select="@label"/>',<xsl:value-of select="../underlying"/>,<xsl:value-of select="../../@pyramidID"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../../CCY_UNIT/@value"/>'
</xsl:template>
<!-- SCOPE_END UND_RISK_SENSITIVITY_CTRT 0-->

<!--SCOPE CORR_PARALLEL_TWEAK 0 -->
<!--CORR_PARALLEL_TWEAK -->
<xsl:template match="/ZIPPY/SENSITIVITY/COMMODITY_CORREL_SENS_PARALLEL">
EXEC merlin_i_py_corpartwk <xsl:value-of select="substring-after(../@pyramidID, '-')"/>,<xsl:call-template name='idpr'/>,<xsl:value-of select="substring-after(substring-after(underlying, '-'),'-')"/>,<xsl:value-of select="substring-before(substring-after(underlying, '-'),'-')"/>,<xsl:value-of select="@value"/>
</xsl:template>
<!--SCOPE_END CORR_PARALLEL_TWEAK 0 -->

<!--SCOPE CORR_POINT_TWEAK 0 -->
<!--CORR_POINT_TWEAK -->
<xsl:template match="/ZIPPY/SENSITIVITY/COMMODITY_CORREL_SENS_POINTWISE/point">
EXEC merlin_i_py_cortwkpoint <xsl:value-of select="substring-after(../../@pyramidID, '-')"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)'/></xsl:call-template>,<xsl:value-of select="substring-after(substring-after(../underlying, '-'),'-')"/>,NULL,'<xsl:value-of select='@label'/>',<xsl:value-of select="substring-before(substring-after(../underlying, '-'),'-')"/>,NULL,NULL,<xsl:value-of select="@value"/>
</xsl:template>
<!--SCOPE_END CORR_POINT_TWEAK 0 -->

<!-- SCOPE FSA_CASHFLOW 0 -->
<!-- FSA_CASHFLOW (note we only writeback rows where amount or pvAmount are non-zero) -->
<xsl:template match="/ZIPPY/SENSITIVITY/FSA_LIQUIDITY_REPORT">
<xsl:for-each select="cashflow[@amount != 0 or @pvAmount != 0]">
EXEC merlin_i_py_fsa_cf <xsl:value-of select="../../@pyramidID"/>,<xsl:value-of select="position() - 1"/>,'<xsl:value-of select="@paydate"/>','<xsl:value-of select="@type"/>','<xsl:value-of select="@ccy"/>',<xsl:value-of select="@amount"/>,<xsl:value-of select="@pvAmount"/>,'<xsl:value-of select="@isAmountKnown"/>','<xsl:value-of select="@isDateKnown"/>'
</xsl:for-each>
</xsl:template>
<!-- SCOPE_END FSA_CASHFLOW 0 -->

<!-- *** Special handlers for model and param addon *** -->

<xsl:template match="/ZIPPY/SENSITIVITY/PRICE_ADDON[not(boolean(underlying))]">
EXEC merlin_i_py_imnt <xsl:value-of select="../@pyramidID"/>,'FVAD',<xsl:value-of select="@value"/>,<xsl:value-of select="../CALC_TIME/@value"/><xsl:if test="boolean(../CALC_TIME/@value) = false">0.0</xsl:if>,'<xsl:value-of select="../CCY_UNIT/@value"/>'
</xsl:template>

<xsl:template match="/ZIPPY/SENSITIVITY/PRICE_PARAM[not(boolean(underlying))]">
EXEC merlin_i_py_imnt <xsl:value-of select="../@pyramidID"/>,'FVPA',<xsl:value-of select="@value"/>,<xsl:value-of select="../CALC_TIME/@value"/><xsl:if test="boolean(../CALC_TIME/@value) = false">0.0</xsl:if>,'<xsl:value-of select="../CCY_UNIT/@value"/>'
</xsl:template>

<xsl:template match="/ZIPPY/SENSITIVITY/DELTA_ADDON|/ZIPPY/SENSITIVITY/DELTA_PARAM|/ZIPPY/SENSITIVITY/GAMMA_ADDON|/ZIPPY/SENSITIVITY/GAMMA_PARAM">
<xsl:if test='underlying'>
EXEC merlin_i_py_und <xsl:value-of select="underlying"/>,<xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>'
</xsl:if>
</xsl:template>

<!-- IMNT_RISK_SENSITIVITY -->
<xsl:template match="/ZIPPY/SENSITIVITY/THETA_ADDON|/ZIPPY/SENSITIVITY/THETA_PARAM|/ZIPPY/SENSITIVITY/PHI_PARALLEL_ADDON|/ZIPPY/SENSITIVITY/PHI_PARALLEL_PARAM">
<!-- id_imnt, id_param_rsk, am_exp_rsk, id_ccy_unit, dg_comp_time -->
EXEC merlin_i_py_imnt <xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,NULL,'<xsl:value-of select="../CCY_UNIT/@value"/>'
</xsl:template>

<!-- Special handling for FX_VEGA -->
<xsl:template match="/ZIPPY/SENSITIVITY/FX_VEGA_ADDON|/ZIPPY/SENSITIVITY/FX_VEGA_PARAM">
<xsl:if test='currency[position()=1] = ../CCY_UNIT/@value'>
EXEC merlin_i_py_ccy <xsl:value-of select="../@pyramidID"/>,'<xsl:value-of select="currency[2]"/>',<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>','MM'
</xsl:if>
</xsl:template>

<xsl:template match="/ZIPPY/SENSITIVITY/FX_DELTA_ADDON|/ZIPPY/SENSITIVITY/FX_DELTA_PARAM">
EXEC merlin_i_py_ccy <xsl:value-of select="../@pyramidID"/>,'<xsl:value-of select="currency[2]"/>',<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>','MM'
</xsl:template>

<xsl:template match="/ZIPPY/SENSITIVITY/CROSS_GAMMA_ADDON|/ZIPPY/SENSITIVITY/CROSS_GAMMA_PARAM">
EXEC merlin_i_py_cross_rsk_sens <xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr' />,<xsl:value-of select="asset1"/>,'<xsl:value-of select="mktProp1"/>',<xsl:value-of select="asset2"/>,'<xsl:value-of select="mktProp2"/>',NULL,<xsl:value-of select="@value"/>,<xsl:if test='boolean(../CCY_UNIT/@value) = false'>NULL</xsl:if><xsl:if test='boolean(../CCY_UNIT/@value) != false'>'<xsl:value-of select="../CCY_UNIT/@value"/>'</xsl:if>
</xsl:template>

<xsl:template match="/ZIPPY/SENSITIVITY/VEGA_MATRIX_ADDON/point[@value != 0]|/ZIPPY/SENSITIVITY/VEGA_MATRIX_PARAM/point[@value != 0]">
EXEC merlin_i_py_vt <xsl:choose><xsl:when test="@label">'<xsl:value-of select="@label"/>'</xsl:when><xsl:otherwise>'ABS'</xsl:otherwise></xsl:choose>, <xsl:choose><xsl:when test="@date">'<xsl:value-of select="@date"/>'</xsl:when><xsl:otherwise>NULL</xsl:otherwise></xsl:choose>, <xsl:value-of select="@value"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:value-of select="../underlying"/>,<xsl:value-of select="../../@pyramidID"/>,'<xsl:value-of select="../../CCY_UNIT/@value"/>',<xsl:value-of select="@strike"/><xsl:if test='boolean(@strike) = false'>NULL</xsl:if>
</xsl:template>

<!-- CURRENCY_RISK_SENSITIVITY RHO... -->
<xsl:template match="/ZIPPY/SENSITIVITY/RHO_PARALLEL_ADDON|/ZIPPY/SENSITIVITY/RHO_PARALLEL_PARAM">
EXEC merlin_i_py_ccy <xsl:value-of select="../@pyramidID"/>,'<xsl:value-of select="currency"/>',<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>','MM'
</xsl:template>

<xsl:template match="/ZIPPY/SENSITIVITY/RHO_POINTWISE_ADDON/point[@value != 0]|/ZIPPY/SENSITIVITY/RHO_POINTWISE_PARAM/point[@value != 0]">
EXEC merlin_i_py_rt '<xsl:value-of select="@label"/>',<xsl:value-of select="@value"/>,<xsl:call-template name='idpr'><xsl:with-param name='id_calc' select='name(..)' /> </xsl:call-template>,<xsl:value-of select="../../@pyramidID"/>,'<xsl:value-of select="../currency"/>','<xsl:value-of select="../../CCY_UNIT/@value"/>','MM'
</xsl:template>

<xsl:template match="/ZIPPY/SENSITIVITY/VEGA_PARALLEL_ADDON|/ZIPPY/SENSITIVITY/VEGA_PARALLEL_PARAM">
<xsl:if test='underlying'>
EXEC merlin_i_py_und <xsl:value-of select="underlying"/>,<xsl:value-of select="../@pyramidID"/>,<xsl:call-template name='idpr'/>,<xsl:value-of select="@value"/>,'<xsl:value-of select="../CCY_UNIT/@value"/>'
</xsl:if>
</xsl:template>

<!-- *** End of special handlers of param model addon *** -->


<!-- IMNT_RISK_SENSITIVITY special for swaps The underlying is the imnt id here -->
<xsl:template match="/ZIPPY/SENSITIVITY/ESW_LEG_PRICE/underlying">
<!-- id_imnt, id_param_rsk, am_exp_rsk, id_ccy_unit, dg_comp_time -->
EXEC merlin_i_py_ccy <xsl:value-of select="."/>,'<xsl:value-of select="../currency"/>','FV',<xsl:value-of select="../@value"/>,'<xsl:value-of select="../../CCY_UNIT/@value"/>','MM'
</xsl:template>

<!-- IMNT_RISK_SENSITIVITY  Special for FV as it carries calc time -->
<xsl:template match="/ZIPPY/SENSITIVITY/PRICE[not(boolean(underlying))]">	 <!-- (logic to exclude SWLs, which are handled in analyticssqlTAIL.xslT) -->
<!--                                                                                             am_fv -->
EXEC merlin_i_py_imnt <xsl:value-of select="../@pyramidID"/>,'FV',<xsl:value-of select="@value"/>,<xsl:value-of select="../CALC_TIME/@value"/><xsl:if test="boolean(../CALC_TIME/@value) = false">0.0</xsl:if>,'<xsl:value-of select="../CCY_UNIT/@value"/>'
</xsl:template>

<!-- IMNT_RISK_SENSITIVITY  INTRADAY_PRICE -->
<xsl:template match="/ZIPPY/SENSITIVITY/INTRADAY_PRICE">
EXEC merlin_i_py_imnt <xsl:value-of select="../@pyramidID"/>,'FVI',<xsl:value-of select="@value"/>,0,'<xsl:value-of select="../CCY_UNIT/@value"/>'
</xsl:template>

<!-- IRS fix to extract FV from components -->
<xsl:template match="/ZIPPY/SENSITIVITY[@imntType = 'IRS']/components">
<xsl:for-each select="component">
EXEC merlin_i_py_imnt <xsl:value-of select="id/@value"/>,'FV',<xsl:value-of select="PRICE/@value"/>,0,'<xsl:value-of select="CCY_UNIT/@value"/>'
</xsl:for-each>
</xsl:template>

<xsl:template match="/ZIPPY/SENSITIVITY/ESW_LEG_PRICE_ASSET/underlying">
<!-- id_imnt, id_param_rsk, am_exp_rsk, id_ccy_unit, dg_comp_time -->
EXEC merlin_i_py_ccy <xsl:value-of select="."/>,'<xsl:value-of select="../currency"/>','FVA',<xsl:value-of select="../@value"/>,'<xsl:value-of select="../../CCY_UNIT/@value"/>','MM'
</xsl:template>

<!-- Flex SPI writeback to LEVEL_SCHEDULE -->
<xsl:template match="/ZIPPY/SENSITIVITY/FLEX_WRITEBACK/point">
EXEC merlin_i_py_flex_spi_fixings <xsl:value-of select="../../@pyramidID"/>, '<xsl:value-of select="@varName"/>', '<xsl:value-of select="@varType"/>', '<xsl:value-of select="@nameComponent"/>', '<xsl:value-of select="@wbComponent"/>', <xsl:value-of select="@value"/>, '<xsl:value-of select="@date"/>'
</xsl:template>

<!-- ReducedSamples writeback to DT_RISK_ARRAY_HEADER and DT_RISK_ARRAY -->
<xsl:template match="/ZIPPY/SENSITIVITY/REQUIRED_SAMPLES/RequiredSamples">

EXEC merlin_i_py_array_header <xsl:value-of select="../../@pyramidID"/>,<xsl:choose><xsl:when test="contains(substring-after(context/@value, 'equity-'), '_')"><xsl:value-of select="substring-before(substring-after(context/@value, 'equity-'),'_')"/></xsl:when><xsl:otherwise><xsl:value-of select="substring-after(context/@value, 'equity-')"/></xsl:otherwise></xsl:choose>, '<xsl:value-of select="source/@value"/>', '<xsl:value-of select="observationType/@value"/>', 'SPDT', '<xsl:value-of select="eventDate/@value"/>'

<xsl:for-each select="sampleDates/point">
EXEC merlin_i_py_risk_array <xsl:value-of select="../../../../@pyramidID"/>, <xsl:choose><xsl:when test="contains(substring-after(../../context/@value, 'equity-'), '_')"><xsl:value-of select="substring-before(substring-after(../../context/@value, 'equity-'),'_')"/></xsl:when><xsl:otherwise><xsl:value-of select="substring-after(../../context/@value, 'equity-')"/></xsl:otherwise></xsl:choose>, '<xsl:value-of select="@sampleDate"/>'
</xsl:for-each>

</xsl:template>

<!-- Writes back preload failures from Analytics -->
<xsl:template match="/ZIPPY/SENSITIVITY/PRELOAD_FAILURE">
EXEC merlin_i_py_pr_fail <xsl:choose><xsl:when test="contains(@error,'Corr-')"/><xsl:otherwise><xsl:value-of select="@merlin_job_id"/>,'<xsl:value-of select="translate(@error,'-','_')"/>'</xsl:otherwise></xsl:choose>
</xsl:template>

<!-- put this in to stop text from <underlying> nodes breaking through -->
<xsl:template match="text()">
</xsl:template>
</xsl:stylesheet>






-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org