Saxon.Api

 

 

Saxon.Api

Enum UnprefixedElementMatchingPolicy


public enum UnprefixedElementMatchingPolicy

An enumeration defining possible strategies for resolving unprefixed element names appearing as name tests in the steps of a path expression or XSLT match pattern

Field Summary

  AnyNamespace

Under this policy, unprefixed element names match on the local part only; an element with this local name is matched regardless of its namespace (that is, it can have any namespace, or none)

  DefaultNamespace

The standard W3C policy, whereby element names are implicitly qualified by the default namespace for elements and types, as defined in the XPath static context. In XSLT this can be set using the [xsl:]xpath-default-namespace attribute, or programmatically by binding the namespace prefix "".

  DefaultNamespaceOrNone

Under this policy, unprefixed element names match provided that (a) the local part of the name matches, and (b) the namespace part of the name is either equal to the default namespace for elements and types, or is absent.

 

Field Detail

AnyNamespace

public  AnyNamespace

Under this policy, unprefixed element names match on the local part only; an element with this local name is matched regardless of its namespace (that is, it can have any namespace, or none)

DefaultNamespace

public  DefaultNamespace

The standard W3C policy, whereby element names are implicitly qualified by the default namespace for elements and types, as defined in the XPath static context. In XSLT this can be set using the [xsl:]xpath-default-namespace attribute, or programmatically by binding the namespace prefix "".

DefaultNamespaceOrNone

public  DefaultNamespaceOrNone

Under this policy, unprefixed element names match provided that (a) the local part of the name matches, and (b) the namespace part of the name is either equal to the default namespace for elements and types, or is absent.

This policy is provided primarily for use with HTML, where it can be unpredictable whether HTML elements are in the XHTML namespace or in no namespace. It is also useful with other vocabularies where instances are sometimes in a namespace and sometimes not. The policy approximates to the special rules defined in the HTML5 specification, which states that unprefixed names are treated as matching names in the XHTML namespace if the context item for a step is "a node in an HTML DOM", and as matching no-namespace names otherwise; since in the XDM data model it is not possible to make a distinction between different kinds of DOM, this policy allows use of unprefixed names both when matching elements in the XHTML namespace and when matching no-namespace elements