2017-03-24 6 views
0

두 가지 해결책을 찾았지만 나에게 도움이되지 않습니다. <template><template>을 사용할 수 없기 때문에 입니다. <number requested>은 80에 대한 자세한 내용이며 수출 종료 시점이므로 foreach 내부에서 날짜를 변환해야합니다. 변환이 필요하고 Date_Delivery를 변환합니다. 어떤 아이디어? 나는 다음과 같은 구조를 가정거야xslt 1.0을 사용하여 DD.MMM.YYYY에서 YYYY-MMM-DD로 날짜를 변환하십시오.

<?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> 
+1

는 [mcve]을 제공하는 것이 좋습니다. 유용한 답을받을 확률이 높아집니다. 그리고 XML/XSLT _ well-formed_을 얻으십시오. – zx485

답변

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))" /> 
+0

정말 고맙습니다. :)하지만 "-"안에 있어야합니다 - ' –

+0

@ DominikDravecký 맞습니다, 오타입니다. 그것을 수정했습니다, 지금 잘해야합니다. – AntonH