2014-03-19 5 views
1

XSLT를 사용하여 UTF-8 인코딩 XML 소스에서 ISO-8859-1 인코딩 된 텍스트 출력을 생성하는 데 어려움이 있습니다 (변환을 실행하기위한 산소).UTF-8 인코딩 XML 소스에서 ISO-8859-1 인코딩 된 텍스트 출력 생성

예를 들어 소스에 en 대시가 포함되어 있으면 Oxygen에서 "이 문자로 출력 할 수없는 문자를 출력합니다 (10 진수 8211)"오류가 발생합니다.

en 대시는 ISO-8859-1 문자 세트에서 사용 가능한 문자이며 프로세서는 소스가 XML 선언에 따라 UTF-8로 인코딩되었음을 알고 있습니다. 내 XSLT에 포함되어 있습니다

<xsl:output method="text" encoding="ISO-8859-1"/> 

그렇다면 단순히 UTF-8 인코딩 문자를 ISO-8859-1 인코딩 문자로 바꾸지 않는 이유는 무엇입니까? 왜 유니 코드에서 사용할 수 있지만 ISO-8859-1에서는 사용할 수없는 문자가 문제를 일으키는 지 이해할 수 있지만 두 문자 모두 사용할 수있는 이유는 무엇입니까?

간단한 해결책이 있습니까?

감사합니다.

+0

어떤 XSLT 버전을 사용합니까? XML 입력을 표시 할 수 있습니까? –

답변

2

내가 알 수있는 한 ISO-8859-1에는 유니 코드 문자 8211/U2013이 포함되지 않고 Windows-1252 만 있습니다. 따라서 oXygen 또는 XSLT 프로세서는 오류에 관한 것입니다.

+0

네, 맞습니다 - 제가 잘못 알고있는 것 같습니다. 대체 기능을 추가하면 변환이 성공적으로 완료되고 en 대시가 하이픈으로 바뀝니다. – MDow