xsl-list
[Top] [All Lists]

RE: [xsl] Problem finding set difference on string values

2008-01-01 03:52:46
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>&#xa;</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>
--~--

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