[xsl] How to determine the end-of-line marker in unparsed-text?

Subject: [xsl] How to determine the end-of-line marker in unparsed-text?
From: "Costello, Roger L. costello@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 9 May 2016 17:17:36 -0000
Hi Folks,

I am writing an XSLT program to read unparsed-text. I want my program to work
regardless of the end-of-line marker used by the unparsed-text.

Here are the end-of-line markers that are typically used in files, I think:

	CR + LF
	LF
	CR

Below is code that I wrote to determine the end-of-line marker used in the
unparsed-text. Is there a better way to determine the end-of-line marker?

Note: $file is a variable that contains the unparsed-text.

<xsl:variable name="end-of-line">
	<xsl:choose>
		<!-- CR + LF (decimal 13 followed by decimal 10) -->
		<xsl:when test="contains($file, codepoints-to-string((13, 10)))">
			<xsl:value-of select="codepoints-to-string((13, 10))"/>
		</xsl:when>
		<!-- LF  (decimal 10) -->
		<xsl:when test="contains($file, codepoints-to-string(10))">
			<xsl:value-of select="codepoints-to-string(10)"/>
		</xsl:when>
		<!-- CR  (decimal 13) -->
		<xsl:when test="contains($file, codepoints-to-string(13))">
			<xsl:value-of select="codepoints-to-string(13)"/>
		</xsl:when>
		<!-- Perhaps the input file consists of just one line and there is no
end-of-line marker!
	                     What would be an appropriate value in this situation? An
error? -->
		<xsl:otherwise>
			<xsl:value-of select="error(QName('http://example.com/', 'EOL-err'), 'No
end-of-line symbol')"/>
		</xsl:otherwise>
	</xsl:choose>
</xsl:variable>

Current Thread