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>
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--