Мне нужна помощь с XPath.Я пытаюсь получить значение <color>
в последнем <records>
элементе каждого человека.
Мой текущий XPath persons/person/favourites/records[last()]/color
Мой личный XML-код
<?xml version="1.0" encoding="ISO-8859-1"?>
<persons>
<person number="1">
<fullname>
<firstname>Miley</firstname>
<lastname>Cyrus</lastname>
</fullname>
<favourites number="1">
<records>
<color>blue</color>
<sport>tennis</sport>
</records>
<records>
<color>red</color>
<sport>soccer</sport>
</records>
</favourites>
</person>
<person number="2">
<fullname>
<firstname>Hannah</firstname>
<lastname>Montanna</lastname>
</fullname>
<favourites number="2">
<records>
<color>pink</color>
<sport>swimming</sport>
</records>
<records>
<color>yellow</color>
<sport>running</sport>
</records>
</favourites>
</person>
</persons>
Мой XML-код extrapersonsinfo -
<extrapersonsinfo>
<favourites number="1">
<fruit>apple</fruit>
</favourites>
<favourites number="2">
<fruit>peach</fruit>
</favourites>
</extrapersonsinfo>
Я хочу, чтобы XPath отображал значения красного и желтого, поскольку они являются любимыми цветами последней записи каждого человека.Вместо этого мой текущий XPath дает мне любимый цвет последней записи только от первого лица.
<h2>Person Information</h2>
<xsl:for-each select="extrapersonsinfo/favourites">
<table>
<tr>
<th>Favourites Number</th>
<th>Last Favourite Color</th>
</tr>
<tr>
<td><xsl:value-of select="@number"/></td>
<td><xsl:value-of select="document('persons.xml')persons/person/favourites/records[last()]/color"/></td>
</tr>
</table>
</xsl:for-each>