From 1a16499bf157d4b0c42c487f6fabad2db91f95af Mon Sep 17 00:00:00 2001 From: Tinny Ng <tng@apache.org> Date: Mon, 15 Jul 2002 19:30:27 +0000 Subject: [PATCH] DOM L3: declare dummy DOMImplementation::getInterface git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@174003 13f79535-47bb-0310-9956-ffa450edef68 --- src/xercesc/dom/DOMImplementation.hpp | 26 +++++++++++++++++++ .../dom/impl/DOMImplementationImpl.cpp | 7 ++++- .../dom/impl/DOMImplementationImpl.hpp | 3 +++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/xercesc/dom/DOMImplementation.hpp b/src/xercesc/dom/DOMImplementation.hpp index 8774ac285..ecf664fbd 100644 --- a/src/xercesc/dom/DOMImplementation.hpp +++ b/src/xercesc/dom/DOMImplementation.hpp @@ -199,6 +199,32 @@ public: const XMLCh *qualifiedName, DOMDocumentType *doctype) = 0; + //@} + // ----------------------------------------------------------------------- + // Functions introduced in DOM Level 3 + // ----------------------------------------------------------------------- + /** @name Functions introduced in DOM Level 3 */ + //@{ + /** + * This method makes available a <code>DOMImplementation</code>'s + * specialized interface (see ). + * + * <p><b>"Experimental - subject to change"</b></p> + * + * @param feature The name of the feature requested (case-insensitive). + * @return Returns an alternate <code>DOMImplementation</code> which + * implements the specialized APIs of the specified feature, if any, + * or <code>null</code> if there is no alternate + * <code>DOMImplementation</code> object which implements interfaces + * associated with that feature. Any alternate + * <code>DOMImplementation</code> returned by this method must + * delegate to the primary core <code>DOMImplementation</code> and not + * return results inconsistent with the primary + * <code>DOMImplementation</code> + * @since DOM Level 3 + */ + virtual DOMImplementation* getInterface(const XMLCh* feature) = 0; + //@} // ----------------------------------------------------------------------- diff --git a/src/xercesc/dom/impl/DOMImplementationImpl.cpp b/src/xercesc/dom/impl/DOMImplementationImpl.cpp index b1f9ead0b..4e766d30b 100644 --- a/src/xercesc/dom/impl/DOMImplementationImpl.cpp +++ b/src/xercesc/dom/impl/DOMImplementationImpl.cpp @@ -199,6 +199,12 @@ DOMDocument *DOMImplementationImpl::createDocument() return new DOMDocumentImpl(); } +//Introduced in DOM Level 3 +DOMImplementation* DOMImplementationImpl::getInterface(const XMLCh* feature){ + throw DOMException(DOMException::NOT_SUPPORTED_ERR, 0); + return 0; +} + // // DOMImplementation::getImplementation. DOMImplementation is supposed to // be a pure interface class. This one static @@ -208,7 +214,6 @@ DOMImplementation *DOMImplementation::getImplementation() return (DOMImplementation*) DOMImplementationImpl::getDOMImplementationImpl(); } - // ------------------------------------------------------------ // DOMImplementationLS Virtual interface // ------------------------------------------------------------ diff --git a/src/xercesc/dom/impl/DOMImplementationImpl.hpp b/src/xercesc/dom/impl/DOMImplementationImpl.hpp index 17cdee614..dd170f92d 100644 --- a/src/xercesc/dom/impl/DOMImplementationImpl.hpp +++ b/src/xercesc/dom/impl/DOMImplementationImpl.hpp @@ -97,6 +97,9 @@ public: const XMLCh *qualifiedName, DOMDocumentType *doctype); + // DOM Level 3 + virtual DOMImplementation* getInterface(const XMLCh* feature); + // Non-standard extension virtual DOMDocument* createDocument(); -- GitLab