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)
-> + Base type definition does not ... (5)
-> + Tip says Generate C# Code actu... (2)
-> + install help (4)
-> + saxon-license (3)
-> + Mapping 1 xml file layout to a... (2)
-> + Problem - Schema Representatio... (3)
-> + selecting the correct Line Ter... (2)
-> + Stylus Studio crashing (14)
-> + EXSLT extensions in Stylusstud... (4)
-> + "Indent XML Tags" introduces u... (8)
-> + unable to use Stylus Studio of... (4)
-> + Replace in selection not worki... (4)
-> + Activation Key (3)
-> + Berkeley support removed! ? (2)
-> + Report editor slows to a virtu... (2)
-> + StylusStudio will not stop pro... (2)
-> + Indent tags resolves NCRs in a... (4)
-> + XML Report Table Problem (2)
-> - document() function throws unk... (7)
-> ->document() function throw...
-> ->document() function throw...
-> ->document() function throw...
-> ->document() function throw...
-> ->document() function throw...
-> ->document() function throw...
-> + Report indentation (2)
-- 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.