XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
- Stylus Studio Technical Forum (14621)
-> + XPath documentation confusion (2)
-> + Extra block/CR generated (6)
-> + Apache FOP (2)
-> + Inserting Java Script (2)
-> + Convert EDIFACT to X12 or vice... (6)
-> + XSD: Restricting an attribute ... (2)
-> + Creating dynamically named ele... (2)
-> + Report reverts back to XHTML-C... (2)
-> + Certificate error (7)
-> + Opening DITA files and associa... (4)
-> + Cannot see links from source d... (10)
-> + SS 2007 vs. SS 2008 calling a ... (3)
-> + Unable to compile java file (8)
-> + Unable to use xsi:type attribu... (2)
-> + Unable to save xslt file after... (5)
-> + .NET XslTransform Compiled out... (3)
-> + Reporting Comparison (2)
-> + problems setting up the fonts ... (3)
-> + XML conversion (5)
-> + XQUERY: Application Crash (3)
-> + Base type definition does not ... (5)
-- Previous [1321-1340] [1341-1360] [1361-1380] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Manikandan SurendranathSubject: document() function throws unknown function error
Author: Manikandan Surendranath
Date: 06 Dec 2007 06:29 AM
I am writing a schematron which requires a external data reference. I came across an example in "http://www.zvon.org/xxl/SchematronTutorial/Examples/Example17/example.html" where it was suggested to use document() function.

But the processor gives me the Unknown function exception.

Postnext
Manikandan SurendranathSubject: document() function throws unknown function error
Author: Manikandan Surendranath
Date: 06 Dec 2007 06:57 AM
I got it, I was doing XPath implementation of Schematron where XSLT specific functions(like document() and key()) are unavailable.

Postnext
Manikandan SurendranathSubject: document() function throws unknown function error
Author: Manikandan Surendranath
Date: 06 Dec 2007 08:02 AM
But I got another issue in the below given line I am getting same error for current() function.

<report test="string-length(Year) = 2 and number(concat('20',Year,/Book/SchematronConfig/MonthMap/Month[@Name=current()/Month]/@Num,Date))>number(/Book/SchematronConfig/CurrentDate)">Future date not allowed.</report>

But current() is xpath function. Can some one help me?

Postnext
(Deleted User) Subject: document() function throws unknown function error
Author: (Deleted User)
Date: 06 Dec 2007 08:22 AM
Hi,
current() is not an XPath function, it's an XSLT one (like document()).

Alberto

Postnext
Manikandan SurendranathSubject: document() function throws unknown function error
Author: Manikandan Surendranath
Date: 06 Dec 2007 08:36 AM
Thanks.

My objective is to find Date field that is greater than current date. My service object gives me the data set like below

<FiledDate>
<Date>22</Date>
<Year>2007</Year>
<Month>december</Month>
</FiledDate>

In the same data set I have current date information in
<ReportDate>20071223</ReportDate>

I wish to find the FiledDates that are greater than ReportDate. How can I do this in XPath. I am only writing schematron rules which is XPath implementation.

Postnext
(Deleted User) Subject: document() function throws unknown function error
Author: (Deleted User)
Date: 06 Dec 2007 08:53 AM
Hi,
unless your schematron tool supports XPath 2.0, I don't see how you could convert the 'december' into '12' before concatenating the fields into a single string.

Alberto

Posttop
Manikandan SurendranathSubject: 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!!!

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.