XSLT 1.0 Copy-of mehrerer Nodes inkl. Zeilenumbruch
juls_pro_37
- xml
- xsl
0 ThomasM0 juls_pro_370 ThomasM
Hi,
ich würde gerne prüfen, ob unter "Contact_DP" der Unterpunkt "Mail" befüllt ist, wenn ja soll unter "DeliveryAddressInformation/Street" der vorhandene Wert inkl. "Contact_DP/Mail" und Zeilenumbruch ausgegeben werden.
<?xml version="1.0"?>
<SALESORDER>
<Interchange>
<HeaderInformation>
<DeliveryAddressInformation>
<Street>Test-Str. 8
</Street>
<Contact_DP>
<Name>Test</Name>
<Mail>e-business@bahag.com</Mail>
</Contact_DP>
</DeliveryAddressInformation>
<LineItem>
<Line>10</Line>
</LineItem>
</HeaderInformation>
</Interchange>
</SALESORDER>
Korrekt:
<?xml version="1.0"?>
<SALESORDER>
<Interchange>
<HeaderInformation>
<DeliveryAddressInformation>
<Street>Test-Str. 8
Test
e-business@bahag.com
</Street>
<Contact_DP>
<Name>Test</Name>
<Mail>e-business@bahag.com</Mail>
</Contact_DP>
</DeliveryAddressInformation>
<LineItem>
<Line>10</Line>
</LineItem>
</HeaderInformation>
</Interchange>
</SALESORDER>
Hätte zB folg. versucht:
<xsl:value-of select="concat(./DeliveryAddressInformation/Street, <xsl:text> </xsl:text>, ./DeliveryAddressInformation/Name)"/>
Danke & LG Julian
Hallo Julian,
Hätte zB folg. versucht:
<xsl:value-of select="concat(./DeliveryAddressInformation/Street, <xsl:text> </xsl:text>, ./DeliveryAddressInformation/Name)"/>
Man kann kein Element (hier xsl:text) in einem Attribut (hier select) eröffnen. Der Zeilenumbruch kann direkt in der concat()-Funktion als ' ' bzw. '
' stehen.
Aber: welchen Vorteil soll das haben, wenn man das Ergebnis-XML noch weiterverarbeiten müsste? Ein neues Kindelement fände ich plausibler.
Grüße,
Thomas
In diese Richtung?
<Street>
<xsl:value-of select="./DeliveryAddressInformation/Street" />
<xsl:text> </xsl:text>
<xsl:value-of select="./DeliveryAddressInformation/Name" />
</Street>
thx
lg Julian
Hallo Julian,
In diese Richtung?
<Street> <xsl:value-of select="./DeliveryAddressInformation/Street" /> <xsl:text> </xsl:text> <xsl:value-of select="./DeliveryAddressInformation/Name" /> </Street>
Ich weiß ja nicht, was rauskommen soll. Das ergibt:
<Street>Inhalt
Inhalt
</Street>
Analog zu:
<Street>
<xsl:value-of select="concat(./DeliveryAddressInformation/Street, ' ', ./DeliveryAddressInformation/Name)"/>
</Street>
Grüße,
Thomas
wie immer DANKE!!! :) so ists schöner..