2011-08-19 3 views
0

xslt의 필수 위치에서 특수 문자를 어떻게 바꿀 수 있습니까?xslt의 문자열에서 필수 위치의 특수 문자를 바꾸는 방법

다음
<block4> 

    <tag> 
     <name>5</name> 
     <value>accnt number 
       Name 
       Address1 
       Address2 
       Address3</value> 
    </tag> 
</block4> 

내 현재 XSLT 논리입니다 :

<xsl:for-each select ="block4/tag[name = '5']"> 
      <xsl:variable name ="del50k" select ="(translate(substring-after(value,'&#13;'),'&#13;','~'))"/> 
      <xsl:value-of select="concat(substring-before(value,'&#13;'), ',',$del50k)" /> 
     </xsl:for-each>,<xsl:text/> 

출력 내 논리에 대해 점점 :

accnt number,Name~Address1~Address2~Address3, 

하지만 필요한 출력이

했다 여기

내 XML이다
accnt number,Name~Address1 Address2 Address3, 

묶음 분리 기호는 nameaddress1 사이에 있어야하며 address은 정규화 된 공백을 따라야합니다.

누구든지이 문제를 해결할 수 있습니까?

답변

2

이렇게하면됩니다.

<xsl:for-each select ="block4/tag[name = '5']"> 
    <xsl:variable name ="del50k" select ="concat(substring-before(substring-after(value,'&#13;'),'&#13;'),'~',substring-after(substring-after(value,'&#13;'),'&#13;'))"/> 
    <xsl:value-of select="concat(substring-before(value,'&#13;'), ',',$del50k)" /> 
</xsl:for-each>,<xsl:text/> 
관련 문제