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."