|
top
|
 Subject: document() function throws unknown function error; DATE comparison Author: Manikandan Surendranath Date: 06 Dec 2007 10:36 AM Originally Posted: 06 Dec 2007 10:34 AM
|
This is disappointing. My processor knows only XPath 1.0.
I have created the rules in dirty way, but works.
<!-- For two digit date and 4 digit year -->
<report test="contains(translate(Month,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'), 'dec') and string-length(Date)=2 and string-length(Year) = 4 and number(concat(Year,'12',Date))>number(/Book/SchematronConfig/ReportDate)">Future date not allowed.</report>
<!-- For two digit date and 2 digit year -->
<report test="contains(translate(Month,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'), 'dec') and string-length(Date)=2 and string-length(Year) = 2 and number(concat('20',Year,'12',Date))>number(/Book/SchematronConfig/ReportDate)">Future date not allowed.</report>
<!-- For one digit date and 4 digit year -->
<report test="contains(translate(Month,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'), 'dec') and string-length(Date)=1 and string-length(Year) = 4 and number(concat(Year,'12','0',Date))>number(/Book/SchematronConfig/ReportDate)">Future date not allowed.</report>
<!-- For one digit date and 2 digit year -->
<report test="contains(translate(Month,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'), 'dec') and string-length(Date)=1 and string-length(Year) = 2 and number(concat('20',Year,'12','0',Date))>number(/Book/SchematronConfig/ReportDate)">Future date not allowed.</report>
Like wise repeated for all twelve months. It works for both month pattern 'dec' and 'december'. I think I have to repeat the whole set one more time if my service gives me month in number, phew!!!
|
|
|
|