DOMImplementationSourceImplpublic class DOMImplementationSourceImpl extends Object implements DOMImplementationSourceSupply one the right implementation, based upon requested features. Each
implemented DOMImplementationSource object is listed in the
binding-specific list of available sources so that its
DOMImplementation objects are made available.
See also the Document Object Model (DOM) Level 3 Core Specification. |
Methods Summary |
---|
public org.w3c.dom.DOMImplementation | getDOMImplementation(java.lang.String features)A method to request a DOM implementation.
// first check whether the CoreDOMImplementation would do
DOMImplementation impl =
CoreDOMImplementationImpl.getDOMImplementation();
if (testImpl(impl, features)) {
return impl;
}
// if not try the DOMImplementation
impl = DOMImplementationImpl.getDOMImplementation();
if (testImpl(impl, features)) {
return impl;
}
return null;
| public org.w3c.dom.DOMImplementationList | getDOMImplementationList(java.lang.String features)A method to request a list of DOM implementations that support the
specified features and versions, as specified in .
// first check whether the CoreDOMImplementation would do
DOMImplementation impl = CoreDOMImplementationImpl.getDOMImplementation();
final Vector implementations = new Vector();
if (testImpl(impl, features)) {
implementations.addElement(impl);
}
impl = DOMImplementationImpl.getDOMImplementation();
if (testImpl(impl, features)) {
implementations.addElement(impl);
}
return new DOMImplementationListImpl(implementations);
| boolean | testImpl(org.w3c.dom.DOMImplementation impl, java.lang.String features)
StringTokenizer st = new StringTokenizer(features);
String feature = null;
String version = null;
if (st.hasMoreTokens()) {
feature = st.nextToken();
}
while (feature != null) {
boolean isVersion = false;
if (st.hasMoreTokens()) {
char c;
version = st.nextToken();
c = version.charAt(0);
switch (c) {
case '0": case '1": case '2": case '3": case '4":
case '5": case '6": case '7": case '8": case '9":
isVersion = true;
}
} else {
version = null;
}
if (isVersion) {
if (!impl.hasFeature(feature, version)) {
return false;
}
if (st.hasMoreTokens()) {
feature = st.nextToken();
} else {
feature = null;
}
} else {
if (!impl.hasFeature(feature, null)) {
return false;
}
feature = version;
}
}
return true;
|
|