[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[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

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">
		<!-- 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))"/>
		<!-- LF  (decimal 10) -->
		<xsl:when test="contains($file, codepoints-to-string(10))">
			<xsl:value-of select="codepoints-to-string(10)"/>
		<!-- CR  (decimal 13) -->
		<xsl:when test="contains($file, codepoints-to-string(13))">
			<xsl:value-of select="codepoints-to-string(13)"/>
		<!-- 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:value-of select="error(QName('http://example.com/', 'EOL-err'), 'No
end-of-line symbol')"/>

Current Thread