===========================x1.xsl:
<!-- convert an attachment_id of a image to image filename
@param id (type:string, required) attachment_id
@param type (type:string, required) image type, eg Gws, Pdt, Logo
@param name (type:string, required) original filename with file extension
@param entity_id (type:string, optional) entity_id to put as filename
-->
<xsl:template name="attachmentid2filename ">
<xsl:param name="id"/>
<xsl:param name="type"/>
<xsl:param name="mime_type"/>
<xsl:param name="name" select="'image.bin'"/>
<xsl:param name="entity_id" select="''"/>
<xsl:variable name="prefix">
<xsl:value-of select="substring($type,1,1)"/>
</xsl:variable>
<xsl:variable name="aid">
<xsl:choose>
<xsl:when test="$entity_id != ''">
<xsl:value-of select="$entity_id"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring($id+10000000000,2,10)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="ext">
<xsl:call-template name="mime2ext">
<xsl:with-param name="mime_type" select="$mime_type"/>
</xsl:call-template>
<!--
<xsl:variable name="tmpext">
<xsl:value-of select="translate(substring-after(substring($name,string-length($name)-4),'.'),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="$tmpext = 'jpeg'">
<xsl:value-of select="'jpg'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$tmpext"/>
</xsl:otherwise>
</xsl:choose>
-->
</xsl:variable>
<xsl:variable name="filename">
<xsl:value-of select="concat($prefix,$aid,'.',$ext)"/>
</xsl:variable>
<xsl:value-of select="$filename"/>
</xsl:template>
===========================x2.xsl: how to call
<xsl:variable name="filename">
<xsl:call-template name="attachmentid2filename ">
<xsl:with-param name="id" select="AttachmentID/text()"/>
<xsl:with-param name="type" select="'ContactImage'"/>
<xsl:with-param name="mime_type" select="MimeType/text()"/>
<xsl:with-param name="name" select="FileName/text()"/>
</xsl:call-template>
</xsl:variable>
=============================xml
<ContactImage type="Group">
<FileName type="String" lang="en">144426707.jpg</FileName>
<AttachmentID type="String" lang="en">144426707</AttachmentID>
<MimeType type="String" lang="en">image/pjpeg</MimeType>
<ImageSize type="String" lang="en">148408</ImageSize>
</ContactImage>
xsl 定义variable
最新推荐文章于 2019-06-05 16:52:01 发布