XIncludeNamespaceSupportpublic class XIncludeNamespaceSupport extends MultipleScopeNamespaceSupport This is an implementation of NamespaceContext which is intended to be used for
XInclude processing. It enables each context to be marked as invalid, if necessary,
to indicate that the namespaces recorded on those contexts won't be apparent in the
resulting infoset. |
Fields Summary |
---|
private boolean[] | fValidContextThis stores whether or not the context at the matching depth was valid. |
Constructors Summary |
---|
public XIncludeNamespaceSupport()
super();
| public XIncludeNamespaceSupport(NamespaceContext context)
super(context);
|
Methods Summary |
---|
public java.lang.String | getURIFromIncludeParent(java.lang.String prefix)This returns the namespace URI which was associated with the given pretext, in
the context that existed at the include parent of the current element. The
include parent is the last element, before the current one, which was not set
to an invalid context using setContextInvalid()
int lastValidContext = fCurrentContext - 1;
while (lastValidContext > 0 && !fValidContext[lastValidContext]) {
lastValidContext--;
}
return getURI(prefix, lastValidContext);
| public void | pushContext()Pushes a new context onto the stack.
super.pushContext();
if (fCurrentContext + 1 == fValidContext.length) {
boolean[] contextarray = new boolean[fValidContext.length * 2];
System.arraycopy(fValidContext, 0, contextarray, 0, fValidContext.length);
fValidContext = contextarray;
}
fValidContext[fCurrentContext] = true;
| public void | setContextInvalid()This method is used to set a context invalid for XInclude namespace processing.
Any context defined by an <include> or <fallback> element is not
valid for processing the include parent's [in-scope namespaces]. Thus, contexts
defined by these elements are set to invalid by the XInclude processor using
this method.
fValidContext[fCurrentContext] = false;
|
|