1

以下のノード構造があり、XSLT<FTACERTEXPIRATIONDATE>のすべての中で最大のものを取得する必要があります。<partSupplierFTA>誰かがこれについて私を助けてくれますか?

<modelMasterHeader>
   <sender>sender3889</sender>
   <receiver>receiver3890</receiver>
   <messageType>messageType3891</messageType>
   <batchID>97</batchID>
   <modelMaster>
      <ACTION>M</ACTION>
      <PARTNUMBER>PARTNUMBER3893</PARTNUMBER>
      <productCountry>
         <COUNTRYCODE>COUNTRYCODE3894</COUNTRYCODE>
         <COUNTRYGROUP>COUNTRYGROUP3895</COUNTRYGROUP>
         <LOCALPARTDESCRIPTION>LOCALPARTDESCRIPTION3896</LOCALPARTDESCRIPTION>
         <COUNTRYOFORIGIN>COUNTRYOFORIGIN3897</COUNTRYOFORIGIN>
         <HS>-0</HS>
         <HSDESCRIPTION>HSDESCRIPTION3898</HSDESCRIPTION>
         <SOURCESYSTEM>SOURCESYSTEM3899</SOURCESYSTEM>
         <ECCNUM>ECCNUM3900</ECCNUM>
         <USEGENLIC>USEGENLIC3901</USEGENLIC>
         <EXPORTHARMONIZEDTARIFFNUMBER>-0</EXPORTHARMONIZEDTARIFFNUMBER>
         <PARTUNIT>PARTUNIT3902</PARTUNIT>
      </productCountry>
      <Supplier>
         <PARTSUPPCOUNTRYOFORIGIN></PARTSUPPCOUNTRYOFORIGIN>
         <PRIMARYFLAG>Y</PRIMARYFLAG>
         <CTRY_OF_IMPORT>US</CTRY_OF_IMPORT>
         <SEQ_NO>23</SEQ_NO>
         <SupplierFTA>
            <FTASITEID>GLOBAL</FTASITEID>
            <FTASEQNO2>1</FTASEQNO2>
            <FTACERTEXPIRATIONDATE>11/30/2012</FTACERTEXPIRATIONDATE>
            <FTACOUNTRYOFORIGIN>US</FTACOUNTRYOFORIGIN>
            <FTASTATUS>H</FTASTATUS>
            <FTAHTSNUMBER>8414593000</FTAHTSNUMBER>
         </SupplierFTA>
         <SupplierFTA>
            <FTASITEID>GLOBAL</FTASITEID>
            <FTASEQNO2>2</FTASEQNO2>
            <FTACERTEXPIRATIONDATE>12/31/2013</FTACERTEXPIRATIONDATE>
            <FTACOUNTRYOFORIGIN>CN</FTACOUNTRYOFORIGIN>
            <FTASTATUS>V</FTASTATUS>
            <FTAHTSNUMBER>8414593000</FTAHTSNUMBER>
         </SupplierFTA>
         <SupplierFTA>
            <FTASITEID>GLOBAL</FTASITEID>
            <FTASEQNO2>1</FTASEQNO2>
            <FTACERTEXPIRATIONDATE>12/31/2012</FTACERTEXPIRATIONDATE>
            <FTACOUNTRYOFORIGIN>AU</FTACOUNTRYOFORIGIN>
            <FTASTATUS>V</FTASTATUS>
            <FTAHTSNUMBER>8302103000</FTAHTSNUMBER>
         </SupplierFTA>
        </Supplier>
        <Supplier>
         <PARTSUPPCOUNTRYOFORIGIN></PARTSUPPCOUNTRYOFORIGIN>
         <PRIMARYFLAG>Y</PRIMARYFLAG>
         <CTRY_OF_IMPORT>US</CTRY_OF_IMPORT>
         <SEQ_NO>23</SEQ_NO>
         <SupplierFTA>
            <FTASITEID>GLOBAL</FTASITEID>
            <FTASEQNO2>1</FTASEQNO2>
            <FTACERTEXPIRATIONDATE>11/30/2012</FTACERTEXPIRATIONDATE>
            <FTACOUNTRYOFORIGIN>US</FTACOUNTRYOFORIGIN>
            <FTASTATUS>H</FTASTATUS>
            <FTAHTSNUMBER>8414593000</FTAHTSNUMBER>
         </SupplierFTA>
         <SupplierFTA>
            <FTASITEID>GLOBAL</FTASITEID>
            <FTASEQNO2>2</FTASEQNO2>
            <FTACERTEXPIRATIONDATE>12/31/2013</FTACERTEXPIRATIONDATE>
            <FTACOUNTRYOFORIGIN>CN</FTACOUNTRYOFORIGIN>
            <FTASTATUS>V</FTASTATUS>
            <FTAHTSNUMBER>8414593000</FTAHTSNUMBER>
         </SupplierFTA>
         <SupplierFTA>
            <FTASITEID>GLOBAL</FTASITEID>
            <FTASEQNO2>1</FTASEQNO2>
            <FTACERTEXPIRATIONDATE>12/31/2012</FTACERTEXPIRATIONDATE>
            <FTACOUNTRYOFORIGIN>AU</FTACOUNTRYOFORIGIN>
            <FTASTATUS>V</FTASTATUS>
            <FTAHTSNUMBER>8302103000</FTAHTSNUMBER>
         </SupplierFTA>
        </Supplier>
     </ModelMaster>
   </ModelMasterHeader>
4

2 に答える 2

0

これはかなり非効率的ですが、 を使用しxsl:for-eachて値を年、月、日で並べ替え、最初の項目を選択することができます。

<xsl:for-each select="
        /modelMasterHeader/modelMaster/Supplier/SupplierFTA/FTACERTEXPIRATIONDATE
        ">
    <xsl:sort order="descending" data-type="number" 
        select="substring-after(substring-after(., '/'), '/')"/>
    <xsl:sort order="descending" data-type="number" 
        select="substring-before(substring-after(., '/'), '/')"/>
    <xsl:sort order="descending" data-type="number" 
        select="substring-before(.,'/')"/>
    <xsl:if test="position()=1">
        <xsl:value-of select="."/>
    </xsl:if>
</xsl:for-each>
于 2013-01-27T03:42:42.750 に答える