다음을 통해 공유


normalize-space 함수

선행 공백, 후행 공백 및 반복되는 공백을 제거한 인수 문자열을 반환합니다.

string normalize-space(string)

주의

선행 공백과 후행 공백을 제거하고 일련의 공백 문자를 공백 하나로 바꿔 공백을 표준화합니다.이 인수를 생략하면 컨텍스트 노드의 문자열 값이 표준화되어 반환됩니다.

다음 함수 호출은 "abc def"를 반환합니다.

normalize-space(" abc def ")

인수가 문자열 형식이 아닌 경우 먼저 문자열로 변환된 후 계산됩니다.아래 예제를 참조하십시오.

인수가 문자열 형식이 아닌 경우 먼저 string() 함수를 사용하여 문자열로 변환된 다음 이 변환 결과가 평가됩니다.

경고

이 함수에 인수로 전달되는 노드 집합의 문자열변환으로 인해 예기치 않은 결과가 나타날 수 있습니다.자세한 내용은 string 함수을 참조하십시오.

이 함수는 대/소문자를 구분합니다.

다음 예제에서는 탭, 선행 공백과 후행 공백, 단어 간 여러 개의 공백 같은 표준화되지 않은 공백이 있는 텍스트 문자열 블록을 표준화합니다.텍스트 문자열은 <text> 요소의 값입니다.

XML 파일(normSpace.xml)

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" 

href="normalizeSpace.xsl"?>      
<text>
    This is a
  test, with a   lot    of 
    irregular  spacing and
    waiting to be   normalizaed.


</text>

XSLT 파일(normSpace.xsl)

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"           
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="xml"   
       omit-xml-declaration="yes"/>

<xsl:template match="/text">
Unnormalized: 
"<xsl:value-of select='.'/>"
Normalized: "<xsl:value-of select='normalize-space()'/>"
</xsl:template>

</xsl:stylesheet>

이 XSLT의 출력은 다음과 같습니다.

Unormalized:

"

This is a

test, with a lot of

irregular spacing and

waiting to be normalizaed.

"

Normalized:

"This is a test, with a lot of irregular spacing and waiting to be normalized."

참고 항목

참조

XML 데이터 형식 참조