knoaman     2002/08/09 14:43:15

  Modified:    c/src/xercesc/dom/impl DOMDocumentImpl.cpp
  Log:
  Throw exception if version is not supported.
  
  Revision  Changes    Path
  1.16      +11 -5     xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.cpp
  
  Index: DOMDocumentImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.cpp,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- DOMDocumentImpl.cpp       8 Aug 2002 14:15:47 -0000       1.15
  +++ DOMDocumentImpl.cpp       9 Aug 2002 21:43:14 -0000       1.16
  @@ -156,7 +156,6 @@
         fRecycleBufferPtr(0)
   {
       fNamePool    = new (this) DOMStringPool(257, this);
  -
       try {
           setDocumentType(doctype);
   
  @@ -672,8 +671,8 @@
                                                                                       
 {return fNode.isSupported (feature, version); };
              void             DOMDocumentImpl::setPrefix(const XMLCh  *prefix)        
 {fNode.setPrefix(prefix); };
              bool             DOMDocumentImpl::hasAttributes() const                  
 {return fNode.hasAttributes(); };
  -           bool             DOMDocumentImpl::isSameNode(const DOMNode* other)       
 {return fNode.isSameNode(other); };
  -           bool             DOMDocumentImpl::isEqualNode(const DOMNode* arg)        
 {return fParent.isEqualNode(arg); };
  +           bool             DOMDocumentImpl::isSameNode(const DOMNode* other)       
 {return fNode.isSameNode(other);};
  +           bool             DOMDocumentImpl::isEqualNode(const DOMNode* arg)        
 {return fParent.isEqualNode(arg);};
              void*            DOMDocumentImpl::setUserData(const XMLCh* key, void* 
data, DOMUserDataHandler* handler)
                                                                                       
 {return fNode.setUserData(key, data, handler); };
              void*            DOMDocumentImpl::getUserData(const XMLCh* key) const    
 {return fNode.getUserData(key); };
  @@ -697,6 +696,7 @@
   //                       just lying around naked in DocumentImpl.
   //
   //-----------------------------------------------------------------------
  +
   XMLCh * DOMDocumentImpl::cloneString(const XMLCh *src)
   {
       if (!src) return 0;
  @@ -869,6 +869,9 @@
   }
   
   void DOMDocumentImpl::setVersion(const XMLCh* version){
  +    if (XMLString::compareString(version, XMLUni::fgSupportedVersion))
  +        throw DOMException(DOMException::NOT_SUPPORTED_ERR, 0);
  +
       fVersion = cloneString(version);
   }
   
  @@ -1182,7 +1185,10 @@
   DOMNode* DOMDocumentImpl::renameNode(DOMNode* n, const XMLCh* namespaceURI, const 
XMLCh* name)
   {
       if (n->getOwnerDocument() != this)
  -        throw DOMException(DOMException::WRONG_DOCUMENT_ERR, 0);
  +        if (n->getNodeType() == DOCUMENT_NODE)
  +            throw DOMException(DOMException::NOT_SUPPORTED_ERR, 0);
  +        else
  +            throw DOMException(DOMException::WRONG_DOCUMENT_ERR, 0);
   
       switch (n->getNodeType()) {
           case ELEMENT_NODE:
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to