Antwort an „Robert B.“ verfassen

Hallo Julian,

Ich würde gerne immer die letzten beiden Ziffern (eines Datums) auf 01 ändern.

-> Betrifft: "HeaderInformation.BillingPeriod".

Beispiel aktuell: 2023-10-04

Ergebnis sollte folg. sein: 2023-10-01

XML:

Das kannst du sogar entsprechend auszeichnen und formattieren lassen.

<?xml version="1.0" encoding="utf-8"?>
<SALESINVOICE>
  <Interchange>
    <Recipient>1</Recipient>
    <Sender>2</Sender>    
  </Interchange>
  <HeaderInformation>
        <ContractNumber>1</ContractNumber>
    <BillingPeriod>2023-10-04</BillingPeriod>    
  </HeaderInformation>
  <LineInformation>
    <Item>
      <LineNum>1</LineNum>
     </Item> 
     </LineInformation>
</SALESINVOICE>

XSLT:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl">

 <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
 
  <xsl:strip-space elements="*" /> 
  

 <xsl:template match="node()|@*">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
 </xsl:template>

 <xsl:template match="*[not(@*|*|comment()|processing-instruction()) and normalize-space()='']"/>

</xsl:stylesheet>

Das Datum ist aus Sicht von XSLT ein String, d.h. du kannst mit einer Funktion wie substring hier weiterarbeiten.

Viele Grüße
Robert

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen