Атрибут select
вложенного xsl:for-each
ничего не выбирает, и поэтому его тело не выполняется ни разу .
Внутри xsl:for-each
ваш текущий узел имеет вид:
CampaignData/Mailer/CustomerInfo/CustInfFld/Coupons/Cust_Sel_Coupons
Атрибут select внутреннего xsl:for-each
указывает:
CampaignData/Mailer/Coupons/Cntr_Sel_Coupons
это относительное выражение XPath, и оно разрешается из текущего узла. Таким образом, указанный select
для внутреннего xsl:for-each
на самом деле (снаружи внешнего xsl:for-each
):
CampaignData/Mailer/CustomerInfo/CustInfFld/Coupons/Cust_Sel_Coupons
/CampaignData/Mailer/Coupons/Cntr_Sel_Coupons
Маловероятно, что в исходном XML-документе есть такие узлы, которые вы не показывали.
Не имея исходного XML, невозможно сказать, каким именно должно быть относительное выражение - скорее всего:
Изменение:
<xsl:for-each select=
"CampaignData/Mailer/Coupons/Cntr_Sel_Coupons">
до:
<xsl:for-each select=
"../../../../Coupons/Cntr_Sel_Coupons">