juls_pro_37: XSLT 1.0 substring-after

Beitrag lesen

danke dir. bis Dato hatte ich nur den Fall, dass '/' höchstens zwei mal vorkommt. (Hoffe, das bleibt auch so)

Wie gehe ich nur vor, wenn der Wert unter "OrderResponseReference" entweder "1234/5678" oder "1234/5678/90123" sein kann. -> Sprich es kann sein, dass das '/' manchmal 1x und manchmal 2. vorkommt.

Hätte an "if" und "count" gedacht oder denke ich etwas zu kompliziert?:

    <xsl:template match="/">
    <xsl:copy>    
      <xsl:apply-templates select="@* | node()"/>   
    <!-- check, if '/' is duplicated -->
     <xsl:for-each select="OrderResponseReference[contains(., '/')]">
            <xsl:if test="count(., '/') > 1">
				<OrderResponseReference><xsl:value-of select="substring-after(., '/')"/></OrderResponseReference>
            </xsl:if>
			<xsl:if test="count('/') = 1">
				<xsl:value-of select="substring-after(substring-after(., '/'), '/')"/>
            </xsl:if>
        </xsl:for-each>   
    </xsl:copy>
  </xsl:template>