私はいくつかの非常によく似た質問を見ましたが、解決策は私の場合は機能しないようです。一連のデータから最初の行を取得するXSLT
私はこのようなXMLを持っています。
<AdLocInfo>
<ExternalRunSchedNumber/>
<RunSchedule-id>280896</RunSchedule-id>
<publication-id>181</publication-id>
<publication>SWEB</publication>
<publication-placement-id>10</publication-placement-id>
<publication-placement>Legals</publication-placement>
<publication-position-id>21</publication-position-id>
<publication-position>Legal - Notices</publication-position>
<import-price>0.00</import-price>
<rundates>
<date Insertion-id="1530082" InvoicedAlreadyFlag="true" PublishedFlag="true" Deadline="05042017 15:30:00">05062017</date>
<date Insertion-id="1530083" InvoicedAlreadyFlag="true" PublishedFlag="true" Deadline="05052017 15:30:00">05072017</date>
<date Insertion-id="1530084" InvoicedAlreadyFlag="true" PublishedFlag="true" Deadline="05052017 15:30:00">05082017</date>
<date Insertion-id="1530085" InvoicedAlreadyFlag="true" PublishedFlag="true" Deadline="05082017 15:30:00">05092017</date>
<date Insertion-id="1530086" InvoicedAlreadyFlag="true" PublishedFlag="true" Deadline="05092017 15:30:00">05102017</date>
<date Insertion-id="1530087" InvoicedAlreadyFlag="true" PublishedFlag="true" Deadline="05102017 15:30:00">05112017</date>
<date Insertion-id="1530088" InvoicedAlreadyFlag="true" PublishedFlag="true" Deadline="05112017 15:30:00">05122017</date>
<date Insertion-id="1530089" InvoicedAlreadyFlag="true" PublishedFlag="true" Deadline="05112017 15:30:00">05132017</date>
<date Insertion-id="1530090" InvoicedAlreadyFlag="true" PublishedFlag="true" Deadline="05122017 15:30:00">05142017</date>
<date Insertion-id="1530091" InvoicedAlreadyFlag="true" PublishedFlag="true" Deadline="05122017 15:30:00">05152017</date>
私はシリーズの最初と最後の日付を取りたいと思います。
私のXSLは、次のようになります。
<xsl:for-each select="AdBaseInfo">
<ad>
<paperId>5344</paperId>
<paperItemId>
<xsl:value-of select="Ad/AdNumber"/>
</paperItemId>
<itemDesc>
<!--<xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>-->
<xsl:value-of select="Ad/ad-content"/>
<!--<xsl:text disable-output-escaping="yes">]]></xsl:text>-->
</itemDesc>
<startDate>
<xsl:for-each select="//date[1]">
<xsl:value-of select="concat(substring(., 5, 4), '-', substring(., 1, 2), '-', substring(., 3, 2))" />
</xsl:for-each>
</startDate>
しかし、それは、XMLファイルの各レコードから最初の行になります。
<ad>
<paperId>5344</paperId>
<paperItemId>0000119016-01</paperItemId>
<itemDesc/>
<startDate>2017-05-062017-05-242017-06-012017-06-012017-06-082017-05-272017-06-082017-06-082017-06-072017-06-072017-06-082017-06-082017-07-012017-06-082017-06-082017-06-072017-06-082017-06-10</startDate>
<expDate/>
<categoryId>S-Main Legal ROP</categoryId>
ご協力いただければ幸いです。