2014-03-19 3 views
0

필자는 후행 공백을 가지고 있는데, 어떻게 제거하는지 궁금합니다. 몇 가지 다른 방법을 시도했습니다. 이것은 코드입니다.후행 공백

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
<xsl:output 
indent="no" 
method="text"/> 

<xsl:template match="/"> 
Famous Mountains of the World 
<xsl:apply-templates /> 
    </xsl:template> 
    <xsl:template match="mountain"> 
Mountain Name:<xsl:value-of select="name[@language='English'] "/> 
Mountain Name:(<xsl:value-of select="name[@language='PigLatin'] "/>) 
Location:<xsl:value-of select="location"/> 
Height:<xsl:value-of select="height"/></xsl:template> 
</xsl:stylesheet> 

나는 그것을 내 보내려하고 있습니다.

Mountain Name:Mount Everest 
Mountain Name:(ountMa verestEa) 
Mountain Name:Mount Ranier 
Mountain Name:() 
Mountain Name:Mount St. Helens 
Mountain Name:() 

이 대신가 내 놓는다 :

Mountain Name:Mount Everest 
Mountain Name:(ountMa verestEa) 
Mountain Name:Mount Ranier 
Mountain Name:() 
Mountain Name:Mount St. Helens 
Mountain Name:() 

또는

Mountain Name:Mount Everest 
Mountain Name:(ountMa verestEa) 
Mountain Name:Mount Ranier 
Mountain Name:() 
Mountain Name:Mount St. Helens 
Mountain Name:() 

나는 XSL 사용하는 경우 : 텍스트와 XSL : 스트립 공간 요소 = "*"를 었소으로 거래를 도움 들여 쓰기

여분의 공간을 없애는 방법에 대한 아이디어가 있다면 도움이 될 것입니다. 조금 나를 괴롭혔다.

답변

-1

<xsl:stylesheet> 태그 안에 <xsl:strip-space elements="*"/>을 추가하십시오. 공백을 없애기 위해 xslt을 사용한다고해서 공백이 생기지는 않을 것입니다.하지만 여러분이 원하는대로 성취 할 수있을 것 같습니다. 모두 공백을 제거해야합니다. 공백을보다 세부적으로 제어하려면 특정 요소 목록을 제공하거나 normalize-space() xpath 조건자를 사용할 수도 있습니다.

+0

이 많은 나는 그 기회를 줄 것이다 감사, 나는 시도

, : strip-space elements = "*"/> 나는 그것을 더 많이 고칠 것이다. 다시 한번 감사드립니다. – reven

+0

나는 여전히 그것을하지 못한다. – reven

+0

'xsl : strip-space'는 공백 문자 만 포함하는 _elements_에 적용됩니다. 그것보다 다른 내용을 가진 요소에는 영향을 미치지 않습니다. 그래서,'normalize-space()'는 실제로는 좀 더 섬세한 버전은 아니지만, 다른 기능은 모두 함께 사용됩니다. –

1

아마도 XSLT의 줄 바꿈이 출력물에 리터럴 줄 바꿈으로 해석되고있을 것입니다. xsl:text에 텍스트 출력을 감싸거나 xsl:value-ofconcat()을 사용하십시오.

Mountain Name:<xsl:value-of select="name[@language='English'] "/> 

시도 중이 :

<xsl:text>Mountain Name:</xsl:text> 
<xsl:value-of select="name[@language='English'] "/> 

나이 :

<xsl:value-of select="concat('Mountain Name:',name[@language='English'])"/> 
+0

이전에 을 시도했지만, 그럴 경우 첫 번째 줄에서 들여 쓰기가 발생합니다. 나는 대신 회중 심문을 시도 할 것이다. – reven

+0

이것을'xsl : strip-space'와 함께 사용해야합니다. –

+0

그래도 들리지 않는 것은 작동하지 않습니다. 그게 내가 마지막 비트에 붙어있는 것입니다. 노드의 첫 번째 줄에 나타납니다. 어쨌든 제안 해 주셔서 감사합니다. – reven