당신은 텍스트 노드
<xsl:template match="text()[normalize-space()]">
<xsl:value-of select="replace(., '^\s+|\s+$', '')"/>
</xsl:template>
후 선행 또는 공백이 제거 된 경우에만 아닌 텍스트 노드에 후행 공백에 대한 템플릿을 작성하는 경우. 당신은 또한 혼합 내용 (텍스트 노드의 아이뿐만 아니라 두 요소 자식을 함유 한 요소)를 가질 수 있다면
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="text()[normalize-space()]">
<xsl:value-of select="replace(., '^\s+|\s+$', '')"/>
</xsl:template>
</xsl:stylesheet>
하고 싶지 않은 : 다른 노드의 경우 변경하여 복사 할 정체성 변환 템플릿을 사용할 수 있습니다 또,`
참조
스팟 실행
<xsl:template match="*[not(*)]/text()[normalize-space()]">
에 일치하는 패턴을 변경 혹은 단순히 당신은 영업 이익이 혼합 된 콘텐츠에 대한 특별 조항을 활용할 수 있도록 할 수 있습니다
<xsl:template match="*[not(*)]">
<xsl:copy>
<xsl:value-of select="replace(., '^\s+|\s+$', '')"/>
</xsl:copy>
</xsl:template>
을 사용하여 다음 치료에 대상으로 할 수 없다.'는 ''이됩니다 스폿 실행을 참조하십시오. '. –
kjhughes
@kjhughes, 맞습니다. 혼합 된 콘텐츠에는 다른 접근 방식이 필요할 수도 있습니다.이 경우 도움이 될 수있는 두 가지 제안이 추가되었습니다. –
아마 그 사람의 요구를 충당 할 것입니다. 또 다른,보다 복잡한 솔루션은 혼합 된 내용의 첫 번째 및 마지막 텍스트 노드를 특수한 경우에 선행 공백이나 후행 공백을 선택적으로 다듬을 수 있습니다. – kjhughes