← Prev in month ← Prev in thread

default namespaces in Schematron

From
trubliphone <>
To
Date
2010-10-21T17:52:02Z
ID
<AANLkTimZBJbWNE0-KhHgM=>
Thread
default namespaces in Schematron
Hello.

Does anybody know how to specify default namespaces in Schematron?

Given the following sort of XML:

<root>
    <foo/>
</root>

And the following sort of SCH:

<schema xmlns="http://purl.oclc.org/dsdl/schematron">
    <pattern>
        <rule context="foo">
            <assert test="bar">foo must have bar</assert>
        </rule>
    </pattern>
</schema>

A Schematron validator correctly asserts that <foo> is missing a child <bar>.

However, as soon as I assign a namespace to the XML:

<root xmlns="http://my.server.com">

the Schematron rule fails to match.  Presumably, this is because the element <foo> is now in the "http://my.server.com" namespace.

Schematron allows a <ns> element to solve just this problem.  But it requires a uri and a prefix.  The above, being a default namespace, has no prefix.

Any ideas?

Thanks
← Prev in month ← Prev in thread