我找到了几个解决方案,但没有一个对我不起作用。
因为<template>
中不能<template>
。我需要在foreach中转换日期,因为<number requested>
大约是80,然后是导出结束。我需要转换并转换Date_Delivery。有任何想法吗?请帮忙
<?xml version="1.0" encoding="Windows-1250"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<dat:dataPack version="2.0" id="Usr01" ico="36255789" application="Transformace" note="Užívateľský export" xmlns:dat="http://www.stormware.cz/schema/version_2/data.xsd">
<xsl:variable name="discount" select="0.20" />
<xsl:for-each select="OBERON/Data/InvoicesIssued/Record">
<dat:dataPackItem version="2.0" id ="{@IDNum}">
<inv:invoiceType>issuedInvoice</inv:invoiceType>
<inv:number>
<typ:numberRequested><xsl:value-of select="@Number"/></typ:numberRequested>
</inv:number>
<inv:symVar><xsl:value-of select="@Number"/></inv:symVar>
<inv:dateTax><xsl:value-of select = "Date_Delivery"/></inv:dateTax>
答案 0 :(得分:2)
我将假设以下结构:
<baseNode>
<myDate>01.Jan.2017</myDate>
</baseNode>
您可以使用以下内容进行转换:
<xsl:value-of select="concat(substring(/baseNode/myDate, 8, 4), '-', substring(/baseNode/myDate, 4, 3), '-', substring(/baseNode/myDate, 1, 2))" />