com.marsching.flexiparse.util
Class DOMBasedNamespaceContext

java.lang.Object
  extended by com.marsching.flexiparse.util.AbstractNamespaceContext
      extended by com.marsching.flexiparse.util.DOMBasedNamespaceContext
All Implemented Interfaces:
NamespaceContext

public class DOMBasedNamespaceContext
extends AbstractNamespaceContext

Provides namespace information from a DOM document.

Author:
Sebastian Marsching

Constructor Summary
DOMBasedNamespaceContext(Node contextNode)
          Creates a namespace context that provides the namespace information valid for the supplied node.
 
Method Summary
 String getNamespaceURI(String prefix)
          Get Namespace URI bound to a prefix in the current scope.
 String getPrefix(String namespaceURI)
          Get prefix bound to Namespace URI in the current scope.
 Iterator getPrefixes(String namespaceURI)
          Get all prefixes bound to a Namespace URI in the current scope.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DOMBasedNamespaceContext

public DOMBasedNamespaceContext(Node contextNode)
Creates a namespace context that provides the namespace information valid for the supplied node.

Parameters:
contextNode - node whose namespace context should be used
Method Detail

getNamespaceURI

public String getNamespaceURI(String prefix)
Description copied from class: AbstractNamespaceContext

Get Namespace URI bound to a prefix in the current scope.

When requesting a Namespace URI by prefix, the following table describes the returned Namespace URI value for all possible prefix values:

getNamespaceURI(prefix) return value for specified prefixes
prefix parameter Namespace URI return value
DEFAULT_NS_PREFIX ("") default Namespace URI in the current scope or XMLConstants.NULL_NS_URI("") when there is no default Namespace URI in the current scope
bound prefix Namespace URI bound to prefix in current scope
unbound prefix XMLConstants.NULL_NS_URI("")
XMLConstants.XML_NS_PREFIX ("xml") XMLConstants.XML_NS_URI ("http://www.w3.org/XML/1998/namespace")
XMLConstants.XMLNS_ATTRIBUTE ("xmlns") XMLConstants.XMLNS_ATTRIBUTE_NS_URI ("http://www.w3.org/2000/xmlns/")
null IllegalArgumentException is thrown

Specified by:
getNamespaceURI in interface NamespaceContext
Overrides:
getNamespaceURI in class AbstractNamespaceContext
Parameters:
prefix - prefix to look up
Returns:
Namespace URI bound to prefix in the current scope

getPrefix

public String getPrefix(String namespaceURI)
Description copied from class: AbstractNamespaceContext

Get prefix bound to Namespace URI in the current scope.

To get all prefixes bound to a Namespace URI in the current scope, use AbstractNamespaceContext.getPrefixes(String namespaceURI).

When requesting a prefix by Namespace URI, the following table describes the returned prefix value for all Namespace URI values:

getPrefix(namespaceURI) return value for specified Namespace URIs
Namespace URI parameter prefix value returned
<default Namespace URI> XMLConstants.DEFAULT_NS_PREFIX ("")
bound Namespace URI prefix bound to Namespace URI in the current scope, if multiple prefixes are bound to the Namespace URI in the current scope, a single arbitrary prefix, whose choice is implementation dependent, is returned
unbound Namespace URI null
XMLConstants.XML_NS_URI ("http://www.w3.org/XML/1998/namespace") XMLConstants.XML_NS_PREFIX ("xml")
XMLConstants.XMLNS_ATTRIBUTE_NS_URI ("http://www.w3.org/2000/xmlns/") XMLConstants.XMLNS_ATTRIBUTE ("xmlns")
null IllegalArgumentException is thrown

Specified by:
getPrefix in interface NamespaceContext
Overrides:
getPrefix in class AbstractNamespaceContext
Parameters:
namespaceURI - URI of Namespace to lookup
Returns:
prefix bound to Namespace URI in current context

getPrefixes

public Iterator getPrefixes(String namespaceURI)
Description copied from class: AbstractNamespaceContext

Get all prefixes bound to a Namespace URI in the current scope.

An Iterator over String elements is returned in an arbitrary, implementation dependent, order.

The Iterator is not modifiable. e.g. the remove() method will throw UnsupportedOperationException.

When requesting prefixes by Namespace URI, the following table describes the returned prefixes value for all Namespace URI values:

getPrefixes(namespaceURI) return value for specified Namespace URIs
Namespace URI parameter prefixes value returned
bound Namespace URI, including the <default Namespace URI> Iterator over prefixes bound to Namespace URI in the current scope in an arbitrary, implementation dependent, order
unbound Namespace URI empty Iterator
XMLConstants.XML_NS_URI ("http://www.w3.org/XML/1998/namespace") Iterator with one element set to XMLConstants.XML_NS_PREFIX ("xml")
XMLConstants.XMLNS_ATTRIBUTE_NS_URI ("http://www.w3.org/2000/xmlns/") Iterator with one element set to XMLConstants.XMLNS_ATTRIBUTE ("xmlns")
null IllegalArgumentException is thrown

Specified by:
getPrefixes in interface NamespaceContext
Overrides:
getPrefixes in class AbstractNamespaceContext
Parameters:
namespaceURI - URI of Namespace to lookup
Returns:
Iterator for all prefixes bound to the Namespace URI in the current scope


Copyright © 2008-2009. All Rights Reserved.