Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The way this works, is that whenever we have a DFDL expression, we also have the encapsulating XML object that contained it. The namespace scope of that XML object defines what the prefixes in the expression mean. So we grab the namespace scope from the XML object, and massage it slightly to what Saxon-B wants to provide those definitions.

The 'xmllint' command (and libxml2 library on which it is based), binds names in XML Schema paths (such as in xs:key and xs:unique selectors) and applies a default namespace if one is defined, and the name is unqualified.

XSLT however, does NOT do this. Any default namespace binding is ignored in XSLT match and selector paths.

Some Surprises

Managing namespace prefixes can be a little bit tricky.

...