XSLT 프로세서의 동작에 약간의 차이가 있습니다. 이 문제의 배경이 무엇인지, 그리고 프로세서 차이점에서 사용할 수있는 전체 개요가 있는지 궁금합니다.XSLT 텍스트 출력 프로세서 차이점
XML 스파이 (V 2,011 SP1의 64)에<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:text>1=
2=
3=
4=

end</xsl:text>
</xsl:template>
</xsl:stylesheet>
실행에서, 출력된다 : 모든 경우
1=
2=
3=
4=
end
, 헥사
난 (더미 입력)와 다음의 간단한 변환을 테스트 =
이후와 4=
이후의 줄에는 0D
과 0A
의 두 문자가 추가되었습니다. 분명히 XML Spy는 CR 및 LF가 순서대로 요청 된 경우를 제외하고 전체 CR + LF 발생으로 각 &xA;
또는 &xD;
에 대한 각 요청을 바꿉니다 (3 = 부분 참조). &xA;
에 대한 모든 요청은, saxon9he에서 실행할 때
는하지만, 나는이 2.0 프로세서를 탑재 한 1.0 버전의 스타일 시트를 실행하고 경고를 받고, 출력은이 경우
1=
2=3=
4=
end
입니다 0D 0A
(따라서 CR이 LF 앞에 추가됨)로 바뀌지 만 &xD;
에 대한 요청은 추가 LF가 아닌 요청 된 CR을 출력합니다.
XML 스파이 설정에서 다시 실행 XSLT 버전을 2.0으로 다시 실행하면 1.0과 동일한 결과를 얻을 수 있으므로이 문제를 일으키는 두 XSLT 버전에서는 다른 규칙이 아닙니다.
아마도 이것은 우리가 알아야 할 도구 간의 차이 일뿐입니다.하지만이 주제에 관해 더 많은 것이 있는지 궁금합니다.
스타일 시트에서 파일로 출력 할 경우 단일 CR resp로 된 두 번째 버전이 필요합니다. LF. –