Class NamespaceDeclarationsImpl

java.lang.Object
net.sf.saxon.om.NamespaceDeclarationsImpl
All Implemented Interfaces:
NamespaceDeclarations

public class NamespaceDeclarationsImpl extends Object implements NamespaceDeclarations
An implementation of the NamespaceDeclarations interface, based on encapsulating an array of namespace codes.
  • Constructor Details

    • NamespaceDeclarationsImpl

      public NamespaceDeclarationsImpl()
    • NamespaceDeclarationsImpl

      public NamespaceDeclarationsImpl(NamePool pool, int[] codes)
      Construct a set of namespace declarations
      Parameters:
      pool - the name pool
      codes - an integer array holding the namespace codes. These codes are allocated by the name pool, and can be used to look up a prefix and uri in the name pool. If the array contains the integer -1, this acts as a terminator for the list. This is the format returned by the method NodeInfo.getDeclaredNamespaces(int[]). A value of null is equivalent to supplying an empty array.
  • Method Details

    • setNamePool

      public void setNamePool(NamePool pool)
      Set the name pool
    • setNamespaceCodes

      public void setNamespaceCodes(int[] codes)
      Set the namespace codes.
      Parameters:
      codes - an integer array holding the namespace codes. These codes are allocated by the name pool, and can be used to look up a prefix and uri in the name pool. If the array contains the integer -1, this acts as a terminator for the list. This is the format returned by the method NodeInfo.getDeclaredNamespaces(int[]). A value of null is equivalent to supplying an empty array.
    • getNamespaceCodes

      public int[] getNamespaceCodes(int[] buffer)
      Get all the namespace codes, as an array.
      Specified by:
      getNamespaceCodes in interface NamespaceDeclarations
      Parameters:
      buffer - a sacrificial array that the method is free to use to contain the result. May be null.
      Returns:
      an integer array containing namespace codes. The array may be filled completely with namespace codes, or it may be incompletely filled, in which case a -1 integer acts as a terminator.
    • getNumberOfNamespaces

      public int getNumberOfNamespaces()
      Get the number of declarations (and undeclarations) in this list.
      Specified by:
      getNumberOfNamespaces in interface NamespaceDeclarations
    • getPrefix

      public String getPrefix(int index)
      Get the prefix of the n'th declaration (or undeclaration) in the list, counting from zero.
      Specified by:
      getPrefix in interface NamespaceDeclarations
      Parameters:
      index - the index identifying which declaration is required.
      Returns:
      the namespace prefix. For a declaration or undeclaration of the default namespace, this is the zero-length string.
      Throws:
      IndexOutOfBoundsException - if the index is out of range.
    • getURI

      public String getURI(int index)
      Get the namespace URI of the n'th declaration (or undeclaration) in the list, counting from zero.
      Specified by:
      getURI in interface NamespaceDeclarations
      Parameters:
      index - the index identifying which declaration is required.
      Returns:
      the namespace URI. For a namespace undeclaration, this is the zero-length string.
      Throws:
      IndexOutOfBoundsException - if the index is out of range.
    • getNamespaceCode

      public int getNamespaceCode(int index)
      Get the n'th declaration in the list in the form of a namespace code. Namespace codes can be translated into a prefix and URI by means of methods in the NamePool
      Specified by:
      getNamespaceCode in interface NamespaceDeclarations
      Parameters:
      index - the index identifying which declaration is required.
      Returns:
      the namespace code. This is an integer whose upper half indicates the prefix (0 represents the default namespace), and whose lower half indicates the URI (0 represents an undeclaration).
      Throws:
      IndexOutOfBoundsException - if the index is out of range.
      See Also: