Package org.exolab.castor.xml.parsing
Class NamespaceHandling
java.lang.Object
org.exolab.castor.xml.parsing.NamespaceHandling
This class is used by the
UnmarshalHandler
to handle name spaces. It
manages a stack of name spaces, keeps track of when an new name space scope
is needed and maps name space URIs to package names.- Since:
- 1.3.2
- Author:
- Philipp Erlacher
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addDefaultNamespace
(String namespaceURI) Binds the namespaceURI to the default namespace.void
addNamespace
(String prefix, String namespaceURI) Binds the namespaceURI to the prefixvoid
addNamespaceToPackageMapping
(String nsURI, String packageName) Adds a mapping from the given namespace URI to the given package name.void
Creates a new name space.Gets the namespace URI that is bound to the default name space.getMappedPackage
(String namespace) Looks up the package name from the given namespace URI.Returns the current name space context.getNamespacePrefix
(String namespaceURI) Gets the prefix that is bound to a namespaceURI.getNamespaceURI
(String prefix) Gets the namespaceURI that is bound to a prefix.boolean
Indicates whether a new name space scope is needed.void
processNamespaces
(XMLClassDescriptor classDesc, Object object) Saves local namespace declarations to the object model if necessary.void
Pops the current namespace instanceresolveNamespace
(Object value) Extracts the prefix and resolves it to it's associated namespace.void
Starts a new name space scope, and resets the corresponding flag.void
Stops a name space scope, and resets the corresponding flag to false.
-
Constructor Details
-
NamespaceHandling
public NamespaceHandling()
-
-
Method Details
-
addNamespaceToPackageMapping
Adds a mapping from the given namespace URI to the given package name.- Parameters:
nsURI
- the namespace URI to map from.packageName
- the package name to map to.
-
getMappedPackage
Looks up the package name from the given namespace URI.- Parameters:
namespace
- the namespace URI to lookup- Returns:
- the package name or null.
-
processNamespaces
Saves local namespace declarations to the object model if necessary.- Parameters:
classDesc
- the current ClassDescriptor.object
- the Object of the current state
-
resolveNamespace
Extracts the prefix and resolves it to it's associated namespace. If the prefix is 'xml', then no resolution will occur, however in all other cases the resolution will change the prefix:value as {NamespaceURI}value- Parameters:
value
- the QName to resolve.- Returns:
- Throws:
SAXException
- if the nammespace associated with the prefix is null
-
removeCurrentNamespaceInstance
public void removeCurrentNamespaceInstance()Pops the current namespace instance -
addDefaultNamespace
Binds the namespaceURI to the default namespace.- Parameters:
namespaceURI
- Namespace URI
-
addNamespace
Binds the namespaceURI to the prefix- Parameters:
prefix
- XML name space prefixnamespaceURI
- XML name space URI.
-
getNamespacePrefix
Gets the prefix that is bound to a namespaceURI.- Parameters:
namespaceURI
- the namespaceURI to get the prefix from- Returns:
- prefix
-
getNamespaceURI
Gets the namespaceURI that is bound to a prefix.- Parameters:
prefix
- the prefix to get the namespaceURI from- Returns:
- namespaceURI The corresponding namespace URI.
-
getDefaultNamespaceURI
Gets the namespace URI that is bound to the default name space.- Returns:
- namespaceURI The namespace URI bound to the default namespace.
-
createNamespace
public void createNamespace()Creates a new name space. -
getNamespaceContext
Returns the current name space context.- Returns:
- The current name space stack (context).
-
isNewNamespaceScopeNecessary
public boolean isNewNamespaceScopeNecessary()Indicates whether a new name space scope is needed.- Returns:
- true if a new name space scope is necessary.
-
startNamespaceScope
public void startNamespaceScope()Starts a new name space scope, and resets the corresponding flag. -
stopNamespaceScope
public void stopNamespaceScope()Stops a name space scope, and resets the corresponding flag to false.
-