В моем входе ниже двух записей с BEGDA и ENTRY, каждая из которых является числовым значением.Я получил запись, которая имеет самые большие значения BEGDA и ENTRY.Я пытаюсь отсортировать оба поля, но кажется, что он выбирает первое из группы, когда BEGDA соответствует
<?xml version="1.0" encoding="utf-8"?>
<root>
<E1PITYP>
<PLVAR>01</PLVAR>
<OTYPE>P</OTYPE>
<OBJID>EMPLOYEE-6-51</OBJID>
<INFTY>0002</INFTY>
<BEGDA>20180607</BEGDA>
<ENTRY>201806071133452850700</ENTRY>
<ENDDA>99991231</ENDDA>
<E1P0002>
<PERNR>EMPLOYEE-6-51</PERNR>
<INFTY>0002</INFTY>
<ENDDA>99991231</ENDDA>
<BEGDA>20180607</BEGDA>
<INITS>TH</INITS>
<NACHN>Hire</NACHN>
<VORNA>Test</VORNA>
<MIDNM/>
<ANRED/>
<GESCH>2</GESCH>
<GBDAT>19900605</GBDAT>
<NATIO>GB</NATIO>
<PERID/>
</E1P0002>
</E1PITYP>
<E1PITYP>
<PLVAR>01</PLVAR>
<OTYPE>P</OTYPE>
<OBJID>EMPLOYEE-6-51</OBJID>
<INFTY>0002</INFTY>
<BEGDA>20180607</BEGDA>
<ENTRY>201806071137058230700</ENTRY>
<ENDDA>99991231</ENDDA>
<E1P0002>
<PERNR>EMPLOYEE-6-51</PERNR>
<INFTY>0002</INFTY>
<ENDDA>99991231</ENDDA>
<BEGDA>20180607</BEGDA>
<INITS>TH</INITS>
<NACHN>Hire</NACHN>
<VORNA>Test</VORNA>
<MIDNM/>
<ANRED/>
<GESCH>2</GESCH>
<GBDAT>19900605</GBDAT>
<NATIO>GB</NATIO>
<PERID>AA888888A</PERID>
</E1P0002>
</E1PITYP>
</root>
Мой xslt ниже, я не уверен, что делаю неправильно.Пожалуйста, посоветуйте экспертов.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:math="http://www.w3.org/2005/xpath-functions/math" exclude-result-prefixes="xs math"
version="2.0">
<xsl:template match="root">
<xsl:for-each-group select="E1PITYP[INFTY = '0002']" group-by="BEGDA">
<xsl:sort select="BEGDA" order="descending"/>
<xsl:sort select="ENTRY" order="descending"/>
<xsl:if test="position() = 1">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:for-each-group>
</xsl:template>
</xsl:stylesheet>