Я пытаюсь отсортировать часть xml.
Структура:
queryCompoundEmployeeResponse
CompoundEmployee
Person
fields...fields
fields...fields
fields...fields
EmploymentInformation
fields...fields
fields...fields
job_information
date...date
job_information
date...date
Все, что мне нужно для сортировки, - это job_information в занятости_information.under job_information - это поле с именем end_date.
Проблема заключается в том, что поля с параметром jobs_information (который находится на том же уровне, что и job_information), удаляются из выходных данных.
Вот программа xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="employment_information">
<xsl:copy>
<xsl:apply-templates select="job_information">
<!-- concat year, month, day -->
<xsl:sort select="concat(
substring(end_date, 1, 4),
substring(end_date, 6, 2),
substring(end_date, 9, 2)
)" order="ascending"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>