2014-11-25 2 views
1

Мне нужно объединить отдельные даты и время в один формат даты и времени против XSLT. Я очень новичок в XSLT. Я гулял и старался изо всех сил. Я не мог найти решение. Надеюсь, ты поможешь мне в этом. Благодаря!Как объединить отдельные переменные даты и времени в один формат даты и времени XSLT

Исходный файл XML:

<ns0:TransactionRequests xmlns:ns0="http://tst.co.za/sa/co/cib/servicesV1"> 
    <CorporatePayments> 
     <TransactionDate>20140926</TransactionDate> 
     <TransactionTime>001502</TransactionTime> 
    </CorporatePayments> 
</ns0:TransactionRequests> 

XSLT:

<xsl:template match="CorporatePayments" > 
    <Transactions> 
    <Transaction bankDate="{TransactionDate+TransactionTime}"> 
    </Transaction> 
    <Transactions> 
</xsl:template> 

Ожидаемый результат в формате XML:

<Transactions> 
    <Transactions> 
    <Transaction bankDate="2014-09-26T00:15:02" /> 
</Transactions> 
</Transactions> 

ответ

3

Используйте Ф.О. llowing XSLT:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://tst.co.za/sa/co/cib/servicesV1" exclude-result-prefixes="ns0"> 
<xsl:output indent="yes" method="xml" omit-xml-declaration="yes" /> 
<xsl:strip-space elements="*"/> 
<xsl:template match="/ns0:TransactionRequests/CorporatePayments" > 
    <Transactions> 
     <Transactions> 
      <xsl:variable name="D" select='TransactionDate'/> 
      <xsl:variable name="T" select='TransactionTime'/> 
      <Transactions bankDate="{concat(substring($D,1,4), '-',substring($D,5,2),'-',substring($D,7,2),'T',substring($T,1,2),':',substring($T,3,2),':',substring($T,5,2))}"/> 
     </Transactions> 
    </Transactions> 
</xsl:template> 
</xsl:stylesheet> 
Смежные вопросы