0
我正嘗試按兩個字段之一排序XML節點集,條件是另一個字段中的值。按兩個字段中的一個進行排序
<xsl:for-each select="CampusCourseDeliveryItem">
<xsl:sort select="OffCampus"/>
<xsl:sort select="OrganisationName" />
<xsl:sort select="OffCampusLocation"/>
<!-- code to display node goes here -->
我想,如果OffCampus='Y'
,使用OffCampusLocation
作爲排序關鍵字,否則使用OrganisationName
。
示例數據:
<CampusCourseDelivery>
<CampusCourseDeliveryItem>
<OrganisationName>Chicago</OrganisationName>
<OffCampus>N</OffCampus>
<OffCampusLocation></OffCampusLocation>
</CampusCourseDeliveryItem>
<CampusCourseDeliveryItem>
<OrganisationName>London</OrganisationName>
<OffCampus>Y</OffCampus>
<OffCampusLocation>Detroit</OffCampusLocation>
</CampusCourseDeliveryItem>
<CampusCourseDeliveryItem>
<OrganisationName>Seattle</OrganisationName>
<OffCampus>Y</OffCampus>
<OffCampusLocation>Berlin</OffCampusLocation>
</CampusCourseDeliveryItem>
<CampusCourseDeliveryItem>
<OrganisationName>Adelaide</OrganisationName>
<OffCampus>N</OffCampus>
<OffCampusLocation>Ignore this value</OffCampusLocation>
</CampusCourseDeliveryItem>
</CampusCourseDelivery>
預期排序順序:
Adelaide
Berlin
Chicago
Detroit
這幾乎是* *工作...我不得不改變' OffCampus ='N''到'normalize-space(OffCampus)!='Y''來處理OffCampus爲空的情況。 (在我的示例數據中,我沒有舉一個例子,所以你沒有照顧它。) – Adeptus 2014-10-27 01:37:05