Hallo Julian,
wie kann ich das Leerzeichen bzw. Zeilenumbruch von nur einem bestimmten Node entfernen?
Mein Ansatz wäre:
<xsl:template match="SupplierAddressInformation_001/Street[contains(., ' ')]"> <Street><xsl:value-of select="substring-before(., ' ')"/> and <xsl:value-of select="substring-after(., ' ')"/></Street> </xsl:template>
Passt nicht auf das genannte Element ShipFromAddressInformation (oder es soll die Ausgabe sein), and ist hier als logischer Operator nicht zielführend. Entweder mit normalize-space() oder concat() arbeiten. Ersteres setzt Leerzeichen statt Zeilenumbruch, letzteres zunächst kein Leerzeichen, was sich aber auch noch ergänzen ließe.
<xsl:template match="ShipFromAddressInformation/Street[contains(., ' ')]">
<Street><xsl:value-of select="normalize-space(.)"/></Street>
<!-- <Street>Test Straße 8-9</Street> -->
</xsl:template>
<xsl:template match="ShipFromAddressInformation/Street[contains(., ' ')]">
<Street><xsl:value-of select="concat(substring-before(., ' '), substring-after(., ' '))"/></Street>
<!-- <Street>TestStraße 8-9</Street>, ggf. ' ' als zweiten String setzen -->
</xsl:template>
Grüße,
Thomas