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