У меня есть этот xml:
<LocatorInfo>
<LocationAddr>
<StreetNum>182</StreetNum>
<StreetName>Eastern Avenue</StreetName>
<City>Fall River</City>
<StateProv>MA</StateProv>
<PostalCode>02723</PostalCode>
<Country>USA</Country>
<GEOCode>
<Latitude>41.694600119635915</Latitude>
<Longitude>-71.13038416718094</Longitude>
</GEOCode>
</LocationAddr>
<LocationTimestamp>4/6/2018 4:17:37 PM</LocationTimestamp>
<LocationDistance>4.338 miles</LocationDistance>
<Accuracy>1.985 miles</Accuracy>
</LocatorInfo>
<LocatorInfo>
<LocationAddr>
<StreetNum>285</StreetNum>
<StreetName>Wastern Avenue</StreetName>
<City>Ball River</City>
<StateProv>MA</StateProv>
<PostalCode>02723</PostalCode>
<Country>USA</Country>
<GEOCode>
<Latitude>41.694600119635915</Latitude>
<Longitude>-71.13038416718094</Longitude>
</GEOCode>
</LocationAddr>
<LocationTimestamp>4/7/2018 7:00:03 AM</LocationTimestamp>
<LocationDistance>4.338 miles</LocationDistance>
<Accuracy>1.985 miles</Accuracy>
</LocatorInfo>
<LocatorInfo>
<LocationAddr>
<StreetNum>182</StreetNum>
<StreetName>Eastern Avenue</StreetName>
<City>Fall River</City>
<StateProv>MA</StateProv>
<PostalCode>02723</PostalCode>
<Country>USA</Country>
<GEOCode>
<Latitude>41.694600119635915</Latitude>
<Longitude>-71.13038416718094</Longitude>
</GEOCode>
</LocationAddr>
<LocationTimestamp>4/7/2018 4:17:37 PM</LocationTimestamp>
<LocationDistance>4.338 miles</LocationDistance>
<Accuracy>1.985 miles</Accuracy>
</LocatorInfo>
У меня есть эта часть xslt:
<xsl:for-each-group select="n1:MBMDVRs/mbg:LocatorInfo" group-by="string-join((mbg:LocationAddr/mbg:StreetNum, mbg:LocationAddr/mbg:StreetName, mbg:LocationAddr/mbg:City, mbg:LocationAddr/mbg:StateProv), '!')">
<tr style="border-collapse:collapse; font-size:inherit; text-align:center; " class="wide">
<td style="width:0.95in; ">
</td>
<td style="width:2.57in; ">
<xsl:copy-of select="mbg:LocationAddr/mbg:StreetNum, mbg:LocationAddr/mbg:StreetName, mbg:LocationAddr/mbg:City, mbg:LocationAddr/mbg:StateProv" />
</td>
<td style="width:1.50in; ">
<xsl:for-each select="current-group()">
<xsl:copy-of select="(//mbg:LocationTimestamp)[last()]"/>
</xsl:for-each>
</td>
<td style="width:2.13in; ">
<xsl:for-each select="current-group()">
<xsl:copy-of select="mbg:LocationTimestamp[1]"/>
</xsl:for-each>
</td>
<td style="width:2.27in; ">
<xsl:value-of select="count(current-group())" />
</td>
</tr>
</xsl:for-each-group>
Я не могу понять, почему последняя и [1] команды неработать в этом случае.Они ничего не делают.Я хочу получить первую метку времени для каждой группы в одном тд и последнюю метку времени в другом тд.Но они собираются вместе в обеих клетках.Он возвращает тот же результат, либо если я использую [1] и последний или нет.Это потому, что отметка времени отсутствует в группе?Как я могу обойти это?Не знаю, возможно ли так, или мне нужно попробовать совершенно другим способом.
Пространства имен используются правильно, я просто оставил их вне xml.