<?xml version='1.0' ?> <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" omit-xml-declaration="yes"/> <xsl:template match="/"> <xsl:element name="StorageObjects"> <xsl:apply-templates/> </xsl:element> </xsl:template> <xsl:template match="/Version"> <xsl:element name="ObjectValue"> <xsl:attribute name="name">VersionItem</xsl:attribute> <xsl:apply-templates select="ListeningPost"/> <xsl:apply-templates select="Implant"/> </xsl:element> </xsl:template> <xsl:template match="ListeningPost"> <xsl:element name="ObjectValue"> <xsl:attribute name="name">ListeningPost</xsl:attribute> <xsl:element name="ObjectValue"> <xsl:attribute name="name">Compiled</xsl:attribute> <xsl:call-template name="StoreVersion"> <xsl:with-param name="element" select="Compiled"/> </xsl:call-template> </xsl:element> <xsl:element name="ObjectValue"> <xsl:attribute name="name">Base</xsl:attribute> <xsl:call-template name="StoreVersion"> <xsl:with-param name="element" select="Base"/> </xsl:call-template> </xsl:element> </xsl:element> </xsl:template> <xsl:template match="Implant"> <xsl:element name="ObjectValue"> <xsl:attribute name="name">Implant</xsl:attribute> <xsl:element name="ObjectValue"> <xsl:attribute name="name">Compiled</xsl:attribute> <xsl:call-template name="StoreVersion"> <xsl:with-param name="element" select="Compiled"/> </xsl:call-template> </xsl:element> </xsl:element> </xsl:template> <xsl:template name="StoreVersion"> <xsl:param name="element"/> <xsl:element name="IntValue"> <xsl:attribute name="name">major</xsl:attribute> <xsl:value-of select="$element/@major"/> </xsl:element> <xsl:element name="IntValue"> <xsl:attribute name="name">minor</xsl:attribute> <xsl:value-of select="$element/@minor"/> </xsl:element> <xsl:element name="IntValue"> <xsl:attribute name="name">fix</xsl:attribute> <xsl:value-of select="$element/@fix"/> </xsl:element> <xsl:if test="$element/@build"> <xsl:element name="IntValue"> <xsl:attribute name="name">build</xsl:attribute> <xsl:value-of select="$element/@build"/> </xsl:element> </xsl:if> <xsl:if test="string-length($element/.) != 0"> <xsl:element name="StringValue"> <xsl:attribute name="name">description</xsl:attribute> <xsl:value-of select="$element/."/> </xsl:element> </xsl:if> </xsl:template> </xsl:transform>