Я хочу отсортировать один столбец (вывод в формате Excel), который заполняется из двух разных XPATH. Я попытался отсортировать заголовок столбца с помощью xsl: sort, он работает при первой сортировке на первом XPATH(p_episode_series/ES_PRODUCT/localTitles)
уровне, а затем на втором XPATH(txortxeventproduct/ES_PRODUCT/localTitles)
уровне. Но мне нужно сортировать по заголовку столбца не на основе XPATH.
Я сортирую, используя ниже XPATH:
txortxeventproduct/ES_PRODUCT/p_episode_series/ES_PRODUCT/localTitles/ES_PRODUCTTITLE[pt_type/ESP_PRODUCTTITLETYPE/@name = 'FR_Scheduling Title']/@pt_title
txortxeventproduct/ES_PRODUCT/localTitles/ES_PRODUCTTITLE[pt_type/ESP_PRODUCTTITLETYPE/@name = 'FR_Scheduling Title']/@pt_title
Мой код:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="xml" indent="yes" encoding="UTF-8" version="1.0"/>
<!-- Global Variables -->
<xsl:variable name="gvEpisodeProductType" select="'Episode'"/>
<!--MATCHING TEMPLATES -->
<xsl:template match="continuitydays">
<xsl:for-each select="ES_CONTINUITYDAY/txevents/ES_BMTXEVENT[txortxeventproduct/ES_PRODUCT/euQuotaType/ESP_EUQUOTATYPE/@oid='8653035019']">
<xsl:sort select="txortxeventproduct/ES_PRODUCT/p_episode_series/ES_PRODUCT/localTitles/ES_PRODUCTTITLE[pt_type/ESP_PRODUCTTITLETYPE/@name = 'FR_Scheduling Title']/@pt_title" order="ascending"/>
<xsl:sort select="txortxeventproduct/ES_PRODUCT/localTitles/ES_PRODUCTTITLE[pt_type/ESP_PRODUCTTITLETYPE/@name = 'FR_Scheduling Title']/@pt_title" order="ascending"/>
<Row>
<!-- Title -->
<Cell ss:StyleID="s82">
<Data ss:Type="String">
<xsl:choose>
<!-- checking is episode or Program -->
<xsl:when test="txortxeventproduct/ES_PRODUCT/@p_product_type = $gvEpisodeProductType">
<xsl:value-of select="txortxeventproduct/ES_PRODUCT/p_episode_series/ES_PRODUCT/localTitles/ES_PRODUCTTITLE[pt_type/ESP_PRODUCTTITLETYPE/@name = 'FR_Scheduling Title']/@pt_title"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="txortxeventproduct/ES_PRODUCT/localTitles/ES_PRODUCTTITLE[pt_type/ESP_PRODUCTTITLETYPE/@name = 'FR_Scheduling Title']/@pt_title"/>
</xsl:otherwise>
</xsl:choose>
</Data>
</Cell>
</Row>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Мой источник:
<?xml version="1.0" encoding="UTF-8"?>
<continuitydays>
<ES_CONTINUITYDAY>
<txevents>
<ES_BMTXEVENT>
<txortxeventproduct>
<ES_PRODUCT p_product_type="Episode">
<p_episode_series>
<ES_PRODUCT p_product_title="Bunk'd S1">
<localTitles>
<ES_PRODUCTTITLE pt_title="Camp Kikiwaka">
<pt_type>
<ESP_PRODUCTTITLETYPE name="FR_Scheduling Title"/>
</pt_type>
</ES_PRODUCTTITLE>
</localTitles>
</ES_PRODUCT>
</p_episode_series>
</ES_PRODUCT>
</txortxeventproduct>
</ES_BMTXEVENT>
<ES_BMTXEVENT>
<txortxeventproduct>
<ES_PRODUCT p_product_type="Episode" p_product_title="Bunk'd S1 Ep 2">
<p_episode_series>
<ES_PRODUCT p_product_title="Bunk'd S1">
<localTitles>
<ES_PRODUCTTITLE pt_title="Apple Kikiwaka">
<pt_type>
<ESP_PRODUCTTITLETYPE name="FR_Scheduling Title"/>
</pt_type>
</ES_PRODUCTTITLE>
<ES_PRODUCTTITLE pt_title="Bunk'd">
<pt_type>
<ESP_PRODUCTTITLETYPE name="Swedish_EPG Title"/>
</pt_type>
</ES_PRODUCTTITLE>
</localTitles>
</ES_PRODUCT>
</p_episode_series>
</ES_PRODUCT>
</txortxeventproduct>
</ES_BMTXEVENT>
<ES_BMTXEVENT>
<txortxeventproduct>
<ES_PRODUCT p_product_type="Episode" p_product_title="Bunk'd S1 Ep 2">
<p_episode_series>
<ES_PRODUCT p_product_title="Bunk'd S1">
<localTitles>
<ES_PRODUCTTITLE pt_title="Camp Kikiwaka">
<pt_type>
<ESP_PRODUCTTITLETYPE name="FR_Scheduling Title"/>
</pt_type>
</ES_PRODUCTTITLE>
<ES_PRODUCTTITLE pt_title="Bunk'd">
<pt_type>
<ESP_PRODUCTTITLETYPE name="Swedish_EPG Title"/>
</pt_type>
</ES_PRODUCTTITLE>
</localTitles>
<euCategory>
<ESP_EUCATEGORY name="Special">
<popupLookups/>
</ESP_EUCATEGORY>
</euCategory>
</ES_PRODUCT>
</p_episode_series>
</ES_PRODUCT>
</txortxeventproduct>
</ES_BMTXEVENT>
<ES_BMTXEVENT>
<txortxeventproduct>
<ES_PRODUCT p_product_type="Program" p_product_title="High School Musical">
<localTitles>
<ES_PRODUCTTITLE pt_title="School Musical, Premiers Pas sur Scène">
<pt_type>
<ESP_PRODUCTTITLETYPE name="FR_Scheduling Title"/>
</pt_type>
</ES_PRODUCTTITLE>
</localTitles>
</ES_PRODUCT>
</txortxeventproduct>
</ES_BMTXEVENT>
<ES_BMTXEVENT>
<txortxeventproduct>
<ES_PRODUCT p_product_type="Episode">
<p_episode_series>
<ES_PRODUCT p_product_title="Miraculous Tales Of Ladybug & Cat Noir S1">
<localTitles>
<ES_PRODUCTTITLE pt_title="Blue Les aventures de Ladybug et Chat Noir">
<pt_type>
<ESP_PRODUCTTITLETYPE name="FR_Scheduling Title"/>
</pt_type>
</ES_PRODUCTTITLE>
</localTitles>
</ES_PRODUCT>
</p_episode_series>
</ES_PRODUCT>
</txortxeventproduct>
</ES_BMTXEVENT>
</txevents>
</ES_CONTINUITYDAY>
</continuitydays>
Неправильная сортировка Вывод:
<b>Title</b>
Apple Kikiwaka
Camp Kikiwaka
Camp Kikiwaka
Blue Les aventures de Ladybug et Chat Noir
School Musical, Premiers Pas sur Scène
Я хочу, как показано ниже
<b>Title</b>
Apple Kikiwaka
Blue Les aventures de Ladybug et Chat Noir
Camp Kikiwaka
Camp Kikiwaka
School Musical, Premiers Pas sur Scène
Мне нужно сортировать по заголовку столбца. Пожалуйста, помогите мне.