У меня есть этот пример XML-данные (вырубленные к основам):Форматировать текстовый узел как дату с использованием XML и XSL?
<?xml version="1.0" encoding="UTF-8"?>
<AssignmentHistory Version="1610">
<W20160104>
<Chairman>Name1</Chairman>
</W20160104>
<W20160111>
<Chairman>Name2</Chairman>
</W20160111>
</AssignmentHistory>
Он содержит список WYYYYNNDD
узлов. На данный момент я доступ к этому списку в XSL сценарии, как это (опять же, это урезанная пример):
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" version="4.01"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
doctype-public="//W3C//DTD XHTML 1.0 Transitional//EN"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<!--<link rel="stylesheet" type="text/css" href="Workbook-off.css"/>-->
<title>Custom Report</title>
</head>
<body>
<xsl:variable name="AssignHistory" select="document('AssignHistory.xml')"/>
<xsl:for-each select="$AssignHistory/AssignmentHistory/*">
<xsl:apply-templates select="Chairman"></xsl:apply-templates>
</xsl:for-each>
</body>
</html>
</xsl:template>
<xsl:template match="Chairman">
<p>
<xsl:text>Chairman: </xsl:text>
<xsl:value-of select="."/>
</p>
</xsl:template>
</xsl:stylesheet>
То, что я хочу сделать, это во время цикла for-each
преобразовать содержимое "."
(который будет будь то значение WYYYYMMDD) и отобразите его как стандарт короткая дата (например, dd/mm/yyyy).
Я не уверен, как это сделать. Благодарим вас за руководство этим вопросом. Это ценно.
Ожидаемый результат:
04/01/2016
Chairman: Name1
11/01/2016
Chairman: Name2
В конце концов все изменится и становятся все более сложными.
Параметр '.' контекста узла внутри вашего' для-each' элемент, имя которого в формате так, используя 'локальный_файл имя()' даст вы, например, 'W20160104', и затем вы можете извлечь компоненты с помощью' substring' и контактировать их при необходимости с 'concat'. –
Пожалуйста, опубликуйте ожидаемый результат. –
P.S. Поставщику данных необходимо научиться не помещать данные в разметку. –