2017-01-24 3 views
0

Ich habe ein XML-Fragment wie folgt.XSLT splitting Version

<?xml version="1.0" encoding="UTF-8"?> 
<a> 
    <b version="80.70.60"> 
     <version1>12.13.14</version1> 
    </b> 
</a> 

Ich möchte

12.13.80.70

in einem der HTML-Tags angezeigt werden soll. Grundsätzlich möchte ich die Werte in 'version' Attribut und 'version1' Element durch einen Punktbegrenzer teilen und nur die ersten beiden Elemente von jedem Wert berücksichtigen.

Wie kann ich das erreichen?

Antwort

1

Man könnte so etwas wie tun:

<xsl:template match="b"> 
    <p> 
     <xsl:value-of select="substring-before(version1, '.')"/> 
     <xsl:text>.</xsl:text> 
     <xsl:value-of select="substring-before(substring-after(version1, '.'), '.')"/> 
     <xsl:text>.</xsl:text> 
     <xsl:value-of select="substring-before(@version, '.')"/> 
     <xsl:text>.</xsl:text> 
     <xsl:value-of select="substring-before(substring-after(@version, '.'), '.')"/> 
    </p> 
</xsl:template>