쉼표를위한 XSLT에서 브레이크와 나는 시도하고 다음라인 나는 XSLT에 새로운 오전 구분 된 값
을 나는 다음과 같은 한 :
이<TR> <TD> Name: </TD> <TD><xsl:value-of select="ZNAME"/> </TD> </TR>
ADAM,BRIAN,CHARLIE,DAVID
방법을 반환 반환 할 수 있습니다.
ADAM
BRIAN
CHARLIE
DAVID
제안 해주십시오.
쉼표를위한 XSLT에서 브레이크와 나는 시도하고 다음라인 나는 XSLT에 새로운 오전 구분 된 값
을 나는 다음과 같은 한 :
이<TR> <TD> Name: </TD> <TD><xsl:value-of select="ZNAME"/> </TD> </TR>
ADAM,BRIAN,CHARLIE,DAVID
방법을 반환 반환 할 수 있습니다.
ADAM
BRIAN
CHARLIE
DAVID
제안 해주십시오.
이 변환이 XML 문서에 적용
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="ZNAME" name="tokenize">
<xsl:param name="pText" select="concat(., ',')"/>
<xsl:if test="string-length($pText)>0">
<xsl:value-of select="substring-before($pText, ',')"/>
<br />
<xsl:call-template name="tokenize">
<xsl:with-param name="pText"
select="substring-after($pText, ',')"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
:
ADAM<br/>BRIAN<br/>CHARLIE<br/>DAVID<br/>
which when viewed in a browser is displayed like:
:
<ZNAME>ADAM,BRIAN,CHARLIE,DAVID</ZNAME>
이 원하는 정확한 결과를 생성
ADAM
브라이언
찰리
DAVID
당신이 솔루션을 필요로하는 경우 출력하지 <br/>
요소를 후행,이 시도 않습니다 :
<TR> <TD> Name: </TD> <TD><xsl:apply-templates select="ZNAME"/> </TD> </TR>
<xsl:template match="ZNAME" name="convertcommas">
<xsl:param name="text" select="."/>
<xsl:value-of select="substring-before(concat($text,','),',')" />
<xsl:if test="contains($text,',')">
<br />
<xsl:call-template name="convertcommas">
<xsl:with-param name="text" select="substring-after($text,',')" />
</xsl:call-template>
</xsl:if>
</xsl:template>
concat($text,',')
는 substring-before
적어도 하나의 쉼표를보고 확인한다 원래 쉼표가없는 경우 자체 문자열을 출력합니다.
이 입력이 ' ADAM, BRIAN, CHARLIE, DAVID '이면 토큰 화를 찾고 있습니다. 그것은 http://stackoverflow.com/questions/136500/does-xslt-have-a-split-function –
의 복제본이 될 것입니다. @Alejandro - 적절한 upvote를 얻을 수 있도록 대답으로 추가해야합니다. @Portal Admin - Alejandro와 마찬가지로 토큰 화가 필요합니다. 그러나 다른 상황에서 출력물에 리터럴 브레이크를 추가해야하는 경우 ' '과 같은 것을 사용해보십시오. –
@DevNull :'번역 (ZNAME, ',', ' ')'이 **이 질문에 대한 적절한 대답이 될 수 있음을 참고 **. –