У меня есть вход
<Date value="20091223"/>
и я хочу, чтобы вывод был
<Date>23122009</Date>
Я пытался использовать функцию подстроки для переформатирования даты
<xsl:value-of select="substring($Date,1,4)"/>
Но как связать извлеченный год и месяцы и день вместе.
Предполагая, что пробелы не сохраняются, просто поместите их один за другим:
<xsl:value-of select="substring($Date,7,2)"/>
<xsl:value-of select="substring($Date,5,2)"/>
<xsl:value-of select="substring($Date,1,4)"/>
Если пробелы сохраняются, просто поместите их все в строку без пробелов между ними.
Функция конкатенации Xpath также будет работать, но я считаю ее менее читаемой:
<xsl:value-of select="concat(substring($Date,7,2), substring($Date,5,2), substring($Date,1,4))"/>
Взгляните на функцию concat XSLT . В вашем случае это будет примерно так (непроверено):
<xsl:value-of select="concat(substring($Date,1,4), substring($Date,7,2), substring($Date,5,2))"/>
<xsl:value-of select="substring(Date/@value, 7, 2)"/>
<xsl:value-of select="substring(Date/@value, 5, 2)"/>
<xsl:value-of select="substring(Date/@value, 1, 4)"/>
Попробуйте это
<xsl:value-of select="concat(substring($Date,7,2),substring($Date,5,2),substring($Date,1,4))"/>