我需要把像我的构建格式的条件类似于STP_13_00_00_00_RC01或STPMON_13_00_00_00_RC01。如果perfix是STP,那么我想运行一个小脚本,如果执行其他STP则不需要运行脚本并使用其他动作我怎么能实现这个目标呢?
我mada在我的代码中做了一些更改我在这里做的是创建文件夹并将tar文件复制到该文件夹。这里的文件夹名称以STP或ACH开头然后我想用一些参数执行我的脚本,否则什么都没有。
<xsl:element name="mkdir">
<xsl:attribute name="dir">/mnt/projects/autoblds_dev_build/blds_dev_stp2build/${gbl.dist.label}</xsl:attribute>
</xsl:element>
<xsl:element name="copy">
<xsl:attribute name="file">${archive.base}/${gbl.dist.label}.tar.gz</xsl:attribute>
<xsl:attribute name="todir">/mnt/projects/autoblds_dev_build/blds_dev_stp2build/${gbl.dist.label}/</xsl:attribute>
<xsl:attribute name="overwrite">no</xsl:attribute>
</xsl:element>
<xsl:choose>
<xsl:when test="starts-with(Node, 'STP')">
<xsl:element name="mkdir">
<xsl:attribute name="dir">/mnt/projects/autoblds_dev_build/blds_dev_stp2build/${soa.release.version}</xsl:attribute>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<!-- alternative action -->
</xsl:otherwise>
</xsl:choose>
答案 0 :(得分:1)
您的XSLT说“条件一或条件二”,但我只在您的问题中看到一个条件。要测试值是否具有特定前缀,您可以执行以下操作:
<xsl:choose>
<xsl:when test="starts-with(Node, 'STP')">
<!-- action -->
</xsl:when>
<xsl:otherwise>
<!-- alternative action -->
</xsl:otherwise>
</xsl:choose>
答案 1 :(得分:0)
<xsl:choose>
<xsl:when test="contains(node,"STP")">
<!-- action -->
</xsl:when>
<xsl:otherwise>
<!-- alternative action -->
</xsl:otherwise>
</xsl:choose>