xsl-list
[Top] [All Lists]

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

2016-05-09 12:17:43
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
--~--

<Prev in Thread] Current Thread [Next in Thread>