XML XPath конвертировать дату ГГГММДД в ​​название месяца? - PullRequest
0 голосов
/ 06 февраля 2020

Я работаю над импортом данных из файла XML. Это путь к узлу даты в формате ГГГГММДД.

// Продукт / Производитель / CreationDate / Date

Мне нужно взять дату и вернуть название месяца - т.е. 20200206 возвращается февраль. Я пытался использовать функции month-from-dateTime () и month-from-date (), но ни одна из них не сработала. Я предполагаю, что мне нужно по-разному форматировать дату, прежде чем я смогу использовать эти функции для преобразования даты в название месяца.

1 Ответ

1 голос
/ 06 февраля 2020

Эта таблица стилей:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
    version="2.0">
    <xsl:template match="*[date]">
        <xsl:value-of 
            select="date/
                    format-date(
                        xs:date(
                            concat(
                                substring(.,1,4),'-',
                                substring(.,5,2),'-',
                                substring(.,7,2)
                            )
                        ),
                        '[MNn]'
                    )"
            separator="&#xA;"/>
    </xsl:template>
</xsl:stylesheet>

С этим входом:

<root>
    <date>20200206</date>
    <date>20201010</date>
    <date>20201206</date>
    <date>20200404</date>
    <date>20200606</date>
</root>

Вывод:

February
October
December
April
June

Примечание : format-date() функция

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...