Saxon includes built-in schemas for a number of namespaces.
These fall into two categories:
-
Hard-Coded Namespaces
Schemas for certain namespaces are hard-coded into the Saxon schema processor and cannot be replaced or extended in any way. The namespaces in this category are:
The
xml
namespacehttp://www.w3.org/XML/1998/namespace
which defines attributes such asxml:space
andxml:id
.The
fn
namespacehttp://www.w3.org/2005/xpath-functions
which defines the structure of the document returned byfn:analyze-string
and also the XML representation of the JSON data model.The
xsi
namespacehttp://www.w3.org/2001/XMLSchema-instance
which defines attributes such asxsi:type
andxsi:schemaLocation
. -
Cached Namespaces
Schemas for certain namespaces are held locally in the standard
xmlresolver
data cache which Saxon uses by default. If you reference one of these schemas in anxs:import
declaration, Saxon will ignore any location hint in theschemaLocation
attribute, and use its local copy in preference. If you want to use a non-standard version of one of these schemas from a location of your own choosing, you can use Saxon's resolver mechanisms to achieve this: for example you can supply your ownResourceResolver
callback, or you can register a catalog file that redirects the namespace URI to a different location.The schemas in this category are:
The
xlink
namespacehttp://www.w3.org/1999/xlink
The
xhtml
namespacehttp://www.w3.org/1999/xhtml
The
xsd
namespacehttp://www.w3.org/2001/XMLSchema
The
xslt
namespacehttp://www.w3.org/1999/XSL/Transform