Page 1 of 1

Schematron, XPath 2.0, "fn" prefix

Posted: Wed Oct 17, 2007 11:25 am
by brettz9
Hi,

I'm trying to use an XPath 2.0 (regular expression) function, and I'm seeming to have a problem with the supposedly optional namespace "fn" when I try to validate Schematron. The error message I get is:

Code: Select all

The URI http://www.w3.org/2003/11/xpath-functions does not identify an external Java class
I've tried it with and without the namespaces, whether in <schema>, <ns>, or within assert@test... I've also specified in the options that I want XPath 2.0, and it's showing up as 2.0 in the toolbar. Any ideas of what I need to do?

Code: Select all


<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://purl.oclc.org/dsdl/schematron" xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:fn="http://www.w3.org/2003/11/xpath-functions">
<ns prefix="tei" uri="http://www.tei-c.org/ns/1.0" />
<ns prefix="fn" uri="http://www.w3.org/2003/11/xpath-functions" />

<pattern id="Bahai_Date">
<rule context="tei:date/@calendar">
<assert test="fn:matches(., 'Bahai')">The date's calendar should be set to "Baha'i"</assert>
</rule>
</pattern>
</schema>

Posted: Wed Oct 17, 2007 11:27 am
by brettz9
Oh, I'm using the trial edition of Oxygen Home edition, though from the feature comparison chart at http://www.oxygenxml.com/feature_matrix.html I don't see any feature missing there that I need for this...

Brett

Posted: Wed Oct 17, 2007 12:21 pm
by brettz9
Hi,

Sorry, nevermind, I found the answer here: http://www.oxygenxml.com/forum/viewtopi ... b8f38f5d45

I also discovered that one should not use the namespace bindings in scope for the elements and attributes on the assert evaluations (as I tried to do on the <schema> element), but should only use those on <ns>.

(And, my rule context was inappropriate to be used with '.'.)

thanks,
Brett