tng         2002/12/20 14:10:58

  Modified:    c/src/xercesc/dom/deprecated AttrNSImpl.cpp
                        DOM_DOMImplementation.cpp DocumentImpl.cpp
                        DocumentImpl.hpp ElementNSImpl.cpp XMLDeclImpl.cpp
               c/src/xercesc/dom/impl DOMAttrNSImpl.cpp DOMDocumentImpl.cpp
                        DOMDocumentImpl.hpp DOMDocumentTypeImpl.cpp
                        DOMElementNSImpl.cpp DOMImplementationImpl.cpp
  Log:
  XML 1.1
  
  Revision  Changes    Path
  1.4       +2 -2      xml-xerces/c/src/xercesc/dom/deprecated/AttrNSImpl.cpp
  
  Index: AttrNSImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/deprecated/AttrNSImpl.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AttrNSImpl.cpp    4 Nov 2002 15:04:44 -0000       1.3
  +++ AttrNSImpl.cpp    20 Dec 2002 22:10:57 -0000      1.4
  @@ -155,7 +155,7 @@
           if (namespaceURI == null || localName.equals(xmlns)) {
               throw DOM_DOMException(DOM_DOMException::NAMESPACE_ERR, null);
           }
  -        if (prefix != null && !DocumentImpl::isXMLName(prefix)) {
  +        if (prefix != null && !((DocumentImpl 
*)this->getOwnerDocument())->isXMLName(prefix)) {
               throw DOM_DOMException(DOM_DOMException::INVALID_CHARACTER_ERR,
                                      null);
           }
  
  
  
  1.4       +4 -3      
xml-xerces/c/src/xercesc/dom/deprecated/DOM_DOMImplementation.cpp
  
  Index: DOM_DOMImplementation.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/dom/deprecated/DOM_DOMImplementation.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DOM_DOMImplementation.cpp 4 Nov 2002 15:04:44 -0000       1.3
  +++ DOM_DOMImplementation.cpp 20 Dec 2002 22:10:57 -0000      1.4
  @@ -65,6 +65,7 @@
   #include "DocumentImpl.hpp"
   #include "DocumentTypeImpl.hpp"
   #include "DStringPool.hpp"
  +#include <xercesc/util/XMLChar.hpp>
   #include <xercesc/util/PlatformUtils.hpp>
   #include <xercesc/util/XMLRegisterCleanup.hpp>
   
  @@ -209,8 +210,8 @@
   
   DOM_DocumentType DOM_DOMImplementation::createDocumentType(const DOMString 
&qualifiedName,
        const DOMString &publicId, const DOMString &systemId)
  -{
  -    if(!DocumentImpl::isXMLName(qualifiedName))
  +{    
  +    if(!XMLChar1_0::isValidName(qualifiedName.rawBuffer(), 
XMLString::stringLen(qualifiedName.rawBuffer())))
           throw DOM_DOMException(DOM_DOMException::INVALID_CHARACTER_ERR,null);
       return DOM_DocumentType(new DocumentTypeImpl(null, qualifiedName, publicId, 
systemId));
   }
  
  
  
  1.5       +2 -19     xml-xerces/c/src/xercesc/dom/deprecated/DocumentImpl.cpp
  
  Index: DocumentImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/deprecated/DocumentImpl.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DocumentImpl.cpp  4 Nov 2002 15:04:44 -0000       1.4
  +++ DocumentImpl.cpp  20 Dec 2002 22:10:57 -0000      1.5
  @@ -448,24 +448,7 @@
   
   bool DocumentImpl::isXMLName(const DOMString &s)
   {
  -    const XMLCh   *nam;
  -    int           length;
  -    int           i;
  -
  -    length = s.length();
  -    if (length == 0)
  -        return false;
  -
  -    nam = s.rawBuffer();
  -    if (!XMLReader::isFirstNameChar(nam[0]))
  -        return false;
  -
  -    for (i=1; i<length; i++)
  -    {
  -        if (!XMLReader::isNameChar(nam[i]))
  -            return false;
  -    }
  -    return true;
  +    return XMLChar1_0::isValidName(s.rawBuffer(),s.length());
   };
   
   
  
  
  
  1.4       +2 -2      xml-xerces/c/src/xercesc/dom/deprecated/DocumentImpl.hpp
  
  Index: DocumentImpl.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/deprecated/DocumentImpl.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DocumentImpl.hpp  4 Nov 2002 15:04:44 -0000       1.3
  +++ DocumentImpl.hpp  20 Dec 2002 22:10:57 -0000      1.4
  @@ -201,7 +201,7 @@
       virtual ElementImpl         *getDocumentElement();
       virtual DeepNodeListImpl    *getElementsByTagName(const DOMString & tagname);
       virtual NodeImpl            *insertBefore(NodeImpl *newChild, NodeImpl 
*refChild);
  -    static  bool                isXMLName(const DOMString & s);
  +    bool                        isXMLName(const DOMString & s);
       virtual void                referenced();
       virtual NodeImpl            *removeChild(NodeImpl *oldChild);
       virtual void                unreferenced();
  
  
  
  1.4       +2 -2      xml-xerces/c/src/xercesc/dom/deprecated/ElementNSImpl.cpp
  
  Index: ElementNSImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/deprecated/ElementNSImpl.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ElementNSImpl.cpp 4 Nov 2002 15:04:44 -0000       1.3
  +++ ElementNSImpl.cpp 20 Dec 2002 22:10:57 -0000      1.4
  @@ -140,7 +140,7 @@
                                    DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR,
                                    null);
           }
  -        if (prefix != null && !DocumentImpl::isXMLName(prefix)) {
  +        if (prefix != null && !((DocumentImpl 
*)this->getOwnerDocument())->isXMLName(prefix)) {
               throw DOM_DOMException(DOM_DOMException::INVALID_CHARACTER_ERR,
                                      null);
           }
  
  
  
  1.4       +2 -2      xml-xerces/c/src/xercesc/dom/deprecated/XMLDeclImpl.cpp
  
  Index: XMLDeclImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/deprecated/XMLDeclImpl.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XMLDeclImpl.cpp   4 Nov 2002 15:04:44 -0000       1.3
  +++ XMLDeclImpl.cpp   20 Dec 2002 22:10:57 -0000      1.4
  @@ -72,7 +72,7 @@
   
   XMLDeclImpl::XMLDeclImpl(DocumentImpl *ownerDoc)
       : ChildNode(ownerDoc),
  -    version(DOMString(XMLUni::fgSupportedVersion)),
  +    version(DOMString(XMLUni::fgVersion1_0)),
       encoding (DOMString(XMLUni::fgUTF8EncodingString)),
       standalone (DOMString(XMLUni::fgNoString))
   {
  
  
  
  1.10      +3 -3      xml-xerces/c/src/xercesc/dom/impl/DOMAttrNSImpl.cpp
  
  Index: DOMAttrNSImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMAttrNSImpl.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- DOMAttrNSImpl.cpp 4 Nov 2002 15:07:34 -0000       1.9
  +++ DOMAttrNSImpl.cpp 20 Dec 2002 22:10:58 -0000      1.10
  @@ -129,7 +129,7 @@
       if (fNamespaceURI == 0 || fNamespaceURI[0] == chNull || 
XMLString::equals(fLocalName, xmlns))
           throw DOMException(DOMException::NAMESPACE_ERR, 0);
   
  -    if (prefix != 0 && !DOMDocumentImpl::isXMLName(prefix))
  +    if (prefix != 0 && !((DOMDocumentImpl 
*)this->getOwnerDocument())->isXMLName(prefix))
           throw DOMException(DOMException::INVALID_CHARACTER_ERR,0);
   
       if (prefix == 0 || prefix[0] == chNull) {
  @@ -241,7 +241,7 @@
               delete[] newName;
   
           // Before we carry on, we should check if the prefix or localName are valid 
XMLName
  -        if (!DOMDocumentImpl::isXMLName(fPrefix) || 
!DOMDocumentImpl::isXMLName(fLocalName))
  +        if (!((DOMDocumentImpl *)this->getOwnerDocument())->isXMLName(fPrefix) || 
!((DOMDocumentImpl *)this->getOwnerDocument())->isXMLName(fLocalName))
               throw DOMException(DOMException::NAMESPACE_ERR, 0);
       }
   
  
  
  
  1.28      +7 -13     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.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- DOMDocumentImpl.cpp       4 Nov 2002 15:07:34 -0000       1.27
  +++ DOMDocumentImpl.cpp       20 Dec 2002 22:10:58 -0000      1.28
  @@ -465,17 +465,10 @@
   
   bool DOMDocumentImpl::isXMLName(const XMLCh *s)
   {
  -    // revist.  This function probably already exists in the scanner.
  -    if (!XMLReader::isFirstNameChar(s[0]))
  -        return false;
  -
  -    const XMLCh *p;
  -    for (p=s+1; *p!=0; p++)
  -    {
  -        if (!XMLReader::isNameChar(*p))
  -            return false;
  -    }
  -    return true;
  +    if (XMLString::equals(fVersion, XMLUni::fgVersion1_1))
  +        return XMLChar1_1::isValidName(s, XMLString::stringLen(s));
  +    else
  +        return XMLChar1_0::isValidName(s, XMLString::stringLen(s));
   };
   
   
  @@ -894,7 +887,8 @@
   
   void DOMDocumentImpl::setVersion(const XMLCh* version){
       if ((version && *version) &&
  -        !XMLString::equals(version, XMLUni::fgSupportedVersion))
  +        !XMLString::equals(version, XMLUni::fgVersion1_0) &&
  +        !XMLString::equals(version, XMLUni::fgVersion1_1))
           throw DOMException(DOMException::NOT_SUPPORTED_ERR, 0);
   
       fVersion = cloneString(version);
  
  
  
  1.13      +2 -2      xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.hpp
  
  Index: DOMDocumentImpl.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.hpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- DOMDocumentImpl.hpp       5 Nov 2002 21:44:37 -0000       1.12
  +++ DOMDocumentImpl.hpp       20 Dec 2002 22:10:58 -0000      1.13
  @@ -177,7 +177,7 @@
       virtual DOMElement*          getDocumentElement() const;
       virtual DOMNodeList*         getElementsByTagName(const XMLCh * tagname) const;
       virtual DOMImplementation*   getImplementation() const;
  -    static  bool                 isXMLName(const XMLCh * s);
  +    bool                         isXMLName(const XMLCh * s);
       virtual DOMNodeIterator*     createNodeIterator(DOMNode *root,
                                                       unsigned long whatToShow,
                                                       DOMNodeFilter* filter,
  
  
  
  1.20      +11 -3     xml-xerces/c/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp
  
  Index: DOMDocumentTypeImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- DOMDocumentTypeImpl.cpp   4 Nov 2002 15:07:34 -0000       1.19
  +++ DOMDocumentTypeImpl.cpp   20 Dec 2002 22:10:58 -0000      1.20
  @@ -62,6 +62,7 @@
   #include <xercesc/dom/DOMNode.hpp>
   #include <xercesc/dom/DOMException.hpp>
   #include <xercesc/util/XMLUniDefs.hpp>
  +#include <xercesc/util/XMLChar.hpp>
   
   #include "DOMNamedNodeMapImpl.hpp"
   #include "DOMDocumentImpl.hpp"
  @@ -136,8 +137,15 @@
           newName[index] = chNull;
   
           // Before we carry on, we should check if the prefix or localName are valid 
XMLName
  -        if (!DOMDocumentImpl::isXMLName(newName) || 
!DOMDocumentImpl::isXMLName(qualifiedName+index+1))
  -            throw DOMException(DOMException::NAMESPACE_ERR, 0);
  +        if (ownerDoc) {
  +            if (!((DOMDocumentImpl*)ownerDoc)->isXMLName(newName) || 
!((DOMDocumentImpl*)ownerDoc)->isXMLName(qualifiedName+index+1))
  +                throw DOMException(DOMException::NAMESPACE_ERR, 0);
  +        }
  +        else {
  +            // document is not there yet, so assume XML 1.0
  +            if (!XMLChar1_0::isValidName(newName, index) || 
!XMLChar1_0::isValidName(qualifiedName+index+1, 
XMLString::stringLen(qualifiedName)-index-1))
  +                throw DOMException(DOMException::NAMESPACE_ERR, 0);
  +        }
   
           if (index >= 3999)
               delete[] newName;
  
  
  
  1.11      +3 -3      xml-xerces/c/src/xercesc/dom/impl/DOMElementNSImpl.cpp
  
  Index: DOMElementNSImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMElementNSImpl.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- DOMElementNSImpl.cpp      4 Nov 2002 15:07:34 -0000       1.10
  +++ DOMElementNSImpl.cpp      20 Dec 2002 22:10:58 -0000      1.11
  @@ -151,7 +151,7 @@
       if (fNode.isReadOnly())
           throw DOMException(DOMException::NO_MODIFICATION_ALLOWED_ERR,
                                  0);
  -    if(prefix != 0 && !DOMDocumentImpl::isXMLName(prefix))
  +    if(prefix != 0 && !((DOMDocumentImpl 
*)this->getOwnerDocument())->isXMLName(prefix))
           throw DOMException(DOMException::INVALID_CHARACTER_ERR,0);
   
       if (fNamespaceURI == 0 || fNamespaceURI[0] == chNull)
  @@ -250,7 +250,7 @@
               delete[] newName;
   
           // Before we carry on, we should check if the prefix or localName are valid 
XMLName
  -        if (!DOMDocumentImpl::isXMLName(fPrefix) || 
!DOMDocumentImpl::isXMLName(fLocalName))
  +        if (!((DOMDocumentImpl *)this->getOwnerDocument())->isXMLName(fPrefix) || 
!((DOMDocumentImpl *)this->getOwnerDocument())->isXMLName(fLocalName))
               throw DOMException(DOMException::NAMESPACE_ERR, 0);
       }
   
  
  
  
  1.14      +4 -2      xml-xerces/c/src/xercesc/dom/impl/DOMImplementationImpl.cpp
  
  Index: DOMImplementationImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMImplementationImpl.cpp,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- DOMImplementationImpl.cpp 10 Dec 2002 21:00:41 -0000      1.13
  +++ DOMImplementationImpl.cpp 20 Dec 2002 22:10:58 -0000      1.14
  @@ -68,6 +68,7 @@
   #include <xercesc/dom/DOMException.hpp>
   #include <xercesc/util/PlatformUtils.hpp>
   #include <xercesc/util/XMLUniDefs.hpp>
  +#include <xercesc/util/XMLChar.hpp>
   #include <xercesc/util/XMLRegisterCleanup.hpp>
   #include <xercesc/util/XMLStringTokenizer.hpp>
   #include <xercesc/util/XMLDOMMsg.hpp>
  @@ -218,7 +219,8 @@
   DOMDocumentType *DOMImplementationImpl::createDocumentType(const XMLCh 
*qualifiedName,
        const XMLCh * publicId, const XMLCh *systemId)
   {
  -    if(!DOMDocumentImpl::isXMLName(qualifiedName))
  +    // assume XML 1.0 since we do not know its version yet.
  +    if(!XMLChar1_0::isValidName(qualifiedName, XMLString::stringLen(qualifiedName)))
           throw DOMException(DOMException::INVALID_CHARACTER_ERR,0);
       DOMDocumentTypeImpl* docType = new DOMDocumentTypeImpl(0, qualifiedName, 
publicId, systemId, true);
       return docType;
  
  
  

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

Reply via email to