It might be that your input file contains CRLF rather than LF line endings.
The unparsed-text() function does not normalize line endings, and the regex
\n matches LF only. Use normalize-space() after tokenizing, or use \r?\n (or
perhaps even \s+) as the regex in tokenize().
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Mukul Gandhi [mailto:gandhi(_dot_)mukul(_at_)gmail(_dot_)com]
Sent: 01 January 2008 10:20
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Problem finding set difference on string values
Hi all,
I am facing some problem calculating set difference on
string values.
The problem details are below.
I have a text file, data.txt which contain information as below:
abc
pqr
mno
uvw
(here, each data element is delimited by a newline)
My XSLT 2.0 stylesheet is following:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:output method="text" />
<xsl:variable name="list1"
select="tokenize(unparsed-text('data.txt'), '\n')" />
<xsl:variable name="list2" select="('abc', 'pqr', 'ok')" />
<xsl:template match="/">
<xsl:for-each select="$list2[not(. = $list1)]">
<xsl:value-of select="." /><xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
I want to find elements in 'list2' which are not present in text file.
I am expecting answer:
ok
But the output produced is:
abc
pqr
ok
What am I doing wrong?
I would appreciate help for this problem ...
I am using Saxon 9-b.
--
Regards,
Mukul Gandhi
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--