0
HTML 페이지로 변환 할 텍스트 블록을 구문 분석하기 위해이 XSLT 템플릿을 아래에 만들었습니다. 이 템플릿은 여러 위치에서 사용되지만 항상 지정한 문자를 성공적으로 변환하지 못합니다. 예를 들면 다음과 같습니다 :모든 문자를 바꿀 수없는 재귀 xslt 템플릿
"도움"을 원하면 "계속"4 가지를 계속 찾고 싶지만 "공허"라는 것을 알면됩니다.
결과는 다음과 같습니다."두 가지"가 "도움이"필요하고 계속해서 "더보기"를 원하지만 찾을 수있는 것은 모두 "공허"입니다.
의견이 있으십니까?
<xsl:template name="PreserveQuotations">
<xsl:param name="text"/>
<xsl:choose>
<xsl:when test="contains($text,'“')">
<xsl:value-of select="substring-before($text,'“')"/>
<xsl:text>"</xsl:text>
<xsl:call-template name="PreserveQuotations">
<xsl:with-param name="text">
<xsl:value-of select="substring-after($text,'“')"/>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:when test="contains($text,'”')">
<xsl:value-of select="substring-before($text,'”')"/>
<xsl:text>"</xsl:text>
<xsl:call-template name="PreserveQuotations">
<xsl:with-param name="text">
<xsl:value-of select="substring-after($text,'”')"/>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>