[oXygen-user] Schematron, XPath 2.0, "fn" prefix

Brett Zamir
Wed Oct 17 04:31:54 CDT 2007


Hi,

Sorry, nevermind, I found the answer here: 
http://www.oxygenxml.com/forum/viewtopic.php?p=8533&sid=4cd8a0006d04818872a161b8f38f5d45

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

------------------------------------------------------------
Hi, (I also posted this basic message in the online forums)

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

   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  I've also specified in the options that I
want XPath 2.0, and it's showing up correctly as 2.0 in the toolbar.

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...

Any ideas of what I need to do?

<?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>


sincerely,
Brett





More information about the oXygen-user mailing list