代码之家  ›  专栏  ›  技术社区  ›  Kasun

如何在XSL 1.0中设置拆分值

  •  0
  • Kasun  · 技术社区  · 7 年前

    我需要在不同的参数中设置分割值。我的回答如下。

      `<Response >
         <Result>100002 0 Testing 1500.00 YES</Result>
      </Response>`
    

    我需要的是在不同的结果中得到上面的分割值,如下所示。[请注意,我硬编码了“select=“100002”值]

              ` <xsl:element name="ns1:Response">
                  <xsl:value-of select="100002">
               </xsl:element>`
    
         `<xsl:element name="ns1:amount">
                  <xsl:value-of select="0 ">
               </xsl:element>`
    
        `<xsl:element name="ns1:name">
                  <xsl:value-of select="Testing  ">
               </xsl:element>`
    
       `<xsl:element name="ns1:Amount">
                  <xsl:value-of select="1500.00">
               </xsl:element>`
    
     `<xsl:element name="ns1:Other">
                  <xsl:value-of select="Yes">
               </xsl:element>`
    
    2 回复  |  直到 7 年前
        1
  •  0
  •   Rupesh_Kr    7 年前

    您可以使用

    <xsl:template match="Result">
            <xsl:call-template name="abc">
                <xsl:with-param name="data" select="."></xsl:with-param>
            </xsl:call-template>
        </xsl:template>
    
            <xsl:template name="abc">
        <xsl:param name="data"/>
        <xsl:element name="ns1:Response">
            <xsl:value-of select="substring-before($data, ' ')"/>
        </xsl:element>
    
        <xsl:element name="ns1:amount">
            <xsl:value-of select="substring-before(substring-after($data, ' '), ' ')"/>
        </xsl:element>
    
        <xsl:element name="ns1:name">
            <xsl:value-of select="substring-before(substring-after(substring-after($data, ' '), ' '), ' ')"/>
        </xsl:element>
    
        <xsl:element name="ns1:Amount">
            <xsl:value-of select="substring-before(substring-after(substring-after(substring-after($data, ' '), ' '), ' '), ' ')"/>
        </xsl:element>
    
        <xsl:element name="ns1:Other">
            <xsl:value-of select="substring-after(substring-after(substring-after(substring-after($data, ' '), ' '), ' '), ' ')"/>
        </xsl:element>
    </xsl:template>
    
        2
  •  0
  •   Christian Mosz    7 年前

    拆分函数已经有很多主题了。例如。: Split implementation

    这应该对你有所帮助。 关于这一点,您只需要一个如下所示的结果模板:

    <xsl:template match="result">
        <xsl:call-template name="splitfunction">
            <xsl:with-param name="string" select="."/>
            <xsl:with-param name="seperator" select=" "/>
        </xsl:call:template>
    </xsl:template>